4
#define YY_INT_ALIGNED short int
6
/* A lexical scanner generated by flex */
8
#define yy_create_buffer preYY_create_buffer
9
#define yy_delete_buffer preYY_delete_buffer
10
#define yy_flex_debug preYY_flex_debug
11
#define yy_init_buffer preYY_init_buffer
12
#define yy_flush_buffer preYY_flush_buffer
13
#define yy_load_buffer_state preYY_load_buffer_state
14
#define yy_switch_to_buffer preYY_switch_to_buffer
16
#define yyleng preYYleng
17
#define yylex preYYlex
18
#define yylineno preYYlineno
19
#define yyout preYYout
20
#define yyrestart preYYrestart
21
#define yytext preYYtext
22
#define yywrap preYYwrap
23
#define yyalloc preYYalloc
24
#define yyrealloc preYYrealloc
25
#define yyfree preYYfree
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
35
/* First, we deal with platform-specific or compiler-specific issues. */
37
/* begin standard C headers. */
43
/* end standard C headers. */
45
/* flex integer type definitions */
50
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
52
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
54
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
55
* if you want the limit (max/min) macros for int types.
57
#ifndef __STDC_LIMIT_MACROS
58
#define __STDC_LIMIT_MACROS 1
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
typedef uint64_t flex_uint64_t;
70
typedef signed char flex_int8_t;
71
typedef short int flex_int16_t;
72
typedef int flex_int32_t;
73
typedef unsigned char flex_uint8_t;
74
typedef unsigned short int flex_uint16_t;
75
typedef unsigned int flex_uint32_t;
78
/* Limits of integral types. */
80
#define INT8_MIN (-128)
83
#define INT16_MIN (-32767-1)
86
#define INT32_MIN (-2147483647-1)
89
#define INT8_MAX (127)
92
#define INT16_MAX (32767)
95
#define INT32_MAX (2147483647)
98
#define UINT8_MAX (255U)
101
#define UINT16_MAX (65535U)
104
#define UINT32_MAX (4294967295U)
107
#endif /* ! FLEXINT_H */
111
/* The "const" storage-class-modifier is valid. */
114
#else /* ! __cplusplus */
116
/* C99 requires __STDC__ to be defined as 1. */
117
#if defined (__STDC__)
121
#endif /* defined (__STDC__) */
122
#endif /* ! __cplusplus */
125
#define yyconst const
130
/* Returned upon end-of-file. */
133
/* Promotes a possibly negative, possibly signed char to an unsigned
134
* integer for use as an array index. If the signed char is negative,
135
* we want to instead treat it as an 8-bit unsigned char, hence the
138
#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
140
/* Enter a start condition. This macro really ought to take a parameter,
141
* but we do it the disgusting crufty way forced on us by the ()-less
142
* definition of BEGIN.
144
#define BEGIN (yy_start) = 1 + 2 *
146
/* Translate the current start state into a value that can be later handed
147
* to BEGIN to return to the state. The YYSTATE alias is for lex
150
#define YY_START (((yy_start) - 1) / 2)
151
#define YYSTATE YY_START
153
/* Action number for EOF rule of a given start state. */
154
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
156
/* Special action meaning "start processing a new file". */
157
#define YY_NEW_FILE preYYrestart(preYYin )
159
#define YY_END_OF_BUFFER_CHAR 0
161
/* Size of default input buffer. */
163
#define YY_BUF_SIZE 262144
166
/* The state buf must be large enough to hold one state per character in the main buffer.
168
#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
170
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
171
#define YY_TYPEDEF_YY_BUFFER_STATE
172
typedef struct yy_buffer_state *YY_BUFFER_STATE;
175
#ifndef YY_TYPEDEF_YY_SIZE_T
176
#define YY_TYPEDEF_YY_SIZE_T
177
typedef size_t yy_size_t;
180
extern yy_size_t preYYleng;
182
extern FILE *preYYin, *preYYout;
184
#define EOB_ACT_CONTINUE_SCAN 0
185
#define EOB_ACT_END_OF_FILE 1
186
#define EOB_ACT_LAST_MATCH 2
188
#define YY_LESS_LINENO(n)
190
/* Return all but the first "n" matched characters back to the input stream. */
194
/* Undo effects of setting up preYYtext. */ \
195
int yyless_macro_arg = (n); \
196
YY_LESS_LINENO(yyless_macro_arg);\
197
*yy_cp = (yy_hold_char); \
198
YY_RESTORE_YY_MORE_OFFSET \
199
(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
200
YY_DO_BEFORE_ACTION; /* set up preYYtext again */ \
204
#define unput(c) yyunput( c, (yytext_ptr) )
206
#ifndef YY_STRUCT_YY_BUFFER_STATE
207
#define YY_STRUCT_YY_BUFFER_STATE
208
struct yy_buffer_state
212
char *yy_ch_buf; /* input buffer */
213
char *yy_buf_pos; /* current position in input buffer */
215
/* Size of input buffer in bytes, not including room for EOB
218
yy_size_t yy_buf_size;
220
/* Number of characters read into yy_ch_buf, not including EOB
223
yy_size_t yy_n_chars;
225
/* Whether we "own" the buffer - i.e., we know we created it,
226
* and can realloc() it to grow it, and should free() it to
229
int yy_is_our_buffer;
231
/* Whether this is an "interactive" input source; if so, and
232
* if we're using stdio for input, then we want to use getc()
233
* instead of fread(), to make sure we stop fetching input after
236
int yy_is_interactive;
238
/* Whether we're considered to be at the beginning of a line.
239
* If so, '^' rules will be active on the next match, otherwise
244
int yy_bs_lineno; /**< The line count. */
245
int yy_bs_column; /**< The column count. */
247
/* Whether to try to fill the input buffer when we reach the
252
int yy_buffer_status;
254
#define YY_BUFFER_NEW 0
255
#define YY_BUFFER_NORMAL 1
256
/* When an EOF's been seen but there's still some text to process
257
* then we mark the buffer as YY_EOF_PENDING, to indicate that we
258
* shouldn't try reading from the input source any more. We might
259
* still have a bunch of tokens to match, though, because of
260
* possible backing-up.
262
* When we actually see the EOF, we change the status to "new"
263
* (via preYYrestart()), so that the user can continue scanning by
264
* just pointing preYYin at a new input file.
266
#define YY_BUFFER_EOF_PENDING 2
269
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
271
/* Stack of input buffers. */
272
static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
273
static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
274
static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
276
/* We provide macros for accessing buffer states in case in the
277
* future we want to put the buffer states in a more general
280
* Returns the top of the stack, or NULL.
282
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
283
? (yy_buffer_stack)[(yy_buffer_stack_top)] \
286
/* Same as previous macro, but useful when we know that the buffer stack is not
287
* NULL or when we need an lvalue. For internal use only.
289
#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
291
/* yy_hold_char holds the character lost when preYYtext is formed. */
292
static char yy_hold_char;
293
static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
296
/* Points to current character in buffer. */
297
static char *yy_c_buf_p = (char *) 0;
298
static int yy_init = 0; /* whether we need to initialize */
299
static int yy_start = 0; /* start state number */
301
/* Flag which is used to allow preYYwrap()'s to do buffer switches
302
* instead of setting up a fresh preYYin. A bit of a hack ...
304
static int yy_did_buffer_switch_on_eof;
306
void preYYrestart (FILE *input_file );
307
void preYY_switch_to_buffer (YY_BUFFER_STATE new_buffer );
308
YY_BUFFER_STATE preYY_create_buffer (FILE *file,int size );
309
void preYY_delete_buffer (YY_BUFFER_STATE b );
310
void preYY_flush_buffer (YY_BUFFER_STATE b );
311
void preYYpush_buffer_state (YY_BUFFER_STATE new_buffer );
312
void preYYpop_buffer_state (void );
314
static void preYYensure_buffer_stack (void );
315
static void preYY_load_buffer_state (void );
316
static void preYY_init_buffer (YY_BUFFER_STATE b,FILE *file );
318
#define YY_FLUSH_BUFFER preYY_flush_buffer(YY_CURRENT_BUFFER )
320
YY_BUFFER_STATE preYY_scan_buffer (char *base,yy_size_t size );
321
YY_BUFFER_STATE preYY_scan_string (yyconst char *yy_str );
322
YY_BUFFER_STATE preYY_scan_bytes (yyconst char *bytes,yy_size_t len );
324
void *preYYalloc (yy_size_t );
325
void *preYYrealloc (void *,yy_size_t );
326
void preYYfree (void * );
328
#define yy_new_buffer preYY_create_buffer
330
#define yy_set_interactive(is_interactive) \
332
if ( ! YY_CURRENT_BUFFER ){ \
333
preYYensure_buffer_stack (); \
334
YY_CURRENT_BUFFER_LVALUE = \
335
preYY_create_buffer(preYYin,YY_BUF_SIZE ); \
337
YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
340
#define yy_set_bol(at_bol) \
342
if ( ! YY_CURRENT_BUFFER ){\
343
preYYensure_buffer_stack (); \
344
YY_CURRENT_BUFFER_LVALUE = \
345
preYY_create_buffer(preYYin,YY_BUF_SIZE ); \
347
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
350
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
352
/* Begin user sect3 */
354
#define preYYwrap(n) 1
355
#define YY_SKIP_YYWRAP
357
typedef unsigned char YY_CHAR;
359
FILE *preYYin = (FILE *) 0, *preYYout = (FILE *) 0;
361
typedef int yy_state_type;
363
extern int preYYlineno;
367
extern char *preYYtext;
368
#define yytext_ptr preYYtext
370
static yy_state_type yy_get_previous_state (void );
371
static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
372
static int yy_get_next_buffer (void );
373
static void yy_fatal_error (yyconst char msg[] );
375
/* Done after the current pattern has been matched and before the
376
* corresponding action - sets up preYYtext.
378
#define YY_DO_BEFORE_ACTION \
379
(yytext_ptr) = yy_bp; \
380
preYYleng = (yy_size_t) (yy_cp - yy_bp); \
381
(yy_hold_char) = *yy_cp; \
383
(yy_c_buf_p) = yy_cp;
385
#define YY_NUM_RULES 185
386
#define YY_END_OF_BUFFER 186
387
/* This struct is not used in this scanner,
388
but its presence is necessary. */
391
flex_int32_t yy_verify;
394
static yyconst flex_int16_t yy_acclist[1366] =
396
167, 167, 186, 184, 185, 1, 184, 185, 183, 185,
397
3, 184, 185, 184, 185, 184, 185, 2, 184, 185,
398
6, 184, 185, 1, 6, 184, 185, 6, 184, 185,
399
6, 183, 185, 3, 6, 184, 185, 5, 184, 185,
400
6, 184, 185, 6, 184, 185, 6, 184, 185, 6,
401
184, 185, 2, 6, 184, 185, 59, 184, 185, 1,
402
59, 184, 185, 54, 183, 185, 3, 59, 184, 185,
403
59, 184, 185, 59, 184, 185, 56, 59, 184, 185,
404
56, 59, 184, 185, 56, 59, 184, 185, 56, 59,
405
184, 185, 56, 59, 184, 185, 56, 59, 184, 185,
407
56, 59, 184, 185, 2, 59, 184, 185, 83, 184,
408
185, 1, 83, 184, 185, 81, 183, 185, 3, 83,
409
184, 185, 83, 184, 185, 83, 184, 185, 82, 83,
410
184, 185, 82, 83, 184, 185, 82, 83, 184, 185,
411
2, 83, 184, 185, 84, 87, 184, 185, 1, 84,
412
87, 184, 185, 92, 183, 185, 3, 84, 87, 184,
413
185, 86, 87, 184, 185, 87, 184, 185, 87, 184,
414
185, 84, 87, 184, 185, 2, 84, 87, 184, 185,
415
93, 96, 184, 185, 1, 93, 96, 184, 185, 3,
416
93, 96, 184, 185, 95, 96, 184, 185, 93, 96,
418
184, 185, 93, 96, 184, 185, 96, 184, 185, 2,
419
93, 96, 184, 185, 23, 184, 185, 1, 23, 184,
420
185, 24, 183, 185, 3, 23, 184, 185, 16, 23,
421
184, 185, 23, 184, 185, 23, 184, 185, 23, 184,
422
185, 21, 23, 184, 185,16404, 23, 184, 185, 21,
423
23, 184, 185,16404, 11, 23, 184, 185, 12, 23,
424
184, 185, 2, 23, 184, 185, 17, 184, 185, 1,
425
17, 184, 185, 19, 184, 185, 17, 184, 185, 17,
426
184, 185, 184, 185, 2, 17, 184, 185, 184, 185,
427
1, 184, 185, 3, 184, 185, 184, 185, 184, 185,
429
2, 184, 185, 98, 184, 185, 102, 184, 185, 1,
430
102, 184, 185, 100, 183, 185, 3, 102, 184, 185,
431
102, 184, 185, 102, 184, 185, 102, 184, 185, 2,
432
102, 184, 185, 8298, 184, 185,16487,16489,16490, 184,
433
185, 109, 184, 185, 110, 184, 185, 108, 184, 185,
434
184, 185, 112, 184, 185, 184, 185, 179, 184, 185,
435
1, 179, 184, 185, 167, 179, 184, 185, 166, 183,
436
185, 3, 179, 184, 185, 170, 179, 184, 185, 162,
437
179, 184, 185, 171, 179, 184, 185, 179, 184, 185,
438
179, 184, 185, 169, 179, 184, 185, 163, 179, 184,
440
185, 179, 184, 185, 2, 179, 184, 185, 76, 184,
441
185, 1, 76, 184, 185, 75, 183, 185, 3, 76,
442
184, 185, 76, 184, 185, 76, 184, 185, 2, 76,
443
184, 185, 74, 76, 184, 185, 1, 74, 76, 184,
444
185, 74, 76, 184, 185, 74, 75, 183, 185, 3,
445
74, 76, 184, 185, 73, 76, 184, 185, 74, 76,
446
184, 185, 74, 76, 184, 185, 2, 74, 76, 184,
447
185, 139, 141, 184, 185, 1, 141, 184, 185, 140,
448
183, 185, 3, 139, 141, 184, 185, 141, 184, 185,
449
141, 184, 185, 139, 141, 184, 185, 141, 184, 185,
451
141, 184, 185, 2, 139, 141, 184, 185, 33, 36,
452
184, 185, 1, 33, 36, 184, 185, 35, 183, 185,
453
3, 33, 36, 184, 185, 36, 184, 185, 33, 36,
454
184, 185, 33, 36, 184, 185, 2, 33, 36, 184,
455
185, 142, 164, 184, 185, 1, 142, 164, 184, 185,
456
144, 183, 185, 3, 142, 164, 184, 185, 164, 184,
457
185, 142, 164, 184, 185, 142, 164, 184, 185, 163,
458
164, 184, 185, 2, 142, 164, 184, 185, 141, 184,
459
185, 141, 184, 185, 141, 184, 185, 141, 184, 185,
460
152, 156, 157, 184, 185, 1, 152, 157, 184, 185,
462
153, 183, 185, 3, 152, 156, 157, 184, 185, 156,
463
157, 184, 185, 152, 156, 157, 184, 185, 157, 184,
464
185, 2, 152, 156, 157, 184, 185, 149, 151, 184,
465
185, 1, 151, 184, 185, 150, 183, 185, 3, 149,
466
151, 184, 185, 151, 184, 185, 149, 151, 184, 185,
467
149, 151, 184, 185, 2, 149, 151, 184, 185, 160,
468
161, 184, 185, 1, 161, 184, 185, 3, 160, 161,
469
184, 185, 160, 161, 184, 185, 160, 161, 184, 185,
470
2, 160, 161, 184, 185, 65, 184, 185, 1, 65,
471
184, 185, 66, 183, 185, 3, 65, 184, 185, 65,
473
184, 185, 65, 184, 185, 64, 65, 184, 185, 65,
474
184, 185, 64, 65, 184, 185, 2, 65, 184, 185,
475
72, 184, 185, 1, 72, 184, 185, 70, 183, 185,
476
3, 72, 184, 185, 72, 184, 185, 72, 184, 185,
477
68, 72, 184, 185, 72, 184, 185, 2, 72, 184,
478
185, 71, 72, 184, 185, 69, 72, 184, 185, 177,
479
184, 185, 1, 177, 184, 185, 3, 177, 184, 185,
480
174, 177, 184, 185, 177, 184, 185, 177, 184, 185,
481
177, 184, 185, 2, 177, 184, 185, 178, 184, 185,
482
1, 178, 184, 185, 3, 178, 184, 185, 176, 178,
484
184, 185, 178, 184, 185, 178, 184, 185, 178, 184,
485
185, 2, 178, 184, 185, 60, 184, 185, 58, 184,
486
185, 1, 58, 184, 185, 3, 58, 184, 185, 58,
487
184, 185, 58, 184, 185, 58, 184, 185, 2, 58,
488
184, 185, 32, 184, 185, 1, 32, 184, 185, 30,
489
183, 185, 3, 32, 184, 185, 29, 32, 184, 185,
490
32, 184, 185, 25, 32, 184, 185, 26, 32, 184,
491
185, 32, 184, 185, 32, 184, 185, 31, 32, 184,
492
185, 2, 32, 184, 185, 40, 184, 185, 1, 40,
493
184, 185, 3, 40, 184, 185, 37, 40, 184, 185,
495
40, 184, 185, 40, 184, 185, 40, 184, 185, 2,
496
40, 184, 185, 126, 184, 185, 1, 126, 184, 185,
497
125, 126, 184, 185, 3, 126, 184, 185, 126, 184,
498
185, 126, 184, 185, 2, 126, 184, 185, 129, 130,
499
184, 185, 1, 129, 130, 184, 185, 128, 183, 185,
500
3, 129, 130, 184, 185, 129, 184, 185, 129, 184,
501
185, 129, 130, 184, 185, 129, 184, 185, 2, 129,
502
130, 184, 185, 181, 182, 6, 6, 5, 6, 6,
503
56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
504
91, 181, 89, 182, 82, 82, 82, 82, 84, 84,
506
93, 90, 93, 181, 88, 93, 182, 93, 94, 8212,
507
21,16404, 22, 21,16404, 17, 17, 181, 17, 182,
508
17, 18, 99, 181, 182, 97, 98, 100, 181, 182,
509
101, 8298, 8297, 8295, 8298,16487,16489,16490, 110, 109,
510
110, 108, 112, 112, 107, 167, 168, 113, 181, 114,
511
182, 163, 165, 74, 74, 73, 139, 115, 117, 181,
512
116, 182, 139, 33, 34, 33, 182, 33, 142, 143,
513
142, 182, 142, 138, 138, 181, 152, 156, 152, 156,
514
154, 156, 181, 155, 156, 182, 152, 156, 149, 146,
515
148, 181, 147, 149, 182, 149, 160, 158, 160, 181,
517
159, 160, 182, 160, 64, 61, 64, 68, 67, 69,
518
173, 181, 172, 182, 175, 60, 57, 28, 181, 38,
519
181, 38, 182, 39, 125, 130, 181, 182, 130, 181,
520
182, 4, 56, 56, 56, 56, 56, 48, 56, 56,
521
56, 56, 56, 56, 91, 91, 181, 89, 89, 182,
522
82, 82, 82, 77, 82, 82, 85, 4, 84, 90,
523
93, 90, 90, 93, 181, 88, 93, 88, 88, 93,
524
182, 4, 93, 15, 15, 21,16404, 17, 181, 17,
525
182, 4, 17, 181, 182, 4, 4, 99, 181, 182,
526
4, 111, 168, 113, 113, 181, 114, 114, 182, 116,
528
182, 4, 139, 119, 33, 182, 4, 33, 142, 182,
529
4, 142, 136, 137, 156, 181, 156, 182, 4, 152,
530
156, 4, 156, 145, 149, 182, 4, 149, 160, 181,
531
160, 182, 4, 160, 64, 172, 182, 27, 28, 181,
532
132, 132, 181, 131, 131, 182, 4, 130, 180,16391,
533
16391, 56, 56, 56, 56, 56, 56, 56, 56, 56,
534
56, 56, 91, 180, 82, 78, 82, 82, 82, 85,
535
90, 93, 180, 14, 13, 14, 21,16404, 17, 180,
536
180, 180, 104, 112, 116, 118, 119, 137, 156, 180,
537
160, 180, 64, 27,16391, 9, 8199, 56, 56, 49,
539
52, 50, 50, 56, 56, 56, 56, 56, 56, 56,
540
56, 79, 82, 80, 82, 82, 13, 21,16404, 121,
541
64, 8199, 9, 56, 56, 53, 45, 44, 56, 56,
542
56, 56, 51, 21,16404, 120, 124, 127, 123, 64,
543
8, 9, 43, 47, 46,16425, 42, 10, 122, 64,
544
9, 8233, 63, 62, 9, 8233, 135, 134, 9, 133,
548
static yyconst flex_int16_t yy_accept[1286] =
550
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
551
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
552
1, 1, 1, 1, 1, 1, 1, 2, 3, 3,
553
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
554
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
555
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
556
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
557
3, 3, 3, 4, 6, 9, 11, 14, 16, 18,
558
21, 24, 28, 31, 34, 38, 41, 44, 47, 50,
559
53, 57, 60, 64, 67, 71, 74, 77, 81, 85,
561
89, 93, 97, 101, 105, 109, 112, 116, 119, 123,
562
126, 129, 133, 137, 141, 145, 149, 154, 157, 162,
563
166, 169, 172, 176, 181, 185, 190, 195, 199, 203,
564
207, 210, 215, 218, 222, 225, 229, 233, 236, 239,
565
242, 247, 250, 255, 259, 263, 267, 270, 274, 277,
566
280, 283, 285, 289, 291, 294, 297, 299, 301, 304,
567
307, 310, 314, 317, 321, 324, 327, 330, 334, 340,
568
342, 345, 348, 351, 353, 356, 358, 361, 365, 369,
569
372, 376, 380, 384, 388, 391, 394, 398, 402, 405,
570
409, 412, 416, 419, 423, 426, 429, 433, 437, 442,
572
446, 450, 455, 459, 463, 467, 472, 476, 480, 483,
573
488, 491, 494, 498, 501, 504, 509, 513, 518, 521,
574
526, 529, 533, 537, 542, 546, 551, 554, 559, 562,
575
566, 570, 574, 579, 582, 585, 588, 591, 596, 601,
576
604, 610, 614, 619, 622, 628, 632, 636, 639, 644,
577
647, 651, 655, 660, 664, 668, 673, 677, 681, 686,
578
689, 693, 696, 700, 703, 706, 710, 713, 717, 721,
579
724, 728, 731, 735, 738, 741, 745, 748, 752, 756,
580
760, 763, 767, 771, 775, 778, 781, 784, 788, 791,
581
795, 799, 803, 806, 809, 812, 816, 819, 822, 826,
583
830, 833, 836, 839, 843, 846, 850, 853, 857, 861,
584
864, 868, 872, 875, 878, 882, 886, 889, 893, 897,
585
901, 904, 907, 910, 914, 917, 921, 925, 929, 932,
586
935, 939, 943, 948, 951, 956, 959, 962, 966, 969,
587
974, 975, 976, 976, 977, 978, 979, 980, 981, 981,
588
981, 982, 983, 984, 985, 986, 987, 988, 989, 990,
589
991, 993, 995, 996, 997, 998, 999, 1000, 1000, 1000,
590
1001, 1002, 1005, 1008, 1009, 1010, 1010, 1010, 1010, 1011,
591
1013, 1014, 1014, 1016, 1017, 1019, 1021, 1022, 1023, 1023,
592
1024, 1025, 1026, 1026, 1026, 1027, 1028, 1028, 1029, 1030,
594
1031, 1031, 1032, 1032, 1033, 1034, 1035, 1039, 1039, 1039,
595
1040, 1041, 1042, 1043, 1043, 1044, 1044, 1045, 1046, 1047,
596
1047, 1048, 1050, 1052, 1053, 1054, 1054, 1055, 1056, 1057,
597
1058, 1059, 1061, 1063, 1064, 1064, 1064, 1064, 1064, 1064,
598
1064, 1064, 1064, 1064, 1064, 1064, 1065, 1066, 1068, 1069,
599
1070, 1071, 1073, 1074, 1075, 1077, 1077, 1077, 1077, 1079,
600
1080, 1081, 1084, 1087, 1089, 1089, 1089, 1090, 1091, 1093,
601
1096, 1097, 1098, 1101, 1104, 1105, 1106, 1107, 1107, 1108,
602
1109, 1110, 1111, 1113, 1115, 1116, 1117, 1118, 1118, 1118,
603
1118, 1120, 1122, 1124, 1125, 1126, 1127, 1128, 1129, 1130,
605
1130, 1130, 1131, 1132, 1133, 1133, 1133, 1133, 1133, 1134,
606
1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144,
607
1145, 1146, 1148, 1149, 1151, 1152, 1153, 1154, 1155, 1156,
608
1157, 1157, 1158, 1158, 1158, 1160, 1162, 1163, 1166, 1168,
609
1169, 1172, 1174, 1175, 1175, 1176, 1176, 1176, 1178, 1180,
610
1182, 1184, 1185, 1186, 1187, 1189, 1190, 1191, 1192, 1192,
611
1192, 1193, 1193, 1194, 1195, 1197, 1198, 1200, 1202, 1204,
612
1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
613
1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1205,
614
1207, 1209, 1211, 1213, 1213, 1214, 1215, 1217, 1219, 1222,
616
1224, 1224, 1224, 1224, 1225, 1227, 1229, 1231, 1233, 1235,
617
1236, 1238, 1238, 1239, 1239, 1239, 1241, 1242, 1244, 1245,
618
1247, 1249, 1249, 1250, 1250, 1250, 1251, 1251, 1252, 1253,
619
1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263,
620
1265, 1266, 1268, 1269, 1270, 1270, 1271, 1271, 1274, 1275,
621
1277, 1277, 1277, 1279, 1281, 1282, 1283, 1284, 1285, 1286,
622
1286, 1286, 1286, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
623
1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
624
1287, 1288, 1288, 1289, 1291, 1291, 1291, 1293, 1294, 1294,
625
1295, 1295, 1295, 1295, 1296, 1296, 1297, 1297, 1298, 1299,
627
1300, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310,
628
1311, 1312, 1313, 1313, 1314, 1316, 1317, 1317, 1317, 1318,
629
1318, 1318, 1320, 1320, 1320, 1320, 1320, 1320, 1320, 1320,
630
1320, 1320, 1320, 1320, 1320, 1320, 1320, 1321, 1321, 1321,
631
1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
632
1321, 1321, 1321, 1321, 1322, 1322, 1322, 1322, 1322, 1322,
633
1322, 1322, 1323, 1323, 1324, 1324, 1325, 1326, 1326, 1326,
634
1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1334, 1334,
635
1336, 1336, 1336, 1336, 1337, 1337, 1337, 1337, 1337, 1337,
636
1337, 1337, 1337, 1338, 1339, 1339, 1339, 1339, 1339, 1339,
638
1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339,
639
1339, 1339, 1340, 1341, 1341, 1341, 1341, 1341, 1342, 1342,
640
1343, 1343, 1344, 1344, 1345, 1346, 1347, 1348, 1348, 1348,
641
1348, 1348, 1348, 1349, 1349, 1350, 1350, 1350, 1350, 1350,
642
1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350,
643
1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350,
644
1350, 1350, 1351, 1351, 1351, 1351, 1351, 1352, 1352, 1353,
645
1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353,
646
1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353,
647
1353, 1353, 1353, 1353, 1353, 1353, 1354, 1355, 1355, 1355,
649
1355, 1355, 1356, 1356, 1357, 1357, 1357, 1357, 1357, 1357,
650
1357, 1357, 1357, 1357, 1357, 1358, 1358, 1358, 1358, 1358,
651
1358, 1358, 1358, 1358, 1359, 1359, 1359, 1359, 1360, 1360,
652
1360, 1360, 1360, 1360, 1360, 1361, 1361, 1361, 1361, 1361,
653
1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1362, 1362,
654
1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363,
655
1363, 1363, 1363, 1364, 1364, 1364, 1364, 1364, 1364, 1364,
656
1364, 1364, 1364, 1364, 1365, 1365, 1365, 1365, 1365, 1365,
657
1365, 1365, 1365, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
658
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
660
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
661
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
662
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
663
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
664
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
665
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
666
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
667
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
668
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
669
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
671
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
672
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
673
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
674
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
675
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
676
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
677
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
678
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
679
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
680
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
682
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
683
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
684
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
685
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
686
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
687
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
688
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
689
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
690
1366, 1366, 1366, 1366, 1366
693
static yyconst flex_int32_t yy_ec[256] =
695
1, 1, 1, 1, 1, 2, 1, 1, 3, 4,
696
1, 1, 5, 1, 1, 1, 1, 1, 1, 1,
697
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
698
1, 3, 6, 7, 8, 9, 1, 10, 11, 12,
699
13, 14, 1, 15, 16, 17, 18, 19, 20, 19,
700
19, 19, 19, 19, 19, 21, 21, 22, 1, 23,
701
24, 25, 26, 27, 28, 28, 29, 28, 28, 28,
702
28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
703
28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
704
30, 31, 32, 1, 28, 1, 33, 34, 35, 36,
706
37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
707
47, 48, 42, 49, 50, 51, 52, 53, 42, 54,
708
55, 42, 56, 10, 57, 58, 1, 42, 42, 42,
709
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
710
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
711
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
712
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
713
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
714
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
715
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
717
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
718
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
719
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
720
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
721
42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
725
static yyconst flex_int32_t yy_meta[60] =
727
1, 2, 3, 4, 5, 6, 7, 1, 1, 8,
728
9, 10, 11, 12, 1, 11, 13, 14, 15, 15,
729
15, 1, 16, 17, 17, 1, 18, 19, 19, 1,
730
20, 1, 19, 19, 19, 19, 19, 19, 19, 19,
731
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
732
19, 19, 19, 19, 19, 1, 1, 21, 1
735
static yyconst flex_int16_t yy_base[1408] =
737
0, 4, 9, 68, 127, 0, 186, 0, 244, 254,
738
264, 271, 330, 0, 388, 392, 420, 424, 483, 0,
739
541, 545, 577, 0, 632, 0, 691, 0, 749, 753,
740
758, 764, 768, 783, 841, 899, 793, 811, 958, 0,
741
1016, 1074, 830, 860, 879, 1022, 872, 890, 1133, 0,
742
1192, 0, 1239, 0, 1051, 1293, 1297, 1316, 1348, 0,
743
1068, 1312, 1402, 1460, 1417, 1429, 1519, 0, 0, 0,
744
1577, 1635, 3255, 6348, 6348, 6348, 6348, 1, 3227, 6348,
745
6348, 6348, 1694, 6348, 6348, 6348, 2, 3225, 4, 0,
746
6348, 6348, 6348, 6348, 6348, 3, 3222, 0, 3193, 3192,
748
0, 2, 3179, 3172, 6348, 6348, 6348, 6348, 6348, 20,
749
3183, 0, 5, 3169, 6348, 0, 0, 6348, 0, 6348,
750
3167, 23, 3170, 0, 0, 0, 0, 6348, 25, 3165,
751
0, 0, 6348, 6348, 6348, 6348, 6348, 3159, 36, 3159,
752
52, 24, 399, 6348, 6348, 6348, 0, 0, 6348, 44,
753
3158, 0, 0, 35, 256, 260, 280, 267, 276, 0,
754
3178, 3176, 6348, 3171, 246, 27, 61, 3170, 296, 244,
755
3169, 3168, 3161, 3138, 274, 3150, 6348, 6348, 276, 6348,
756
6348, 6348, 3141, 6348, 292, 3121, 6348, 0, 248, 6348,
757
6348, 6348, 6348, 6348, 293, 3112, 6348, 6348, 6348, 301,
759
6348, 6348, 6348, 298, 3110, 6348, 0, 6348, 6348, 0,
760
3109, 300, 3100, 1727, 3061, 0, 0, 0, 6348, 0,
761
3093, 301, 3084, 0, 0, 0, 6348, 0, 3090, 303,
762
3069, 0, 0, 3076, 306, 288, 3034, 34, 0, 6348,
763
43, 387, 389, 406, 398, 0, 6348, 6348, 0, 3073,
764
394, 3061, 0, 0, 6348, 0, 395, 3054, 0, 6348,
765
6348, 6348, 6348, 403, 3047, 0, 324, 3031, 6348, 6348,
766
6348, 6348, 6348, 416, 3040, 0, 3061, 6348, 6348, 0,
767
6348, 6348, 6348, 6348, 418, 3037, 0, 6348, 6348, 6348,
768
6348, 6348, 421, 3035, 0, 6348, 0, 6348, 6348, 6348,
770
426, 3030, 450, 6348, 6348, 6348, 6348, 6348, 6348, 3020,
771
6348, 6348, 434, 3024, 6348, 6348, 6348, 6348, 6348, 6348,
772
442, 3021, 0, 6348, 6348, 6348, 0, 6348, 443, 3020,
773
6348, 0, 0, 6348, 0, 6348, 444, 3013, 432, 0,
774
3019, 3014, 0, 6348, 1781, 6348, 445, 0, 541, 464,
775
0, 2995, 2981, 427, 2973, 545, 2954, 2958, 2959, 2951,
776
2971, 2957, 0, 430, 2938, 552, 0, 2954, 462, 1835,
777
0, 559, 547, 1855, 6348, 2953, 563, 581, 6348, 591,
778
6348, 2956, 788, 0, 2935, 2930, 1875, 6348, 572, 6348,
779
789, 803, 1895, 565, 6348, 577, 2942, 6348, 282, 583,
781
1917, 6348, 2929, 761, 6348, 6348, 876, 2927, 589, 2927,
782
2923, 2916, 2909, 2891, 801, 2889, 803, 6348, 467, 2896,
783
2900, 593, 771, 0, 6348, 2897, 6348, 775, 6348, 0,
784
6348, 538, 2881, 1937, 1928, 2847, 2842, 2842, 2834, 2851,
785
2839, 2820, 2830, 2815, 2799, 0, 6348, 2829, 1977, 0,
786
6348, 2822, 1997, 6348, 2817, 2778, 790, 2761, 822, 0,
787
0, 2795, 2787, 2021, 796, 2756, 0, 833, 2788, 2782,
788
2041, 0, 2785, 2768, 2061, 0, 6348, 2780, 2733, 0,
789
6348, 0, 2755, 2750, 6348, 0, 6348, 2760, 2746, 589,
790
2741, 2730, 2719, 6348, 0, 0, 824, 845, 2081, 2690,
792
2676, 2698, 6348, 6348, 841, 837, 857, 2698, 2657, 2651,
793
2649, 2649, 2641, 6348, 2638, 2637, 2625, 2626, 2624, 2619,
794
0, 2633, 0, 0, 2603, 2603, 2594, 6348, 2597, 2593,
795
2617, 6348, 2615, 891, 0, 795, 0, 878, 851, 0,
796
905, 0, 6348, 2612, 2593, 895, 917, 1034, 2584, 0,
797
0, 916, 917, 920, 6348, 914, 2588, 2584, 943, 842,
798
6348, 2563, 2572, 6348, 2547, 6348, 6348, 2546, 0, 2513,
799
2508, 2507, 1024, 2501, 2517, 2516, 2496, 2504, 2495, 897,
800
893, 2490, 2461, 2451, 2451, 2457, 2445, 2448, 2427, 0,
801
0, 0, 0, 2448, 6348, 2424, 2459, 0, 933, 0,
803
2424, 2419, 863, 6348, 0, 0, 2444, 0, 0, 2416,
804
6348, 2442, 6348, 2440, 1012, 2428, 6348, 2423, 6348, 6348,
805
0, 2403, 6348, 927, 2423, 1046, 2418, 1061, 2393, 2382,
806
1016, 2106, 2388, 2387, 2386, 2373, 2365, 2363, 2369, 0,
807
1081, 1022, 2367, 2364, 2381, 6348, 1041, 1028, 6348, 6348,
808
1078, 1103, 1254, 0, 930, 2382, 6348, 6348, 2366, 1021,
809
994, 2347, 6348, 2335, 2328, 2331, 2330, 2318, 2322, 2325,
810
2324, 2325, 949, 2321, 2310, 2313, 2299, 2298, 2308, 2284,
811
2264, 1076, 2262, 0, 2273, 2277, 0, 2264, 2298, 6348,
812
1084, 2266, 2280, 1356, 1434, 1437, 1441, 6348, 2251, 2245,
814
6348, 6348, 1082, 2243, 2165, 1106, 2241, 2225, 2239, 2240,
815
2266, 6348, 1087, 2229, 0, 1250, 2255, 2253, 6348, 2242,
816
1301, 1328, 2215, 2214, 2214, 1260, 2212, 2197, 2202, 2191,
817
2186, 2194, 2056, 1266, 1332, 2055, 1341, 2054, 2053, 2042,
818
2049, 2042, 2050, 2035, 2033, 2031, 2025, 2042, 2038, 2017,
819
2026, 2013, 1345, 2019, 2044, 2040, 1996, 1109, 1589, 1594,
820
1251, 1349, 1446, 1609, 1616, 1998, 2025, 1322, 1988, 6348,
821
1352, 6348, 1354, 1451, 1988, 2021, 2011, 1974, 1413, 1620,
822
1625, 2008, 1959, 1476, 1958, 1949, 1940, 1946, 1945, 1951,
823
1934, 1922, 1479, 6348, 1491, 1929, 1929, 1928, 1924, 1926,
825
1925, 1916, 1915, 1922, 1261, 1912, 1903, 1906, 1907, 1885,
826
1888, 1495, 1895, 1878, 1630, 1994, 1257, 6348, 1840, 1860,
827
1900, 1914, 1367, 1355, 6348, 1482, 6348, 1304, 1420, 1503,
828
2222, 1886, 6348, 1855, 1906, 1850, 1849, 1846, 1842, 1833,
829
1831, 1818, 1813, 1798, 1506, 1806, 1806, 1713, 1710, 1700,
830
1636, 1649, 1633, 1634, 1630, 1619, 1620, 1609, 1607, 1617,
831
1597, 1454, 1606, 2227, 2232, 1922, 1982, 2014, 0, 1580,
832
1584, 2239, 1610, 1558, 1509, 1566, 1564, 1541, 1472, 1462,
833
1461, 1463, 1448, 1444, 0, 1422, 1431, 1425, 1422, 1406,
834
1398, 1384, 1381, 1378, 1364, 1489, 6348, 0, 2252, 2255,
836
2026, 2258, 2267, 0, 1373, 1643, 2287, 2293, 1358, 0,
837
1325, 1321, 1309, 1295, 6348, 1284, 1282, 1280, 1263, 1265,
838
1087, 1075, 1080, 6348, 2299, 2302, 2313, 2322, 2325, 1082,
839
1655, 2329, 1880, 1068, 6348, 1041, 1047, 1019, 1000, 995,
840
901, 895, 834, 750, 2335, 2348, 2360, 2368, 2371, 6348,
841
1665, 2391, 2281, 736, 719, 712, 697, 531, 433, 2384,
842
2396, 2407, 2410, 2416, 1670, 2430, 2440, 417, 374, 343,
843
2445, 2451, 2456, 2465, 2471, 1675, 2476, 2486, 278, 2495,
844
2500, 2506, 2511, 2515, 1680, 2531, 2520, 233, 2526, 2541,
845
1756, 2554, 2565, 1934, 2574, 2569, 2037, 2586, 2580, 2057,
847
2596, 2591, 2086, 2602, 2608, 2612, 2615, 2628, 2634, 2650,
848
2640, 2656, 2662, 2645, 2673, 2676, 2686, 2690, 2700, 2694,
849
2705, 2716, 2710, 2721, 2731, 2726, 2736, 2742, 2748, 2755,
850
2758, 2770, 2773, 2776, 2786, 2789, 2803, 2792, 2808, 2818,
851
2813, 2824, 2834, 2830, 2840, 2846, 2851, 2858, 2861, 2872,
852
2875, 2888, 2878, 2893, 2906, 2911, 2917, 2920, 2932, 2935,
853
2938, 2948, 2951, 2954, 2965, 2968, 2974, 2979, 2986, 2996,
854
2992, 3002, 3008, 3013, 3019, 3022, 3033, 3037, 3050, 3040,
855
3055, 3067, 3072, 3078, 3081, 3094, 3097, 3100, 3110, 3113,
856
3117, 3127, 3130, 3136, 3141, 3148, 3158, 3154, 3164, 3174,
858
3184, 3190, 3196, 3201, 3208, 3212, 3218, 3222, 3232, 3228,
859
3238, 3242, 3255, 3258, 3268, 3261, 3273, 3287, 3278, 3292,
860
3298, 3303, 3309, 3315, 3325, 3328, 3332, 3342, 3345, 3348,
861
3358, 3361, 3365, 3371, 3375, 3379, 3389, 3396, 3406, 3392,
862
3412, 3425, 3402, 3435, 3439, 3449, 3452, 3456, 3462, 3466,
863
3470, 3480, 3484, 3487, 3497, 3503, 3516, 3506, 3526, 3530,
864
3536, 3542, 3545, 3555, 3561, 3564, 3574, 3577, 3590, 3580,
865
3595, 3601, 3611, 3614, 3620, 3630, 3635, 3638, 3648, 3651,
866
3657, 3667, 3670, 3676, 3686, 3693, 3696, 3706, 242, 3712,
867
3717, 3722, 3732, 3736, 3741, 3746, 3751, 3760, 3756, 3772,
869
3766, 3777, 3782, 3786, 3790, 3795, 11, 3800, 3805, 3810,
870
3814, 3820, 3826, 3831, 3836, 3840, 3844, 3849, 3854, 3859,
871
3864, 3868, 3874, 3880, 3885, 3890, 3894, 3898, 3903, 3908,
872
3913, 3918, 3922, 3928, 3934, 3939, 3944, 3948, 3952, 3957,
873
3962, 3967, 3972, 3976, 3982, 3988, 3993, 3998, 4002, 4006,
874
4011, 4016, 4021, 4026, 4030, 4036, 4042, 4047, 4052, 4056,
875
4060, 4065, 4070, 4075, 4080, 4084, 4090, 4096, 4101, 4106,
876
4110, 4114, 4119, 4124, 4129, 4134, 4138, 4144, 4150, 4155,
877
4160, 4164, 4168, 6348, 4224, 4245, 4266, 4287, 4308, 4329,
878
4350, 4371, 4392, 4413, 4434, 4455, 4476, 4497, 4518, 4539,
880
4560, 4581, 4602, 1353, 1565, 1571, 4623, 4644, 4665, 4686,
881
4707, 4726, 4745, 4766, 4787, 4806, 4825, 4844, 4862, 1586,
882
4881, 4902, 4921, 4942, 4963, 4984, 5005, 5026, 5047, 1591,
883
1603, 1674, 5068, 1750, 5089, 5110, 5129, 5148, 5164, 1751,
884
1758, 5181, 5202, 1759, 5223, 5244, 5265, 5286, 5307, 5328,
885
5349, 5368, 5387, 5408, 5427, 5446, 5465, 5483, 1760, 5502,
886
5523, 5542, 5563, 5584, 5605, 5626, 5647, 5668, 1835, 1837,
887
1855, 1857, 5689, 5710, 5729, 5748, 5769, 5790, 1875, 5811,
888
5832, 1895, 5853, 5874, 5895, 5916, 5937, 5958, 5979, 5998,
889
6017, 6038, 6059, 6080, 6099, 6120, 6141, 6162, 6183, 6204,
891
6225, 6244, 6263, 1932, 6284, 6305, 6326
894
static yyconst flex_int16_t yy_def[1408] =
896
1285, 1285, 1285, 1284, 1284, 5, 1284, 7, 1286, 1286,
897
1287, 1287, 1284, 13, 1288, 1288, 1289, 1289, 1284, 19,
898
1290, 1290, 19, 23, 1284, 25, 1284, 27, 1291, 1292,
899
1285, 1285, 1285, 1285, 1293, 1293, 1294, 1294, 1284, 39,
900
1293, 1293, 1295, 1295, 1296, 1296, 1297, 1297, 1284, 49,
901
1284, 51, 51, 53, 1298, 1298, 1299, 1299, 23, 59,
902
1300, 1300, 1301, 1301, 1302, 1302, 1284, 67, 67, 67,
903
1303, 1303, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
904
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1304, 1304,
905
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1305, 1305, 1305,
907
1305, 1305, 1305, 1305, 1284, 1284, 1284, 1284, 1284, 1284,
908
1284, 1306, 1306, 1306, 1284, 1307, 1307, 1284, 1307, 1284,
909
1308, 1284, 1307, 1307, 1309, 1309, 1309, 1284, 1309, 1309,
910
1310, 1309, 1284, 1284, 1284, 1284, 1284, 1311, 1284, 1284,
911
1312, 1284, 1312, 1284, 1284, 1284, 1313, 1313, 1284, 1313,
912
1313, 1314, 1313, 1315, 1315, 1315, 1315, 1315, 1315, 1316,
913
1317, 1317, 1284, 1317, 1317, 1317, 1284, 1317, 1318, 1284,
914
1284, 1284, 1284, 1284, 1319, 1284, 1284, 1284, 1284, 1284,
915
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1320, 1284, 1284,
916
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1321,
918
1284, 1284, 1284, 1284, 1284, 1284, 1322, 1284, 1284, 1322,
919
1284, 1284, 1322, 1284, 1284, 1322, 1323, 1323, 1284, 1323,
920
1284, 1323, 1323, 1323, 1324, 1324, 1284, 1324, 1284, 1324,
921
1324, 1320, 1324, 1284, 1284, 1284, 1284, 1325, 1326, 1284,
922
1325, 1327, 1325, 1284, 1325, 1328, 1284, 1284, 1328, 1284,
923
1328, 1328, 1328, 1329, 1284, 1329, 1329, 1329, 1329, 1284,
924
1284, 1284, 1284, 1284, 1284, 1330, 1284, 1330, 1284, 1284,
925
1284, 1284, 1284, 1284, 1284, 1331, 1284, 1284, 1284, 1332,
926
1284, 1284, 1284, 1284, 1284, 1284, 1333, 1284, 1284, 1284,
927
1284, 1284, 1284, 1284, 1333, 1284, 1334, 1284, 1284, 1284,
929
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1335,
930
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
931
1284, 1284, 1336, 1284, 1284, 1284, 1337, 1284, 1284, 1284,
932
1284, 1338, 1338, 1284, 1338, 1284, 1284, 1338, 1284, 1338,
933
1284, 1284, 1339, 1284, 1284, 1284, 1340, 1340, 1340, 1340,
934
1341, 1341, 1341, 1341, 1341, 1341, 1341, 1341, 1341, 1341,
935
1342, 1343, 1344, 1344, 1344, 1344, 1345, 1346, 1347, 1345,
936
1348, 1349, 1350, 1348, 1284, 1284, 1351, 1284, 1284, 1352,
937
1284, 1284, 1352, 1353, 1353, 1353, 1353, 1284, 1354, 1284,
938
1354, 1354, 1354, 1284, 1284, 1355, 1356, 1284, 1356, 1356,
940
1356, 1284, 1284, 1284, 1284, 1284, 1357, 1284, 1284, 1284,
941
1284, 1284, 1284, 1284, 1284, 1284, 1358, 1284, 1284, 1284,
942
1284, 1284, 1284, 1359, 1284, 1284, 1284, 1360, 1284, 1361,
943
1284, 1284, 1284, 1361, 1284, 1284, 1284, 1284, 1284, 1284,
944
1284, 1284, 1284, 1284, 1284, 1362, 1284, 1362, 1362, 1363,
945
1284, 1363, 1363, 1284, 1284, 1284, 1284, 1284, 1364, 1365,
946
1366, 1366, 1366, 1364, 1284, 1284, 1367, 1284, 1284, 1367,
947
1367, 1368, 1368, 1368, 1368, 1369, 1284, 1284, 1369, 1370,
948
1284, 1371, 1284, 1284, 1284, 1372, 1284, 1284, 1373, 1374,
949
1284, 1284, 1284, 1284, 1375, 1376, 1284, 1284, 1376, 1284,
951
1284, 1284, 1284, 1284, 1284, 1377, 1284, 1378, 1379, 1379,
952
1379, 1379, 1379, 1284, 1379, 1379, 1379, 1379, 1379, 1379,
953
1380, 1380, 1381, 1381, 1382, 1382, 1382, 1284, 1382, 1382,
954
1383, 1284, 1284, 1284, 1384, 1385, 1386, 1385, 1387, 1388,
955
1387, 1389, 1284, 1284, 1284, 1284, 1284, 1390, 1391, 1391,
956
1391, 1392, 1392, 1392, 1284, 1393, 1393, 1393, 1284, 1284,
957
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1394, 1284,
958
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
959
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1395,
960
1395, 1363, 1363, 1284, 1284, 1284, 1366, 1366, 1364, 1366,
962
1284, 1284, 1284, 1284, 1367, 1367, 1368, 1368, 1368, 1369,
963
1284, 1396, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
964
1376, 1284, 1284, 1377, 1397, 1284, 1378, 1284, 1379, 1379,
965
1379, 1284, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1380,
966
1382, 1382, 1382, 1382, 1398, 1284, 1284, 1385, 1284, 1284,
967
1284, 1284, 1390, 1391, 1392, 1393, 1284, 1284, 1284, 1284,
968
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
969
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
970
1284, 1284, 1284, 1366, 1284, 1284, 1368, 1369, 1399, 1284,
971
1284, 1284, 1397, 1400, 1284, 1284, 1284, 1284, 1379, 1379,
973
1284, 1284, 1284, 1379, 1284, 1379, 1379, 1379, 1379, 1379,
974
1379, 1284, 1284, 1382, 1382, 1382, 1284, 1284, 1284, 1284,
975
1284, 1390, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
976
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
977
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
978
1284, 1284, 1284, 1369, 1284, 1284, 1284, 1400, 1400, 1400,
979
1284, 1400, 1284, 1284, 1284, 1379, 1379, 1284, 1284, 1284,
980
1284, 1284, 1379, 1379, 1379, 1379, 1284, 1284, 1284, 1390,
981
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
982
1284, 1401, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
984
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
985
1284, 1284, 1369, 1284, 1400, 1400, 1284, 1284, 1284, 1284,
986
1284, 1284, 1284, 1284, 1284, 1402, 1284, 1284, 1284, 1284,
987
1284, 1284, 1284, 1403, 1284, 1284, 1284, 1284, 1284, 1284,
988
1284, 1284, 1284, 1401, 1284, 1284, 1284, 1284, 1284, 1284,
989
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
990
1284, 1369, 1284, 1400, 1400, 1284, 1284, 1284, 1404, 1284,
991
1284, 1284, 1284, 1403, 1284, 1284, 1284, 1284, 1284, 1284,
992
1284, 1284, 1284, 1284, 1405, 1284, 1284, 1284, 1284, 1284,
993
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1406, 1400, 1400,
995
1284, 1284, 1284, 1404, 1284, 1284, 1284, 1284, 1284, 1407,
996
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
997
1284, 1284, 1284, 1284, 1400, 1400, 1284, 1284, 1284, 1284,
998
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
999
1284, 1284, 1284, 1284, 1400, 1400, 1284, 1284, 1284, 1284,
1000
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1400,
1001
1400, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1002
1400, 1400, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1400,
1003
1400, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1400, 1400,
1004
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1006
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1007
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1008
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1009
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1010
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1011
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1012
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1013
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1014
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1015
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1017
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1018
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1019
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1020
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1021
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1022
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1023
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1024
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1025
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1026
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1028
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1029
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1030
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1031
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1032
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1033
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1034
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1035
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1036
1284, 1284, 1284, 0, 1284, 1284, 1284, 1284, 1284, 1284,
1037
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1039
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1040
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1041
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1042
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1043
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1044
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1045
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1046
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1047
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1048
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1050
1284, 1284, 1284, 1284, 1284, 1284, 1284
1053
static yyconst flex_int16_t yy_nxt[6408] =
1055
1284, 75, 394, 76, 77, 75, 1284, 76, 77, 1284,
1056
75, 395, 76, 77, 341, 341, 341, 78, 342, 342,
1057
342, 78, 349, 349, 349, 79, 78, 381, 382, 79,
1058
398, 349, 349, 361, 79, 460, 361, 362, 372, 356,
1059
362, 390, 373, 354, 460, 355, 357, 358, 364, 341,
1060
365, 461, 401, 342, 378, 378, 378, 385, 80, 390,
1061
461, 386, 80, 379, 402, 403, 833, 80, 81, 82,
1062
83, 84, 85, 81, 81, 86, 81, 81, 81, 81,
1063
81, 81, 81, 81, 81, 87, 81, 81, 81, 81,
1064
81, 81, 81, 88, 81, 89, 89, 81, 81, 81,
1066
90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
1067
90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
1068
90, 90, 90, 81, 81, 81, 91, 92, 93, 92,
1069
94, 95, 92, 92, 92, 92, 92, 92, 92, 92,
1070
92, 92, 92, 92, 96, 92, 92, 92, 92, 92,
1071
92, 92, 97, 92, 98, 98, 92, 92, 92, 98,
1072
98, 99, 100, 101, 98, 98, 98, 102, 98, 98,
1073
98, 98, 98, 98, 103, 98, 98, 98, 104, 98,
1074
98, 98, 92, 92, 92, 105, 106, 107, 106, 108,
1075
109, 106, 106, 106, 106, 106, 106, 106, 106, 106,
1077
106, 106, 106, 110, 106, 106, 106, 106, 106, 106,
1078
106, 111, 106, 112, 112, 106, 106, 106, 112, 112,
1079
112, 112, 113, 112, 112, 112, 114, 112, 112, 112,
1080
112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
1081
112, 106, 106, 106, 115, 117, 409, 118, 119, 398,
1082
120, 425, 426, 379, 121, 117, 410, 118, 119, 399,
1083
120, 122, 390, 400, 121, 126, 390, 76, 127, 123,
1084
128, 122, 126, 390, 76, 127, 415, 128, 419, 123,
1085
390, 129, 390, 420, 390, 398, 390, 595, 129, 130,
1086
416, 390, 393, 391, 131, 556, 130, 392, 404, 405,
1088
390, 131, 124, 428, 390, 422, 361, 406, 429, 423,
1089
362, 361, 124, 432, 341, 362, 341, 433, 448, 455,
1090
452, 988, 132, 342, 456, 457, 408, 477, 478, 132,
1091
133, 134, 133, 135, 136, 133, 137, 133, 133, 133,
1092
138, 133, 133, 133, 133, 133, 133, 139, 133, 133,
1093
133, 133, 133, 133, 133, 140, 133, 141, 141, 133,
1094
142, 133, 141, 141, 141, 141, 143, 141, 141, 141,
1095
141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
1096
141, 141, 141, 141, 141, 144, 145, 133, 146, 148,
1097
460, 76, 77, 148, 149, 76, 77, 595, 149, 460,
1099
462, 378, 378, 378, 463, 150, 461, 469, 473, 150,
1100
379, 470, 474, 151, 464, 461, 341, 151, 152, 979,
1101
342, 155, 152, 76, 156, 155, 74, 76, 156, 341,
1102
74, 483, 465, 342, 341, 484, 465, 157, 342, 341,
1103
466, 157, 438, 342, 74, 158, 153, 491, 74, 158,
1104
153, 342, 383, 487, 488, 492, 341, 497, 500, 493,
1105
342, 498, 500, 349, 349, 349, 507, 511, 501, 419,
1106
525, 726, 349, 349, 420, 508, 512, 595, 159, 526,
1107
534, 534, 159, 74, 75, 74, 76, 77, 74, 74,
1108
74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
1110
78, 74, 74, 74, 74, 74, 74, 74, 79, 74,
1111
160, 160, 74, 74, 74, 160, 160, 160, 160, 160,
1112
160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
1113
160, 160, 160, 160, 160, 160, 160, 160, 74, 74,
1114
74, 80, 162, 505, 163, 164, 162, 514, 163, 164,
1115
514, 502, 506, 540, 528, 431, 514, 528, 165, 349,
1116
349, 349, 165, 528, 541, 537, 166, 394, 349, 349,
1117
166, 167, 538, 545, 970, 167, 395, 540, 390, 394,
1118
515, 546, 546, 547, 547, 547, 398, 529, 395, 537,
1119
516, 409, 379, 378, 378, 378, 390, 530, 564, 168,
1121
557, 410, 379, 168, 169, 169, 565, 615, 615, 169,
1122
169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
1123
169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
1124
169, 169, 74, 75, 170, 76, 77, 74, 74, 74,
1125
74, 74, 74, 171, 172, 74, 173, 74, 174, 78,
1126
74, 74, 74, 74, 74, 74, 74, 79, 74, 175,
1127
175, 74, 176, 74, 175, 175, 175, 175, 175, 175,
1128
175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
1129
175, 175, 175, 175, 175, 175, 175, 74, 74, 74,
1130
80, 177, 178, 179, 180, 181, 177, 182, 183, 177,
1132
177, 184, 177, 177, 177, 177, 177, 177, 185, 177,
1133
177, 177, 177, 177, 177, 177, 186, 187, 188, 188,
1134
177, 189, 177, 188, 188, 188, 188, 188, 188, 188,
1135
188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
1136
188, 188, 188, 188, 188, 188, 177, 177, 177, 190,
1137
192, 595, 193, 194, 199, 200, 201, 202, 969, 75,
1138
203, 76, 77, 404, 405, 75, 195, 76, 77, 75,
1139
204, 76, 77, 673, 196, 78, 566, 428, 205, 968,
1140
559, 78, 429, 79, 75, 78, 76, 77, 567, 79,
1141
378, 378, 378, 79, 218, 390, 219, 220, 595, 379,
1143
78, 537, 552, 415, 595, 415, 221, 197, 79, 390,
1144
222, 206, 218, 390, 219, 220, 80, 416, 223, 416,
1145
553, 595, 80, 460, 221, 537, 80, 390, 222, 617,
1146
601, 239, 572, 240, 241, 603, 223, 618, 548, 461,
1147
604, 80, 208, 505, 209, 210, 595, 242, 625, 626,
1148
619, 224, 506, 406, 211, 243, 244, 540, 212, 507,
1149
244, 239, 620, 240, 241, 603, 213, 214, 508, 224,
1150
604, 214, 408, 255, 959, 240, 256, 242, 404, 405,
1151
247, 540, 248, 249, 537, 243, 244, 406, 245, 257,
1152
244, 255, 250, 240, 256, 648, 251, 258, 215, 216,
1154
208, 646, 209, 210, 252, 650, 408, 257, 537, 647,
1155
647, 540, 211, 651, 651, 258, 212, 398, 245, 652,
1156
652, 652, 390, 390, 213, 214, 390, 672, 379, 214,
1157
259, 656, 670, 655, 460, 540, 390, 253, 625, 626,
1158
390, 390, 671, 673, 390, 657, 657, 657, 259, 595,
1159
461, 737, 737, 737, 390, 595, 215, 216, 225, 226,
1160
225, 227, 228, 225, 225, 225, 225, 225, 225, 225,
1161
225, 229, 225, 225, 225, 230, 225, 225, 225, 225,
1162
225, 225, 225, 231, 225, 232, 232, 225, 225, 225,
1163
232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
1165
232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
1166
232, 232, 232, 225, 225, 225, 233, 208, 701, 209,
1167
210, 701, 690, 247, 713, 248, 249, 701, 725, 234,
1168
691, 691, 663, 235, 537, 250, 378, 378, 378, 251,
1169
958, 213, 236, 957, 726, 379, 236, 252, 695, 696,
1170
697, 532, 282, 663, 76, 283, 723, 284, 537, 718,
1171
718, 956, 714, 697, 697, 697, 724, 698, 285, 299,
1172
653, 94, 300, 237, 216, 208, 286, 209, 210, 663,
1173
253, 287, 698, 712, 768, 301, 712, 234, 719, 713,
1174
955, 235, 712, 302, 613, 726, 720, 720, 303, 213,
1176
236, 698, 756, 756, 236, 721, 721, 721, 771, 288,
1177
745, 746, 1284, 954, 379, 747, 698, 772, 950, 748,
1178
749, 761, 769, 944, 750, 943, 304, 778, 751, 752,
1179
942, 237, 216, 260, 261, 260, 262, 263, 260, 260,
1180
260, 260, 260, 260, 260, 260, 260, 260, 260, 260,
1181
264, 260, 260, 260, 260, 260, 260, 260, 265, 260,
1182
266, 266, 260, 267, 260, 266, 266, 266, 268, 266,
1183
266, 266, 266, 266, 266, 266, 266, 266, 266, 266,
1184
266, 266, 266, 266, 266, 266, 266, 266, 260, 260,
1185
260, 269, 270, 271, 270, 272, 273, 270, 270, 270,
1187
270, 270, 270, 270, 270, 270, 270, 270, 270, 274,
1188
270, 270, 270, 270, 270, 270, 270, 275, 270, 276,
1189
276, 270, 277, 270, 276, 276, 276, 276, 276, 276,
1190
276, 276, 276, 276, 276, 276, 276, 276, 276, 276,
1191
276, 276, 276, 276, 276, 276, 276, 270, 270, 270,
1192
278, 279, 528, 817, 818, 528, 378, 378, 378, 817,
1193
818, 528, 784, 784, 784, 379, 280, 280, 737, 737,
1194
737, 280, 280, 280, 280, 280, 280, 280, 280, 280,
1195
280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
1196
280, 280, 280, 280, 282, 855, 76, 283, 290, 284,
1198
76, 291, 722, 779, 779, 779, 828, 292, 941, 940,
1199
285, 595, 379, 299, 293, 94, 300, 290, 286, 76,
1200
291, 792, 294, 287, 768, 939, 292, 295, 938, 301,
1201
378, 378, 378, 293, 793, 794, 795, 302, 673, 379,
1202
937, 294, 303, 737, 737, 737, 295, 812, 794, 795,
1203
870, 288, 1284, 726, 771, 296, 824, 824, 759, 696,
1204
760, 761, 769, 772, 936, 825, 825, 350, 761, 701,
1205
304, 350, 701, 780, 296, 297, 297, 762, 701, 726,
1206
297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
1207
297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
1209
297, 297, 297, 306, 934, 307, 308, 930, 309, 923,
1210
922, 762, 310, 311, 312, 830, 830, 830, 318, 313,
1211
76, 319, 712, 320, 379, 712, 921, 314, 315, 920,
1212
318, 712, 76, 319, 321, 320, 763, 764, 765, 765,
1213
765, 765, 322, 765, 765, 765, 321, 323, 819, 820,
1214
821, 919, 918, 826, 322, 698, 896, 827, 698, 323,
1215
316, 306, 698, 307, 308, 897, 309, 698, 917, 673,
1216
310, 311, 312, 827, 916, 324, 673, 313, 784, 784,
1217
784, 793, 794, 795, 826, 314, 315, 324, 827, 698,
1218
914, 896, 698, 795, 794, 795, 698, 812, 794, 795,
1220
897, 698, 726, 913, 827, 871, 871, 871, 737, 737,
1221
737, 784, 784, 784, 379, 726, 726, 912, 316, 325,
1222
326, 327, 76, 328, 327, 325, 325, 325, 327, 325,
1223
327, 327, 325, 325, 327, 327, 329, 327, 327, 327,
1224
325, 325, 325, 325, 330, 325, 327, 327, 325, 325,
1225
325, 327, 327, 327, 327, 327, 327, 327, 327, 327,
1226
327, 327, 327, 327, 327, 327, 327, 327, 327, 327,
1227
327, 327, 327, 327, 325, 325, 325, 331, 333, 351,
1228
334, 335, 336, 351, 911, 363, 906, 906, 906, 363,
1229
336, 815, 764, 816, 337, 379, 816, 765, 816, 910,
1231
424, 761, 338, 339, 424, 476, 761, 339, 909, 476,
1232
762, 821, 821, 821, 875, 762, 908, 480, 821, 821,
1233
821, 480, 831, 831, 831, 905, 832, 784, 784, 784,
1234
698, 379, 864, 820, 865, 340, 333, 698, 334, 335,
1235
336, 898, 761, 895, 762, 931, 931, 931, 336, 762,
1236
894, 762, 337, 893, 379, 892, 891, 951, 951, 951,
1237
338, 339, 890, 889, 698, 339, 379, 965, 965, 965,
1238
595, 698, 976, 976, 976, 833, 379, 985, 985, 985,
1239
834, 379, 991, 991, 991, 762, 379, 673, 482, 888,
1240
673, 379, 482, 340, 344, 344, 345, 344, 344, 344,
1242
344, 346, 344, 344, 344, 344, 344, 344, 344, 344,
1243
344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
1244
344, 347, 347, 344, 344, 344, 348, 348, 348, 348,
1245
348, 348, 348, 348, 348, 348, 348, 348, 348, 348,
1246
348, 348, 348, 348, 348, 348, 348, 348, 348, 344,
1247
344, 344, 344, 435, 673, 887, 886, 435, 994, 994,
1248
994, 436, 437, 438, 486, 350, 439, 379, 486, 350,
1249
440, 441, 351, 363, 424, 442, 351, 363, 424, 443,
1250
444, 344, 344, 345, 344, 344, 344, 344, 346, 344,
1251
344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
1253
344, 344, 344, 344, 344, 344, 344, 344, 347, 347,
1254
344, 344, 344, 348, 348, 348, 348, 348, 348, 348,
1255
348, 348, 348, 348, 348, 348, 348, 348, 348, 348,
1256
348, 348, 348, 348, 348, 348, 344, 344, 344, 344,
1257
535, 885, 866, 867, 868, 504, 535, 535, 884, 476,
1258
535, 480, 504, 476, 845, 480, 883, 535, 535, 535,
1259
542, 698, 868, 868, 868, 542, 542, 542, 882, 482,
1260
542, 486, 542, 482, 881, 486, 880, 542, 542, 542,
1261
551, 698, 953, 953, 953, 551, 551, 551, 879, 351,
1262
551, 878, 551, 351, 877, 698, 876, 551, 551, 551,
1264
554, 390, 868, 868, 868, 554, 554, 554, 835, 363,
1265
554, 875, 554, 363, 873, 698, 822, 554, 554, 555,
1266
398, 698, 558, 863, 901, 902, 903, 558, 558, 558,
1267
862, 861, 558, 860, 558, 833, 997, 997, 997, 558,
1268
558, 558, 569, 698, 859, 379, 904, 569, 569, 569,
1269
904, 858, 569, 857, 504, 698, 856, 854, 853, 569,
1270
569, 569, 570, 571, 572, 573, 852, 574, 851, 850,
1271
849, 575, 576, 848, 847, 846, 577, 698, 845, 843,
1272
578, 579, 591, 842, 903, 903, 903, 591, 591, 591,
1273
841, 840, 591, 839, 591, 838, 865, 821, 865, 591,
1275
591, 591, 593, 698, 837, 836, 761, 593, 593, 593,
1276
835, 829, 593, 777, 593, 762, 903, 903, 903, 593,
1277
593, 593, 460, 828, 774, 823, 599, 822, 927, 928,
1278
929, 599, 599, 599, 353, 698, 599, 698, 600, 1000,
1279
1000, 1000, 814, 599, 599, 599, 606, 698, 379, 762,
1280
613, 606, 606, 606, 613, 813, 606, 811, 606, 1003,
1281
1003, 1003, 810, 606, 606, 606, 609, 809, 379, 698,
1282
808, 609, 609, 609, 807, 806, 609, 805, 609, 804,
1283
803, 698, 802, 609, 609, 609, 504, 801, 1006, 1006,
1284
1006, 621, 621, 621, 800, 799, 621, 379, 504, 798,
1286
797, 796, 791, 621, 621, 621, 702, 702, 703, 702,
1287
702, 702, 702, 702, 702, 702, 702, 702, 702, 702,
1288
702, 702, 702, 702, 351, 351, 351, 702, 702, 702,
1289
702, 702, 702, 351, 351, 702, 702, 702, 351, 351,
1290
351, 351, 351, 351, 351, 351, 704, 351, 351, 351,
1291
351, 351, 351, 351, 351, 351, 351, 351, 351, 351,
1292
351, 702, 702, 702, 702, 770, 770, 770, 770, 770,
1293
770, 770, 770, 770, 770, 770, 770, 770, 770, 770,
1294
770, 770, 770, 351, 351, 351, 770, 770, 770, 770,
1295
770, 770, 351, 351, 770, 770, 770, 351, 351, 351,
1297
351, 351, 351, 351, 351, 351, 351, 351, 351, 351,
1298
351, 351, 351, 351, 351, 351, 351, 351, 351, 351,
1299
770, 770, 770, 770, 872, 872, 872, 790, 832, 899,
1300
867, 900, 789, 379, 900, 868, 900, 788, 787, 761,
1301
786, 907, 907, 907, 761, 832, 785, 783, 762, 782,
1302
379, 781, 719, 762, 925, 902, 926, 926, 903, 926,
1303
929, 929, 929, 532, 761, 532, 641, 761, 777, 929,
1304
929, 929, 776, 762, 775, 774, 762, 833, 773, 698,
1305
631, 767, 762, 967, 967, 967, 766, 762, 698, 932,
1306
932, 932, 694, 832, 833, 933, 933, 933, 379, 832,
1308
757, 945, 928, 946, 946, 929, 946, 762, 613, 754,
1309
762, 761, 753, 698, 761, 947, 948, 949, 724, 683,
1310
762, 681, 698, 762, 949, 949, 949, 949, 949, 949,
1311
744, 952, 952, 952, 698, 832, 833, 960, 948, 961,
1312
379, 743, 833, 698, 742, 741, 698, 761, 833, 740,
1313
961, 949, 961, 739, 762, 738, 762, 762, 736, 735,
1314
761, 734, 962, 963, 964, 733, 732, 731, 698, 762,
1315
964, 964, 964, 964, 964, 964, 730, 698, 729, 728,
1316
698, 698, 727, 659, 833, 398, 971, 963, 972, 698,
1317
762, 532, 698, 966, 966, 966, 761, 832, 972, 964,
1319
972, 716, 379, 762, 715, 762, 711, 710, 761, 973,
1320
974, 975, 975, 975, 975, 698, 709, 762, 975, 975,
1321
975, 708, 707, 698, 706, 705, 698, 700, 698, 699,
1322
628, 698, 977, 977, 977, 694, 832, 698, 692, 762,
1323
623, 379, 978, 978, 978, 623, 833, 980, 974, 981,
1324
613, 762, 613, 981, 975, 981, 688, 761, 982, 983,
1325
984, 687, 698, 761, 686, 698, 762, 984, 984, 984,
1326
685, 698, 762, 984, 984, 984, 684, 698, 986, 986,
1327
986, 683, 832, 682, 681, 833, 698, 379, 987, 987,
1328
987, 680, 698, 679, 678, 833, 677, 989, 983, 990,
1330
762, 676, 990, 984, 990, 675, 762, 761, 982, 983,
1331
984, 698, 761, 984, 984, 984, 762, 984, 984, 984,
1332
698, 762, 993, 993, 993, 674, 698, 698, 989, 983,
1333
990, 833, 698, 992, 992, 992, 698, 832, 761, 669,
1334
668, 833, 379, 990, 984, 990, 667, 762, 666, 665,
1335
762, 664, 662, 761, 661, 762, 995, 995, 995, 660,
1336
832, 698, 762, 659, 623, 379, 698, 996, 996, 996,
1337
698, 999, 999, 999, 563, 833, 998, 998, 998, 658,
1338
832, 762, 1002, 1002, 1002, 379, 833, 398, 1001, 1001,
1339
1001, 398, 832, 1005, 1005, 1005, 762, 379, 1004, 1004,
1341
1004, 654, 832, 649, 1007, 1007, 1007, 379, 832, 833,
1342
1008, 1008, 1008, 379, 1009, 1009, 1009, 1010, 1010, 1010,
1343
833, 832, 649, 379, 833, 532, 379, 532, 529, 833,
1344
1011, 1011, 1011, 644, 643, 833, 1012, 1012, 1012, 642,
1345
641, 833, 1014, 1014, 1014, 379, 833, 1017, 1017, 1017,
1346
640, 833, 1013, 1013, 1013, 639, 832, 833, 1015, 1015,
1347
1015, 379, 638, 833, 1016, 1016, 1016, 379, 832, 637,
1348
833, 636, 635, 379, 634, 1018, 1018, 1018, 1019, 1019,
1349
1019, 633, 832, 833, 379, 632, 631, 379, 1020, 1020,
1350
1020, 630, 1021, 1021, 1021, 833, 1023, 1023, 1023, 629,
1352
833, 379, 1022, 1022, 1022, 833, 832, 1024, 1024, 1024,
1353
628, 379, 1026, 1026, 1026, 623, 379, 833, 1025, 1025,
1354
1025, 622, 832, 1027, 1027, 1027, 572, 379, 1029, 1029,
1355
1029, 833, 379, 1028, 1028, 1028, 503, 832, 1030, 1030,
1356
1030, 833, 379, 502, 1031, 1031, 1031, 379, 832, 833,
1357
1032, 1032, 1032, 379, 616, 833, 613, 1033, 1033, 1033,
1358
1034, 1034, 1034, 487, 832, 833, 379, 611, 502, 379,
1359
610, 833, 1035, 1035, 1035, 1036, 1036, 1036, 1037, 1037,
1360
1037, 833, 832, 477, 379, 608, 833, 379, 1038, 1038,
1361
1038, 1039, 1039, 1039, 1041, 1041, 1041, 833, 607, 605,
1363
379, 502, 602, 833, 598, 1040, 1040, 1040, 597, 832,
1364
1042, 1042, 1042, 833, 379, 1044, 1044, 1044, 596, 379,
1365
1043, 1043, 1043, 594, 832, 833, 1045, 1045, 1045, 379,
1366
502, 833, 1047, 1047, 1047, 379, 1046, 1046, 1046, 592,
1367
832, 833, 1048, 1048, 1048, 379, 590, 833, 1049, 1049,
1368
1049, 379, 832, 1050, 1050, 1050, 589, 379, 833, 588,
1369
1051, 1051, 1051, 1052, 1052, 1052, 587, 832, 833, 379,
1370
586, 585, 379, 833, 1053, 1053, 1053, 1054, 1054, 1054,
1371
1056, 1056, 1056, 584, 583, 833, 379, 582, 581, 833,
1372
1055, 1055, 1055, 580, 832, 1057, 1057, 1057, 568, 379,
1374
425, 833, 563, 421, 379, 562, 833, 561, 1058, 1058,
1375
1058, 413, 832, 1059, 1059, 1059, 833, 379, 412, 1060,
1376
1060, 1060, 1061, 1061, 1061, 411, 832, 833, 379, 412,
1377
560, 379, 402, 833, 1062, 1062, 1062, 1063, 1063, 1063,
1378
1064, 1064, 1064, 833, 832, 398, 379, 550, 549, 379,
1379
1065, 1065, 1065, 1066, 1066, 1066, 1067, 1067, 1067, 381,
1380
832, 833, 379, 543, 532, 379, 833, 1068, 1068, 1068,
1381
1069, 1069, 1069, 527, 524, 833, 1070, 1070, 1070, 379,
1382
832, 1071, 1071, 1071, 522, 379, 520, 833, 1072, 1072,
1383
1072, 519, 518, 833, 1074, 1074, 1074, 379, 1073, 1073,
1385
1073, 517, 832, 833, 1075, 1075, 1075, 379, 513, 833,
1386
1076, 1076, 1076, 379, 832, 1077, 1077, 1077, 510, 379,
1387
833, 1078, 1078, 1078, 1079, 1079, 1079, 509, 832, 833,
1388
379, 503, 502, 379, 833, 1080, 1080, 1080, 499, 1081,
1389
1081, 1081, 1083, 1083, 1083, 343, 343, 833, 379, 343,
1390
490, 833, 1082, 1082, 1082, 343, 832, 1084, 1084, 1084,
1391
343, 379, 343, 833, 481, 343, 379, 479, 833, 1085,
1392
1085, 1085, 343, 832, 1086, 1086, 1086, 833, 379, 475,
1393
1087, 1087, 1087, 1088, 1088, 1088, 471, 832, 833, 379,
1394
468, 458, 379, 454, 453, 833, 1089, 1089, 1089, 1090,
1396
1090, 1090, 1091, 1091, 1091, 833, 832, 451, 379, 449,
1397
447, 379, 1092, 1092, 1092, 1093, 1093, 1093, 445, 1094,
1398
1094, 1094, 833, 832, 379, 434, 431, 833, 379, 1095,
1399
1095, 1095, 1096, 1096, 1096, 343, 833, 343, 1097, 1097,
1400
1097, 379, 832, 1098, 1098, 1098, 343, 379, 421, 833,
1401
1099, 1099, 1099, 418, 414, 833, 1101, 1101, 1101, 379,
1402
1100, 1100, 1100, 413, 832, 833, 1102, 1102, 1102, 379,
1403
412, 411, 833, 398, 398, 379, 1103, 1103, 1103, 398,
1404
832, 398, 833, 387, 343, 379, 1104, 1104, 1104, 377,
1405
374, 833, 1105, 1105, 1105, 370, 833, 369, 1106, 1106,
1407
1106, 379, 832, 1107, 1107, 1107, 366, 379, 343, 833,
1408
1108, 1108, 1108, 833, 1109, 1109, 1109, 360, 832, 379,
1409
1110, 1110, 1110, 379, 1111, 1111, 1111, 359, 353, 833,
1410
1113, 1113, 1113, 379, 1112, 1112, 1112, 352, 832, 833,
1411
1114, 1114, 1114, 379, 1115, 1115, 1115, 343, 832, 379,
1412
343, 833, 343, 379, 1284, 1284, 833, 1116, 1116, 1116,
1413
1117, 1117, 1117, 1119, 1119, 1119, 1284, 833, 1284, 379,
1414
1118, 1118, 1118, 833, 832, 1120, 1120, 1120, 1284, 379,
1415
1122, 1122, 1122, 833, 379, 1284, 1284, 833, 1284, 1121,
1416
1121, 1121, 1284, 832, 1123, 1123, 1123, 833, 379, 1284,
1418
1124, 1124, 1124, 379, 832, 1125, 1125, 1125, 1284, 379,
1419
833, 1126, 1126, 1126, 1284, 1284, 833, 1127, 1127, 1127,
1420
379, 832, 1284, 833, 1284, 1284, 379, 1128, 1128, 1128,
1421
1129, 1129, 1129, 833, 1130, 1130, 1130, 1284, 832, 379,
1422
1284, 1284, 833, 379, 1131, 1131, 1131, 1132, 1132, 1132,
1423
1133, 1133, 1133, 833, 832, 1284, 379, 1284, 833, 379,
1424
1134, 1134, 1134, 1135, 1135, 1135, 1284, 1136, 1136, 1136,
1425
833, 832, 379, 1137, 1137, 1137, 379, 1138, 1138, 1138,
1426
833, 1139, 1139, 1139, 1284, 832, 379, 833, 1284, 1284,
1427
379, 1140, 1140, 1140, 1143, 1143, 1143, 833, 1141, 1141,
1429
1141, 1284, 1284, 833, 1146, 1146, 1146, 379, 1142, 1142,
1430
1142, 1284, 832, 833, 1144, 1144, 1144, 379, 1284, 1284,
1431
833, 1284, 1284, 379, 1284, 1284, 833, 1145, 1145, 1145,
1432
1284, 832, 1284, 1284, 833, 1284, 379, 1147, 1147, 1147,
1433
1284, 1148, 1148, 1148, 833, 832, 379, 833, 1284, 1284,
1434
379, 1149, 1149, 1149, 1150, 1150, 1150, 833, 1151, 1151,
1435
1151, 833, 832, 379, 1152, 1152, 1152, 379, 1153, 1153,
1436
1153, 1284, 1154, 1154, 1154, 1284, 832, 379, 1284, 1284,
1437
833, 379, 1155, 1155, 1155, 1284, 1156, 1156, 1156, 1157,
1438
1157, 1157, 1284, 832, 833, 379, 1284, 1284, 379, 1158,
1440
1158, 1158, 1284, 1284, 833, 1159, 1159, 1159, 1161, 1161,
1441
1161, 833, 1284, 1284, 379, 1284, 1284, 833, 1160, 1160,
1442
1160, 1284, 832, 1284, 1284, 833, 1284, 379, 1162, 1162,
1443
1162, 1284, 1163, 1163, 1163, 833, 832, 379, 1164, 1164,
1444
1164, 379, 833, 1284, 1165, 1165, 1165, 1166, 1166, 1166,
1445
1284, 832, 833, 379, 1284, 1284, 379, 1167, 1167, 1167,
1446
1284, 833, 1284, 1168, 1168, 1168, 1169, 1169, 1169, 1284,
1447
832, 833, 379, 1284, 1284, 379, 1170, 1170, 1170, 1171,
1448
1171, 1171, 1173, 1173, 1173, 833, 1284, 1284, 379, 1284,
1449
1284, 833, 1172, 1172, 1172, 1284, 832, 1174, 1174, 1174,
1451
833, 379, 1284, 1175, 1175, 1175, 379, 832, 1284, 1284,
1452
833, 1284, 379, 1176, 1176, 1176, 1177, 1177, 1177, 833,
1453
1284, 1284, 1178, 1178, 1178, 379, 832, 1284, 1284, 833,
1454
1284, 379, 1179, 1179, 1179, 833, 1284, 1180, 1180, 1180,
1455
1181, 1181, 1181, 1284, 832, 833, 379, 1284, 1284, 379,
1456
1182, 1182, 1182, 1183, 1183, 1183, 833, 1284, 1284, 1184,
1457
1184, 1184, 379, 832, 1284, 1284, 833, 1284, 379, 1185,
1458
1185, 1185, 1186, 1186, 1186, 833, 1284, 1284, 1187, 1187,
1459
1187, 379, 832, 1284, 1284, 833, 1284, 379, 1188, 1188,
1460
1188, 1284, 1284, 833, 1284, 1189, 1189, 1189, 1190, 1190,
1462
1190, 1284, 832, 833, 379, 1284, 1284, 379, 1191, 1191,
1463
1191, 1284, 833, 1284, 1192, 1192, 1192, 1284, 832, 1193,
1464
1193, 1193, 833, 379, 1194, 1194, 1194, 1284, 832, 1284,
1465
1284, 833, 1284, 379, 1195, 1195, 1195, 1284, 1196, 1196,
1466
1196, 833, 832, 1197, 1197, 1197, 1284, 379, 1198, 1198,
1467
1198, 833, 832, 1199, 1199, 1199, 1284, 379, 1201, 1201,
1468
1201, 833, 1200, 1200, 1200, 1284, 832, 833, 1203, 1203,
1469
1203, 379, 833, 1284, 1202, 1202, 1202, 833, 832, 1204,
1470
1204, 1204, 1284, 379, 1205, 1205, 1205, 833, 1206, 1206,
1471
1206, 833, 1207, 1207, 1207, 1284, 833, 1208, 1208, 1208,
1473
1284, 833, 1209, 1209, 1209, 1284, 833, 1210, 1210, 1210,
1474
1284, 833, 1211, 1211, 1211, 833, 1212, 1212, 1212, 1284,
1475
1284, 833, 1213, 1213, 1213, 1284, 1284, 833, 1214, 1214,
1476
1214, 1284, 833, 1215, 1215, 1215, 1284, 833, 1216, 1216,
1477
1216, 833, 1217, 1217, 1217, 833, 1218, 1218, 1218, 1284,
1478
833, 1219, 1219, 1219, 1284, 833, 1220, 1220, 1220, 1284,
1479
833, 1221, 1221, 1221, 1284, 833, 1222, 1222, 1222, 833,
1480
1223, 1223, 1223, 1284, 1284, 833, 1224, 1224, 1224, 1284,
1481
1284, 833, 1225, 1225, 1225, 1284, 833, 1226, 1226, 1226,
1482
1284, 833, 1227, 1227, 1227, 833, 1228, 1228, 1228, 833,
1484
1229, 1229, 1229, 1284, 833, 1230, 1230, 1230, 1284, 833,
1485
1231, 1231, 1231, 1284, 833, 1232, 1232, 1232, 1284, 833,
1486
1233, 1233, 1233, 833, 1234, 1234, 1234, 1284, 1284, 833,
1487
1235, 1235, 1235, 1284, 1284, 833, 1236, 1236, 1236, 1284,
1488
833, 1237, 1237, 1237, 1284, 833, 1238, 1238, 1238, 833,
1489
1239, 1239, 1239, 833, 1240, 1240, 1240, 1284, 833, 1241,
1490
1241, 1241, 1284, 833, 1242, 1242, 1242, 1284, 833, 1243,
1491
1243, 1243, 1284, 833, 1244, 1244, 1244, 833, 1245, 1245,
1492
1245, 1284, 1284, 833, 1246, 1246, 1246, 1284, 1284, 833,
1493
1247, 1247, 1247, 1284, 833, 1248, 1248, 1248, 1284, 833,
1495
1249, 1249, 1249, 833, 1250, 1250, 1250, 833, 1251, 1251,
1496
1251, 1284, 833, 1252, 1252, 1252, 1284, 833, 1253, 1253,
1497
1253, 1284, 833, 1254, 1254, 1254, 1284, 833, 1255, 1255,
1498
1255, 833, 1256, 1256, 1256, 1284, 1284, 833, 1257, 1257,
1499
1257, 1284, 1284, 833, 1258, 1258, 1258, 1284, 833, 1259,
1500
1259, 1259, 1284, 833, 1260, 1260, 1260, 833, 1261, 1261,
1501
1261, 833, 1262, 1262, 1262, 1284, 833, 1263, 1263, 1263,
1502
1284, 833, 1264, 1264, 1264, 1284, 833, 1265, 1265, 1265,
1503
1284, 833, 1266, 1266, 1266, 833, 1267, 1267, 1267, 1284,
1504
1284, 833, 1268, 1268, 1268, 1284, 1284, 833, 1269, 1269,
1506
1269, 1284, 833, 1270, 1270, 1270, 1284, 833, 1271, 1271,
1507
1271, 833, 1272, 1272, 1272, 833, 1273, 1273, 1273, 1284,
1508
833, 1274, 1274, 1274, 1284, 833, 1275, 1275, 1275, 1284,
1509
833, 1276, 1276, 1276, 1284, 833, 1277, 1277, 1277, 833,
1510
1278, 1278, 1278, 1284, 1284, 833, 1279, 1279, 1279, 1284,
1511
1284, 833, 1280, 1280, 1280, 1284, 833, 1281, 1281, 1281,
1512
1284, 833, 1282, 1282, 1282, 833, 1283, 1283, 1283, 833,
1513
1207, 1207, 1207, 1284, 833, 1284, 1284, 1284, 1284, 833,
1514
1284, 1284, 1284, 1284, 833, 1284, 1284, 1284, 1284, 833,
1515
1284, 1284, 1284, 833, 1284, 1284, 1284, 1284, 1284, 833,
1517
1284, 1284, 1284, 1284, 1284, 833, 1284, 1284, 1284, 1284,
1518
833, 1284, 1284, 1284, 1284, 833, 1284, 1284, 1284, 833,
1519
1284, 1284, 1284, 833, 74, 74, 74, 74, 74, 74,
1520
74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
1521
74, 74, 74, 74, 74, 116, 116, 116, 116, 116,
1522
116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
1523
116, 116, 116, 116, 116, 116, 125, 125, 125, 125,
1524
125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
1525
125, 125, 125, 125, 125, 125, 125, 147, 147, 147,
1526
147, 147, 147, 147, 147, 147, 147, 147, 147, 147,
1528
147, 147, 147, 147, 147, 147, 147, 147, 154, 154,
1529
154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
1530
154, 154, 154, 154, 154, 154, 154, 154, 154, 161,
1531
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
1532
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
1533
191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
1534
191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
1535
191, 198, 198, 198, 198, 198, 198, 198, 198, 198,
1536
198, 198, 198, 198, 198, 198, 198, 198, 198, 198,
1537
198, 198, 207, 207, 207, 207, 207, 207, 207, 207,
1539
207, 207, 207, 207, 207, 207, 207, 207, 207, 207,
1540
207, 207, 207, 217, 217, 217, 217, 217, 217, 217,
1541
217, 217, 217, 217, 217, 217, 217, 217, 217, 217,
1542
217, 217, 217, 217, 238, 238, 238, 238, 238, 238,
1543
238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
1544
238, 238, 238, 238, 238, 246, 246, 246, 246, 246,
1545
246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
1546
246, 246, 246, 246, 246, 246, 254, 254, 254, 254,
1547
254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
1548
254, 254, 254, 254, 254, 254, 254, 281, 281, 281,
1550
281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
1551
281, 281, 281, 281, 281, 281, 281, 281, 289, 289,
1552
289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
1553
289, 289, 289, 289, 289, 289, 289, 289, 289, 298,
1554
298, 298, 298, 298, 298, 298, 298, 298, 298, 298,
1555
298, 298, 298, 298, 298, 298, 298, 298, 298, 298,
1556
305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
1557
305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
1558
305, 317, 317, 317, 317, 317, 317, 317, 317, 317,
1559
317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
1561
317, 317, 332, 332, 332, 332, 332, 332, 332, 332,
1562
332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
1563
332, 332, 332, 367, 367, 367, 1284, 367, 367, 1284,
1564
367, 1284, 367, 367, 367, 367, 1284, 367, 367, 367,
1565
367, 367, 367, 367, 368, 368, 368, 1284, 368, 368,
1566
368, 368, 1284, 368, 368, 368, 368, 368, 368, 368,
1567
368, 368, 368, 368, 368, 371, 371, 371, 1284, 371,
1568
371, 1284, 371, 371, 371, 371, 371, 371, 371, 371,
1569
371, 371, 371, 371, 1284, 371, 375, 375, 375, 1284,
1570
375, 375, 375, 375, 375, 375, 375, 375, 375, 375,
1572
375, 375, 375, 375, 375, 375, 375, 376, 376, 376,
1573
1284, 376, 376, 376, 376, 376, 376, 376, 376, 376,
1574
376, 376, 376, 376, 376, 376, 376, 376, 380, 380,
1575
380, 1284, 1284, 1284, 1284, 380, 1284, 1284, 1284, 1284,
1576
380, 1284, 1284, 1284, 380, 384, 384, 384, 1284, 1284,
1577
384, 1284, 384, 384, 384, 384, 384, 384, 384, 384,
1578
384, 384, 384, 384, 1284, 384, 388, 388, 388, 1284,
1579
388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
1580
388, 388, 388, 388, 388, 388, 388, 389, 389, 389,
1581
1284, 389, 389, 389, 389, 389, 389, 389, 389, 389,
1583
389, 389, 389, 389, 389, 389, 389, 389, 396, 1284,
1584
1284, 1284, 1284, 1284, 1284, 396, 1284, 1284, 1284, 1284,
1585
396, 1284, 1284, 1284, 396, 397, 397, 397, 397, 397,
1586
397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
1587
397, 397, 397, 397, 1284, 397, 407, 407, 1284, 1284,
1588
1284, 1284, 1284, 407, 1284, 1284, 1284, 1284, 407, 1284,
1589
1284, 1284, 407, 407, 417, 1284, 1284, 1284, 1284, 1284,
1590
1284, 1284, 1284, 1284, 417, 1284, 417, 1284, 1284, 1284,
1591
417, 427, 427, 427, 427, 427, 427, 427, 427, 427,
1592
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
1594
427, 427, 430, 1284, 430, 1284, 430, 430, 430, 430,
1595
430, 430, 430, 1284, 430, 1284, 430, 430, 430, 1284,
1596
430, 446, 446, 446, 1284, 446, 446, 446, 446, 446,
1597
446, 446, 1284, 446, 446, 446, 446, 446, 446, 446,
1598
446, 446, 450, 450, 450, 1284, 450, 450, 450, 450,
1599
450, 450, 450, 1284, 450, 450, 450, 450, 450, 450,
1600
1284, 450, 450, 459, 459, 459, 1284, 459, 459, 459,
1601
459, 459, 459, 459, 459, 459, 459, 459, 459, 459,
1602
1284, 459, 1284, 459, 460, 460, 460, 1284, 460, 460,
1603
460, 460, 460, 460, 460, 460, 460, 1284, 460, 460,
1605
460, 1284, 460, 1284, 460, 461, 1284, 461, 1284, 461,
1606
461, 461, 461, 461, 461, 461, 461, 461, 461, 461,
1607
461, 461, 1284, 461, 1284, 461, 467, 1284, 467, 1284,
1608
467, 467, 467, 467, 467, 467, 467, 1284, 467, 467,
1609
467, 467, 467, 467, 467, 467, 467, 472, 1284, 472,
1610
1284, 472, 472, 472, 472, 472, 472, 472, 472, 472,
1611
472, 472, 472, 472, 472, 472, 472, 472, 485, 485,
1612
485, 1284, 485, 485, 485, 485, 485, 485, 485, 485,
1613
485, 485, 485, 485, 485, 485, 485, 485, 485, 489,
1614
489, 489, 1284, 489, 489, 489, 489, 1284, 489, 489,
1616
489, 489, 489, 489, 489, 489, 489, 489, 489, 489,
1617
494, 494, 494, 1284, 494, 494, 494, 494, 494, 494,
1618
494, 494, 494, 494, 494, 494, 494, 494, 494, 494,
1619
494, 495, 1284, 1284, 495, 1284, 495, 1284, 495, 495,
1620
1284, 495, 1284, 495, 1284, 1284, 1284, 495, 496, 496,
1621
496, 1284, 496, 1284, 496, 496, 496, 496, 496, 1284,
1622
496, 1284, 496, 496, 496, 1284, 496, 1284, 496, 504,
1623
1284, 1284, 504, 504, 504, 1284, 1284, 504, 1284, 504,
1624
504, 521, 521, 521, 1284, 521, 521, 521, 521, 521,
1625
521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
1627
521, 521, 523, 523, 523, 1284, 523, 523, 523, 523,
1628
523, 523, 523, 523, 523, 523, 523, 523, 523, 523,
1629
523, 523, 523, 367, 367, 367, 1284, 367, 367, 1284,
1630
367, 1284, 367, 367, 367, 367, 1284, 367, 367, 367,
1631
367, 367, 367, 367, 531, 531, 531, 1284, 531, 531,
1632
531, 531, 531, 531, 531, 531, 531, 531, 531, 531,
1633
531, 531, 531, 1284, 531, 533, 533, 533, 1284, 533,
1634
533, 533, 533, 533, 533, 533, 533, 533, 533, 533,
1635
533, 533, 533, 533, 533, 533, 371, 371, 371, 1284,
1636
371, 371, 1284, 371, 371, 371, 371, 371, 371, 371,
1638
371, 371, 371, 371, 371, 1284, 371, 536, 536, 536,
1639
1284, 536, 536, 536, 536, 536, 536, 536, 536, 536,
1640
536, 536, 536, 536, 536, 536, 536, 536, 539, 539,
1641
539, 1284, 539, 539, 539, 539, 539, 539, 539, 539,
1642
539, 539, 539, 539, 539, 539, 539, 539, 539, 544,
1643
544, 544, 1284, 544, 544, 544, 544, 544, 544, 544,
1644
544, 544, 544, 544, 544, 544, 544, 544, 544, 544,
1645
380, 380, 380, 1284, 1284, 1284, 1284, 380, 1284, 1284,
1646
1284, 1284, 380, 1284, 1284, 1284, 380, 384, 384, 384,
1647
1284, 1284, 384, 1284, 384, 384, 384, 384, 384, 384,
1649
384, 384, 384, 384, 384, 384, 1284, 384, 389, 389,
1650
389, 1284, 389, 389, 389, 389, 389, 389, 389, 389,
1651
389, 389, 389, 389, 389, 389, 389, 389, 389, 396,
1652
1284, 1284, 1284, 1284, 1284, 1284, 396, 1284, 1284, 1284,
1653
1284, 396, 1284, 1284, 1284, 396, 397, 397, 397, 397,
1654
397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
1655
397, 397, 397, 397, 397, 1284, 397, 407, 407, 1284,
1656
1284, 1284, 1284, 1284, 407, 1284, 1284, 1284, 1284, 407,
1657
1284, 1284, 1284, 407, 407, 417, 1284, 1284, 1284, 1284,
1658
1284, 1284, 1284, 1284, 1284, 417, 1284, 417, 1284, 1284,
1660
1284, 417, 427, 427, 427, 427, 427, 427, 427, 427,
1661
427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
1662
427, 427, 427, 430, 1284, 430, 1284, 430, 430, 430,
1663
430, 430, 430, 430, 1284, 430, 1284, 430, 430, 430,
1664
1284, 430, 446, 446, 446, 1284, 446, 446, 446, 446,
1665
446, 446, 446, 1284, 446, 446, 446, 446, 446, 446,
1666
446, 446, 446, 450, 450, 450, 1284, 450, 450, 450,
1667
450, 450, 450, 450, 1284, 450, 450, 450, 450, 450,
1668
450, 1284, 450, 450, 459, 459, 459, 1284, 459, 459,
1669
459, 459, 459, 459, 459, 459, 459, 459, 459, 459,
1671
459, 1284, 459, 1284, 459, 460, 460, 460, 1284, 460,
1672
460, 460, 460, 460, 460, 460, 460, 460, 1284, 460,
1673
460, 460, 1284, 460, 1284, 460, 461, 1284, 461, 1284,
1674
461, 461, 461, 461, 461, 461, 461, 461, 461, 461,
1675
461, 461, 461, 1284, 461, 1284, 461, 467, 1284, 467,
1676
1284, 467, 467, 467, 467, 467, 467, 467, 1284, 467,
1677
467, 467, 467, 467, 467, 467, 467, 467, 472, 1284,
1678
472, 1284, 472, 472, 472, 472, 472, 472, 472, 472,
1679
472, 472, 472, 472, 472, 472, 472, 472, 472, 612,
1680
612, 612, 1284, 612, 612, 612, 612, 612, 612, 612,
1682
612, 612, 612, 612, 612, 612, 612, 612, 1284, 612,
1683
614, 614, 614, 1284, 614, 614, 614, 614, 614, 614,
1684
614, 614, 614, 614, 614, 614, 614, 614, 614, 614,
1685
614, 495, 1284, 1284, 495, 1284, 495, 1284, 495, 495,
1686
1284, 495, 1284, 495, 1284, 1284, 1284, 495, 496, 496,
1687
496, 1284, 496, 1284, 496, 496, 496, 496, 496, 1284,
1688
496, 1284, 496, 496, 496, 1284, 496, 1284, 496, 624,
1689
624, 624, 1284, 624, 624, 624, 624, 624, 624, 624,
1690
624, 624, 624, 624, 624, 624, 624, 624, 624, 624,
1691
627, 627, 627, 1284, 627, 627, 627, 627, 627, 627,
1693
627, 627, 627, 627, 627, 627, 627, 627, 627, 627,
1694
627, 521, 521, 521, 1284, 521, 521, 521, 521, 521,
1695
521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
1696
521, 521, 523, 523, 523, 1284, 523, 523, 523, 523,
1697
523, 523, 523, 523, 523, 523, 523, 523, 523, 523,
1698
523, 523, 523, 645, 645, 645, 1284, 645, 645, 645,
1699
645, 645, 645, 645, 645, 645, 645, 645, 645, 645,
1700
645, 645, 1284, 645, 367, 367, 367, 1284, 367, 367,
1701
1284, 367, 1284, 367, 367, 367, 367, 1284, 367, 367,
1702
367, 367, 367, 367, 367, 536, 536, 536, 1284, 536,
1704
536, 536, 536, 536, 536, 536, 536, 536, 536, 536,
1705
536, 536, 536, 536, 536, 536, 537, 537, 537, 1284,
1706
537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
1707
537, 537, 537, 537, 537, 537, 537, 539, 539, 539,
1708
1284, 539, 539, 539, 539, 539, 539, 539, 539, 539,
1709
539, 539, 539, 539, 539, 539, 539, 539, 540, 540,
1710
540, 1284, 540, 540, 540, 540, 540, 540, 540, 540,
1711
540, 540, 540, 540, 540, 540, 540, 540, 540, 371,
1712
371, 371, 1284, 371, 371, 1284, 371, 371, 371, 371,
1713
371, 371, 371, 371, 371, 371, 371, 371, 1284, 371,
1715
380, 380, 380, 1284, 1284, 1284, 1284, 380, 1284, 1284,
1716
1284, 1284, 380, 1284, 1284, 1284, 380, 384, 384, 384,
1717
1284, 1284, 384, 1284, 384, 384, 384, 384, 384, 384,
1718
384, 384, 384, 384, 384, 384, 1284, 384, 389, 389,
1719
389, 1284, 389, 389, 389, 389, 389, 389, 389, 389,
1720
389, 389, 389, 389, 389, 389, 389, 389, 389, 397,
1721
397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
1722
397, 397, 397, 397, 397, 397, 397, 397, 1284, 397,
1723
430, 1284, 430, 1284, 430, 430, 430, 430, 430, 430,
1724
430, 1284, 430, 1284, 430, 430, 430, 1284, 430, 446,
1726
446, 446, 1284, 446, 446, 446, 446, 446, 446, 446,
1727
1284, 446, 446, 446, 446, 446, 446, 446, 446, 446,
1728
689, 689, 689, 1284, 689, 689, 689, 689, 689, 689,
1729
689, 689, 689, 689, 689, 689, 689, 689, 689, 1284,
1730
689, 693, 693, 693, 1284, 693, 693, 693, 693, 693,
1731
693, 693, 693, 693, 693, 693, 693, 693, 693, 693,
1732
693, 693, 717, 717, 717, 1284, 717, 717, 717, 717,
1733
717, 717, 717, 717, 717, 717, 717, 717, 717, 717,
1734
717, 1284, 717, 755, 755, 755, 1284, 755, 755, 755,
1735
755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
1737
755, 755, 1284, 755, 758, 758, 758, 758, 758, 758,
1738
758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
1739
758, 758, 758, 758, 758, 844, 844, 844, 844, 844,
1740
844, 844, 844, 844, 844, 844, 844, 844, 844, 844,
1741
844, 844, 844, 844, 844, 844, 869, 1284, 1284, 1284,
1742
869, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 869,
1743
1284, 1284, 869, 874, 874, 874, 874, 874, 874, 874,
1744
874, 874, 874, 874, 874, 874, 874, 874, 874, 874,
1745
874, 874, 874, 874, 915, 915, 915, 915, 915, 915,
1746
915, 915, 915, 915, 915, 915, 915, 915, 1284, 915,
1748
915, 915, 1284, 915, 915, 924, 924, 924, 924, 924,
1749
924, 924, 924, 924, 924, 924, 924, 924, 924, 1284,
1750
924, 924, 924, 1284, 924, 924, 935, 935, 935, 935,
1751
935, 935, 935, 935, 935, 935, 935, 935, 935, 935,
1752
1284, 935, 935, 935, 1284, 935, 935, 73, 1284, 1284,
1753
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1754
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1755
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1756
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1757
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
1759
1284, 1284, 1284, 1284, 1284, 1284, 1284
1762
static yyconst flex_int16_t yy_chk[6408] =
1764
0, 1, 160, 1, 1, 2, 0, 2, 2, 0,
1765
3, 160, 3, 3, 78, 87, 96, 1, 78, 87,
1766
96, 2, 89, 89, 89, 1, 3, 142, 142, 2,
1767
166, 89, 89, 110, 3, 238, 122, 110, 129, 102,
1768
122, 154, 129, 101, 241, 101, 102, 102, 113, 139,
1769
113, 238, 166, 139, 141, 141, 141, 150, 1, 154,
1770
241, 150, 2, 141, 167, 167, 1207, 3, 4, 4,
1771
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1772
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1773
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1775
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1776
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1777
4, 4, 4, 4, 4, 4, 4, 5, 5, 5,
1778
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1779
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1780
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1781
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1782
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
1783
5, 5, 5, 5, 5, 5, 7, 7, 7, 7,
1784
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1786
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1787
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1788
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1789
7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
1790
7, 7, 7, 7, 7, 9, 170, 9, 9, 165,
1791
9, 189, 189, 1189, 9, 10, 170, 10, 10, 165,
1792
10, 9, 155, 165, 10, 11, 156, 11, 11, 9,
1793
11, 10, 12, 158, 12, 12, 175, 12, 179, 10,
1794
155, 11, 159, 179, 156, 399, 157, 988, 12, 11,
1795
175, 158, 158, 157, 11, 399, 12, 157, 169, 169,
1797
159, 12, 9, 200, 157, 185, 195, 169, 200, 185,
1798
195, 204, 10, 212, 222, 204, 230, 212, 222, 235,
1799
230, 979, 11, 235, 236, 236, 169, 267, 267, 12,
1800
13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1801
13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1802
13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1803
13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1804
13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1805
13, 13, 13, 13, 13, 13, 13, 13, 13, 15,
1806
243, 15, 15, 16, 15, 16, 16, 970, 16, 245,
1808
242, 143, 143, 143, 242, 15, 243, 251, 257, 16,
1809
143, 251, 257, 15, 243, 245, 264, 16, 15, 969,
1810
264, 17, 16, 17, 17, 18, 17, 18, 18, 274,
1811
18, 285, 244, 274, 293, 285, 244, 17, 293, 301,
1812
244, 18, 244, 301, 17, 17, 15, 313, 18, 18,
1813
16, 313, 143, 303, 303, 321, 329, 337, 339, 321,
1814
329, 337, 339, 347, 347, 347, 350, 354, 339, 419,
1815
364, 968, 347, 347, 419, 350, 354, 959, 17, 364,
1816
369, 369, 18, 19, 19, 19, 19, 19, 19, 19,
1817
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
1819
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
1820
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
1821
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
1822
19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
1823
19, 19, 21, 349, 21, 21, 22, 356, 22, 22,
1824
356, 432, 349, 373, 366, 432, 356, 366, 21, 349,
1825
349, 349, 22, 366, 373, 372, 21, 394, 349, 349,
1826
22, 21, 372, 377, 958, 22, 394, 373, 389, 396,
1827
356, 377, 377, 378, 378, 378, 400, 366, 396, 372,
1828
356, 409, 378, 380, 380, 380, 389, 366, 422, 21,
1830
400, 409, 380, 22, 23, 23, 422, 490, 490, 23,
1831
23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
1832
23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
1833
23, 23, 25, 25, 25, 25, 25, 25, 25, 25,
1834
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1835
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1836
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1837
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1838
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1839
25, 27, 27, 27, 27, 27, 27, 27, 27, 27,
1841
27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
1842
27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
1843
27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
1844
27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
1845
27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
1846
29, 957, 29, 29, 30, 30, 30, 30, 956, 31,
1847
30, 31, 31, 404, 404, 32, 29, 32, 32, 33,
1848
30, 33, 33, 955, 29, 31, 423, 428, 30, 954,
1849
404, 32, 428, 31, 34, 33, 34, 34, 423, 32,
1850
383, 383, 383, 33, 37, 391, 37, 37, 457, 383,
1852
34, 536, 391, 415, 944, 417, 37, 29, 34, 392,
1853
37, 30, 38, 391, 38, 38, 31, 415, 37, 417,
1854
392, 457, 32, 459, 38, 536, 33, 392, 38, 497,
1855
465, 43, 465, 43, 43, 468, 38, 497, 383, 459,
1856
468, 34, 35, 505, 35, 35, 457, 43, 506, 506,
1857
498, 37, 505, 560, 35, 43, 43, 539, 35, 507,
1858
43, 44, 498, 44, 44, 603, 35, 35, 507, 38,
1859
603, 35, 560, 47, 943, 47, 47, 44, 407, 407,
1860
45, 539, 45, 45, 538, 44, 44, 407, 43, 47,
1861
44, 48, 45, 48, 48, 538, 45, 47, 35, 35,
1863
36, 534, 36, 36, 45, 546, 407, 48, 538, 534,
1864
534, 541, 36, 546, 546, 48, 36, 556, 44, 547,
1865
547, 547, 552, 553, 36, 36, 554, 581, 547, 36,
1866
47, 556, 580, 552, 599, 541, 655, 45, 624, 624,
1867
552, 553, 580, 581, 554, 559, 559, 559, 48, 942,
1868
599, 673, 673, 673, 655, 941, 36, 36, 39, 39,
1869
39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
1870
39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
1871
39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
1872
39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
1874
39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
1875
39, 39, 39, 39, 39, 39, 39, 41, 631, 41,
1876
41, 631, 615, 46, 642, 46, 46, 631, 661, 41,
1877
615, 615, 573, 41, 648, 46, 548, 548, 548, 46,
1878
940, 41, 41, 939, 661, 548, 41, 46, 626, 626,
1879
626, 647, 55, 573, 55, 55, 660, 55, 648, 647,
1880
647, 938, 642, 628, 628, 628, 660, 626, 55, 61,
1881
548, 61, 61, 41, 41, 42, 55, 42, 42, 573,
1882
46, 55, 628, 641, 703, 61, 641, 42, 651, 713,
1883
937, 42, 641, 61, 691, 936, 651, 651, 61, 42,
1885
42, 626, 691, 691, 42, 652, 652, 652, 706, 55,
1886
682, 682, 758, 934, 652, 682, 628, 706, 930, 682,
1887
682, 758, 703, 923, 682, 922, 61, 713, 682, 682,
1888
921, 42, 42, 49, 49, 49, 49, 49, 49, 49,
1889
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
1890
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
1891
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
1892
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
1893
49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
1894
49, 49, 51, 51, 51, 51, 51, 51, 51, 51,
1896
51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
1897
51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
1898
51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
1899
51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
1900
51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
1901
51, 53, 716, 761, 761, 716, 653, 653, 653, 817,
1902
817, 716, 726, 726, 726, 653, 53, 53, 734, 734,
1903
734, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1904
53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
1905
53, 53, 53, 53, 56, 805, 56, 56, 57, 56,
1907
57, 57, 653, 721, 721, 721, 828, 57, 920, 919,
1908
56, 805, 721, 62, 57, 62, 62, 58, 56, 58,
1909
58, 734, 57, 56, 768, 918, 58, 57, 917, 62,
1910
722, 722, 722, 58, 735, 735, 735, 62, 916, 722,
1911
914, 58, 62, 737, 737, 737, 58, 753, 753, 753,
1912
828, 56, 762, 913, 771, 57, 773, 824, 694, 694,
1913
694, 762, 768, 771, 912, 773, 824, 1304, 694, 823,
1914
62, 1304, 823, 722, 58, 59, 59, 694, 823, 911,
1915
59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
1916
59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
1918
59, 59, 59, 63, 909, 63, 63, 905, 63, 895,
1919
894, 694, 63, 63, 63, 779, 779, 779, 65, 63,
1920
65, 65, 829, 65, 779, 829, 893, 63, 63, 892,
1921
66, 829, 66, 66, 65, 66, 695, 695, 695, 696,
1922
696, 696, 65, 697, 697, 697, 66, 65, 763, 763,
1923
763, 891, 890, 774, 66, 695, 862, 774, 696, 66,
1924
63, 64, 697, 64, 64, 862, 64, 763, 889, 888,
1925
64, 64, 64, 774, 887, 65, 886, 64, 784, 784,
1926
784, 793, 793, 793, 826, 64, 64, 66, 826, 695,
1927
884, 896, 696, 795, 795, 795, 697, 812, 812, 812,
1929
896, 763, 883, 882, 826, 830, 830, 830, 845, 845,
1930
845, 875, 875, 875, 830, 881, 880, 879, 64, 67,
1931
67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
1932
67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
1933
67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
1934
67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
1935
67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
1936
67, 67, 67, 67, 67, 67, 67, 67, 71, 1305,
1937
71, 71, 71, 1305, 878, 1306, 871, 871, 871, 1306,
1938
71, 759, 759, 759, 71, 871, 760, 760, 760, 877,
1940
1320, 759, 71, 71, 1320, 1330, 760, 71, 876, 1330,
1941
759, 764, 764, 764, 874, 760, 873, 1331, 765, 765,
1942
765, 1331, 780, 780, 780, 870, 780, 781, 781, 781,
1943
764, 780, 815, 815, 815, 71, 72, 765, 72, 72,
1944
72, 863, 815, 861, 759, 906, 906, 906, 72, 760,
1945
860, 815, 72, 859, 906, 858, 857, 931, 931, 931,
1946
72, 72, 856, 855, 764, 72, 931, 951, 951, 951,
1947
854, 765, 965, 965, 965, 780, 951, 976, 976, 976,
1948
781, 965, 985, 985, 985, 815, 976, 853, 1332, 852,
1949
851, 985, 1332, 72, 83, 83, 83, 83, 83, 83,
1951
83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
1952
83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
1953
83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
1954
83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
1955
83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
1956
83, 83, 83, 214, 850, 849, 848, 214, 991, 991,
1957
991, 214, 214, 214, 1334, 1340, 214, 991, 1334, 1340,
1958
214, 214, 1341, 1344, 1359, 214, 1341, 1344, 1359, 214,
1959
214, 345, 345, 345, 345, 345, 345, 345, 345, 345,
1960
345, 345, 345, 345, 345, 345, 345, 345, 345, 345,
1962
345, 345, 345, 345, 345, 345, 345, 345, 345, 345,
1963
345, 345, 345, 345, 345, 345, 345, 345, 345, 345,
1964
345, 345, 345, 345, 345, 345, 345, 345, 345, 345,
1965
345, 345, 345, 345, 345, 345, 345, 345, 345, 345,
1966
370, 847, 819, 819, 819, 370, 370, 370, 846, 1369,
1967
370, 1370, 370, 1369, 844, 1370, 843, 370, 370, 370,
1968
374, 819, 820, 820, 820, 374, 374, 374, 842, 1371,
1969
374, 1372, 374, 1371, 841, 1372, 840, 374, 374, 374,
1970
387, 820, 933, 933, 933, 387, 387, 387, 839, 1379,
1971
387, 838, 387, 1379, 837, 819, 836, 387, 387, 387,
1973
393, 393, 821, 821, 821, 393, 393, 393, 835, 1382,
1974
393, 834, 393, 1382, 832, 820, 822, 393, 393, 393,
1975
401, 821, 401, 814, 866, 866, 866, 401, 401, 401,
1976
813, 811, 401, 810, 401, 933, 994, 994, 994, 401,
1977
401, 401, 434, 866, 809, 994, 1404, 434, 434, 434,
1978
1404, 808, 434, 807, 434, 821, 806, 804, 803, 434,
1979
434, 434, 435, 435, 435, 435, 802, 435, 801, 800,
1980
799, 435, 435, 798, 797, 796, 435, 866, 792, 791,
1981
435, 435, 449, 790, 867, 867, 867, 449, 449, 449,
1982
789, 788, 449, 787, 449, 786, 816, 816, 816, 449,
1984
449, 449, 453, 867, 785, 783, 816, 453, 453, 453,
1985
782, 778, 453, 777, 453, 816, 868, 868, 868, 453,
1986
453, 453, 464, 776, 775, 769, 464, 767, 901, 901,
1987
901, 464, 464, 464, 766, 868, 464, 867, 464, 997,
1988
997, 997, 757, 464, 464, 464, 471, 901, 997, 816,
1989
756, 471, 471, 471, 755, 754, 471, 752, 471, 1000,
1990
1000, 1000, 751, 471, 471, 471, 475, 750, 1000, 868,
1991
749, 475, 475, 475, 748, 747, 475, 746, 475, 745,
1992
744, 901, 743, 475, 475, 475, 499, 742, 1003, 1003,
1993
1003, 499, 499, 499, 741, 740, 499, 1003, 499, 739,
1995
738, 736, 733, 499, 499, 499, 632, 632, 632, 632,
1996
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
1997
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
1998
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
1999
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
2000
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
2001
632, 632, 632, 632, 632, 705, 705, 705, 705, 705,
2002
705, 705, 705, 705, 705, 705, 705, 705, 705, 705,
2003
705, 705, 705, 705, 705, 705, 705, 705, 705, 705,
2004
705, 705, 705, 705, 705, 705, 705, 705, 705, 705,
2006
705, 705, 705, 705, 705, 705, 705, 705, 705, 705,
2007
705, 705, 705, 705, 705, 705, 705, 705, 705, 705,
2008
705, 705, 705, 705, 831, 831, 831, 732, 831, 864,
2009
864, 864, 731, 831, 865, 865, 865, 730, 729, 864,
2010
728, 872, 872, 872, 865, 872, 727, 725, 864, 724,
2011
872, 723, 720, 865, 899, 899, 899, 900, 900, 900,
2012
902, 902, 902, 718, 899, 717, 714, 900, 711, 903,
2013
903, 903, 710, 899, 709, 708, 900, 831, 707, 902,
2014
704, 700, 864, 953, 953, 953, 699, 865, 903, 907,
2015
907, 907, 693, 907, 872, 908, 908, 908, 907, 908,
2017
692, 925, 925, 925, 926, 926, 926, 899, 689, 688,
2018
900, 925, 686, 902, 926, 927, 927, 927, 685, 683,
2019
925, 681, 903, 926, 928, 928, 928, 929, 929, 929,
2020
680, 932, 932, 932, 927, 932, 953, 945, 945, 945,
2021
932, 679, 907, 928, 678, 677, 929, 945, 908, 676,
2022
946, 946, 946, 675, 925, 674, 945, 926, 672, 671,
2023
946, 670, 947, 947, 947, 669, 668, 667, 927, 946,
2024
948, 948, 948, 949, 949, 949, 666, 928, 665, 664,
2025
929, 947, 662, 659, 932, 656, 960, 960, 960, 948,
2026
945, 645, 949, 952, 952, 952, 960, 952, 961, 961,
2028
961, 644, 952, 946, 643, 960, 639, 638, 961, 962,
2029
962, 962, 963, 963, 963, 947, 637, 961, 964, 964,
2030
964, 636, 635, 948, 634, 633, 949, 630, 962, 629,
2031
627, 963, 966, 966, 966, 625, 966, 964, 622, 960,
2032
618, 966, 967, 967, 967, 616, 952, 971, 971, 971,
2033
614, 961, 612, 972, 972, 972, 610, 971, 973, 973,
2034
973, 607, 962, 972, 602, 963, 971, 974, 974, 974,
2035
601, 964, 972, 975, 975, 975, 597, 973, 977, 977,
2036
977, 596, 977, 594, 589, 966, 974, 977, 978, 978,
2037
978, 588, 975, 587, 586, 967, 585, 980, 980, 980,
2039
971, 584, 981, 981, 981, 583, 972, 980, 982, 982,
2040
982, 973, 981, 983, 983, 983, 980, 984, 984, 984,
2041
974, 981, 987, 987, 987, 582, 975, 982, 989, 989,
2042
989, 977, 983, 986, 986, 986, 984, 986, 989, 579,
2043
578, 978, 986, 990, 990, 990, 577, 989, 576, 575,
2044
980, 574, 572, 990, 571, 981, 992, 992, 992, 570,
2045
992, 982, 990, 568, 565, 992, 983, 993, 993, 993,
2046
984, 996, 996, 996, 563, 987, 995, 995, 995, 562,
2047
995, 989, 999, 999, 999, 995, 986, 558, 998, 998,
2048
998, 557, 998, 1002, 1002, 1002, 990, 998, 1001, 1001,
2050
1001, 549, 1001, 545, 1004, 1004, 1004, 1001, 1004, 992,
2051
1005, 1005, 1005, 1004, 1006, 1006, 1006, 1007, 1007, 1007,
2052
993, 1007, 544, 1006, 996, 533, 1007, 531, 530, 995,
2053
1008, 1008, 1008, 529, 527, 999, 1009, 1009, 1009, 526,
2054
525, 998, 1011, 1011, 1011, 1009, 1002, 1014, 1014, 1014,
2055
522, 1001, 1010, 1010, 1010, 520, 1010, 1004, 1012, 1012,
2056
1012, 1010, 519, 1005, 1013, 1013, 1013, 1012, 1013, 518,
2057
1007, 517, 516, 1013, 515, 1015, 1015, 1015, 1016, 1016,
2058
1016, 513, 1016, 1008, 1015, 512, 511, 1016, 1017, 1017,
2059
1017, 510, 1018, 1018, 1018, 1011, 1020, 1020, 1020, 509,
2061
1014, 1018, 1019, 1019, 1019, 1010, 1019, 1021, 1021, 1021,
2062
508, 1019, 1023, 1023, 1023, 502, 1021, 1013, 1022, 1022,
2063
1022, 501, 1022, 1024, 1024, 1024, 500, 1022, 1026, 1026,
2064
1026, 1016, 1024, 1025, 1025, 1025, 493, 1025, 1027, 1027,
2065
1027, 1017, 1025, 492, 1028, 1028, 1028, 1027, 1028, 1020,
2066
1029, 1029, 1029, 1028, 491, 1019, 489, 1030, 1030, 1030,
2067
1031, 1031, 1031, 488, 1031, 1023, 1030, 484, 483, 1031,
2068
479, 1022, 1032, 1032, 1032, 1033, 1033, 1033, 1034, 1034,
2069
1034, 1026, 1034, 478, 1033, 474, 1025, 1034, 1035, 1035,
2070
1035, 1036, 1036, 1036, 1038, 1038, 1038, 1028, 473, 470,
2072
1036, 469, 466, 1029, 463, 1037, 1037, 1037, 462, 1037,
2073
1039, 1039, 1039, 1031, 1037, 1041, 1041, 1041, 458, 1039,
2074
1040, 1040, 1040, 456, 1040, 1032, 1042, 1042, 1042, 1040,
2075
455, 1034, 1044, 1044, 1044, 1042, 1043, 1043, 1043, 452,
2076
1043, 1035, 1045, 1045, 1045, 1043, 448, 1038, 1046, 1046,
2077
1046, 1045, 1046, 1047, 1047, 1047, 445, 1046, 1037, 444,
2078
1048, 1048, 1048, 1049, 1049, 1049, 443, 1049, 1041, 1048,
2079
442, 441, 1049, 1040, 1050, 1050, 1050, 1051, 1051, 1051,
2080
1053, 1053, 1053, 440, 439, 1044, 1051, 438, 437, 1043,
2081
1052, 1052, 1052, 436, 1052, 1054, 1054, 1054, 433, 1052,
2083
426, 1046, 421, 420, 1054, 416, 1047, 414, 1055, 1055,
2084
1055, 413, 1055, 1056, 1056, 1056, 1049, 1055, 412, 1057,
2085
1057, 1057, 1058, 1058, 1058, 411, 1058, 1050, 1057, 410,
2086
408, 1058, 403, 1053, 1059, 1059, 1059, 1060, 1060, 1060,
2087
1061, 1061, 1061, 1052, 1061, 397, 1060, 386, 385, 1061,
2088
1062, 1062, 1062, 1063, 1063, 1063, 1064, 1064, 1064, 382,
2089
1064, 1055, 1063, 376, 368, 1064, 1056, 1065, 1065, 1065,
2090
1066, 1066, 1066, 365, 362, 1058, 1067, 1067, 1067, 1066,
2091
1067, 1068, 1068, 1068, 361, 1067, 360, 1059, 1069, 1069,
2092
1069, 359, 358, 1061, 1071, 1071, 1071, 1069, 1070, 1070,
2094
1070, 357, 1070, 1062, 1072, 1072, 1072, 1070, 355, 1064,
2095
1073, 1073, 1073, 1072, 1073, 1074, 1074, 1074, 353, 1073,
2096
1065, 1075, 1075, 1075, 1076, 1076, 1076, 352, 1076, 1067,
2097
1075, 342, 341, 1076, 1068, 1077, 1077, 1077, 338, 1078,
2098
1078, 1078, 1080, 1080, 1080, 330, 322, 1071, 1078, 314,
2099
310, 1070, 1079, 1079, 1079, 302, 1079, 1081, 1081, 1081,
2100
294, 1079, 286, 1073, 277, 275, 1081, 268, 1074, 1082,
2101
1082, 1082, 265, 1082, 1083, 1083, 1083, 1076, 1082, 258,
2102
1084, 1084, 1084, 1085, 1085, 1085, 252, 1085, 1077, 1084,
2103
250, 237, 1085, 234, 231, 1080, 1086, 1086, 1086, 1087,
2105
1087, 1087, 1088, 1088, 1088, 1079, 1088, 229, 1087, 223,
2106
221, 1088, 1089, 1089, 1089, 1090, 1090, 1090, 215, 1091,
2107
1091, 1091, 1082, 1091, 1090, 213, 211, 1083, 1091, 1092,
2108
1092, 1092, 1093, 1093, 1093, 205, 1085, 196, 1094, 1094,
2109
1094, 1093, 1094, 1095, 1095, 1095, 186, 1094, 183, 1086,
2110
1096, 1096, 1096, 176, 174, 1088, 1098, 1098, 1098, 1096,
2111
1097, 1097, 1097, 173, 1097, 1089, 1099, 1099, 1099, 1097,
2112
172, 171, 1091, 168, 164, 1099, 1100, 1100, 1100, 162,
2113
1100, 161, 1092, 151, 140, 1100, 1101, 1101, 1101, 138,
2114
130, 1094, 1102, 1102, 1102, 123, 1095, 121, 1103, 1103,
2116
1103, 1102, 1103, 1104, 1104, 1104, 114, 1103, 111, 1098,
2117
1105, 1105, 1105, 1097, 1106, 1106, 1106, 104, 1106, 1105,
2118
1107, 1107, 1107, 1106, 1108, 1108, 1108, 103, 100, 1100,
2119
1110, 1110, 1110, 1108, 1109, 1109, 1109, 99, 1109, 1101,
2120
1111, 1111, 1111, 1109, 1112, 1112, 1112, 97, 1112, 1111,
2121
88, 1103, 79, 1112, 73, 0, 1104, 1113, 1113, 1113,
2122
1114, 1114, 1114, 1116, 1116, 1116, 0, 1106, 0, 1114,
2123
1115, 1115, 1115, 1107, 1115, 1117, 1117, 1117, 0, 1115,
2124
1119, 1119, 1119, 1110, 1117, 0, 0, 1109, 0, 1118,
2125
1118, 1118, 0, 1118, 1120, 1120, 1120, 1112, 1118, 0,
2127
1121, 1121, 1121, 1120, 1121, 1122, 1122, 1122, 0, 1121,
2128
1113, 1123, 1123, 1123, 0, 0, 1116, 1124, 1124, 1124,
2129
1123, 1124, 0, 1115, 0, 0, 1124, 1125, 1125, 1125,
2130
1126, 1126, 1126, 1119, 1127, 1127, 1127, 0, 1127, 1126,
2131
0, 0, 1118, 1127, 1128, 1128, 1128, 1129, 1129, 1129,
2132
1130, 1130, 1130, 1121, 1130, 0, 1129, 0, 1122, 1130,
2133
1131, 1131, 1131, 1132, 1132, 1132, 0, 1133, 1133, 1133,
2134
1124, 1133, 1132, 1134, 1134, 1134, 1133, 1135, 1135, 1135,
2135
1125, 1136, 1136, 1136, 0, 1136, 1135, 1127, 0, 0,
2136
1136, 1137, 1137, 1137, 1140, 1140, 1140, 1128, 1138, 1138,
2138
1138, 0, 0, 1130, 1143, 1143, 1143, 1138, 1139, 1139,
2139
1139, 0, 1139, 1131, 1141, 1141, 1141, 1139, 0, 0,
2140
1133, 0, 0, 1141, 0, 0, 1134, 1142, 1142, 1142,
2141
0, 1142, 0, 0, 1136, 0, 1142, 1144, 1144, 1144,
2142
0, 1145, 1145, 1145, 1137, 1145, 1144, 1140, 0, 0,
2143
1145, 1146, 1146, 1146, 1147, 1147, 1147, 1143, 1148, 1148,
2144
1148, 1139, 1148, 1147, 1149, 1149, 1149, 1148, 1150, 1150,
2145
1150, 0, 1151, 1151, 1151, 0, 1151, 1150, 0, 0,
2146
1142, 1151, 1152, 1152, 1152, 0, 1153, 1153, 1153, 1154,
2147
1154, 1154, 0, 1154, 1145, 1153, 0, 0, 1154, 1155,
2149
1155, 1155, 0, 0, 1146, 1156, 1156, 1156, 1158, 1158,
2150
1158, 1148, 0, 0, 1156, 0, 0, 1149, 1157, 1157,
2151
1157, 0, 1157, 0, 0, 1151, 0, 1157, 1159, 1159,
2152
1159, 0, 1160, 1160, 1160, 1152, 1160, 1159, 1161, 1161,
2153
1161, 1160, 1154, 0, 1162, 1162, 1162, 1163, 1163, 1163,
2154
0, 1163, 1155, 1162, 0, 0, 1163, 1164, 1164, 1164,
2155
0, 1158, 0, 1165, 1165, 1165, 1166, 1166, 1166, 0,
2156
1166, 1157, 1165, 0, 0, 1166, 1167, 1167, 1167, 1168,
2157
1168, 1168, 1170, 1170, 1170, 1160, 0, 0, 1168, 0,
2158
0, 1161, 1169, 1169, 1169, 0, 1169, 1171, 1171, 1171,
2160
1163, 1169, 0, 1172, 1172, 1172, 1171, 1172, 0, 0,
2161
1164, 0, 1172, 1173, 1173, 1173, 1174, 1174, 1174, 1166,
2162
0, 0, 1175, 1175, 1175, 1174, 1175, 0, 0, 1167,
2163
0, 1175, 1176, 1176, 1176, 1170, 0, 1177, 1177, 1177,
2164
1178, 1178, 1178, 0, 1178, 1169, 1177, 0, 0, 1178,
2165
1179, 1179, 1179, 1180, 1180, 1180, 1172, 0, 0, 1181,
2166
1181, 1181, 1180, 1181, 0, 0, 1173, 0, 1181, 1182,
2167
1182, 1182, 1183, 1183, 1183, 1175, 0, 0, 1184, 1184,
2168
1184, 1183, 1184, 0, 0, 1176, 0, 1184, 1185, 1185,
2169
1185, 0, 0, 1178, 0, 1186, 1186, 1186, 1187, 1187,
2171
1187, 0, 1187, 1179, 1186, 0, 0, 1187, 1188, 1188,
2172
1188, 0, 1181, 0, 1190, 1190, 1190, 0, 1190, 1191,
2173
1191, 1191, 1182, 1190, 1192, 1192, 1192, 0, 1192, 0,
2174
0, 1184, 0, 1192, 1193, 1193, 1193, 0, 1194, 1194,
2175
1194, 1185, 1194, 1195, 1195, 1195, 0, 1194, 1196, 1196,
2176
1196, 1187, 1196, 1197, 1197, 1197, 0, 1196, 1199, 1199,
2177
1199, 1188, 1198, 1198, 1198, 0, 1198, 1190, 1201, 1201,
2178
1201, 1198, 1191, 0, 1200, 1200, 1200, 1192, 1200, 1202,
2179
1202, 1202, 0, 1200, 1203, 1203, 1203, 1193, 1204, 1204,
2180
1204, 1194, 1205, 1205, 1205, 0, 1195, 1206, 1206, 1206,
2182
0, 1196, 1208, 1208, 1208, 0, 1197, 1209, 1209, 1209,
2183
0, 1199, 1210, 1210, 1210, 1198, 1211, 1211, 1211, 0,
2184
0, 1201, 1212, 1212, 1212, 0, 0, 1200, 1213, 1213,
2185
1213, 0, 1202, 1214, 1214, 1214, 0, 1203, 1215, 1215,
2186
1215, 1204, 1216, 1216, 1216, 1205, 1217, 1217, 1217, 0,
2187
1206, 1218, 1218, 1218, 0, 1208, 1219, 1219, 1219, 0,
2188
1209, 1220, 1220, 1220, 0, 1210, 1221, 1221, 1221, 1211,
2189
1222, 1222, 1222, 0, 0, 1212, 1223, 1223, 1223, 0,
2190
0, 1213, 1224, 1224, 1224, 0, 1214, 1225, 1225, 1225,
2191
0, 1215, 1226, 1226, 1226, 1216, 1227, 1227, 1227, 1217,
2193
1228, 1228, 1228, 0, 1218, 1229, 1229, 1229, 0, 1219,
2194
1230, 1230, 1230, 0, 1220, 1231, 1231, 1231, 0, 1221,
2195
1232, 1232, 1232, 1222, 1233, 1233, 1233, 0, 0, 1223,
2196
1234, 1234, 1234, 0, 0, 1224, 1235, 1235, 1235, 0,
2197
1225, 1236, 1236, 1236, 0, 1226, 1237, 1237, 1237, 1227,
2198
1238, 1238, 1238, 1228, 1239, 1239, 1239, 0, 1229, 1240,
2199
1240, 1240, 0, 1230, 1241, 1241, 1241, 0, 1231, 1242,
2200
1242, 1242, 0, 1232, 1243, 1243, 1243, 1233, 1244, 1244,
2201
1244, 0, 0, 1234, 1245, 1245, 1245, 0, 0, 1235,
2202
1246, 1246, 1246, 0, 1236, 1247, 1247, 1247, 0, 1237,
2204
1248, 1248, 1248, 1238, 1249, 1249, 1249, 1239, 1250, 1250,
2205
1250, 0, 1240, 1251, 1251, 1251, 0, 1241, 1252, 1252,
2206
1252, 0, 1242, 1253, 1253, 1253, 0, 1243, 1254, 1254,
2207
1254, 1244, 1255, 1255, 1255, 0, 0, 1245, 1256, 1256,
2208
1256, 0, 0, 1246, 1257, 1257, 1257, 0, 1247, 1258,
2209
1258, 1258, 0, 1248, 1259, 1259, 1259, 1249, 1260, 1260,
2210
1260, 1250, 1261, 1261, 1261, 0, 1251, 1262, 1262, 1262,
2211
0, 1252, 1263, 1263, 1263, 0, 1253, 1264, 1264, 1264,
2212
0, 1254, 1265, 1265, 1265, 1255, 1266, 1266, 1266, 0,
2213
0, 1256, 1267, 1267, 1267, 0, 0, 1257, 1268, 1268,
2215
1268, 0, 1258, 1269, 1269, 1269, 0, 1259, 1270, 1270,
2216
1270, 1260, 1271, 1271, 1271, 1261, 1272, 1272, 1272, 0,
2217
1262, 1273, 1273, 1273, 0, 1263, 1274, 1274, 1274, 0,
2218
1264, 1275, 1275, 1275, 0, 1265, 1276, 1276, 1276, 1266,
2219
1277, 1277, 1277, 0, 0, 1267, 1278, 1278, 1278, 0,
2220
0, 1268, 1279, 1279, 1279, 0, 1269, 1280, 1280, 1280,
2221
0, 1270, 1281, 1281, 1281, 1271, 1282, 1282, 1282, 1272,
2222
1283, 1283, 1283, 0, 1273, 0, 0, 0, 0, 1274,
2223
0, 0, 0, 0, 1275, 0, 0, 0, 0, 1276,
2224
0, 0, 0, 1277, 0, 0, 0, 0, 0, 1278,
2226
0, 0, 0, 0, 0, 1279, 0, 0, 0, 0,
2227
1280, 0, 0, 0, 0, 1281, 0, 0, 0, 1282,
2228
0, 0, 0, 1283, 1285, 1285, 1285, 1285, 1285, 1285,
2229
1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285, 1285,
2230
1285, 1285, 1285, 1285, 1285, 1286, 1286, 1286, 1286, 1286,
2231
1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286, 1286,
2232
1286, 1286, 1286, 1286, 1286, 1286, 1287, 1287, 1287, 1287,
2233
1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287,
2234
1287, 1287, 1287, 1287, 1287, 1287, 1287, 1288, 1288, 1288,
2235
1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288,
2237
1288, 1288, 1288, 1288, 1288, 1288, 1288, 1288, 1289, 1289,
2238
1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289,
2239
1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1289, 1290,
2240
1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290,
2241
1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290, 1290,
2242
1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291,
2243
1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291, 1291,
2244
1291, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292,
2245
1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292, 1292,
2246
1292, 1292, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293,
2248
1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293,
2249
1293, 1293, 1293, 1294, 1294, 1294, 1294, 1294, 1294, 1294,
2250
1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294,
2251
1294, 1294, 1294, 1294, 1295, 1295, 1295, 1295, 1295, 1295,
2252
1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295, 1295,
2253
1295, 1295, 1295, 1295, 1295, 1296, 1296, 1296, 1296, 1296,
2254
1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296, 1296,
2255
1296, 1296, 1296, 1296, 1296, 1296, 1297, 1297, 1297, 1297,
2256
1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297, 1297,
2257
1297, 1297, 1297, 1297, 1297, 1297, 1297, 1298, 1298, 1298,
2259
1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298,
2260
1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1299, 1299,
2261
1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299,
2262
1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1299, 1300,
2263
1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
2264
1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300,
2265
1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301,
2266
1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301,
2267
1301, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
2268
1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302,
2270
1302, 1302, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303,
2271
1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303,
2272
1303, 1303, 1303, 1307, 1307, 1307, 0, 1307, 1307, 0,
2273
1307, 0, 1307, 1307, 1307, 1307, 0, 1307, 1307, 1307,
2274
1307, 1307, 1307, 1307, 1308, 1308, 1308, 0, 1308, 1308,
2275
1308, 1308, 0, 1308, 1308, 1308, 1308, 1308, 1308, 1308,
2276
1308, 1308, 1308, 1308, 1308, 1309, 1309, 1309, 0, 1309,
2277
1309, 0, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309,
2278
1309, 1309, 1309, 1309, 0, 1309, 1310, 1310, 1310, 0,
2279
1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310,
2281
1310, 1310, 1310, 1310, 1310, 1310, 1310, 1311, 1311, 1311,
2282
0, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311,
2283
1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1312, 1312,
2284
1312, 0, 0, 0, 0, 1312, 0, 0, 0, 0,
2285
1312, 0, 0, 0, 1312, 1313, 1313, 1313, 0, 0,
2286
1313, 0, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313,
2287
1313, 1313, 1313, 1313, 0, 1313, 1314, 1314, 1314, 0,
2288
1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314,
2289
1314, 1314, 1314, 1314, 1314, 1314, 1314, 1315, 1315, 1315,
2290
0, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315,
2292
1315, 1315, 1315, 1315, 1315, 1315, 1315, 1315, 1316, 0,
2293
0, 0, 0, 0, 0, 1316, 0, 0, 0, 0,
2294
1316, 0, 0, 0, 1316, 1317, 1317, 1317, 1317, 1317,
2295
1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317, 1317,
2296
1317, 1317, 1317, 1317, 0, 1317, 1318, 1318, 0, 0,
2297
0, 0, 0, 1318, 0, 0, 0, 0, 1318, 0,
2298
0, 0, 1318, 1318, 1319, 0, 0, 0, 0, 0,
2299
0, 0, 0, 0, 1319, 0, 1319, 0, 0, 0,
2300
1319, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
2301
1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321, 1321,
2303
1321, 1321, 1322, 0, 1322, 0, 1322, 1322, 1322, 1322,
2304
1322, 1322, 1322, 0, 1322, 0, 1322, 1322, 1322, 0,
2305
1322, 1323, 1323, 1323, 0, 1323, 1323, 1323, 1323, 1323,
2306
1323, 1323, 0, 1323, 1323, 1323, 1323, 1323, 1323, 1323,
2307
1323, 1323, 1324, 1324, 1324, 0, 1324, 1324, 1324, 1324,
2308
1324, 1324, 1324, 0, 1324, 1324, 1324, 1324, 1324, 1324,
2309
0, 1324, 1324, 1325, 1325, 1325, 0, 1325, 1325, 1325,
2310
1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325,
2311
0, 1325, 0, 1325, 1326, 1326, 1326, 0, 1326, 1326,
2312
1326, 1326, 1326, 1326, 1326, 1326, 1326, 0, 1326, 1326,
2314
1326, 0, 1326, 0, 1326, 1327, 0, 1327, 0, 1327,
2315
1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327,
2316
1327, 1327, 0, 1327, 0, 1327, 1328, 0, 1328, 0,
2317
1328, 1328, 1328, 1328, 1328, 1328, 1328, 0, 1328, 1328,
2318
1328, 1328, 1328, 1328, 1328, 1328, 1328, 1329, 0, 1329,
2319
0, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329,
2320
1329, 1329, 1329, 1329, 1329, 1329, 1329, 1329, 1333, 1333,
2321
1333, 0, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333,
2322
1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1335,
2323
1335, 1335, 0, 1335, 1335, 1335, 1335, 0, 1335, 1335,
2325
1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335,
2326
1336, 1336, 1336, 0, 1336, 1336, 1336, 1336, 1336, 1336,
2327
1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336,
2328
1336, 1337, 0, 0, 1337, 0, 1337, 0, 1337, 1337,
2329
0, 1337, 0, 1337, 0, 0, 0, 1337, 1338, 1338,
2330
1338, 0, 1338, 0, 1338, 1338, 1338, 1338, 1338, 0,
2331
1338, 0, 1338, 1338, 1338, 0, 1338, 0, 1338, 1339,
2332
0, 0, 1339, 1339, 1339, 0, 0, 1339, 0, 1339,
2333
1339, 1342, 1342, 1342, 0, 1342, 1342, 1342, 1342, 1342,
2334
1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342, 1342,
2336
1342, 1342, 1343, 1343, 1343, 0, 1343, 1343, 1343, 1343,
2337
1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343,
2338
1343, 1343, 1343, 1345, 1345, 1345, 0, 1345, 1345, 0,
2339
1345, 0, 1345, 1345, 1345, 1345, 0, 1345, 1345, 1345,
2340
1345, 1345, 1345, 1345, 1346, 1346, 1346, 0, 1346, 1346,
2341
1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346,
2342
1346, 1346, 1346, 0, 1346, 1347, 1347, 1347, 0, 1347,
2343
1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347,
2344
1347, 1347, 1347, 1347, 1347, 1347, 1348, 1348, 1348, 0,
2345
1348, 1348, 0, 1348, 1348, 1348, 1348, 1348, 1348, 1348,
2347
1348, 1348, 1348, 1348, 1348, 0, 1348, 1349, 1349, 1349,
2348
0, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
2349
1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1350, 1350,
2350
1350, 0, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350,
2351
1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1351,
2352
1351, 1351, 0, 1351, 1351, 1351, 1351, 1351, 1351, 1351,
2353
1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351, 1351,
2354
1352, 1352, 1352, 0, 0, 0, 0, 1352, 0, 0,
2355
0, 0, 1352, 0, 0, 0, 1352, 1353, 1353, 1353,
2356
0, 0, 1353, 0, 1353, 1353, 1353, 1353, 1353, 1353,
2358
1353, 1353, 1353, 1353, 1353, 1353, 0, 1353, 1354, 1354,
2359
1354, 0, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354,
2360
1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1355,
2361
0, 0, 0, 0, 0, 0, 1355, 0, 0, 0,
2362
0, 1355, 0, 0, 0, 1355, 1356, 1356, 1356, 1356,
2363
1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356, 1356,
2364
1356, 1356, 1356, 1356, 1356, 0, 1356, 1357, 1357, 0,
2365
0, 0, 0, 0, 1357, 0, 0, 0, 0, 1357,
2366
0, 0, 0, 1357, 1357, 1358, 0, 0, 0, 0,
2367
0, 0, 0, 0, 0, 1358, 0, 1358, 0, 0,
2369
0, 1358, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
2370
1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360,
2371
1360, 1360, 1360, 1361, 0, 1361, 0, 1361, 1361, 1361,
2372
1361, 1361, 1361, 1361, 0, 1361, 0, 1361, 1361, 1361,
2373
0, 1361, 1362, 1362, 1362, 0, 1362, 1362, 1362, 1362,
2374
1362, 1362, 1362, 0, 1362, 1362, 1362, 1362, 1362, 1362,
2375
1362, 1362, 1362, 1363, 1363, 1363, 0, 1363, 1363, 1363,
2376
1363, 1363, 1363, 1363, 0, 1363, 1363, 1363, 1363, 1363,
2377
1363, 0, 1363, 1363, 1364, 1364, 1364, 0, 1364, 1364,
2378
1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364,
2380
1364, 0, 1364, 0, 1364, 1365, 1365, 1365, 0, 1365,
2381
1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 0, 1365,
2382
1365, 1365, 0, 1365, 0, 1365, 1366, 0, 1366, 0,
2383
1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366,
2384
1366, 1366, 1366, 0, 1366, 0, 1366, 1367, 0, 1367,
2385
0, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 0, 1367,
2386
1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1368, 0,
2387
1368, 0, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368,
2388
1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1368, 1373,
2389
1373, 1373, 0, 1373, 1373, 1373, 1373, 1373, 1373, 1373,
2391
1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 0, 1373,
2392
1374, 1374, 1374, 0, 1374, 1374, 1374, 1374, 1374, 1374,
2393
1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
2394
1374, 1375, 0, 0, 1375, 0, 1375, 0, 1375, 1375,
2395
0, 1375, 0, 1375, 0, 0, 0, 1375, 1376, 1376,
2396
1376, 0, 1376, 0, 1376, 1376, 1376, 1376, 1376, 0,
2397
1376, 0, 1376, 1376, 1376, 0, 1376, 0, 1376, 1377,
2398
1377, 1377, 0, 1377, 1377, 1377, 1377, 1377, 1377, 1377,
2399
1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377,
2400
1378, 1378, 1378, 0, 1378, 1378, 1378, 1378, 1378, 1378,
2402
1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378, 1378,
2403
1378, 1380, 1380, 1380, 0, 1380, 1380, 1380, 1380, 1380,
2404
1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380,
2405
1380, 1380, 1381, 1381, 1381, 0, 1381, 1381, 1381, 1381,
2406
1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381,
2407
1381, 1381, 1381, 1383, 1383, 1383, 0, 1383, 1383, 1383,
2408
1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383,
2409
1383, 1383, 0, 1383, 1384, 1384, 1384, 0, 1384, 1384,
2410
0, 1384, 0, 1384, 1384, 1384, 1384, 0, 1384, 1384,
2411
1384, 1384, 1384, 1384, 1384, 1385, 1385, 1385, 0, 1385,
2413
1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385, 1385,
2414
1385, 1385, 1385, 1385, 1385, 1385, 1386, 1386, 1386, 0,
2415
1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386,
2416
1386, 1386, 1386, 1386, 1386, 1386, 1386, 1387, 1387, 1387,
2417
0, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387,
2418
1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1388, 1388,
2419
1388, 0, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388,
2420
1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1389,
2421
1389, 1389, 0, 1389, 1389, 0, 1389, 1389, 1389, 1389,
2422
1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 0, 1389,
2424
1390, 1390, 1390, 0, 0, 0, 0, 1390, 0, 0,
2425
0, 0, 1390, 0, 0, 0, 1390, 1391, 1391, 1391,
2426
0, 0, 1391, 0, 1391, 1391, 1391, 1391, 1391, 1391,
2427
1391, 1391, 1391, 1391, 1391, 1391, 0, 1391, 1392, 1392,
2428
1392, 0, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392,
2429
1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1392, 1393,
2430
1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393,
2431
1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 0, 1393,
2432
1394, 0, 1394, 0, 1394, 1394, 1394, 1394, 1394, 1394,
2433
1394, 0, 1394, 0, 1394, 1394, 1394, 0, 1394, 1395,
2435
1395, 1395, 0, 1395, 1395, 1395, 1395, 1395, 1395, 1395,
2436
0, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395,
2437
1396, 1396, 1396, 0, 1396, 1396, 1396, 1396, 1396, 1396,
2438
1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 0,
2439
1396, 1397, 1397, 1397, 0, 1397, 1397, 1397, 1397, 1397,
2440
1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397,
2441
1397, 1397, 1398, 1398, 1398, 0, 1398, 1398, 1398, 1398,
2442
1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398,
2443
1398, 0, 1398, 1399, 1399, 1399, 0, 1399, 1399, 1399,
2444
1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399,
2446
1399, 1399, 0, 1399, 1400, 1400, 1400, 1400, 1400, 1400,
2447
1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400,
2448
1400, 1400, 1400, 1400, 1400, 1401, 1401, 1401, 1401, 1401,
2449
1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401,
2450
1401, 1401, 1401, 1401, 1401, 1401, 1402, 0, 0, 0,
2451
1402, 0, 0, 0, 0, 0, 0, 0, 0, 1402,
2452
0, 0, 1402, 1403, 1403, 1403, 1403, 1403, 1403, 1403,
2453
1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403,
2454
1403, 1403, 1403, 1403, 1405, 1405, 1405, 1405, 1405, 1405,
2455
1405, 1405, 1405, 1405, 1405, 1405, 1405, 1405, 0, 1405,
2457
1405, 1405, 0, 1405, 1405, 1406, 1406, 1406, 1406, 1406,
2458
1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 0,
2459
1406, 1406, 1406, 0, 1406, 1406, 1407, 1407, 1407, 1407,
2460
1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407,
2461
0, 1407, 1407, 1407, 0, 1407, 1407, 1284, 1284, 1284,
2462
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
2463
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
2464
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
2465
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
2466
1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284, 1284,
2468
1284, 1284, 1284, 1284, 1284, 1284, 1284
2471
extern int preYY_flex_debug;
2472
int preYY_flex_debug = 0;
2474
static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
2475
static char *yy_full_match;
2477
static int yy_looking_for_trail_begin = 0;
2478
static int yy_full_lp;
2479
static int *yy_full_state;
2480
#define YY_TRAILING_MASK 0x2000
2481
#define YY_TRAILING_HEAD_MASK 0x4000
2484
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */ \
2485
yy_cp = (yy_full_match); /* restore poss. backed-over text */ \
2486
(yy_lp) = (yy_full_lp); /* restore orig. accepting pos. */ \
2487
(yy_state_ptr) = (yy_full_state); /* restore orig. state */ \
2488
yy_current_state = *(yy_state_ptr); /* restore curr. state */ \
2493
#define yymore() yymore_used_but_not_detected
2494
#define YY_MORE_ADJ 0
2495
#define YY_RESTORE_YY_MORE_OFFSET
2498
/******************************************************************************
2502
* Copyright (C) 1997-2013 by Dimitri van Heesch.
2504
* Permission to use, copy, modify, and distribute this software and its
2505
* documentation under the terms of the GNU General Public License is hereby
2506
* granted. No representations are made about the suitability of this software
2507
* for any purpose. It is provided "as is" without express or implied warranty.
2508
* See the GNU General Public License for more details.
2510
* Documents produced by Doxygen are derivative works derived from the
2511
* input used in their production; they are not affected by this license.
2528
#include <qstrlist.h>
2530
#include <qregexp.h>
2531
#include <qfileinfo.h>
2535
#include "constexp.h"
2537
#include "doxygen.h"
2538
#include "message.h"
2540
#include "defargs.h"
2543
#include "portable.h"
2545
#include "arguments.h"
2547
#include "condparser.h"
2549
#include "filedef.h"
2550
#include "memberdef.h"
2551
#include "membername.h"
2553
// Toggle for some debugging info
2554
//#define DBG_CTX(x) fprintf x
2555
#define DBG_CTX(x) do { } while(0)
2557
#define YY_NEVER_INTERACTIVE 1
2561
CondCtx(int line,QCString id,bool b)
2562
: lineNr(line),sectionId(id), skip(b) {}
2570
FileState(int size) : fileBuf(size),
2571
oldFileBuf(0), oldFileBufPos(0) {}
2576
YY_BUFFER_STATE bufState;
2580
/** @brief Singleton that manages the defines available while
2581
* proprocessing files.
2585
/** Local class used to hold the defines for a single file */
2586
class DefinesPerFile
2589
/** Creates an empty container for defines */
2590
DefinesPerFile() : m_defines(257), m_includedFiles(17)
2592
m_defines.setAutoDelete(TRUE);
2594
/** Destroys the object */
2595
virtual ~DefinesPerFile()
2598
/** Adds a define in the context of a file. Will replace
2599
* an existing define with the same name (redefinition)
2600
* @param def The Define object to add.
2602
void addDefine(Define *def)
2604
Define *d = m_defines.find(def->name);
2605
if (d!=0) // redefine
2607
m_defines.remove(d->name);
2609
m_defines.insert(def->name,def);
2611
/** Adds an include file for this file
2612
* @param fileName The name of the include file
2614
void addInclude(const char *fileName)
2616
m_includedFiles.insert(fileName,(void*)0x8);
2618
void collectDefines(DefineDict *dict,QDict<void> &includeStack);
2620
DefineDict m_defines;
2621
QDict<void> m_includedFiles;
2625
friend class DefinesPerFile;
2626
/** Returns a reference to the singleton */
2627
static DefineManager &instance()
2629
if (theInstance==0) theInstance = new DefineManager;
2630
return *theInstance;
2632
/** Deletes the singleton */
2633
static void deleteInstance()
2638
/** Starts a context in which defines are collected.
2639
* Called at the start of a new file that is preprocessed.
2640
* @param fileName the name of the file to process.
2642
void startContext(const char *fileName)
2644
//printf("DefineManager::startContext()\n");
2645
m_contextDefines.clear();
2646
if (fileName==0) return;
2647
DefinesPerFile *dpf = m_fileMap.find(fileName);
2650
//printf("New file!\n");
2651
dpf = new DefinesPerFile;
2652
m_fileMap.insert(fileName,dpf);
2655
/** Ends the context started with startContext() freeing any
2656
* defines collected within in this context.
2660
//printf("DefineManager::endContext()\n");
2661
m_contextDefines.clear();
2663
/** Add an included file to the current context.
2664
* If the file has been pre-processed already, all defines are added
2666
* @param fileName The name of the include file to add to the context.
2668
void addFileToContext(const char *fileName)
2670
if (fileName==0) return;
2671
//printf("DefineManager::addFileToContext(%s)\n",fileName);
2672
DefinesPerFile *dpf = m_fileMap.find(fileName);
2675
//printf("New file!\n");
2676
dpf = new DefinesPerFile;
2677
m_fileMap.insert(fileName,dpf);
2681
//printf("existing file!\n");
2682
QDict<void> includeStack(17);
2683
dpf->collectDefines(&m_contextDefines,includeStack);
2687
/** Add a define to the manager object.
2688
* @param fileName The file in which the define was found
2689
* @param def The Define object to add.
2691
void addDefine(const char *fileName,Define *def)
2693
if (fileName==0) return;
2694
//printf("DefineManager::addDefine(%s,%s)\n",fileName,def->name.data());
2695
Define *d = m_contextDefines.find(def->name);
2696
if (d!=0) // redefine
2698
m_contextDefines.remove(d->name);
2700
m_contextDefines.insert(def->name,def);
2702
DefinesPerFile *dpf = m_fileMap.find(fileName);
2705
dpf = new DefinesPerFile;
2707
dpf->addDefine(def);
2710
/** Add an include relation to the manager object.
2711
* @param fromFileName file name in which the include was found.
2712
* @param toFileName file name that is included.
2714
void addInclude(const char *fromFileName,const char *toFileName)
2716
//printf("DefineManager::addInclude(%s,%s)\n",fromFileName,toFileName);
2717
if (fromFileName==0 || toFileName==0) return;
2718
DefinesPerFile *dpf = m_fileMap.find(fromFileName);
2721
dpf = new DefinesPerFile;
2723
dpf->addInclude(toFileName);
2725
/** Returns a Define object given its name or 0 if the Define does
2728
Define *isDefined(const char *name) const
2730
Define *d = m_contextDefines.find(name);
2731
if (d && d->undef) d=0;
2732
//printf("isDefined(%s)=%p\n",name,d);
2735
/** Returns a reference to the defines found in the current context. */
2736
const DefineDict &defineContext() const
2738
return m_contextDefines;
2741
static DefineManager *theInstance;
2743
/** Helper function to collect all define for a given file */
2744
void collectDefinesForFile(const char *fileName,DefineDict *dict)
2746
if (fileName==0) return;
2747
DefinesPerFile *dpf = m_fileMap.find(fileName);
2750
QDict<void> includeStack(17);
2751
dpf->collectDefines(dict,includeStack);
2755
/** Helper function to return the DefinesPerFile object for a given file name. */
2756
DefinesPerFile *find(const char *fileName) const
2758
if (fileName==0) return 0;
2759
return m_fileMap.find(fileName);
2762
/** Creates a new DefineManager object */
2763
DefineManager() : m_fileMap(1009), m_contextDefines(1009)
2765
m_fileMap.setAutoDelete(TRUE);
2768
/** Destroys the object */
2769
virtual ~DefineManager()
2773
QDict<DefinesPerFile> m_fileMap;
2774
DefineDict m_contextDefines;
2777
/** Singleton instance */
2778
DefineManager *DefineManager::theInstance = 0;
2780
/** Collects all defines for a file and all files that the file includes.
2781
* This function will recursively call itself for each file.
2782
* @param dict The dictionary to fill with the defines. A redefine will
2783
* replace a previous definition.
2784
* @param includeStack The stack of includes, used to stop recursion in
2785
* case there is a cyclic include dependency.
2787
void DefineManager::DefinesPerFile::collectDefines(
2788
DefineDict *dict,QDict<void> &includeStack)
2790
//printf("DefinesPerFile::collectDefines #defines=%d\n",m_defines.count());
2792
QDictIterator<void> di(m_includedFiles);
2793
for (di.toFirst();(di.current());++di)
2795
QCString incFile = di.currentKey();
2796
DefinesPerFile *dpf = DefineManager::instance().find(incFile);
2797
if (dpf && includeStack.find(incFile)==0)
2799
//printf(" processing include %s\n",incFile.data());
2800
includeStack.insert(incFile,(void*)0x8);
2801
dpf->collectDefines(dict,includeStack);
2806
QDictIterator<Define> di(m_defines);
2808
for (di.toFirst();(def=di.current());++di)
2810
Define *d = dict->find(def->name);
2811
if (d!=0) // redefine
2813
dict->remove(d->name);
2815
dict->insert(def->name,def);
2816
//printf(" adding define %s\n",def->name.data());
2821
/* -----------------------------------------------------------------
2826
static int g_yyLineNr = 1;
2827
static int g_yyMLines = 1;
2828
static int g_yyColNr = 1;
2829
static QCString g_yyFileName;
2830
static FileDef *g_yyFileDef;
2831
static FileDef *g_inputFileDef;
2832
static int g_ifcount = 0;
2833
static QStrList *g_pathList = 0;
2834
static QStack<FileState> g_includeStack;
2835
static QDict<int> *g_argDict;
2836
static int g_defArgs = -1;
2837
static QCString g_defName;
2838
static QCString g_defText;
2839
static QCString g_defLitText;
2840
static QCString g_defArgsStr;
2841
static QCString g_defExtraSpacing;
2842
static bool g_defVarArgs;
2844
static int g_lastCContext;
2845
static int g_lastCPPContext;
2846
static QArray<int> g_levelGuard;
2847
static BufStr *g_inputBuf;
2848
static int g_inputBufPos;
2849
static BufStr *g_outputBuf;
2850
static int g_roundCount;
2851
static bool g_quoteArg;
2852
static DefineDict *g_expandedDict;
2853
static int g_findDefArgContext;
2854
static bool g_expectGuard;
2855
static QCString g_guardName;
2856
static QCString g_lastGuardName;
2857
static QCString g_incName;
2858
static QCString g_guardExpr;
2859
static int g_curlyCount;
2860
static bool g_nospaces; // add extra spaces during macro expansion
2862
static bool g_macroExpansion; // from the configuration
2863
static bool g_expandOnlyPredef; // from the configuration
2864
static int g_commentCount;
2865
static bool g_insideComment;
2866
static bool g_isImported;
2867
static QCString g_blockName;
2868
static int g_condCtx;
2870
static QStack<CondCtx> g_condStack;
2871
static bool g_insideCS; // C# has simpler preprocessor
2872
static bool g_isSource;
2874
static bool g_lexInit = FALSE;
2875
static int g_fenceSize = 0;
2876
static bool g_ccomment;
2878
//DefineDict* getGlobalDefineDict()
2880
// return g_globalDefineDict;
2883
static void setFileName(const char *name)
2887
g_yyFileName=fi.absFilePath().utf8();
2888
g_yyFileDef=findFileDef(Doxygen::inputNameDict,g_yyFileName,ambig);
2889
if (g_yyFileDef==0) // if this is not an input file check if it is an
2892
g_yyFileDef=findFileDef(Doxygen::includeNameDict,g_yyFileName,ambig);
2894
//printf("setFileName(%s) g_yyFileName=%s g_yyFileDef=%p\n",
2895
// name,g_yyFileName.data(),g_yyFileDef);
2896
if (g_yyFileDef && g_yyFileDef->isReference()) g_yyFileDef=0;
2897
g_insideCS = getLanguageFromFileName(g_yyFileName)==SrcLangExt_CSharp;
2898
g_isSource = guessSection(g_yyFileName);
2901
static void incrLevel()
2904
g_levelGuard.resize(g_level);
2905
g_levelGuard[g_level-1]=FALSE;
2906
//printf("%s line %d: incrLevel %d\n",g_yyFileName.data(),g_yyLineNr,g_level);
2909
static void decrLevel()
2911
//printf("%s line %d: decrLevel %d\n",g_yyFileName.data(),g_yyLineNr,g_level);
2915
g_levelGuard.resize(g_level);
2919
warn(g_yyFileName,g_yyLineNr,"More #endif's than #if's found.\n");
2923
static bool otherCaseDone()
2927
warn(g_yyFileName,g_yyLineNr,"Found an #else without a preceding #if.\n");
2932
return g_levelGuard[g_level-1];
2936
static void setCaseDone(bool value)
2938
g_levelGuard[g_level-1]=value;
2941
static QDict<void> g_allIncludes(10009);
2943
static FileState *checkAndOpenFile(const QCString &fileName,bool &alreadyIncluded)
2945
alreadyIncluded = FALSE;
2947
//printf("checkAndOpenFile(%s)\n",fileName.data());
2948
QFileInfo fi(fileName);
2949
if (fi.exists() && fi.isFile())
2951
static QStrList &exclPatterns = Config_getList("EXCLUDE_PATTERNS");
2952
if (patternMatch(fi,&exclPatterns)) return 0;
2954
QCString absName = fi.absFilePath().utf8();
2957
if (g_curlyCount==0) // not #include inside { ... }
2959
if (g_allIncludes.find(absName)!=0)
2961
alreadyIncluded = TRUE;
2962
//printf(" already included 1\n");
2963
return 0; // already done
2965
g_allIncludes.insert(absName,(void *)0x8);
2967
// check include stack for absName
2969
QStack<FileState> tmpStack;
2970
g_includeStack.setAutoDelete(FALSE);
2971
while ((fs=g_includeStack.pop()))
2973
if (fs->fileName==absName) alreadyIncluded=TRUE;
2976
while ((fs=tmpStack.pop()))
2978
g_includeStack.push(fs);
2980
g_includeStack.setAutoDelete(TRUE);
2982
if (alreadyIncluded)
2984
//printf(" already included 2\n");
2987
//printf("#include %s\n",absName.data());
2989
fs = new FileState(fi.size()+4096);
2990
alreadyIncluded = FALSE;
2991
if (!readInputFile(absName,fs->fileBuf))
2993
//printf(" error reading\n");
2999
fs->oldFileBuf = g_inputBuf;
3000
fs->oldFileBufPos = g_inputBufPos;
3006
static FileState *findFile(const char *fileName,bool localInclude,bool &alreadyIncluded)
3008
//printf("** findFile(%s,%d) g_yyFileName=%s\n",fileName,localInclude,g_yyFileName.data());
3009
if (portable_isAbsolutePath(fileName))
3011
FileState *fs = checkAndOpenFile(fileName,alreadyIncluded);
3014
setFileName(fileName);
3018
else if (alreadyIncluded)
3023
if (localInclude && !g_yyFileName.isEmpty())
3025
QFileInfo fi(g_yyFileName);
3028
QCString absName = QCString(fi.dirPath(TRUE).data())+"/"+fileName;
3029
FileState *fs = checkAndOpenFile(absName,alreadyIncluded);
3032
setFileName(absName);
3036
else if (alreadyIncluded)
3046
char *s=g_pathList->first();
3049
QCString absName = (QCString)s+"/"+fileName;
3050
//printf(" Looking for %s in %s\n",fileName,s);
3051
FileState *fs = checkAndOpenFile(absName,alreadyIncluded);
3054
setFileName(absName);
3056
//printf(" -> found it\n");
3059
else if (alreadyIncluded)
3064
s=g_pathList->next();
3069
static QCString extractTrailingComment(const char *s)
3071
if (s==0) return "";
3081
if (i>=0 && s[i]=='*') // end of a comment block
3084
while (i>0 && !(s[i-1]=='/' && s[i]=='*')) i--;
3089
// only /*!< or /**< are treated as a comment for the macro name,
3090
// otherwise the comment is treated as part of the macro definition
3091
return ((s[i+1]=='*' || s[i+1]=='!') && s[i+2]=='<') ? &s[i-1] : "";
3099
// whitespace or line-continuation
3114
static int getNextChar(const QCString &expr,QCString *rest,uint &pos);
3115
static int getCurrentChar(const QCString &expr,QCString *rest,uint pos);
3116
static void unputChar(const QCString &expr,QCString *rest,uint &pos,char c);
3117
static void expandExpression(QCString &expr,QCString *rest,int pos);
3119
static QCString stringize(const QCString &s)
3123
bool inString=FALSE;
3126
while (i<s.length())
3128
if (!inString && !inChar)
3130
while (i<s.length() && !inString && !inChar)
3151
while (i<s.length() && inChar)
3172
while (i<s.length() && inString)
3188
//printf("stringize `%s'->`%s'\n",s.data(),result.data());
3192
/*! Execute all ## operators in expr.
3193
* If the macro name before or after the operator contains a no-rescan
3194
* marker (@-) then this is removed (before the concatenated macro name
3195
* may be expanded again.
3197
static void processConcatOperators(QCString &expr)
3199
//printf("processConcatOperators: in=`%s'\n",expr.data());
3200
QRegExp r("[ \\t\\n]*##[ \\t\\n]*");
3202
if (expr.isEmpty()) return;
3203
while ((n=r.match(expr,i,&l))!=-1)
3205
//printf("Match: `%s'\n",expr.data()+i);
3206
if (n+l+1<(int)expr.length() && expr.at(n+l)=='@' && expr.at(n+l+1)=='-')
3208
// remove no-rescan marker after ID
3211
//printf("found `%s'\n",expr.mid(n,l).data());
3212
// remove the ## operator and the surrounding whitespace
3213
expr=expr.left(n)+expr.right(expr.length()-n-l);
3215
while (k>=0 && isId(expr.at(k))) k--;
3216
if (k>0 && expr.at(k)=='-' && expr.at(k-1)=='@')
3218
// remove no-rescan marker before ID
3219
expr=expr.left(k-1)+expr.right(expr.length()-k-1);
3224
//printf("processConcatOperators: out=`%s'\n",expr.data());
3227
static void yyunput (int c,char *buf_ptr );
3228
static void returnCharToStream(char c)
3233
static inline void addTillEndOfString(const QCString &expr,QCString *rest,
3234
uint &pos,char term,QCString &arg)
3237
while ((cc=getNextChar(expr,rest,pos))!=EOF && cc!=0)
3239
if (cc=='\\') arg+=(char)cc,cc=getNextChar(expr,rest,pos);
3240
else if (cc==term) return;
3245
/*! replaces the function macro \a def whose argument list starts at
3246
* \a pos in expression \a expr.
3247
* Notice that this routine may scan beyond the \a expr string if needed.
3248
* In that case the characters will be read from the input file.
3249
* The replacement string will be returned in \a result and the
3250
* length of the (unexpanded) argument list is stored in \a len.
3252
static bool replaceFunctionMacro(const QCString &expr,QCString *rest,int pos,int &len,const Define *def,QCString &result)
3254
//printf("replaceFunctionMacro(expr=%s,rest=%s,pos=%d,def=%s) level=%d\n",expr.data(),rest ? rest->data() : 0,pos,def->name.data(),g_level);
3259
while ((cc=getCurrentChar(expr,rest,j))!=EOF && isspace(cc))
3262
getNextChar(expr,rest,j);
3266
unputChar(expr,rest,j,' ');
3269
getNextChar(expr,rest,j); // eat the `(' character
3271
QDict<QCString> argTable; // list of arguments
3272
argTable.setAutoDelete(TRUE);
3277
// PHASE 1: read the macro arguments
3280
while ((cc=getNextChar(expr,rest,j))!=EOF && cc!=0)
3288
while (!done && (argCount<def->nargs || def->varArgs) &&
3289
((cc=getNextChar(expr,rest,j))!=EOF && cc!=0)
3293
if (c=='(') // argument is a function => search for matching )
3298
while ((cc=getNextChar(expr,rest,j))!=EOF && cc!=0)
3301
//printf("processing %c: term=%c (%d)\n",c,term,term);
3302
if (c=='\'' || c=='\"') // skip ('s and )'s inside strings
3305
addTillEndOfString(expr,rest,j,c,arg);
3311
if (level==0) break;
3322
else if (c==')' || c==',') // last or next argument found
3324
if (c==',' && argCount==def->nargs-1 && def->varArgs)
3326
arg=arg.stripWhiteSpace();
3332
argKey.sprintf("@%d",argCount++); // key name
3333
arg=arg.stripWhiteSpace();
3334
// add argument to the lookup table
3335
argTable.insert(argKey, new QCString(arg));
3337
if (c==')') // end of the argument list
3343
else if (c=='\"') // append literal strings
3347
while (!found && (cc=getNextChar(expr,rest,j))!=EOF && cc!=0)
3354
if ((cc=getNextChar(expr,rest,j))==EOF || cc==0) break;
3360
else if (c=='\'') // append literal characters
3364
while (!found && (cc=getNextChar(expr,rest,j))!=EOF && cc!=0)
3371
if ((cc=getNextChar(expr,rest,j))==EOF || cc==0) break;
3377
else // append other characters
3384
// PHASE 2: apply the macro function
3385
if (argCount==def->nargs ||
3386
(argCount>def->nargs && def->varArgs)) // matching parameters lists
3389
// substitution of all formal arguments
3391
const QCString d=def->definition.stripWhiteSpace();
3392
//printf("Macro definition: %s\n",d.data());
3393
bool inString=FALSE;
3394
while (k<d.length())
3396
if (d.at(k)=='@') // maybe a marker, otherwise an escaped @
3398
if (d.at(k+1)=='@') // escaped @ => copy it (is unescaped later)
3401
resExpr+="@@"; // we unescape these later
3403
else if (d.at(k+1)=='-') // no-rescan marker
3408
else // argument marker => read the argument number
3414
// search for ## backward
3415
if (l>=0 && d.at(l)=='"') l--;
3416
while (l>=0 && d.at(l)==' ') l--;
3417
if (l>0 && d.at(l)=='#' && d.at(l-1)=='#') hash=TRUE;
3420
while (k<d.length() && d.at(k)>='0' && d.at(k)<='9') key+=d.at(k++);
3423
// search for ## forward
3425
if (l<(int)d.length() && d.at(l)=='"') l++;
3426
while (l<(int)d.length() && d.at(l)==' ') l++;
3427
if (l<(int)d.length()-1 && d.at(l)=='#' && d.at(l+1)=='#') hash=TRUE;
3429
//printf("request key %s result %s\n",key.data(),argTable[key]->data());
3430
if (key.length()>1 && (subst=argTable[key]))
3432
QCString substArg=*subst;
3433
//printf("substArg=`%s'\n",substArg.data());
3434
// only if no ## operator is before or after the argument
3435
// marker we do macro expansion.
3436
if (!hash) expandExpression(substArg,0,0);
3439
//printf("`%s'=stringize(`%s')\n",stringize(*subst).data(),subst->data());
3441
// if the marker is inside a string (because a # was put
3442
// before the macro name) we must escape " and \ characters
3443
resExpr+=stringize(substArg);
3447
if (hash && substArg.isEmpty())
3449
resExpr+="@E"; // empty argument will be remove later on
3451
else if (g_nospaces)
3457
resExpr+=" "+substArg+" ";
3463
else // no marker, just copy
3465
if (!inString && d.at(k)=='\"')
3467
inString=TRUE; // entering a literal string
3469
else if (inString && d.at(k)=='\"' && (d.at(k-1)!='\\' || d.at(k-2)=='\\'))
3471
inString=FALSE; // leaving a literal string
3478
//printf("result after substitution `%s' expr=`%s'\n",
3479
// result.data(),expr.mid(pos,len).data());
3486
/*! returns the next identifier in string \a expr by starting at position \a p.
3487
* The position of the identifier is returned (or -1 if nothing is found)
3488
* and \a l is its length. Any quoted strings are skipping during the search.
3490
static int getNextId(const QCString &expr,int p,int *l)
3493
while (p<(int)expr.length())
3495
char c=expr.at(p++);
3496
if (isdigit(c)) // skip number
3498
while (p<(int)expr.length() && isId(expr.at(p))) p++;
3500
else if (isalpha(c) || c=='_') // read id
3503
while (p<(int)expr.length() && isId(expr.at(p))) p++;
3507
else if (c=='"') // skip string
3510
if (p<(int)expr.length()) c=expr.at(p);
3511
while (p<(int)expr.length() && (c!='"' || (pc=='\\' && ppc!='\\')))
3512
// continue as long as no " is found, but ignoring \", but not \\"
3519
if (p<(int)expr.length()) ++p; // skip closing quote
3521
else if (c=='/') // skip C Comment
3523
//printf("Found C comment at p=%d\n",p);
3525
if (p<(int)expr.length())
3528
if (c=='*') // Start of C comment
3531
while (p<(int)expr.length() && !(pc=='*' && c=='/'))
3538
//printf("Found end of C comment at p=%d\n",p);
3544
/*! preforms recursive macro expansion on the string \a expr
3545
* starting at position \a pos.
3546
* May read additional characters from the input while re-scanning!
3547
* If \a expandAll is \c TRUE then all macros in the expression are
3548
* expanded, otherwise only the first is expanded.
3550
static void expandExpression(QCString &expr,QCString *rest,int pos)
3552
//printf("expandExpression(%s,%s)\n",expr.data(),rest ? rest->data() : 0);
3555
bool definedTest=FALSE;
3557
while ((p=getNextId(expr,i,&l))!=-1) // search for an macro name
3559
bool replaced=FALSE;
3560
macroName=expr.mid(p,l);
3561
//printf("macroName=%s\n",macroName.data());
3562
if (p<2 || !(expr.at(p-2)=='@' && expr.at(p-1)=='-')) // no-rescan marker?
3564
if (g_expandedDict->find(macroName)==0) // expand macro
3566
Define *def=DefineManager::instance().isDefined(macroName);
3567
if (definedTest) // macro name was found after defined
3569
if (def) expMacro = " 1 "; else expMacro = " 0 ";
3574
else if (def && def->nargs==-1) // simple macro
3576
// substitute the definition of the macro
3577
//printf("macro `%s'->`%s'\n",macroName.data(),def->definition.data());
3580
expMacro=def->definition.stripWhiteSpace();
3584
expMacro=" "+def->definition.stripWhiteSpace()+" ";
3586
//expMacro=def->definition.stripWhiteSpace();
3589
//printf("simple macro expansion=`%s'->`%s'\n",macroName.data(),expMacro.data());
3591
else if (def && def->nargs>=0) // function macro
3593
replaced=replaceFunctionMacro(expr,rest,p+l,len,def,expMacro);
3596
else if (macroName=="defined")
3598
//printf("found defined inside macro definition '%s'\n",expr.right(expr.length()-p).data());
3602
if (replaced) // expand the macro and rescan the expression
3605
//printf("replacing `%s'->`%s'\n",expr.mid(p,len).data(),expMacro.data());
3606
QCString resultExpr=expMacro;
3607
QCString restExpr=expr.right(expr.length()-len-p);
3608
processConcatOperators(resultExpr);
3609
if (def && !def->nonRecursive)
3611
g_expandedDict->insert(macroName,def);
3612
expandExpression(resultExpr,&restExpr,0);
3613
g_expandedDict->remove(macroName);
3615
expr=expr.left(p)+resultExpr+restExpr;
3617
//printf("new expression: %s\n",expr.data());
3619
else // move to the next macro name
3621
//printf("moving to the next macro old=%d new=%d\n",i,p+l);
3625
else // move to the next macro name
3627
expr=expr.left(p)+"@-"+expr.right(expr.length()-p);
3628
//printf("macro already expanded, moving to the next macro expr=%s\n",expr.data());
3633
else // no re-scan marker found, skip the macro name
3635
//printf("skipping marked macro\n");
3641
/*! replaces all occurrences of @@@@ in \a s by @@
3642
* and removes all occurrences of @@E.
3643
* All identifiers found are replaced by 0L
3645
QCString removeIdsAndMarkers(const char *s)
3647
//printf("removeIdsAndMarkers(%s)\n",s);
3656
if (c=='@') // replace @@ with @ and remove @E
3662
else if (*(p+1)=='E')
3668
else if (isdigit(c)) // number
3674
else if (c=='d' && !inNum) // identifier starting with a `d'
3676
if (qstrncmp(p,"defined ",8)==0 || qstrncmp(p,"defined(",8)==0)
3679
p+=7; // skip defined
3685
while ((c=*p) && isId(c)) p++;
3688
else if ((isalpha(c) || c=='_') && !inNum) // replace identifier with 0L
3692
while ((c=*p) && isId(c)) p++;
3693
if (*p=='(') // undefined function macro
3699
if (c=='(') count++;
3703
if (count==0) break;
3709
if (c=='*') // start of C comment
3711
while (*p && !(pc=='*' && c=='/')) // search end of comment
3722
else if (c=='/') // skip C comments
3726
if (c=='*') // start of C comment
3728
while (*p && !(pc=='*' && c=='/')) // search end of comment
3735
else // oops, not comment but division
3746
if (!isId(lc) && lc!='.' /*&& lc!='-' && lc!='+'*/) inNum=FALSE;
3751
//printf("removeIdsAndMarkers(%s)=%s\n",s,result.data());
3755
/*! replaces all occurrences of @@ in \a s by @
3757
* \a s only contains pairs of @@'s
3759
QCString removeMarkers(const char *s)
3770
case '@': // replace @@ with @
3779
case '/': // skip C comments
3784
if (c=='*') // start of C comment
3786
while (*p && !(pc=='*' && c=='/')) // search end of comment
3788
if (*p=='@' && *(p+1)=='@')
3795
if (*p) result+=c,p++;
3799
case '"': // skip string literals
3804
while (*p && (c!='"' || pc=='\\')) // no end quote
3809
if (*p) result+=c,p++;
3812
case '\'': // skip char literals
3817
while (*p && (c!='\'' || pc=='\\')) // no end quote
3822
if (*p) result+=c,p++;
3834
//printf("RemoveMarkers(%s)=%s\n",s,result.data());
3838
/*! compute the value of the expression in string \a expr.
3839
* If needed the function may read additional characters from the input.
3842
bool computeExpression(const QCString &expr)
3845
expandExpression(e,0,0);
3846
//printf("after expansion `%s'\n",e.data());
3847
e = removeIdsAndMarkers(e);
3848
if (e.isEmpty()) return FALSE;
3849
//printf("parsing `%s'\n",e.data());
3850
return parseconstexp(g_yyFileName,g_yyLineNr,e);
3853
/*! expands the macro definition in \a name
3854
* If needed the function may read additional characters from the input
3857
QCString expandMacro(const QCString &name)
3860
expandExpression(n,0,0);
3862
//printf("expandMacro `%s'->`%s'\n",name.data(),n.data());
3868
Define *def=new Define;
3869
def->name = g_defName;
3870
def->definition = g_defText.stripWhiteSpace();
3871
def->nargs = g_defArgs;
3872
def->fileName = g_yyFileName;
3873
def->fileDef = g_yyFileDef;
3874
def->lineNr = g_yyLineNr-g_yyMLines;
3875
def->columnNr = g_yyColNr;
3876
def->varArgs = g_defVarArgs;
3877
//printf("newDefine: %s %s file: %s\n",def->name.data(),def->definition.data(),
3878
// def->fileDef ? def->fileDef->name().data() : def->fileName.data());
3879
//printf("newDefine: `%s'->`%s'\n",def->name.data(),def->definition.data());
3880
if (!def->name.isEmpty() && Doxygen::expandAsDefinedDict[def->name])
3882
def->isPredefined=TRUE;
3889
if (g_skip) return; // do not add this define as it is inside a
3890
// conditional section (cond command) that is disabled.
3891
if (!Doxygen::gatherDefines) return;
3893
//printf("addDefine %s %s\n",g_defName.data(),g_defArgsStr.data());
3894
//ArgumentList *al = new ArgumentList;
3895
//stringToArgumentList(g_defArgsStr,al);
3896
MemberDef *md=new MemberDef(
3897
g_yyFileName,g_yyLineNr-g_yyMLines,g_yyColNr,
3898
"#define",g_defName,g_defArgsStr,0,
3899
Public,Normal,FALSE,Member,MemberType_Define,0,0);
3900
if (!g_defArgsStr.isEmpty())
3902
ArgumentList *argList = new ArgumentList;
3903
//printf("addDefine() g_defName=`%s' g_defArgsStr=`%s'\n",g_defName.data(),g_defArgsStr.data());
3904
stringToArgumentList(g_defArgsStr,argList);
3905
md->setArgumentList(argList);
3907
//printf("Setting initializer for `%s' to `%s'\n",g_defName.data(),g_defText.data());
3908
int l=g_defLitText.find('\n');
3909
if (l>0 && g_defLitText.left(l).stripWhiteSpace()=="\\")
3911
// strip first line if it only contains a slash
3912
g_defLitText = g_defLitText.right(g_defLitText.length()-l-1);
3916
// align the items on the first line with the items on the second line
3918
const char *p=g_defLitText.data()+k;
3920
while ((c=*p++) && (c==' ' || c=='\t')) k++;
3921
g_defLitText=g_defLitText.mid(l+1,k-l-1)+g_defLitText.stripWhiteSpace();
3923
md->setInitializer(g_defLitText.stripWhiteSpace());
3925
//printf("pre.l: md->setFileDef(%p)\n",g_inputFileDef);
3926
md->setFileDef(g_inputFileDef);
3927
md->setDefinition("#define "+g_defName);
3929
MemberName *mn=Doxygen::functionNameSDict->find(g_defName);
3932
mn = new MemberName(g_defName);
3933
Doxygen::functionNameSDict->append(g_defName,mn);
3938
g_yyFileDef->insertMember(md);
3942
//if ((d=defineDict[g_defName])==0) defineDict.insert(g_defName,newDefine());
3945
static inline void outputChar(char c)
3947
if (g_includeStack.isEmpty() || g_curlyCount>0) g_outputBuf->addChar(c);
3950
static inline void outputArray(const char *a,int len)
3952
if (g_includeStack.isEmpty() || g_curlyCount>0) g_outputBuf->addArray(a,len);
3955
static void readIncludeFile(const QCString &inc)
3957
static bool searchIncludes = Config_getBool("SEARCH_INCLUDES");
3960
// find the start of the include file name
3961
while (i<inc.length() &&
3962
(inc.at(i)==' ' || inc.at(i)=='"' || inc.at(i)=='<')
3966
// was it a local include?
3967
bool localInclude = s>0 && inc.at(s-1)=='"';
3969
// find the end of the include file name
3970
while (i<inc.length() && inc.at(i)!='"' && inc.at(i)!='>') i++;
3972
if (s<inc.length() && i>s) // valid include file name found
3974
// extract include path+name
3975
QCString incFileName=inc.mid(s,i-s).stripWhiteSpace();
3977
QCString dosExt = incFileName.right(4);
3978
if (dosExt==".exe" || dosExt==".dll" || dosExt==".tlb")
3980
// skip imported binary files (e.g. M$ type libraries)
3984
QCString oldFileName = g_yyFileName;
3985
FileDef *oldFileDef = g_yyFileDef;
3986
int oldLineNr = g_yyLineNr;
3987
//printf("Searching for `%s'\n",incFileName.data());
3989
// absIncFileName avoids difficulties for incFileName starting with "../" (bug 641336)
3990
QCString absIncFileName = incFileName;
3992
QFileInfo fi(g_yyFileName);
3995
QCString absName = QCString(fi.dirPath(TRUE).data())+"/"+incFileName;
3996
QFileInfo fi2(absName);
3999
absIncFileName=fi2.absFilePath().utf8();
4001
else if (searchIncludes) // search in INCLUDE_PATH as well
4003
QStrList &includePath = Config_getList("INCLUDE_PATH");
4004
char *s=includePath.first();
4008
if (fi.exists() && fi.isDir())
4010
QCString absName = QCString(fi.absFilePath().utf8())+"/"+incFileName;
4011
//printf("trying absName=%s\n",absName.data());
4012
QFileInfo fi2(absName);
4015
absIncFileName=fi2.absFilePath().utf8();
4018
//printf( "absIncFileName = %s\n", absIncFileName.data() );
4020
s=includePath.next();
4023
//printf( "absIncFileName = %s\n", absIncFileName.data() );
4026
DefineManager::instance().addInclude(g_yyFileName,absIncFileName);
4027
DefineManager::instance().addFileToContext(absIncFileName);
4029
// findFile will overwrite g_yyFileDef if found
4031
bool alreadyIncluded = FALSE;
4032
//printf("calling findFile(%s)\n",incFileName.data());
4033
if ((fs=findFile(incFileName,localInclude,alreadyIncluded))) // see if the include file can be found
4035
//printf("Found include file!\n");
4036
if (Debug::isFlagSet(Debug::Preprocessor))
4038
for (i=0;i<g_includeStack.count();i++)
4040
Debug::print(Debug::Preprocessor,0," ");
4042
//msg("#include %s: parsing...\n",incFileName.data());
4046
// add include dependency to the file in which the #include was found
4048
// change to absolute name for bug 641336
4049
FileDef *incFd = findFileDef(Doxygen::inputNameDict,absIncFileName,ambig);
4050
oldFileDef->addIncludeDependency(ambig ? 0 : incFd,incFileName,localInclude,g_isImported,FALSE);
4051
// add included by dependency
4054
//printf("Adding include dependency %s->%s\n",oldFileDef->name().data(),incFileName.data());
4055
g_yyFileDef->addIncludedByDependency(oldFileDef,oldFileDef->docName(),localInclude,g_isImported);
4058
else if (g_inputFileDef)
4060
g_inputFileDef->addIncludeDependency(0,absIncFileName,localInclude,g_isImported,TRUE);
4062
fs->bufState = YY_CURRENT_BUFFER;
4063
fs->lineNr = oldLineNr;
4064
fs->fileName = oldFileName;
4065
// push the state on the stack
4066
g_includeStack.push(fs);
4067
// set the scanner to the include file
4069
// Deal with file changes due to
4070
// #include's within { .. } blocks
4071
QCString lineStr(g_yyFileName.length()+20);
4072
lineStr.sprintf("# 1 \"%s\" 1\n",g_yyFileName.data());
4073
outputArray(lineStr.data(),lineStr.length());
4075
DBG_CTX((stderr,"Switching to include file %s\n",incFileName.data()));
4077
g_inputBuf = &fs->fileBuf;
4079
preYY_switch_to_buffer(preYY_create_buffer(0,YY_BUF_SIZE));
4083
//printf(" calling findFile(%s) alreadyInc=%d\n",incFileName.data(),alreadyIncluded);
4087
//QCString absPath = incFileName;
4088
//if (QDir::isRelativePath(incFileName))
4090
// absPath = QDir::cleanDirPath(oldFileDef->getPath()+"/"+incFileName);
4091
// //printf("%s + %s -> resolved path %s\n",oldFileDef->getPath().data(),incFileName.data(),absPath.data());
4094
// change to absolute name for bug 641336
4095
FileDef *fd = findFileDef(Doxygen::inputNameDict,absIncFileName,ambig);
4096
//printf("%s::findFileDef(%s)=%p\n",oldFileDef->name().data(),incFileName.data(),fd);
4097
// add include dependency to the file in which the #include was found
4098
oldFileDef->addIncludeDependency(ambig ? 0 : fd,incFileName,localInclude,g_isImported,FALSE);
4099
// add included by dependency
4102
//printf("Adding include dependency (2) %s->%s ambig=%d\n",oldFileDef->name().data(),fd->name().data(),ambig);
4103
fd->addIncludedByDependency(oldFileDef,oldFileDef->docName(),localInclude,g_isImported);
4106
else if (g_inputFileDef)
4108
g_inputFileDef->addIncludeDependency(0,absIncFileName,localInclude,g_isImported,TRUE);
4110
if (Debug::isFlagSet(Debug::Preprocessor))
4112
if (alreadyIncluded)
4114
Debug::print(Debug::Preprocessor,0,"#include %s: already included! skipping...\n",incFileName.data());
4118
Debug::print(Debug::Preprocessor,0,"#include %s: not found! skipping...\n",incFileName.data());
4120
//printf("error: include file %s not found\n",preYYtext);
4122
if (g_curlyCount>0 && !alreadyIncluded) // failed to find #include inside { ... }
4124
warn(g_yyFileName,g_yyLineNr,"include file %s not found, perhaps you forgot to add its directory to INCLUDE_PATH?",incFileName.data());
4130
/* ----------------------------------------------------------------- */
4132
static void startCondSection(const char *sectId)
4134
//printf("startCondSection: skip=%d stack=%d\n",g_skip,g_condStack.count());
4136
bool expResult = prs.parse(g_yyFileName,g_yyLineNr,sectId);
4137
g_condStack.push(new CondCtx(g_yyLineNr,sectId,g_skip));
4142
//printf(" expResult=%d skip=%d\n",expResult,g_skip);
4145
static void endCondSection()
4147
if (g_condStack.isEmpty())
4153
CondCtx *ctx = g_condStack.pop();
4156
//printf("endCondSection: skip=%d stack=%d\n",g_skip,g_condStack.count());
4159
static void forceEndCondSection()
4161
while (!g_condStack.isEmpty())
4168
static QCString escapeAt(const char *text)
4177
if (c=='@') result+="@@"; else result+=c;
4183
static char resolveTrigraph(char c)
4187
case '=': return '#';
4188
case '/': return '\\';
4189
case '\'': return '^';
4190
case '(': return '[';
4191
case ')': return ']';
4192
case '!': return '|';
4193
case '<': return '{';
4194
case '>': return '}';
4195
case '-': return '~';
4200
/* ----------------------------------------------------------------- */
4203
#define YY_INPUT(buf,result,max_size) result=yyread(buf,max_size);
4205
static int yyread(char *buf,int max_size)
4207
int bytesInBuf = g_inputBuf->curPos()-g_inputBufPos;
4208
int bytesToCopy = QMIN(max_size,bytesInBuf);
4209
memcpy(buf,g_inputBuf->data()+g_inputBufPos,bytesToCopy);
4210
g_inputBufPos+=bytesToCopy;
4214
/* ----------------------------------------------------------------- */
4251
#line 4252 "<stdout>"
4256
#define SkipCommand 3
4258
#define SkipString 5
4260
#define CopyString 7
4263
#define EndImport 10
4265
#define DefineArg 12
4266
#define DefineText 13
4267
#define SkipCPPBlock 14
4270
#define SkipCComment 17
4271
#define ArgCopyCComment 18
4272
#define CopyCComment 19
4273
#define SkipVerbatim 20
4274
#define SkipCPPComment 21
4275
#define RemoveCComment 22
4276
#define RemoveCPPComment 23
4278
#define DefinedExpr1 25
4279
#define DefinedExpr2 26
4280
#define SkipDoubleQuote 27
4281
#define SkipSingleQuote 28
4282
#define UndefName 29
4283
#define IgnoreLine 30
4284
#define FindDefineArgs 31
4285
#define ReadString 32
4286
#define CondLineC 33
4287
#define CondLineCpp 34
4290
#ifndef YY_NO_UNISTD_H
4291
/* Special case for "unistd.h", since it is non-ANSI. We include it way
4292
* down here because we want the user's section 1 to have been scanned first.
4293
* The user has a chance to override it with an option.
4298
#ifndef YY_EXTRA_TYPE
4299
#define YY_EXTRA_TYPE void *
4302
static int yy_init_globals (void );
4304
/* Accessor methods to globals.
4305
These are made visible to non-reentrant scanners for convenience. */
4307
int preYYlex_destroy (void );
4309
int preYYget_debug (void );
4311
void preYYset_debug (int debug_flag );
4313
YY_EXTRA_TYPE preYYget_extra (void );
4315
void preYYset_extra (YY_EXTRA_TYPE user_defined );
4317
FILE *preYYget_in (void );
4319
void preYYset_in (FILE * in_str );
4321
FILE *preYYget_out (void );
4323
void preYYset_out (FILE * out_str );
4325
yy_size_t preYYget_leng (void );
4327
char *preYYget_text (void );
4329
int preYYget_lineno (void );
4331
void preYYset_lineno (int line_number );
4333
/* Macros after this point can all be overridden by user definitions in
4337
#ifndef YY_SKIP_YYWRAP
4339
extern "C" int preYYwrap (void );
4341
extern int preYYwrap (void );
4345
static void yyunput (int c,char *buf_ptr );
4348
static void yy_flex_strncpy (char *,yyconst char *,int );
4351
#ifdef YY_NEED_STRLEN
4352
static int yy_flex_strlen (yyconst char * );
4358
static int yyinput (void );
4360
static int input (void );
4365
/* Amount of stuff to slurp up with each read. */
4366
#ifndef YY_READ_BUF_SIZE
4367
#define YY_READ_BUF_SIZE 262144
4370
/* Copy whatever the last rule matched to the standard output. */
4372
/* This used to be an fputs(), but since the string might contain NUL's,
4373
* we now use fwrite().
4375
#define ECHO fwrite( preYYtext, preYYleng, 1, preYYout )
4378
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
4379
* is returned in "result".
4382
#define YY_INPUT(buf,result,max_size) \
4383
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
4387
for ( n = 0; n < max_size && \
4388
(c = getc( preYYin )) != EOF && c != '\n'; ++n ) \
4389
buf[n] = (char) c; \
4391
buf[n++] = (char) c; \
4392
if ( c == EOF && ferror( preYYin ) ) \
4393
YY_FATAL_ERROR( "input in flex scanner failed" ); \
4399
while ( (result = fread(buf, 1, max_size, preYYin))==0 && ferror(preYYin)) \
4401
if( errno != EINTR) \
4403
YY_FATAL_ERROR( "input in flex scanner failed" ); \
4407
clearerr(preYYin); \
4414
/* No semi-colon after return; correct usage is to write "yyterminate();" -
4415
* we don't want an extra ';' after the "return" because that will cause
4416
* some compilers to complain about unreachable statements.
4419
#define yyterminate() return YY_NULL
4422
/* Number of entries by which start-condition stack grows. */
4423
#ifndef YY_START_STACK_INCR
4424
#define YY_START_STACK_INCR 25
4427
/* Report a fatal error. */
4428
#ifndef YY_FATAL_ERROR
4429
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
4432
/* end tables serialization structures and prototypes */
4434
/* Default declaration of generated scanner - a define so the user can
4435
* easily add parameters.
4438
#define YY_DECL_IS_OURS 1
4440
extern int preYYlex (void);
4442
#define YY_DECL int preYYlex (void)
4443
#endif /* !YY_DECL */
4445
/* Code executed at the beginning of each rule, after preYYtext and preYYleng
4448
#ifndef YY_USER_ACTION
4449
#define YY_USER_ACTION
4452
/* Code executed at the end of each rule. */
4454
#define YY_BREAK break;
4457
#define YY_RULE_SETUP \
4458
if ( preYYleng > 0 ) \
4459
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
4460
(preYYtext[preYYleng - 1] == '\n'); \
4463
/** The main scanner function which does all the work.
4467
register yy_state_type yy_current_state;
4468
register char *yy_cp, *yy_bp;
4469
register int yy_act;
4474
#line 4475 "<stdout>"
4484
/* Create the reject buffer large enough to save one state per allowed character. */
4485
if ( ! (yy_state_buf) )
4486
(yy_state_buf) = (yy_state_type *)preYYalloc(YY_STATE_BUF_SIZE );
4487
if ( ! (yy_state_buf) )
4488
YY_FATAL_ERROR( "out of dynamic memory in preYYlex()" );
4491
(yy_start) = 1; /* first start state */
4499
if ( ! YY_CURRENT_BUFFER ) {
4500
preYYensure_buffer_stack ();
4501
YY_CURRENT_BUFFER_LVALUE =
4502
preYY_create_buffer(preYYin,YY_BUF_SIZE );
4505
preYY_load_buffer_state( );
4508
while ( 1 ) /* loops until end-of-file is reached */
4510
yy_cp = (yy_c_buf_p);
4512
/* Support of preYYtext. */
4513
*yy_cp = (yy_hold_char);
4515
/* yy_bp points to the position in yy_ch_buf of the start of
4520
yy_current_state = (yy_start);
4521
yy_current_state += YY_AT_BOL();
4523
(yy_state_ptr) = (yy_state_buf);
4524
*(yy_state_ptr)++ = yy_current_state;
4529
register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
4530
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4532
yy_current_state = (int) yy_def[yy_current_state];
4533
if ( yy_current_state >= 1285 )
4534
yy_c = yy_meta[(unsigned int) yy_c];
4536
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4537
*(yy_state_ptr)++ = yy_current_state;
4540
while ( yy_base[yy_current_state] != 6348 );
4543
yy_current_state = *--(yy_state_ptr);
4544
(yy_lp) = yy_accept[yy_current_state];
4545
goto find_rule; /* Shut up GCC warning -Wall */
4546
find_rule: /* we branch to this label when backing up */
4547
for ( ; ; ) /* until we find what rule we matched */
4549
if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
4551
yy_act = yy_acclist[(yy_lp)];
4552
if ( yy_act & YY_TRAILING_HEAD_MASK ||
4553
(yy_looking_for_trail_begin) )
4555
if ( yy_act == (yy_looking_for_trail_begin) )
4557
(yy_looking_for_trail_begin) = 0;
4558
yy_act &= ~YY_TRAILING_HEAD_MASK;
4562
else if ( yy_act & YY_TRAILING_MASK )
4564
(yy_looking_for_trail_begin) = yy_act & ~YY_TRAILING_MASK;
4565
(yy_looking_for_trail_begin) |= YY_TRAILING_HEAD_MASK;
4566
(yy_full_match) = yy_cp;
4567
(yy_full_state) = (yy_state_ptr);
4568
(yy_full_lp) = (yy_lp);
4572
(yy_full_match) = yy_cp;
4573
(yy_full_state) = (yy_state_ptr);
4574
(yy_full_lp) = (yy_lp);
4581
yy_current_state = *--(yy_state_ptr);
4582
(yy_lp) = yy_accept[yy_current_state];
4585
YY_DO_BEFORE_ACTION;
4587
do_action: /* This label is used only to access EOF actions. */
4590
{ /* beginning of action switch */
4610
unput(resolveTrigraph(preYYtext[2]));
4616
{ BEGIN(Command); g_yyColNr+=preYYleng; g_yyMLines=0;}
4619
/* rule 6 can match eol */
4620
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
4621
(yy_c_buf_p) = yy_cp -= 1;
4622
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
4626
outputArray(preYYtext,(int)preYYleng);
4631
/* rule 7 can match eol */
4636
for (i=(int)preYYleng-1;i>=0;i--)
4638
unput(preYYtext[i]);
4644
/* rule 8 can match eol */
4647
/* rule 9 can match eol */
4650
{ // function like macro
4651
static bool skipFuncMacros = Config_getBool("SKIP_FUNCTION_MACROS");
4652
QCString name(preYYtext);
4653
name=name.left(name.find('(')).stripWhiteSpace();
4656
if (skipFuncMacros &&
4657
name!="Q_PROPERTY" &&
4659
(g_includeStack.isEmpty() || g_curlyCount>0) &&
4661
(def=DefineManager::instance().isDefined(name)) &&
4662
/*macroIsAccessible(def) &&*/
4663
(!g_expandOnlyPredef || def->isPredefined)
4673
for (i=(int)preYYleng-1;i>=0;i--)
4675
unput(preYYtext[i]);
4682
/* rule 10 can match eol */
4686
QCString text=preYYtext;
4687
g_yyLineNr+=text.contains('\n');
4688
outputArray(preYYtext,(int)preYYleng);
4694
{ // count brackets inside the main file
4695
if (g_includeStack.isEmpty())
4699
outputChar(*preYYtext);
4705
{ // count brackets inside the main file
4706
if (g_includeStack.isEmpty() && g_curlyCount>0)
4710
outputChar(*preYYtext);
4717
outputArray(preYYtext,(int)preYYleng);
4724
outputArray(preYYtext,(int)preYYleng);
4731
outputArray(preYYtext,(int)preYYleng);
4738
outputChar(*preYYtext);
4739
BEGIN( CopyString );
4746
outputArray(preYYtext,(int)preYYleng);
4753
outputArray(preYYtext,(int)preYYleng);
4760
outputChar(*preYYtext);
4765
/* rule 20 can match eol */
4769
g_expectGuard = FALSE;
4771
//def=g_globalDefineDict->find(preYYtext);
4772
//def=DefineManager::instance().isDefined(preYYtext);
4773
//printf("Search for define %s found=%d g_includeStack.isEmpty()=%d "
4774
// "g_curlyCount=%d g_macroExpansion=%d g_expandOnlyPredef=%d "
4775
// "isPreDefined=%d\n",preYYtext,def ? 1 : 0,
4776
// g_includeStack.isEmpty(),g_curlyCount,g_macroExpansion,g_expandOnlyPredef,
4777
// def ? def->isPredefined : -1
4779
if ((g_includeStack.isEmpty() || g_curlyCount>0) &&
4781
(def=DefineManager::instance().isDefined(preYYtext)) &&
4782
/*(def->isPredefined || macroIsAccessible(def)) && */
4783
(!g_expandOnlyPredef || def->isPredefined)
4786
//printf("Found it! #args=%d\n",def->nargs);
4788
g_defArgsStr=preYYtext;
4789
if (def->nargs==-1) // no function macro
4791
QCString result = def->isPredefined ? def->definition : expandMacro(g_defArgsStr);
4792
outputArray(result,result.length());
4794
else // zero or more arguments
4796
g_findDefArgContext = CopyLine;
4797
BEGIN(FindDefineArgs);
4802
outputArray(preYYtext,(int)preYYleng);
4811
if ((g_includeStack.isEmpty() || g_curlyCount>0) &&
4813
(def=DefineManager::instance().isDefined(preYYtext)) &&
4815
/*(def->isPredefined || macroIsAccessible(def)) &&*/
4816
(!g_expandOnlyPredef || def->isPredefined)
4819
QCString result=def->isPredefined ? def->definition : expandMacro(preYYtext);
4820
outputArray(result,result.length());
4824
outputArray(preYYtext,(int)preYYleng);
4829
/* rule 22 can match eol */
4830
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
4831
(yy_c_buf_p) = yy_cp -= 1;
4832
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
4835
{ // strip line continuation characters
4842
outputChar(*preYYtext);
4846
/* rule 24 can match eol */
4870
if (g_roundCount==0)
4872
QCString result=expandMacro(g_defArgsStr);
4873
//printf("g_defArgsStr=`%s'->`%s'\n",g_defArgsStr.data(),result.data());
4874
if (g_findDefArgContext==CopyLine)
4876
outputArray(result,result.length());
4877
BEGIN(g_findDefArgContext);
4879
else // g_findDefArgContext==IncludeID
4881
readIncludeFile(result);
4889
<FindDefineArgs>")"{B}*"(" {
4890
g_defArgsStr+=preYYtext;
4897
g_defArgsStr+=preYYtext;
4904
g_defArgsStr+=preYYtext;
4905
BEGIN(ArgCopyCComment);
4912
g_defArgsStr+=*preYYtext;
4917
/* rule 30 can match eol */
4937
g_defArgsStr+=*preYYtext;
4944
g_defArgsStr+=preYYtext;
4951
g_defArgsStr+=preYYtext;
4952
BEGIN(FindDefineArgs);
4956
/* rule 35 can match eol */
4969
g_defArgsStr+=preYYtext;
4976
g_defArgsStr+=*preYYtext;
4977
BEGIN(FindDefineArgs);
4984
g_defArgsStr+=preYYtext;
4991
g_defArgsStr+=preYYtext;
4998
g_defArgsStr+=*preYYtext;
5005
g_isImported = preYYtext[1]=='m';
5006
if (g_macroExpansion)
5014
g_isImported = preYYtext[1]=='m';
5016
c[0]=preYYtext[preYYleng-1];c[1]='\0';
5025
//printf("!!!DefName\n");
5026
g_yyColNr+=preYYleng;
5031
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
5032
(yy_c_buf_p) = yy_cp = yy_bp + 5;
5033
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
5038
g_guardExpr.resize(0);
5039
BEGIN(DefinedExpr2);
5043
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
5044
(yy_c_buf_p) = yy_cp = yy_bp + 5;
5045
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
5049
//printf("Pre.l: ifdef\n");
5051
g_guardExpr.resize(0);
5052
BEGIN(DefinedExpr1);
5056
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
5057
(yy_c_buf_p) = yy_cp = yy_bp + 6;
5058
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
5064
BEGIN(DefinedExpr2);
5068
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
5069
(yy_c_buf_p) = yy_cp = yy_bp + 6;
5070
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
5076
BEGIN(DefinedExpr1);
5080
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
5081
(yy_c_buf_p) = yy_cp = yy_bp + 2;
5082
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
5087
g_guardExpr.resize(0);
5092
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
5093
(yy_c_buf_p) = yy_cp -= 1;
5094
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
5098
if (!otherCaseDone())
5100
g_guardExpr.resize(0);
5106
BEGIN(SkipCPPBlock);
5111
/* rule 50 can match eol */
5112
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
5113
(yy_c_buf_p) = yy_cp = yy_bp + 4;
5114
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
5118
//printf("else g_levelGuard[%d]=%d\n",g_level-1,g_levelGuard[g_level-1]);
5119
if (otherCaseDone())
5122
BEGIN(SkipCPPBlock);
5127
//g_levelGuard[g_level-1]=TRUE;
5139
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
5140
(yy_c_buf_p) = yy_cp -= 1;
5141
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
5145
if (!otherCaseDone())
5147
g_guardExpr.resize(0);
5153
/* rule 53 can match eol */
5154
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
5155
(yy_c_buf_p) = yy_cp = yy_bp + 5;
5156
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
5160
//printf("Pre.l: #endif\n");
5165
/* rule 54 can match eol */
5178
g_expectGuard = FALSE;
5184
{ // unknown directive
5189
/* rule 57 can match eol */
5205
{g_yyColNr+=preYYleng;}
5212
if ((def=DefineManager::instance().isDefined(preYYtext))
5213
/*&& !def->isPredefined*/
5214
&& !def->nonRecursive
5217
//printf("undefining %s\n",preYYtext);
5224
/* rule 61 can match eol */
5234
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
5235
(yy_c_buf_p) = yy_cp = yy_bp + 7;
5236
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
5240
BEGIN(DefinedExpr2);
5244
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
5245
(yy_c_buf_p) = yy_cp = yy_bp + 7;
5246
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
5250
BEGIN(DefinedExpr1);
5256
{ g_guardExpr+=preYYtext; }
5261
{ g_guardExpr+=*preYYtext; }
5264
/* rule 66 can match eol */
5269
//printf("Guard: `%s'\n",
5270
// g_guardExpr.data());
5271
bool guard=computeExpression(g_guardExpr);
5273
//printf("if g_levelGuard[%d]=%d\n",g_level-1,g_levelGuard[g_level-1]);
5281
BEGIN(SkipCPPBlock);
5286
/* rule 67 can match eol */
5289
{ g_yyLineNr++; outputChar('\n'); }
5295
if (DefineManager::instance().isDefined(preYYtext) || g_guardName==preYYtext)
5296
g_guardExpr+=" 1L ";
5298
g_guardExpr+=" 0L ";
5299
g_lastGuardName=preYYtext;
5307
if (DefineManager::instance().isDefined(preYYtext) || g_guardName==preYYtext)
5308
g_guardExpr+=" 1L ";
5310
g_guardExpr+=" 0L ";
5311
g_lastGuardName=preYYtext;
5315
/* rule 70 can match eol */
5318
{ // should not happen, handle anyway
5321
BEGIN(SkipCPPBlock);
5339
{ BEGIN(SkipCommand); }
5342
/* rule 74 can match eol */
5343
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
5344
(yy_c_buf_p) = yy_cp -= 1;
5345
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
5348
{ BEGIN(SkipLine); }
5351
/* rule 75 can match eol */
5354
{ g_yyLineNr++; outputChar('\n'); }
5362
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
5363
(yy_c_buf_p) = yy_cp -= 1;
5364
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
5370
//printf("#if... depth=%d\n",g_ifcount);
5377
//printf("Else! g_ifcount=%d otherCaseDone=%d\n",g_ifcount,otherCaseDone());
5378
if (g_ifcount==0 && !otherCaseDone())
5387
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
5388
(yy_c_buf_p) = yy_cp -= 1;
5389
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
5395
if (!otherCaseDone())
5397
g_guardExpr.resize(0);
5398
g_lastGuardName.resize(0);
5403
BEGIN(SkipCPPBlock);
5412
g_expectGuard = FALSE;
5422
/* rule 81 can match eol */
5428
BEGIN(SkipCPPBlock);
5434
{ // unknown directive
5466
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
5467
(yy_c_buf_p) = yy_cp = yy_bp + 2;
5468
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
5478
g_lastCPPContext=YY_START;
5479
BEGIN(RemoveCPPComment);
5483
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
5484
(yy_c_buf_p) = yy_cp = yy_bp + 2;
5485
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
5492
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
5493
(yy_c_buf_p) = yy_cp = yy_bp + 2;
5494
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
5498
g_lastCContext=YY_START;
5499
BEGIN(RemoveCComment);
5503
/* rule 92 can match eol */
5509
BEGIN(SkipCPPBlock);
5535
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
5536
(yy_c_buf_p) = yy_cp -= 1;
5537
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
5543
g_defArgsStr=preYYtext;
5544
g_findDefArgContext = IncludeID;
5545
BEGIN(FindDefineArgs);
5553
readIncludeFile(expandMacro(preYYtext));
5561
g_incName+=preYYtext;
5562
readIncludeFile(g_incName);
5574
/* rule 100 can match eol */
5575
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
5576
(yy_c_buf_p) = yy_cp -= 1;
5577
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
5585
/* rule 101 can match eol */
5600
/* rule 103 can match eol */
5603
{ // define with argument
5604
//printf("Define() `%s'\n",preYYtext);
5605
g_argDict = new QDict<int>(31);
5606
g_argDict->setAutoDelete(TRUE);
5608
g_defArgsStr.resize(0);
5609
g_defText.resize(0);
5610
g_defLitText.resize(0);
5611
g_defName = preYYtext;
5612
g_defVarArgs = FALSE;
5613
g_defExtraSpacing.resize(0);
5618
/* rule 104 can match eol */
5619
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
5620
(yy_c_buf_p) = yy_cp -= 1;
5621
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
5624
{ // special case: define with 1 -> can be "guard"
5625
//printf("Define `%s'\n",preYYtext);
5628
g_defArgsStr.resize(0);
5629
g_defName = preYYtext;
5630
g_defName = g_defName.left(g_defName.length()-1).stripWhiteSpace();
5631
g_defVarArgs = FALSE;
5632
//printf("Guard check: %s!=%s || %d\n",
5633
// g_defName.data(),g_lastGuardName.data(),g_expectGuard);
5634
if (g_curlyCount>0 || g_defName!=g_lastGuardName || !g_expectGuard)
5635
{ // define may appear in the output
5636
QCString tmp=(QCString)"#define "+g_defName;
5637
outputArray(tmp.data(),tmp.length());
5639
g_insideComment=FALSE;
5640
g_lastGuardName.resize(0);
5645
else // define is a guard => hide
5647
//printf("Found a guard %s\n",preYYtext);
5648
g_defText.resize(0);
5649
g_defLitText.resize(0);
5652
g_expectGuard=FALSE;
5656
/* rule 105 can match eol */
5662
g_defName = preYYtext;
5663
g_defArgsStr.resize(0);
5664
g_defText.resize(0);
5665
g_defLitText.resize(0);
5666
g_defVarArgs = FALSE;
5667
//printf("Guard check: %s!=%s || %d\n",
5668
// g_defName.data(),g_lastGuardName.data(),g_expectGuard);
5669
if (g_curlyCount>0 || g_defName!=g_lastGuardName || !g_expectGuard)
5670
{ // define may appear in the output
5671
QCString tmp=(QCString)"#define "+g_defName;
5672
outputArray(tmp.data(),tmp.length());
5674
g_insideComment=FALSE;
5675
if (g_insideCS) g_defText="1"; // for C#, use "1" as define text
5678
else // define is a guard => hide
5680
//printf("Found a guard %s\n",preYYtext);
5681
g_guardName = preYYtext;
5682
g_lastGuardName.resize(0);
5685
g_expectGuard=FALSE;
5691
{ // define with content
5692
//printf("Define `%s'\n",preYYtext);
5695
g_defArgsStr.resize(0);
5696
g_defText.resize(0);
5697
g_defLitText.resize(0);
5698
g_defName = preYYtext;
5699
g_defVarArgs = FALSE;
5700
QCString tmp=(QCString)"#define "+g_defName+g_defArgsStr;
5701
outputArray(tmp.data(),tmp.length());
5703
g_insideComment=FALSE;
5708
/* rule 107 can match eol */
5712
g_defExtraSpacing+="\n";
5719
{ g_defArgsStr+=preYYtext; }
5724
{ g_defArgsStr+=preYYtext; }
5730
g_defArgsStr+=preYYtext;
5731
QCString tmp=(QCString)"#define "+g_defName+g_defArgsStr+g_defExtraSpacing;
5732
outputArray(tmp.data(),tmp.length());
5734
g_insideComment=FALSE;
5742
g_defVarArgs = TRUE;
5743
g_defArgsStr+=preYYtext;
5744
g_argDict->insert("__VA_ARGS__",new int(g_defArgs));
5752
//printf("Define addArg(%s)\n",preYYtext);
5753
QCString argName=preYYtext;
5754
g_defVarArgs = preYYtext[preYYleng-1]=='.';
5755
if (g_defVarArgs) // strip ellipsis
5757
argName=argName.left(argName.length()-3);
5759
argName = argName.stripWhiteSpace();
5760
g_defArgsStr+=preYYtext;
5761
g_argDict->insert(argName,new int(g_defArgs));
5766
<DefineText>"/ **"|"/ *!" {
5767
g_defText+=preYYtext;
5768
g_defLitText+=preYYtext;
5769
g_insideComment=TRUE;
5772
g_defText+=preYYtext;
5773
g_defLitText+=preYYtext;
5774
g_insideComment=FALSE;
5781
g_defText+=preYYtext;
5782
g_defLitText+=preYYtext;
5783
g_lastCContext=YY_START;
5785
BEGIN(CopyCComment);
5792
outputArray(preYYtext,(int)preYYleng);
5793
g_lastCPPContext=YY_START;
5795
BEGIN(SkipCPPComment);
5802
if (preYYtext[0]=='/') outputChar('/');
5803
outputChar('*');outputChar('/');
5804
if (--g_commentCount<=0)
5806
if (g_lastCContext==Start)
5807
// small hack to make sure that ^... rule will
5808
// match when going to Start... Example: "/*...*/ some stuff..."
5810
YY_CURRENT_BUFFER->yy_at_bol=1;
5812
BEGIN(g_lastCContext);
5820
outputArray(preYYtext,(int)preYYleng);
5827
outputChar('/');outputChar('*');
5835
outputArray(preYYtext,(int)preYYleng);
5842
static bool markdownSupport = Config_getBool("MARKDOWN_SUPPORT");
5843
if (!markdownSupport)
5849
outputArray(preYYtext,(int)preYYleng);
5850
g_fenceSize=preYYleng;
5851
BEGIN(SkipVerbatim);
5856
/* rule 120 can match eol */
5860
outputArray(preYYtext,(int)preYYleng);
5861
g_yyLineNr+=QCString(preYYtext).contains('\n');
5865
/* rule 121 can match eol */
5869
outputArray(preYYtext,(int)preYYleng);
5870
g_yyLineNr+=QCString(preYYtext).contains('\n');
5872
if (preYYtext[1]=='f')
5878
QCString bn=&preYYtext[1];
5879
int i = bn.find('{'); // for \code{.c}
5880
if (i!=-1) bn=bn.left(i);
5881
g_blockName=bn.stripWhiteSpace();
5883
BEGIN(SkipVerbatim);
5890
outputArray(preYYtext,(int)preYYleng);
5896
{ // conditional section
5905
{ // conditional section
5915
startCondSection(preYYtext);
5918
if (YY_START==CondLineC)
5921
outputArray("*/",2);
5939
{ // non-guard character
5941
startCondSection(" ");
5944
if (YY_START==CondLineC)
5947
outputArray("*/",2);
5963
/* rule 127 can match eol */
5964
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
5965
(yy_c_buf_p) = yy_cp -= 1;
5966
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
5970
if (YY_START==SkipCComment)
5974
outputArray("*/",2);
5981
startCondSection(" ");
5986
/* rule 128 can match eol */
5989
{ g_yyLineNr++; outputChar('\n'); }
6004
{ g_ccomment=FALSE; }
6009
{ g_ccomment=TRUE; }
6012
/* rule 133 can match eol */
6013
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
6014
(yy_c_buf_p) = yy_cp = yy_bp + 9;
6015
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
6021
outputArray(preYYtext,(int)preYYleng);
6026
/* rule 134 can match eol */
6027
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
6028
(yy_c_buf_p) = yy_cp = yy_bp + 8;
6029
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
6033
bool oldSkip = g_skip;
6035
if (oldSkip && !g_skip)
6039
outputArray("/** ",4);
6046
/* rule 135 can match eol */
6047
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
6048
(yy_c_buf_p) = yy_cp = yy_bp + 8;
6049
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
6053
bool oldSkip = g_skip;
6055
if (oldSkip && !g_skip)
6064
{ /* end of verbatim block */
6065
outputArray(preYYtext,(int)preYYleng);
6066
if (preYYtext[1]=='f' && g_blockName=="f")
6068
BEGIN(SkipCComment);
6070
else if (&preYYtext[4]==g_blockName)
6072
BEGIN(SkipCComment);
6080
outputArray(preYYtext,(int)preYYleng);
6081
if (g_fenceSize==preYYleng)
6083
BEGIN(SkipCComment);
6091
outputArray(preYYtext,(int)preYYleng);
6098
outputArray(preYYtext,(int)preYYleng);
6102
/* rule 140 can match eol */
6114
outputChar(*preYYtext);
6121
g_defLitText+=preYYtext;
6122
g_defText+=escapeAt(preYYtext);
6129
g_defLitText+=preYYtext;
6130
g_defText+=preYYtext;
6131
BEGIN(g_lastCContext);
6135
/* rule 144 can match eol */
6141
g_defLitText+=preYYtext;
6148
{ // see bug 594021 for a usecase for this rule
6149
if (g_lastCContext==SkipCPPBlock)
6162
{ BEGIN(g_lastCContext); }
6180
/* rule 150 can match eol */
6183
{ g_yyLineNr++; outputChar('\n'); }
6194
outputArray(preYYtext,(int)preYYleng);
6198
/* rule 153 can match eol */
6203
BEGIN(g_lastCPPContext);
6210
outputChar('/');outputChar('*');
6217
outputChar('/');outputChar('/');
6224
outputArray(preYYtext,(int)preYYleng);
6231
outputChar(*preYYtext);
6259
g_defLitText+=preYYtext;
6266
g_defLitText+=preYYtext;
6274
if ((n=(*g_argDict)[preYYtext]))
6276
//if (!g_quoteArg) g_defText+=' ';
6279
numStr.sprintf("%d",*n);
6281
//if (!g_quoteArg) g_defText+=' ';
6285
g_defText+=preYYtext;
6290
g_defText+=preYYtext;
6303
g_defLitText+=preYYtext;
6304
g_defText+=preYYtext;
6308
/* rule 165 can match eol */
6312
g_defLitText+=preYYtext;
6320
/* rule 166 can match eol */
6324
QCString comment=extractTrailingComment(g_defLitText);
6325
g_defLitText+=preYYtext;
6326
if (!comment.isEmpty())
6328
outputArray(comment,comment.length());
6329
g_defLitText=g_defLitText.left(g_defLitText.length()-comment.length()-1);
6333
//printf("Define name=`%s' text=`%s' litTexti=`%s'\n",g_defName.data(),g_defText.data(),g_defLitText.data());
6334
if (g_includeStack.isEmpty() || g_curlyCount>0)
6338
def=DefineManager::instance().isDefined(g_defName);
6339
if (def==0) // new define
6341
//printf("new define '%s'!\n",g_defName.data());
6342
Define *nd = newDefine();
6343
DefineManager::instance().addDefine(g_yyFileName,nd);
6345
// also add it to the local file list if it is a source file
6346
//if (g_isSource && g_includeStack.isEmpty())
6348
// g_fileDefineDict->insert(g_defName,nd);
6351
else if (def /*&& macroIsAccessible(def)*/)
6352
// name already exists
6354
//printf("existing define!\n");
6355
//printf("define found\n");
6356
if (def->undef) // undefined name
6359
def->name = g_defName;
6360
def->definition = g_defText.stripWhiteSpace();
6361
def->nargs = g_defArgs;
6362
def->fileName = g_yyFileName.copy();
6363
def->lineNr = g_yyLineNr-g_yyMLines;
6364
def->columnNr = g_yyColNr;
6368
//printf("error: define %s is defined more than once!\n",g_defName.data());
6371
delete g_argDict; g_argDict=0;
6374
g_lastGuardName.resize(0);
6381
{ g_defText += ' '; g_defLitText+=preYYtext; }
6386
{ g_defText += "##"; g_defLitText+=preYYtext; }
6391
{ g_defText += "@@"; g_defLitText+=preYYtext; }
6397
g_defText += *preYYtext;
6398
g_defLitText+=preYYtext;
6399
if (!g_insideComment)
6401
BEGIN(SkipDoubleQuote);
6408
{ g_defText += *preYYtext;
6409
g_defLitText+=preYYtext;
6410
if (!g_insideComment)
6412
BEGIN(SkipSingleQuote);
6419
{ g_defText += preYYtext; g_defLitText+=preYYtext; }
6424
{ g_defText += preYYtext; g_defLitText+=preYYtext; }
6430
g_defText += *preYYtext; g_defLitText+=preYYtext;
6438
g_defText += preYYtext; g_defLitText+=preYYtext;
6445
g_defText += *preYYtext; g_defLitText+=preYYtext;
6452
{ g_defText += *preYYtext; g_defLitText+=preYYtext; }
6457
{ g_defText += *preYYtext; g_defLitText+=preYYtext; }
6462
{ g_defText += *preYYtext; g_defLitText+=preYYtext; }
6464
case YY_STATE_EOF(INITIAL):
6465
case YY_STATE_EOF(Start):
6466
case YY_STATE_EOF(Command):
6467
case YY_STATE_EOF(SkipCommand):
6468
case YY_STATE_EOF(SkipLine):
6469
case YY_STATE_EOF(SkipString):
6470
case YY_STATE_EOF(CopyLine):
6471
case YY_STATE_EOF(CopyString):
6472
case YY_STATE_EOF(Include):
6473
case YY_STATE_EOF(IncludeID):
6474
case YY_STATE_EOF(EndImport):
6475
case YY_STATE_EOF(DefName):
6476
case YY_STATE_EOF(DefineArg):
6477
case YY_STATE_EOF(DefineText):
6478
case YY_STATE_EOF(SkipCPPBlock):
6479
case YY_STATE_EOF(Ifdef):
6480
case YY_STATE_EOF(Ifndef):
6481
case YY_STATE_EOF(SkipCComment):
6482
case YY_STATE_EOF(ArgCopyCComment):
6483
case YY_STATE_EOF(CopyCComment):
6484
case YY_STATE_EOF(SkipVerbatim):
6485
case YY_STATE_EOF(SkipCPPComment):
6486
case YY_STATE_EOF(RemoveCComment):
6487
case YY_STATE_EOF(RemoveCPPComment):
6488
case YY_STATE_EOF(Guard):
6489
case YY_STATE_EOF(DefinedExpr1):
6490
case YY_STATE_EOF(DefinedExpr2):
6491
case YY_STATE_EOF(SkipDoubleQuote):
6492
case YY_STATE_EOF(SkipSingleQuote):
6493
case YY_STATE_EOF(UndefName):
6494
case YY_STATE_EOF(IgnoreLine):
6495
case YY_STATE_EOF(FindDefineArgs):
6496
case YY_STATE_EOF(ReadString):
6497
case YY_STATE_EOF(CondLineC):
6498
case YY_STATE_EOF(CondLineCpp):
6499
case YY_STATE_EOF(SkipCond):
6502
DBG_CTX((stderr,"End of include file\n"));
6503
//printf("Include stack depth=%d\n",g_includeStack.count());
6504
if (g_includeStack.isEmpty())
6506
DBG_CTX((stderr,"Terminating scanner!\n"));
6511
FileState *fs=g_includeStack.pop();
6512
//fileDefineCache->merge(g_yyFileName,fs->fileName);
6513
YY_BUFFER_STATE oldBuf = YY_CURRENT_BUFFER;
6514
preYY_switch_to_buffer(fs->bufState );
6515
preYY_delete_buffer(oldBuf );
6516
g_yyLineNr = fs->lineNr;
6517
//preYYin = fs->oldYYin;
6518
g_inputBuf = fs->oldFileBuf;
6519
g_inputBufPos = fs->oldFileBufPos;
6520
setFileName(fs->fileName);
6521
DBG_CTX((stderr,"######## FileName %s\n",g_yyFileName.data()));
6523
// Deal with file changes due to
6524
// #include's within { .. } blocks
6525
QCString lineStr(15+g_yyFileName.length());
6526
lineStr.sprintf("# %d \"%s\" 2",g_yyLineNr,g_yyFileName.data());
6527
outputArray(lineStr.data(),lineStr.length());
6534
*yy_cp = (yy_hold_char); /* undo effects of setting up preYYtext */
6535
(yy_c_buf_p) = yy_cp = yy_bp + 2;
6536
YY_DO_BEFORE_ACTION; /* set up preYYtext again */
6542
if (YY_START==SkipVerbatim || YY_START==SkipCond)
6548
outputArray(preYYtext,(int)preYYleng);
6549
g_lastCContext=YY_START;
6551
if (preYYleng==3) g_lastGuardName.resize(0); // reset guard in case the #define is documented!
6552
BEGIN(SkipCComment);
6560
if (YY_START==SkipVerbatim || YY_START==SkipCond)
6566
outputArray(preYYtext,(int)preYYleng);
6567
g_lastCPPContext=YY_START;
6568
if (preYYleng==3) g_lastGuardName.resize(0); // reset guard in case the #define is documented!
6569
BEGIN(SkipCPPComment);
6574
/* rule 183 can match eol */
6586
g_expectGuard = FALSE;
6587
outputChar(*preYYtext);
6595
#line 6596 "<stdout>"
6597
case YY_END_OF_BUFFER:
6599
/* Amount of text matched not including the EOB char. */
6600
int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
6602
/* Undo the effects of YY_DO_BEFORE_ACTION. */
6603
*yy_cp = (yy_hold_char);
6604
YY_RESTORE_YY_MORE_OFFSET
6606
if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
6608
/* We're scanning a new file or input source. It's
6609
* possible that this happened because the user
6610
* just pointed preYYin at a new source and called
6611
* preYYlex(). If so, then we have to assure
6612
* consistency between YY_CURRENT_BUFFER and our
6613
* globals. Here is the right place to do so, because
6614
* this is the first action (other than possibly a
6615
* back-up) that will match for the new input source.
6617
(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6618
YY_CURRENT_BUFFER_LVALUE->yy_input_file = preYYin;
6619
YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
6622
/* Note that here we test for yy_c_buf_p "<=" to the position
6623
* of the first EOB in the buffer, since yy_c_buf_p will
6624
* already have been incremented past the NUL character
6625
* (since all states make transitions on EOB to the
6626
* end-of-buffer state). Contrast this with the test
6629
if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6630
{ /* This was really a NUL. */
6631
yy_state_type yy_next_state;
6633
(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
6635
yy_current_state = yy_get_previous_state( );
6637
/* Okay, we're now positioned to make the NUL
6638
* transition. We couldn't have
6639
* yy_get_previous_state() go ahead and do it
6640
* for us because it doesn't know how to deal
6641
* with the possibility of jamming (and we don't
6642
* want to build jamming into it because then it
6643
* will run more slowly).
6646
yy_next_state = yy_try_NUL_trans( yy_current_state );
6648
yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6650
if ( yy_next_state )
6652
/* Consume the NUL. */
6653
yy_cp = ++(yy_c_buf_p);
6654
yy_current_state = yy_next_state;
6660
yy_cp = (yy_c_buf_p);
6661
goto yy_find_action;
6665
else switch ( yy_get_next_buffer( ) )
6667
case EOB_ACT_END_OF_FILE:
6669
(yy_did_buffer_switch_on_eof) = 0;
6673
/* Note: because we've taken care in
6674
* yy_get_next_buffer() to have set up
6675
* preYYtext, we can now set up
6676
* yy_c_buf_p so that if some total
6677
* hoser (like flex itself) wants to
6678
* call the scanner after we return the
6679
* YY_NULL, it'll still work - another
6680
* YY_NULL will get returned.
6682
(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
6684
yy_act = YY_STATE_EOF(YY_START);
6690
if ( ! (yy_did_buffer_switch_on_eof) )
6696
case EOB_ACT_CONTINUE_SCAN:
6698
(yytext_ptr) + yy_amount_of_matched_text;
6700
yy_current_state = yy_get_previous_state( );
6702
yy_cp = (yy_c_buf_p);
6703
yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6706
case EOB_ACT_LAST_MATCH:
6708
&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6710
yy_current_state = yy_get_previous_state( );
6712
yy_cp = (yy_c_buf_p);
6713
yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6714
goto yy_find_action;
6721
"fatal flex scanner internal error--no action found" );
6722
} /* end of action switch */
6723
} /* end of scanning one token */
6724
} /* end of preYYlex */
6726
/* yy_get_next_buffer - try to read in a new buffer
6728
* Returns a code representing an action:
6729
* EOB_ACT_LAST_MATCH -
6730
* EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6731
* EOB_ACT_END_OF_FILE - end of file
6733
static int yy_get_next_buffer (void)
6735
register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6736
register char *source = (yytext_ptr);
6737
register int number_to_move, i;
6740
if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6742
"fatal flex scanner internal error--end of buffer missed" );
6744
if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6745
{ /* Don't try to fill the buffer, so this is an EOF. */
6746
if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6748
/* We matched a single character, the EOB, so
6749
* treat this as a final EOF.
6751
return EOB_ACT_END_OF_FILE;
6756
/* We matched some text prior to the EOB, first
6759
return EOB_ACT_LAST_MATCH;
6763
/* Try to read more data. */
6765
/* First move last chars to start of buffer. */
6766
number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
6768
for ( i = 0; i < number_to_move; ++i )
6769
*(dest++) = *(source++);
6771
if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6772
/* don't do the read, it's not guaranteed to return an EOF,
6775
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6779
yy_size_t num_to_read =
6780
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6782
while ( num_to_read <= 0 )
6783
{ /* Not enough room in the buffer - grow it. */
6786
"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
6790
if ( num_to_read > YY_READ_BUF_SIZE )
6791
num_to_read = YY_READ_BUF_SIZE;
6793
/* Read in more data. */
6794
YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6795
(yy_n_chars), num_to_read );
6797
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6800
if ( (yy_n_chars) == 0 )
6802
if ( number_to_move == YY_MORE_ADJ )
6804
ret_val = EOB_ACT_END_OF_FILE;
6805
preYYrestart(preYYin );
6810
ret_val = EOB_ACT_LAST_MATCH;
6811
YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6812
YY_BUFFER_EOF_PENDING;
6817
ret_val = EOB_ACT_CONTINUE_SCAN;
6819
if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6820
/* Extend the array by 50%, plus the number we really need. */
6821
yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6822
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) preYYrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
6823
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6824
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6827
(yy_n_chars) += number_to_move;
6828
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6829
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6831
(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6836
/* yy_get_previous_state - get the state just before the EOB char was reached */
6838
static yy_state_type yy_get_previous_state (void)
6840
register yy_state_type yy_current_state;
6841
register char *yy_cp;
6843
yy_current_state = (yy_start);
6844
yy_current_state += YY_AT_BOL();
6846
(yy_state_ptr) = (yy_state_buf);
6847
*(yy_state_ptr)++ = yy_current_state;
6849
for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6851
register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 59);
6852
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6854
yy_current_state = (int) yy_def[yy_current_state];
6855
if ( yy_current_state >= 1285 )
6856
yy_c = yy_meta[(unsigned int) yy_c];
6858
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6859
*(yy_state_ptr)++ = yy_current_state;
6862
return yy_current_state;
6865
/* yy_try_NUL_trans - try to make a transition on the NUL character
6868
* next_state = yy_try_NUL_trans( current_state );
6870
static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6872
register int yy_is_jam;
6874
register YY_CHAR yy_c = 59;
6875
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6877
yy_current_state = (int) yy_def[yy_current_state];
6878
if ( yy_current_state >= 1285 )
6879
yy_c = yy_meta[(unsigned int) yy_c];
6881
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6882
yy_is_jam = (yy_current_state == 1284);
6884
*(yy_state_ptr)++ = yy_current_state;
6886
return yy_is_jam ? 0 : yy_current_state;
6889
static void yyunput (int c, register char * yy_bp )
6891
register char *yy_cp;
6893
yy_cp = (yy_c_buf_p);
6895
/* undo effects of setting up preYYtext */
6896
*yy_cp = (yy_hold_char);
6898
if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
6899
{ /* need to shift things up to make room */
6900
/* +2 for EOB chars. */
6901
register yy_size_t number_to_move = (yy_n_chars) + 2;
6902
register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
6903
YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
6904
register char *source =
6905
&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
6907
while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6908
*--dest = *--source;
6910
yy_cp += (int) (dest - source);
6911
yy_bp += (int) (dest - source);
6912
YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
6913
(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
6915
if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
6916
YY_FATAL_ERROR( "flex scanner push-back overflow" );
6919
*--yy_cp = (char) c;
6921
(yytext_ptr) = yy_bp;
6922
(yy_hold_char) = *yy_cp;
6923
(yy_c_buf_p) = yy_cp;
6928
static int yyinput (void)
6930
static int input (void)
6936
*(yy_c_buf_p) = (yy_hold_char);
6938
if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6940
/* yy_c_buf_p now points to the character we want to return.
6941
* If this occurs *before* the EOB characters, then it's a
6942
* valid NUL; if not, then we've hit the end of the buffer.
6944
if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6945
/* This was really a NUL. */
6946
*(yy_c_buf_p) = '\0';
6949
{ /* need more input */
6950
yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
6953
switch ( yy_get_next_buffer( ) )
6955
case EOB_ACT_LAST_MATCH:
6956
/* This happens because yy_g_n_b()
6957
* sees that we've accumulated a
6958
* token and flags that we need to
6959
* try matching the token before
6960
* proceeding. But for input(),
6961
* there's no matching to consider.
6962
* So convert the EOB_ACT_LAST_MATCH
6963
* to EOB_ACT_END_OF_FILE.
6966
/* Reset buffer status. */
6967
preYYrestart(preYYin );
6971
case EOB_ACT_END_OF_FILE:
6976
if ( ! (yy_did_buffer_switch_on_eof) )
6985
case EOB_ACT_CONTINUE_SCAN:
6986
(yy_c_buf_p) = (yytext_ptr) + offset;
6992
c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6993
*(yy_c_buf_p) = '\0'; /* preserve preYYtext */
6994
(yy_hold_char) = *++(yy_c_buf_p);
6996
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
7000
#endif /* ifndef YY_NO_INPUT */
7002
/** Immediately switch to a different input stream.
7003
* @param input_file A readable stream.
7005
* @note This function does not reset the start condition to @c INITIAL .
7007
void preYYrestart (FILE * input_file )
7010
if ( ! YY_CURRENT_BUFFER ){
7011
preYYensure_buffer_stack ();
7012
YY_CURRENT_BUFFER_LVALUE =
7013
preYY_create_buffer(preYYin,YY_BUF_SIZE );
7016
preYY_init_buffer(YY_CURRENT_BUFFER,input_file );
7017
preYY_load_buffer_state( );
7020
/** Switch to a different input buffer.
7021
* @param new_buffer The new input buffer.
7024
void preYY_switch_to_buffer (YY_BUFFER_STATE new_buffer )
7027
/* TODO. We should be able to replace this entire function body
7029
* preYYpop_buffer_state();
7030
* preYYpush_buffer_state(new_buffer);
7032
preYYensure_buffer_stack ();
7033
if ( YY_CURRENT_BUFFER == new_buffer )
7036
if ( YY_CURRENT_BUFFER )
7038
/* Flush out information for old buffer. */
7039
*(yy_c_buf_p) = (yy_hold_char);
7040
YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7041
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7044
YY_CURRENT_BUFFER_LVALUE = new_buffer;
7045
preYY_load_buffer_state( );
7047
/* We don't actually know whether we did this switch during
7048
* EOF (preYYwrap()) processing, but the only time this flag
7049
* is looked at is after preYYwrap() is called, so it's safe
7050
* to go ahead and always set it.
7052
(yy_did_buffer_switch_on_eof) = 1;
7055
static void preYY_load_buffer_state (void)
7057
(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
7058
(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
7059
preYYin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
7060
(yy_hold_char) = *(yy_c_buf_p);
7063
/** Allocate and initialize an input buffer state.
7064
* @param file A readable stream.
7065
* @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
7067
* @return the allocated buffer state.
7069
YY_BUFFER_STATE preYY_create_buffer (FILE * file, int size )
7073
b = (YY_BUFFER_STATE) preYYalloc(sizeof( struct yy_buffer_state ) );
7075
YY_FATAL_ERROR( "out of dynamic memory in preYY_create_buffer()" );
7077
b->yy_buf_size = size;
7079
/* yy_ch_buf has to be 2 characters longer than the size given because
7080
* we need to put in 2 end-of-buffer characters.
7082
b->yy_ch_buf = (char *) preYYalloc(b->yy_buf_size + 2 );
7083
if ( ! b->yy_ch_buf )
7084
YY_FATAL_ERROR( "out of dynamic memory in preYY_create_buffer()" );
7086
b->yy_is_our_buffer = 1;
7088
preYY_init_buffer(b,file );
7093
/** Destroy the buffer.
7094
* @param b a buffer created with preYY_create_buffer()
7097
void preYY_delete_buffer (YY_BUFFER_STATE b )
7103
if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
7104
YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
7106
if ( b->yy_is_our_buffer )
7107
preYYfree((void *) b->yy_ch_buf );
7109
preYYfree((void *) b );
7113
extern int isatty (int );
7114
#endif /* __cplusplus */
7116
/* Initializes or reinitializes a buffer.
7117
* This function is sometimes called more than once on the same buffer,
7118
* such as during a preYYrestart() or at EOF.
7120
static void preYY_init_buffer (YY_BUFFER_STATE b, FILE * file )
7125
preYY_flush_buffer(b );
7127
b->yy_input_file = file;
7128
b->yy_fill_buffer = 1;
7130
/* If b is the current buffer, then preYY_init_buffer was _probably_
7131
* called from preYYrestart() or through yy_get_next_buffer.
7132
* In that case, we don't want to reset the lineno or column.
7134
if (b != YY_CURRENT_BUFFER){
7135
b->yy_bs_lineno = 1;
7136
b->yy_bs_column = 0;
7139
b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
7144
/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
7145
* @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
7148
void preYY_flush_buffer (YY_BUFFER_STATE b )
7155
/* We always need two end-of-buffer characters. The first causes
7156
* a transition to the end-of-buffer state. The second causes
7157
* a jam in that state.
7159
b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
7160
b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
7162
b->yy_buf_pos = &b->yy_ch_buf[0];
7165
b->yy_buffer_status = YY_BUFFER_NEW;
7167
if ( b == YY_CURRENT_BUFFER )
7168
preYY_load_buffer_state( );
7171
/** Pushes the new state onto the stack. The new state becomes
7172
* the current state. This function will allocate the stack
7174
* @param new_buffer The new state.
7177
void preYYpush_buffer_state (YY_BUFFER_STATE new_buffer )
7179
if (new_buffer == NULL)
7182
preYYensure_buffer_stack();
7184
/* This block is copied from preYY_switch_to_buffer. */
7185
if ( YY_CURRENT_BUFFER )
7187
/* Flush out information for old buffer. */
7188
*(yy_c_buf_p) = (yy_hold_char);
7189
YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7190
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7193
/* Only push if top exists. Otherwise, replace top. */
7194
if (YY_CURRENT_BUFFER)
7195
(yy_buffer_stack_top)++;
7196
YY_CURRENT_BUFFER_LVALUE = new_buffer;
7198
/* copied from preYY_switch_to_buffer. */
7199
preYY_load_buffer_state( );
7200
(yy_did_buffer_switch_on_eof) = 1;
7203
/** Removes and deletes the top of the stack, if present.
7204
* The next element becomes the new top.
7207
void preYYpop_buffer_state (void)
7209
if (!YY_CURRENT_BUFFER)
7212
preYY_delete_buffer(YY_CURRENT_BUFFER );
7213
YY_CURRENT_BUFFER_LVALUE = NULL;
7214
if ((yy_buffer_stack_top) > 0)
7215
--(yy_buffer_stack_top);
7217
if (YY_CURRENT_BUFFER) {
7218
preYY_load_buffer_state( );
7219
(yy_did_buffer_switch_on_eof) = 1;
7223
/* Allocates the stack if it does not exist.
7224
* Guarantees space for at least one push.
7226
static void preYYensure_buffer_stack (void)
7228
yy_size_t num_to_alloc;
7230
if (!(yy_buffer_stack)) {
7232
/* First allocation is just for 2 elements, since we don't know if this
7233
* scanner will even need a stack. We use 2 instead of 1 to avoid an
7234
* immediate realloc on the next call.
7237
(yy_buffer_stack) = (struct yy_buffer_state**)preYYalloc
7238
(num_to_alloc * sizeof(struct yy_buffer_state*)
7240
if ( ! (yy_buffer_stack) )
7241
YY_FATAL_ERROR( "out of dynamic memory in preYYensure_buffer_stack()" );
7243
memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
7245
(yy_buffer_stack_max) = num_to_alloc;
7246
(yy_buffer_stack_top) = 0;
7250
if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
7252
/* Increase the buffer to prepare for a possible push. */
7253
int grow_size = 8 /* arbitrary grow size */;
7255
num_to_alloc = (yy_buffer_stack_max) + grow_size;
7256
(yy_buffer_stack) = (struct yy_buffer_state**)preYYrealloc
7258
num_to_alloc * sizeof(struct yy_buffer_state*)
7260
if ( ! (yy_buffer_stack) )
7261
YY_FATAL_ERROR( "out of dynamic memory in preYYensure_buffer_stack()" );
7263
/* zero only the new slots.*/
7264
memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
7265
(yy_buffer_stack_max) = num_to_alloc;
7269
/** Setup the input buffer state to scan directly from a user-specified character buffer.
7270
* @param base the character buffer
7271
* @param size the size in bytes of the character buffer
7273
* @return the newly allocated buffer state object.
7275
YY_BUFFER_STATE preYY_scan_buffer (char * base, yy_size_t size )
7280
base[size-2] != YY_END_OF_BUFFER_CHAR ||
7281
base[size-1] != YY_END_OF_BUFFER_CHAR )
7282
/* They forgot to leave room for the EOB's. */
7285
b = (YY_BUFFER_STATE) preYYalloc(sizeof( struct yy_buffer_state ) );
7287
YY_FATAL_ERROR( "out of dynamic memory in preYY_scan_buffer()" );
7289
b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
7290
b->yy_buf_pos = b->yy_ch_buf = base;
7291
b->yy_is_our_buffer = 0;
7292
b->yy_input_file = 0;
7293
b->yy_n_chars = b->yy_buf_size;
7294
b->yy_is_interactive = 0;
7296
b->yy_fill_buffer = 0;
7297
b->yy_buffer_status = YY_BUFFER_NEW;
7299
preYY_switch_to_buffer(b );
7304
/** Setup the input buffer state to scan a string. The next call to preYYlex() will
7305
* scan from a @e copy of @a str.
7306
* @param yystr a NUL-terminated string to scan
7308
* @return the newly allocated buffer state object.
7309
* @note If you want to scan bytes that may contain NUL values, then use
7310
* preYY_scan_bytes() instead.
7312
YY_BUFFER_STATE preYY_scan_string (yyconst char * yystr )
7315
return preYY_scan_bytes(yystr,strlen(yystr) );
7318
/** Setup the input buffer state to scan the given bytes. The next call to preYYlex() will
7319
* scan from a @e copy of @a bytes.
7320
* @param bytes the byte buffer to scan
7321
* @param len the number of bytes in the buffer pointed to by @a bytes.
7323
* @return the newly allocated buffer state object.
7325
YY_BUFFER_STATE preYY_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
7331
/* Get memory for full buffer, including space for trailing EOB's. */
7332
n = _yybytes_len + 2;
7333
buf = (char *) preYYalloc(n );
7335
YY_FATAL_ERROR( "out of dynamic memory in preYY_scan_bytes()" );
7337
for ( i = 0; i < _yybytes_len; ++i )
7338
buf[i] = yybytes[i];
7340
buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
7342
b = preYY_scan_buffer(buf,n );
7344
YY_FATAL_ERROR( "bad buffer in preYY_scan_bytes()" );
7346
/* It's okay to grow etc. this buffer, and we should throw it
7347
* away when we're done.
7349
b->yy_is_our_buffer = 1;
7354
#ifndef YY_EXIT_FAILURE
7355
#define YY_EXIT_FAILURE 2
7358
static void yy_fatal_error (yyconst char* msg )
7360
(void) fprintf( stderr, "%s\n", msg );
7361
exit( YY_EXIT_FAILURE );
7364
/* Redefine yyless() so it works in section 3 code. */
7370
/* Undo effects of setting up preYYtext. */ \
7371
int yyless_macro_arg = (n); \
7372
YY_LESS_LINENO(yyless_macro_arg);\
7373
preYYtext[preYYleng] = (yy_hold_char); \
7374
(yy_c_buf_p) = preYYtext + yyless_macro_arg; \
7375
(yy_hold_char) = *(yy_c_buf_p); \
7376
*(yy_c_buf_p) = '\0'; \
7377
preYYleng = yyless_macro_arg; \
7381
/* Accessor methods (get/set functions) to struct members. */
7383
/** Get the current line number.
7386
int preYYget_lineno (void)
7392
/** Get the input stream.
7395
FILE *preYYget_in (void)
7400
/** Get the output stream.
7403
FILE *preYYget_out (void)
7408
/** Get the length of the current token.
7411
yy_size_t preYYget_leng (void)
7416
/** Get the current token.
7420
char *preYYget_text (void)
7425
/** Set the current line number.
7426
* @param line_number
7429
void preYYset_lineno (int line_number )
7432
preYYlineno = line_number;
7435
/** Set the input stream. This does not discard the current
7437
* @param in_str A readable stream.
7439
* @see preYY_switch_to_buffer
7441
void preYYset_in (FILE * in_str )
7446
void preYYset_out (FILE * out_str )
7448
preYYout = out_str ;
7451
int preYYget_debug (void)
7453
return preYY_flex_debug;
7456
void preYYset_debug (int bdebug )
7458
preYY_flex_debug = bdebug ;
7461
static int yy_init_globals (void)
7463
/* Initialization is the same as for the non-reentrant scanner.
7464
* This function is called from preYYlex_destroy(), so don't allocate here.
7467
(yy_buffer_stack) = 0;
7468
(yy_buffer_stack_top) = 0;
7469
(yy_buffer_stack_max) = 0;
7470
(yy_c_buf_p) = (char *) 0;
7476
(yy_full_match) = 0;
7479
/* Defined in main.c */
7484
preYYin = (FILE *) 0;
7485
preYYout = (FILE *) 0;
7488
/* For future reference: Set errno on error, since we are called by
7494
/* preYYlex_destroy is for both reentrant and non-reentrant scanners. */
7495
int preYYlex_destroy (void)
7498
/* Pop the buffer stack, destroying each element. */
7499
while(YY_CURRENT_BUFFER){
7500
preYY_delete_buffer(YY_CURRENT_BUFFER );
7501
YY_CURRENT_BUFFER_LVALUE = NULL;
7502
preYYpop_buffer_state();
7505
/* Destroy the stack itself. */
7506
preYYfree((yy_buffer_stack) );
7507
(yy_buffer_stack) = NULL;
7509
preYYfree ( (yy_state_buf) );
7510
(yy_state_buf) = NULL;
7512
/* Reset the globals. This is important in a non-reentrant scanner so the next time
7513
* preYYlex() is called, initialization will occur. */
7520
* Internal utility routines.
7524
static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
7527
for ( i = 0; i < n; ++i )
7532
#ifdef YY_NEED_STRLEN
7533
static int yy_flex_strlen (yyconst char * s )
7536
for ( n = 0; s[n]; ++n )
7543
void *preYYalloc (yy_size_t size )
7545
return (void *) malloc( size );
7548
void *preYYrealloc (void * ptr, yy_size_t size )
7550
/* The cast to (char *) in the following accommodates both
7551
* implementations that use char* generic pointers, and those
7552
* that use void* generic pointers. It works with the latter
7553
* because both ANSI C and C++ allow castless assignment from
7554
* any pointer type to void*, and deal with argument conversions
7555
* as though doing an assignment.
7557
return (void *) realloc( (char *) ptr, size );
7560
void preYYfree (void * ptr )
7562
free( (char *) ptr ); /* see preYYrealloc() for (char *) cast */
7565
#define YYTABLES_NAME "yytables"
7571
/*@ ----------------------------------------------------------------------------
7574
static int getNextChar(const QCString &expr,QCString *rest,uint &pos)
7576
//printf("getNextChar(%s,%s,%d)\n",expr.data(),rest ? rest->data() : 0,pos);
7577
if (pos<expr.length())
7579
//printf("%c=expr()\n",expr.at(pos));
7580
return expr.at(pos++);
7582
else if (rest && !rest->isEmpty())
7585
*rest=rest->right(rest->length()-1);
7586
//printf("%c=rest\n",cc);
7592
//printf("%d=yyinput() %d\n",cc,EOF);
7597
static int getCurrentChar(const QCString &expr,QCString *rest,uint pos)
7599
//printf("getCurrentChar(%s,%s,%d)\n",expr.data(),rest ? rest->data() : 0,pos);
7600
if (pos<expr.length())
7602
//printf("%c=expr()\n",expr.at(pos));
7603
return expr.at(pos);
7605
else if (rest && !rest->isEmpty())
7608
//printf("%c=rest\n",cc);
7614
returnCharToStream(cc);
7616
//printf("%c=yyinput()\n",cc);
7621
static void unputChar(const QCString &expr,QCString *rest,uint &pos,char c)
7623
//printf("unputChar(%s,%s,%d,%c)\n",expr.data(),rest ? rest->data() : 0,pos,c);
7624
if (pos<expr.length())
7630
//printf("Prepending to rest!\n");
7631
char cs[2];cs[0]=c;cs[1]='\0';
7637
returnCharToStream(c);
7639
//printf("result: unputChar(%s,%s,%d,%c)\n",expr.data(),rest ? rest->data() : 0,pos,c);
7642
void addSearchDir(const char *dir)
7645
if (fi.isDir()) g_pathList->append(fi.absFilePath().utf8());
7648
void initPreprocessor()
7650
g_pathList = new QStrList;
7652
g_expandedDict = new DefineDict(17);
7655
void cleanUpPreprocessor()
7657
delete g_expandedDict; g_expandedDict=0;
7658
delete g_pathList; g_pathList=0;
7659
DefineManager::deleteInstance();
7663
void preprocessFile(const char *fileName,BufStr &input,BufStr &output)
7665
printlex(preYY_flex_debug, TRUE, __FILE__, fileName);
7666
uint orgOffset=output.curPos();
7667
//printf("##########################\n%s\n####################\n",
7670
g_macroExpansion = Config_getBool("MACRO_EXPANSION");
7671
g_expandOnlyPredef = Config_getBool("EXPAND_ONLY_PREDEF");
7677
g_outputBuf=&output;
7678
g_includeStack.setAutoDelete(TRUE);
7679
g_includeStack.clear();
7680
g_expandedDict->setAutoDelete(FALSE);
7681
g_expandedDict->clear();
7682
g_condStack.clear();
7683
g_condStack.setAutoDelete(TRUE);
7684
//g_fileDefineDict->clear();
7686
setFileName(fileName);
7687
g_inputFileDef = g_yyFileDef;
7688
DefineManager::instance().startContext(g_yyFileName);
7690
static bool firstTime=TRUE;
7693
// add predefined macros
7695
QStrList &predefList = Config_getList("PREDEFINED");
7696
QStrListIterator sli(predefList);
7697
for (sli.toFirst();(defStr=sli.current());++sli)
7699
QCString ds = defStr;
7700
int i_equals=ds.find('=');
7701
int i_obrace=ds.find('(');
7702
int i_cbrace=ds.find(')');
7703
bool nonRecursive = i_equals>0 && ds.at(i_equals-1)==':';
7705
if (i_obrace==0) continue; // no define name
7707
if (i_obrace<i_equals && i_cbrace<i_equals &&
7708
i_obrace!=-1 && i_cbrace!=-1 &&
7710
) // predefined function macro definition
7712
//printf("predefined function macro '%s'\n",defStr);
7713
QRegExp reId("[a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF]*"); // regexp matching an id
7714
QDict<int> argDict(17);
7715
argDict.setAutoDelete(TRUE);
7716
int i=i_obrace+1,p,l,count=0;
7717
// gather the formal arguments in a dictionary
7718
while (i<i_cbrace && (p=reId.match(ds,i,&l)))
7720
argDict.insert(ds.mid(p,l),new int(count++));
7723
// strip definition part
7724
QCString tmp=ds.right(ds.length()-i_equals-1);
7725
QCString definition;
7727
// substitute all occurrences of formal arguments by their
7728
// corresponding markers
7729
while ((p=reId.match(tmp,i,&l))!=-1)
7731
if (p>i) definition+=tmp.mid(i,p-i);
7733
if ((argIndex=argDict[tmp.mid(p,l)])!=0)
7736
marker.sprintf(" @%d ",*argIndex);
7741
definition+=tmp.mid(p,l);
7745
if (i<(int)tmp.length()) definition+=tmp.mid(i,tmp.length()-i);
7747
// add define definition to the dictionary of defines for this file
7748
QCString dname = ds.left(i_obrace);
7749
if (!dname.isEmpty())
7751
Define *def = new Define;
7753
def->definition = definition;
7755
def->isPredefined = TRUE;
7756
def->nonRecursive = nonRecursive;
7757
def->fileDef = g_yyFileDef;
7758
def->fileName = fileName;
7759
DefineManager::instance().addDefine(g_yyFileName,def);
7762
//printf("#define `%s' `%s' #nargs=%d\n",
7763
// def->name.data(),def->definition.data(),def->nargs);
7765
else if ((i_obrace==-1 || i_obrace>i_equals) &&
7766
(i_cbrace==-1 || i_cbrace>i_equals) &&
7767
!ds.isEmpty() && (int)ds.length()>i_equals
7768
) // predefined non-function macro definition
7770
//printf("predefined normal macro '%s'\n",defStr);
7771
Define *def = new Define;
7772
if (i_equals==-1) // simple define without argument
7775
def->definition = "1"; // substitute occurrences by 1 (true)
7777
else // simple define with argument
7779
int ine=i_equals - (nonRecursive ? 1 : 0);
7780
def->name = ds.left(ine);
7781
def->definition = ds.right(ds.length()-i_equals-1);
7783
if (!def->name.isEmpty())
7786
def->isPredefined = TRUE;
7787
def->nonRecursive = nonRecursive;
7788
def->fileDef = g_yyFileDef;
7789
def->fileName = fileName;
7790
DefineManager::instance().addDefine(g_yyFileName,def);
7797
//printf("#define `%s' `%s' #nargs=%d\n",
7798
// def->name.data(),def->definition.data(),def->nargs);
7811
g_expectGuard = guessSection(fileName)==Entry::HEADER_SEC;
7812
g_guardName.resize(0);
7813
g_lastGuardName.resize(0);
7814
g_guardExpr.resize(0);
7819
while (!g_condStack.isEmpty())
7821
CondCtx *ctx = g_condStack.pop();
7822
QCString sectionInfo = " ";
7823
if (ctx->sectionId!=" ") sectionInfo.sprintf(" with label %s ",ctx->sectionId.data());
7824
warn(fileName,ctx->lineNr,"Conditional section%sdoes not have "
7825
"a corresponding \\endcond command within this file.",sectionInfo.data());
7827
// make sure we don't extend a \cond with missing \endcond over multiple files (see bug 624829)
7828
forceEndCondSection();
7830
// remove locally defined macros so they can be redefined in another source file
7831
//if (g_fileDefineDict->count()>0)
7833
// QDictIterator<Define> di(*g_fileDefineDict);
7835
// for (di.toFirst();(d=di.current());++di)
7837
// g_globalDefineDict->remove(di.currentKey());
7839
// g_fileDefineDict->clear();
7842
if (Debug::isFlagSet(Debug::Preprocessor))
7844
char *orgPos=output.data()+orgOffset;
7845
char *newPos=output.data()+output.curPos();
7846
Debug::print(Debug::Preprocessor,0,"Preprocessor output (size: %d bytes):\n",newPos-orgPos);
7848
Debug::print(Debug::Preprocessor,0,"---------\n00001 ");
7849
while (orgPos<newPos)
7852
if (*orgPos=='\n') Debug::print(Debug::Preprocessor,0,"%05d ",++line);
7855
Debug::print(Debug::Preprocessor,0,"\n---------\n");
7856
if (DefineManager::instance().defineContext().count()>0)
7858
Debug::print(Debug::Preprocessor,0,"Macros accessible in this file:\n");
7859
Debug::print(Debug::Preprocessor,0,"---------\n");
7860
QDictIterator<Define> di(DefineManager::instance().defineContext());
7862
for (di.toFirst();(def=di.current());++di)
7864
Debug::print(Debug::Preprocessor,0,"%s ",def->name.data());
7866
Debug::print(Debug::Preprocessor,0,"\n---------\n");
7870
Debug::print(Debug::Preprocessor,0,"No macros accessible in this file.\n");
7873
DefineManager::instance().endContext();
7874
printlex(preYY_flex_debug, FALSE, __FILE__, fileName);
7877
void preFreeScanner()
7879
#if defined(YY_FLEX_SUBMINOR_VERSION)
7887
#if !defined(YY_FLEX_SUBMINOR_VERSION)
7888
extern "C" { // some bogus code to keep the compiler happy
7889
// int preYYwrap() { return 1 ; }
7890
void preYYdummy() { yy_flex_realloc(0,0); }