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