1#include "config.h"
2#include "util/configyyrename.h"
3
4#line 2 "<stdout>"
5
6#define  YY_INT_ALIGNED short int
7
8/* A lexical scanner generated by flex */
9
10#define FLEX_SCANNER
11#define YY_FLEX_MAJOR_VERSION 2
12#define YY_FLEX_MINOR_VERSION 6
13#define YY_FLEX_SUBMINOR_VERSION 4
14#if YY_FLEX_SUBMINOR_VERSION > 0
15#define FLEX_BETA
16#endif
17
18/* First, we deal with  platform-specific or compiler-specific issues. */
19
20/* begin standard C headers. */
21#include <stdio.h>
22#include <string.h>
23#include <errno.h>
24#include <stdlib.h>
25
26/* end standard C headers. */
27
28/* flex integer type definitions */
29
30#ifndef FLEXINT_H
31#define FLEXINT_H
32
33/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
34
35#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
36
37/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
38 * if you want the limit (max/min) macros for int types.
39 */
40#ifndef __STDC_LIMIT_MACROS
41#define __STDC_LIMIT_MACROS 1
42#endif
43
44#include <inttypes.h>
45typedef int8_t flex_int8_t;
46typedef uint8_t flex_uint8_t;
47typedef int16_t flex_int16_t;
48typedef uint16_t flex_uint16_t;
49typedef int32_t flex_int32_t;
50typedef uint32_t flex_uint32_t;
51#else
52typedef signed char flex_int8_t;
53typedef short int flex_int16_t;
54typedef int flex_int32_t;
55typedef unsigned char flex_uint8_t;
56typedef unsigned short int flex_uint16_t;
57typedef unsigned int flex_uint32_t;
58
59/* Limits of integral types. */
60#ifndef INT8_MIN
61#define INT8_MIN               (-128)
62#endif
63#ifndef INT16_MIN
64#define INT16_MIN              (-32767-1)
65#endif
66#ifndef INT32_MIN
67#define INT32_MIN              (-2147483647-1)
68#endif
69#ifndef INT8_MAX
70#define INT8_MAX               (127)
71#endif
72#ifndef INT16_MAX
73#define INT16_MAX              (32767)
74#endif
75#ifndef INT32_MAX
76#define INT32_MAX              (2147483647)
77#endif
78#ifndef UINT8_MAX
79#define UINT8_MAX              (255U)
80#endif
81#ifndef UINT16_MAX
82#define UINT16_MAX             (65535U)
83#endif
84#ifndef UINT32_MAX
85#define UINT32_MAX             (4294967295U)
86#endif
87
88#ifndef SIZE_MAX
89#define SIZE_MAX               (~(size_t)0)
90#endif
91
92#endif /* ! C99 */
93
94#endif /* ! FLEXINT_H */
95
96/* begin standard C++ headers. */
97
98/* TODO: this is always defined, so inline it */
99#define yyconst const
100
101#if defined(__GNUC__) && __GNUC__ >= 3
102#define yynoreturn __attribute__((__noreturn__))
103#else
104#define yynoreturn
105#endif
106
107/* Returned upon end-of-file. */
108#define YY_NULL 0
109
110/* Promotes a possibly negative, possibly signed char to an
111 *   integer in range [0..255] for use as an array index.
112 */
113#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
114
115/* Enter a start condition.  This macro really ought to take a parameter,
116 * but we do it the disgusting crufty way forced on us by the ()-less
117 * definition of BEGIN.
118 */
119#define BEGIN (yy_start) = 1 + 2 *
120/* Translate the current start state into a value that can be later handed
121 * to BEGIN to return to the state.  The YYSTATE alias is for lex
122 * compatibility.
123 */
124#define YY_START (((yy_start) - 1) / 2)
125#define YYSTATE YY_START
126/* Action number for EOF rule of a given start state. */
127#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
128/* Special action meaning "start processing a new file". */
129#define YY_NEW_FILE yyrestart( yyin  )
130#define YY_END_OF_BUFFER_CHAR 0
131
132/* Size of default input buffer. */
133#ifndef YY_BUF_SIZE
134#ifdef __ia64__
135/* On IA-64, the buffer size is 16k, not 8k.
136 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
137 * Ditto for the __ia64__ case accordingly.
138 */
139#define YY_BUF_SIZE 32768
140#else
141#define YY_BUF_SIZE 16384
142#endif /* __ia64__ */
143#endif
144
145/* The state buf must be large enough to hold one state per character in the main buffer.
146 */
147#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
148
149#ifndef YY_TYPEDEF_YY_BUFFER_STATE
150#define YY_TYPEDEF_YY_BUFFER_STATE
151typedef struct yy_buffer_state *YY_BUFFER_STATE;
152#endif
153
154#ifndef YY_TYPEDEF_YY_SIZE_T
155#define YY_TYPEDEF_YY_SIZE_T
156typedef size_t yy_size_t;
157#endif
158
159extern int yyleng;
160
161extern FILE *yyin, *yyout;
162
163#define EOB_ACT_CONTINUE_SCAN 0
164#define EOB_ACT_END_OF_FILE 1
165#define EOB_ACT_LAST_MATCH 2
166
167    #define YY_LESS_LINENO(n)
168    #define YY_LINENO_REWIND_TO(ptr)
169
170/* Return all but the first "n" matched characters back to the input stream. */
171#define yyless(n) \
172	do \
173		{ \
174		/* Undo effects of setting up yytext. */ \
175        int yyless_macro_arg = (n); \
176        YY_LESS_LINENO(yyless_macro_arg);\
177		*yy_cp = (yy_hold_char); \
178		YY_RESTORE_YY_MORE_OFFSET \
179		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
180		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
181		} \
182	while ( 0 )
183#define unput(c) yyunput( c, (yytext_ptr)  )
184
185#ifndef YY_STRUCT_YY_BUFFER_STATE
186#define YY_STRUCT_YY_BUFFER_STATE
187struct yy_buffer_state
188	{
189	FILE *yy_input_file;
190
191	char *yy_ch_buf;		/* input buffer */
192	char *yy_buf_pos;		/* current position in input buffer */
193
194	/* Size of input buffer in bytes, not including room for EOB
195	 * characters.
196	 */
197	int yy_buf_size;
198
199	/* Number of characters read into yy_ch_buf, not including EOB
200	 * characters.
201	 */
202	int yy_n_chars;
203
204	/* Whether we "own" the buffer - i.e., we know we created it,
205	 * and can realloc() it to grow it, and should free() it to
206	 * delete it.
207	 */
208	int yy_is_our_buffer;
209
210	/* Whether this is an "interactive" input source; if so, and
211	 * if we're using stdio for input, then we want to use getc()
212	 * instead of fread(), to make sure we stop fetching input after
213	 * each newline.
214	 */
215	int yy_is_interactive;
216
217	/* Whether we're considered to be at the beginning of a line.
218	 * If so, '^' rules will be active on the next match, otherwise
219	 * not.
220	 */
221	int yy_at_bol;
222
223    int yy_bs_lineno; /**< The line count. */
224    int yy_bs_column; /**< The column count. */
225
226	/* Whether to try to fill the input buffer when we reach the
227	 * end of it.
228	 */
229	int yy_fill_buffer;
230
231	int yy_buffer_status;
232
233#define YY_BUFFER_NEW 0
234#define YY_BUFFER_NORMAL 1
235	/* When an EOF's been seen but there's still some text to process
236	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
237	 * shouldn't try reading from the input source any more.  We might
238	 * still have a bunch of tokens to match, though, because of
239	 * possible backing-up.
240	 *
241	 * When we actually see the EOF, we change the status to "new"
242	 * (via yyrestart()), so that the user can continue scanning by
243	 * just pointing yyin at a new input file.
244	 */
245#define YY_BUFFER_EOF_PENDING 2
246
247	};
248#endif /* !YY_STRUCT_YY_BUFFER_STATE */
249
250/* Stack of input buffers. */
251static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
252static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
253static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
254
255/* We provide macros for accessing buffer states in case in the
256 * future we want to put the buffer states in a more general
257 * "scanner state".
258 *
259 * Returns the top of the stack, or NULL.
260 */
261#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
262                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
263                          : NULL)
264/* Same as previous macro, but useful when we know that the buffer stack is not
265 * NULL or when we need an lvalue. For internal use only.
266 */
267#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
268
269/* yy_hold_char holds the character lost when yytext is formed. */
270static char yy_hold_char;
271static int yy_n_chars;		/* number of characters read into yy_ch_buf */
272int yyleng;
273
274/* Points to current character in buffer. */
275static char *yy_c_buf_p = NULL;
276static int yy_init = 0;		/* whether we need to initialize */
277static int yy_start = 0;	/* start state number */
278
279/* Flag which is used to allow yywrap()'s to do buffer switches
280 * instead of setting up a fresh yyin.  A bit of a hack ...
281 */
282static int yy_did_buffer_switch_on_eof;
283
284void yyrestart ( FILE *input_file  );
285void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
286YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
287void yy_delete_buffer ( YY_BUFFER_STATE b  );
288void yy_flush_buffer ( YY_BUFFER_STATE b  );
289void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
290void yypop_buffer_state ( void );
291
292static void yyensure_buffer_stack ( void );
293static void yy_load_buffer_state ( void );
294static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
295#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
296
297YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
298YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
299YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
300
301void *yyalloc ( yy_size_t  );
302void *yyrealloc ( void *, yy_size_t  );
303void yyfree ( void *  );
304
305#define yy_new_buffer yy_create_buffer
306#define yy_set_interactive(is_interactive) \
307	{ \
308	if ( ! YY_CURRENT_BUFFER ){ \
309        yyensure_buffer_stack (); \
310		YY_CURRENT_BUFFER_LVALUE =    \
311            yy_create_buffer( yyin, YY_BUF_SIZE ); \
312	} \
313	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
314	}
315#define yy_set_bol(at_bol) \
316	{ \
317	if ( ! YY_CURRENT_BUFFER ){\
318        yyensure_buffer_stack (); \
319		YY_CURRENT_BUFFER_LVALUE =    \
320            yy_create_buffer( yyin, YY_BUF_SIZE ); \
321	} \
322	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
323	}
324#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
325
326/* Begin user sect3 */
327typedef flex_uint8_t YY_CHAR;
328
329FILE *yyin = NULL, *yyout = NULL;
330
331typedef int yy_state_type;
332
333extern int yylineno;
334int yylineno = 1;
335
336extern char *yytext;
337#ifdef yytext_ptr
338#undef yytext_ptr
339#endif
340#define yytext_ptr yytext
341
342static yy_state_type yy_get_previous_state ( void );
343static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
344static int yy_get_next_buffer ( void );
345static void yynoreturn yy_fatal_error ( const char* msg  );
346
347/* Done after the current pattern has been matched and before the
348 * corresponding action - sets up yytext.
349 */
350#define YY_DO_BEFORE_ACTION \
351	(yytext_ptr) = yy_bp; \
352	(yytext_ptr) -= (yy_more_len); \
353	yyleng = (int) (yy_cp - (yytext_ptr)); \
354	(yy_hold_char) = *yy_cp; \
355	*yy_cp = '\0'; \
356	(yy_c_buf_p) = yy_cp;
357#define YY_NUM_RULES 384
358#define YY_END_OF_BUFFER 385
359/* This struct is not used in this scanner,
360   but its presence is necessary. */
361struct yy_trans_info
362	{
363	flex_int32_t yy_verify;
364	flex_int32_t yy_nxt;
365	};
366static const flex_int16_t yy_accept[3807] =
367    {   0,
368        1,    1,  358,  358,  362,  362,  366,  366,  370,  370,
369        1,    1,  374,  374,  378,  378,  385,  382,    1,  356,
370      356,  383,    2,  382,  382,  382,  382,  382,  382,  382,
371      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
372      382,  382,  382,  382,  382,  383,  358,  359,  359,  360,
373      383,  362,  363,  363,  364,  383,  369,  366,  367,  367,
374      368,  383,  370,  371,  371,  372,  383,  381,  357,    2,
375      361,  381,  383,  377,  374,  375,  375,  376,  383,  378,
376      379,  379,  380,  383,  382,    0,    1,    2,    2,    2,
377        2,  382,  382,  382,  382,  382,  382,  382,  382,  382,
378
379      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
380      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
381      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
382      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
383      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
384      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
385      358,    0,  362,    0,  369,    0,  366,  370,    0,  381,
386        0,    2,    2,  381,  377,    0,  374,  378,    0,  382,
387      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
388      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
389
390      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
391      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
392      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
393      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
394      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
395      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
396      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
397      382,  382,  382,  382,  382,  382,  382,  382,  381,  382,
398      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
399      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
400
401      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
402      382,  382,  354,  382,  382,  382,  382,  382,  382,  382,
403      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
404      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
405      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
406      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
407      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
408      382,  382,  136,  382,  382,  382,  382,  382,  382,  382,
409      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
410      382,  382,  382,  382,  146,  382,  382,  382,  382,  382,
411
412      382,  382,  381,  382,  382,  382,  382,  382,  382,  382,
413      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
414      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
415      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
416      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
417      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
418      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
419      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
420      382,  382,  382,  382,  382,  382,  382,  382,  118,  382,
421      382,  353,  382,  382,  382,  382,  382,  382,  382,  382,
422
423        8,  382,  382,  382,  382,  382,  382,  382,  382,  382,
424      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
425      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
426      382,  382,  382,  137,  382,  382,  382,  382,  382,  382,
427      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
428      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
429      382,  382,  382,  382,  382,  382,  382,  151,  382,  382,
430      381,  382,  382,  382,  382,  382,  382,  382,  382,  382,
431      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
432      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
433
434      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
435      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
436      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
437      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
438      382,  382,  382,  382,  344,  382,  382,  382,  382,  382,
439      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
440      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
441      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
442      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
443      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
444
445      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
446      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
447      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
448      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
449      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
450      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
451      382,  382,  381,  382,  382,  382,  382,  382,  382,  382,
452      382,  382,  382,  382,  382,  382,   71,  382,  382,  382,
453      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
454      382,  382,  266,  382,   14,   15,  382,  382,   20,   19,
455
456      382,  382,  245,  382,  382,  382,  382,  382,  382,  382,
457      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
458      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
459      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
460      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
461      382,  382,  382,  382,  382,  382,  382,  144,  382,  382,
462      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
463      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
464      382,  382,  382,  382,  382,  382,  382,  243,  382,  382,
465      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
466
467      382,  382,  382,  382,  382,  382,  382,  382,  382,    3,
468      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
469      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
470      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
471      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
472      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
473      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
474      382,  381,  382,  382,  382,  382,  382,  382,  382,  382,
475      334,  382,  382,  382,  333,  382,  382,  382,  382,  382,
476      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
477
478      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
479      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
480      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
481      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
482      382,  382,  382,  382,  382,  382,  382,  382,  365,  382,
483      382,  382,  382,  382,  382,  382,  382,   70,  382,  382,
484      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
485      382,  382,  382,  382,   74,  382,  303,  382,  382,  382,
486      382,  382,  382,  382,  382,  382,  382,  382,  345,  346,
487      382,  382,  382,  382,  382,  382,  382,  382,  382,   75,
488
489      382,  382,  145,  382,  382,  382,  382,  382,  382,  382,
490      382,  382,  382,  382,  382,  382,  382,  382,  382,  140,
491      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
492      232,  382,  382,  382,  382,  382,  382,  382,  382,  382,
493      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
494      382,  382,  382,  382,   22,  382,  382,  382,  382,  382,
495      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
496      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
497      382,  382,  382,  382,  382,  382,  382,  172,  382,  382,
498      382,  382,  382,  381,  365,  382,  382,  382,  382,  382,
499
500      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
501      382,  382,  382,  382,  382,  382,  382,  382,  382,  116,
502      382,  382,  382,  382,  382,  382,  382,  382,  311,  382,
503      382,  382,  382,  382,  382,  382,  382,  382,  382,   16,
504      382,  382,  382,  382,  382,  382,  382,  382,  200,  382,
505      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
506      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
507      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
508      382,  171,  382,  382,  382,  382,  382,  382,  382,  382,
509      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
510
511      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
512      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
513      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
514      382,  115,  382,  382,  382,  382,  382,  382,  382,  382,
515      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
516      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
517      382,  382,  382,  382,   37,  382,  382,  382,  382,  382,
518      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
519      382,  382,  382,  382,  382,  382,  382,   38,  382,  382,
520      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
521
522      382,  382,  382,  382,   72,  382,  382,  382,  382,  382,
523      382,  382,  382,  382,  382,  143,  382,  382,  382,  381,
524      382,  382,  382,  382,  382,  382,  135,  382,  382,  382,
525      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
526      382,  382,  382,  382,   73,  382,  382,  382,  382,  382,
527      382,  382,  382,  382,  382,  382,  382,  382,  270,  382,
528      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
529      382,  382,  382,  201,  382,  382,  382,  382,  382,  382,
530      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
531      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
532
533      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
534      382,  382,  382,  382,  382,   60,  382,  382,  382,  382,
535      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
536      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
537      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
538      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
539      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
540      382,  382,  382,  382,  289,  382,  382,  382,  382,  382,
541      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
542      382,  382,  382,  382,  382,  382,   65,  382,   66,  382,
543
544      382,  382,  382,  382,  382,  119,  382,  120,  382,  382,
545      382,  382,  382,  117,  382,  382,  382,  382,  382,  382,
546      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
547      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
548      382,  382,  382,  382,  382,  382,  382,    7,  382,  382,
549      382,  382,  381,  382,  382,  382,  382,  382,  382,  382,
550      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
551      382,  382,  382,  382,  255,  382,  382,  382,  382,  382,
552      175,  382,  382,  382,  382,  382,  382,  382,  382,  382,
553      382,  382,  382,  382,  382,  382,  382,  271,  382,  382,
554
555      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
556      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
557      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
558      382,  382,  382,  382,  382,  382,  382,  382,  382,   51,
559      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
560      382,   61,  382,  382,  382,  382,  382,  382,  382,  382,
561      382,  382,  382,  382,  382,  382,  223,  382,  222,  382,
562      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
563      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
564      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
565
566      382,  382,   17,   18,  382,  382,  382,  382,  382,  382,
567      382,  382,  382,  382,  382,  382,  382,  382,  382,   76,
568      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
569      382,  382,  382,  231,  382,  382,  382,  382,  382,  382,
570      382,  122,  382,  121,  382,  382,  382,  382,  382,  382,
571      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
572      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
573      214,  382,  382,  382,  382,  382,  382,  382,  382,  382,
574      152,  382,  382,  382,  381,  382,  382,  382,  382,  382,
575      382,  382,  382,  382,  382,  382,  382,  110,  382,  382,
576
577      382,  382,  382,  382,  382,  382,  382,  382,   97,  382,
578      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
579      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
580      382,  382,  382,  382,  382,  244,  382,  382,  382,  382,
581      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
582      382,  382,  382,  382,  382,  382,  102,  382,  382,  382,
583      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
584      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
585      382,  382,  382,  382,   69,  382,  382,  382,  382,  382,
586      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
587
588      382,  382,  382,  217,  218,  382,  382,  382,  305,  382,
589      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
590      382,  382,  382,  382,  382,    6,  382,  382,  382,  382,
591      382,  382,  382,  324,  382,  382,  382,  382,  382,  382,
592      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
593      382,  382,  382,  382,  309,  382,  382,  382,  382,  382,
594      382,  382,  335,  382,  382,  382,  382,  382,  382,  382,
595      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
596      382,  382,  382,  382,  382,  382,  382,  382,   48,  382,
597      382,  382,  382,  382,   50,  382,  382,  382,   98,  382,
598
599      382,  382,  382,  382,   58,  382,  382,  382,  382,  382,
600      382,  382,  382,  382,  382,  382,  381,  382,  210,  382,
601      382,  382,  147,  382,  382,  382,  382,  382,  382,  382,
602      382,  382,  382,  382,  382,  236,  382,  382,  211,  382,
603      382,  382,  382,  251,  382,  382,  382,  382,  382,  382,
604      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
605      382,  382,  382,  382,   59,  382,  382,  382,  382,  382,
606      382,  382,  382,  382,  382,  382,  149,  128,  382,  129,
607      382,  382,  382,  382,  127,  382,  382,  382,  382,  382,
608      382,  382,  382,  382,  382,  168,  382,  382,   56,  382,
609
610      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
611      382,  382,  382,  382,  382,  382,  382,  382,  382,  287,
612      382,  382,  382,  382,  382,  382,  382,  382,  382,  212,
613      382,  382,  382,  382,  382,  215,  382,  221,  382,  382,
614      382,  382,  382,  382,  382,  382,  250,  382,  382,  382,
615      382,  382,  382,  254,  382,  382,  382,  382,  382,  382,
616      382,  382,  382,  382,  382,  114,  382,  382,  382,  382,
617      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
618      382,  382,  382,  382,  382,  382,  382,  141,  382,  382,
619      382,  382,  382,  382,  382,  382,   67,  382,  382,  382,
620
621      382,   31,  382,  382,  382,  382,  382,  382,  382,  382,
622      382,  382,  382,  382,   21,  382,  382,  382,  382,  382,
623      382,  382,   32,   41,  382,  180,  382,  382,  382,  382,
624      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
625      208,  382,  382,  381,  382,  382,  382,  382,  349,  382,
626      382,   84,   86,  382,  382,  382,  382,  382,  382,  382,
627      382,  350,  382,  382,  382,  382,  382,  382,  382,  313,
628      382,  382,  382,  382,  267,  382,  382,  382,  382,  382,
629      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
630      382,  382,  382,  382,  382,  382,  382,  382,  130,  382,
631
632      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
633      382,  167,  382,   52,  382,  382,  382,  382,  382,  382,
634      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
635      382,  382,  382,  382,  261,  382,  382,  382,  382,  382,
636      382,  382,  382,  328,  382,  382,  382,  382,  382,  382,
637      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
638      382,  382,  382,  382,  382,  174,  382,  382,  382,  382,
639      382,  382,  382,  382,  382,  382,  382,  382,  382,  322,
640      382,  382,  382,  382,  242,  382,  382,  382,  382,  382,
641      382,  382,  382,  382,  382,  382,  341,  382,  382,  382,
642
643      382,  382,  382,  382,  382,  382,  382,  382,  382,  193,
644      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
645      382,  123,  382,  382,  382,  382,  382,  382,  382,  382,
646      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
647      382,  382,  382,  382,  382,  187,  382,  202,  382,  382,
648      382,  382,  382,  382,  382,  381,  382,  155,  382,  382,
649      382,  382,  382,  382,  109,  382,  382,  382,  382,  234,
650      382,  382,  382,  382,  382,  382,  382,  252,  382,  382,
651      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
652      382,  382,  382,  382,  279,  382,  382,  382,  382,  382,
653
654      382,  382,  382,  382,  382,  382,  148,  382,  382,  382,
655      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
656      382,  382,  382,  382,  382,  191,  382,  382,  382,  382,
657      382,  382,  382,   87,  382,   88,  382,  382,  382,  382,
658      382,  264,  382,  382,  382,  382,  382,   68,  331,  382,
659      382,  382,  382,  382,   96,  203,  382,  224,  382,  256,
660      382,  382,  216,  306,  382,  382,  382,  382,  301,  382,
661      382,  382,   80,  382,  205,  382,  382,  382,  382,  382,
662      382,    9,  382,  382,  382,  382,  382,  113,  382,  382,
663      382,  382,  382,  382,  293,  382,  382,  382,  382,  382,
664
665      382,  233,  382,  382,  382,  382,  382,  382,  382,  382,
666      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
667      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
668      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
669      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
670      382,  382,  382,  382,  382,  382,  382,  382,  381,  382,
671      382,  382,  382,  190,  382,  382,  382,  382,  382,  382,
672      382,  382,  382,  382,  382,  192,  176,  382,  312,  382,
673      382,  382,  382,  382,  278,  382,  382,  382,  382,  382,
674      382,  382,  382,  382,  382,  382,  246,  382,  382,  382,
675
676      382,  382,  382,  304,  382,  382,  382,  382,  382,  382,
677      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
678      382,  382,  173,  382,  382,  382,  382,  382,  382,  382,
679      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
680      382,  382,  382,  382,  332,  382,  204,  382,  382,  382,
681      382,  382,  382,  382,  382,  382,   79,   81,  382,  382,
682      382,  382,  382,  382,  382,  382,  382,  382,  112,  382,
683      382,  382,  382,  382,  382,  291,  382,  382,  382,  382,
684      382,  382,  382,  308,  382,  382,  382,  382,  382,  382,
685      382,  382,  382,  382,  382,  382,  382,  238,  382,   39,
686
687       33,   35,  382,  382,  382,  382,  382,  382,  382,  382,
688      382,  382,  382,  382,  382,   40,  382,   34,   36,  382,
689       42,  382,  382,  382,  382,  382,  382,  382,  108,  382,
690      186,  382,  382,  382,  382,  382,  382,  382,  381,  382,
691      382,  382,  382,  382,  382,  336,  382,  382,  382,  382,
692      382,  240,  237,  382,  382,  382,  382,  382,  382,  382,
693      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
694      382,  382,   78,  382,  382,  382,  150,  382,  131,  382,
695      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
696      169,   53,  382,  382,  382,  373,   13,  382,  382,  382,
697
698      382,  382,  382,  382,  156,  382,  382,  382,  382,  382,
699      382,  382,  382,  326,  382,  329,  382,  382,  382,  382,
700      382,  382,  382,  382,  382,  382,  382,  382,  382,   12,
701      382,  382,   23,  382,  382,  382,  382,  382,  382,  382,
702      297,  382,  382,  343,  382,  382,  382,  382,  310,  382,
703      382,  382,  382,   82,  382,  248,  382,  382,  382,  382,
704      382,  239,  382,  382,  382,  382,   77,  382,  382,  382,
705      382,  382,  382,   24,  382,  382,   49,  382,  382,  382,
706      382,  382,  382,  382,  382,  382,  382,  382,  382,  185,
707      184,  382,  382,  373,  382,  382,  382,  382,  382,  382,
708
709      382,  382,  382,  241,  235,  382,  253,  382,  382,  314,
710      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
711      382,  382,  382,  382,  198,  382,  382,  382,  382,  382,
712      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
713      382,  382,  382,  382,  382,  382,  382,   89,  382,  382,
714      382,  382,  382,  382,  382,  382,  292,  382,  382,  382,
715      382,  220,  382,  382,  382,  382,  382,  382,  247,  382,
716      382,  382,  382,  382,  382,  382,  382,  382,  382,  299,
717      382,  382,  382,  337,  382,  339,  338,  182,  382,  382,
718      382,   83,  382,  382,  382,  382,  194,  382,  382,  382,
719
720      382,  382,  124,  126,  125,  382,  382,  382,   26,  382,
721      382,  177,  382,  179,  382,  225,  382,  382,  382,  382,
722      183,  382,  382,  382,  382,  257,  382,  382,  382,  382,
723      382,  382,  382,  158,  382,  382,  382,  382,  382,  382,
724      382,  382,  382,  382,  382,  382,  269,  382,  382,  382,
725      382,  382,  382,  382,  351,  382,   28,  382,  307,  382,
726      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
727      382,  382,  382,  382,  382,  382,  382,   94,  226,  382,
728      382,  263,  382,  382,  382,  290,  382,  330,  382,  219,
729      382,  382,  302,  382,  382,  382,  300,   62,  382,  382,
730
731      382,  382,  382,  382,  382,    4,  382,  382,  382,  382,
732      382,  139,  382,  157,  382,  382,  382,  199,   30,  382,
733      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
734      382,  382,  382,  382,  382,  382,  382,  382,  260,   43,
735       44,  382,  382,  382,  382,  382,  382,  382,  315,  382,
736      382,  382,  382,  382,  382,  382,  277,  382,  382,  382,
737      382,  382,  382,  382,  382,  229,  382,  382,  382,  382,
738      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
739      382,   93,   92,  382,  382,   63,  382,  382,  288,  296,
740      382,  265,  382,  382,  382,  382,  382,   11,  382,  382,
741
742      382,  382,  355,  382,  382,  382,  382,  382,  138,  382,
743      382,  382,  382,  382,  382,  227,   99,  382,  382,   46,
744      382,  382,  382,  382,  382,  382,  382,  382,  189,  382,
745      382,  382,  382,  382,  382,  382,  160,  382,  382,  382,
746      382,  268,  382,  382,  382,  382,  382,  276,  382,  382,
747      382,  382,  153,  382,  382,  382,  132,  134,  133,  382,
748      382,  382,  101,  105,  100,  382,  170,  382,  382,  382,
749      382,   90,  382,  262,  298,  382,  382,  382,  382,  382,
750      382,   10,  382,  382,  382,  382,  382,  294,  342,  382,
751      382,  382,  382,  382,  382,  382,  382,  348,   45,  382,
752
753      382,  382,  382,  382,  188,  382,  382,  382,  382,  382,
754      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
755      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
756      106,  104,  382,  382,   57,  382,  382,   91,  382,  327,
757      382,  382,  382,  382,   25,  382,  382,  382,  382,  382,
758      213,  382,  382,  340,  382,  382,  382,  382,  228,  382,
759      382,  382,  382,  382,  382,  382,  382,  382,  209,  382,
760      382,  178,   85,  382,  382,  382,  382,  382,  316,  382,
761      382,  382,  382,  382,  382,  382,  273,  382,  382,  272,
762      154,  382,  382,  103,  382,   54,  382,  382,  161,  162,
763
764      165,  166,  163,  164,   95,  325,  382,  382,  295,  142,
765      382,  382,  382,  382,   27,  382,  181,  382,  382,  382,
766      382,  207,  382,  259,  382,  382,  382,  382,  382,  382,
767      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
768      382,  382,  382,  382,  382,  382,  196,  195,  230,   47,
769      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
770      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
771      382,  382,  382,  382,  323,  382,  382,  382,  382,  111,
772      382,  258,  382,  286,  320,  382,  382,  382,  382,  382,
773      382,  382,  382,  382,  382,  382,  352,  382,  107,   55,
774
775       64,    5,  382,  382,  249,  382,  382,  321,  382,  382,
776      382,  382,  382,  382,  382,  382,  382,  274,   29,  382,
777      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
778      382,  275,  382,  382,  382,  159,  382,  382,  382,  382,
779      382,  382,  382,  382,  197,  382,  206,  382,  382,  382,
780      382,  382,  382,  382,  382,  382,  317,  382,  382,  382,
781      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
782      382,  382,  382,  382,  347,  382,  382,  282,  382,  382,
783      382,  382,  382,  318,  382,  382,  382,  382,  382,  382,
784      319,  382,  382,  382,  280,  382,  283,  284,  382,  382,
785
786      382,  382,  382,  281,  285,    0
787    } ;
788
789static const YY_CHAR yy_ec[256] =
790    {   0,
791        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
792        1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
793        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
794        1,    2,    1,    5,    6,    1,    1,    1,    7,    1,
795        1,    1,    1,    1,    8,    1,    1,    1,    9,    1,
796       10,   11,    1,   12,    1,    1,    1,   13,    1,    1,
797        1,    1,    1,    1,   14,   15,   16,   17,   18,   19,
798       20,   21,   22,   23,   24,   25,   26,   27,   28,   29,
799       30,   31,   32,   33,   34,   35,   36,   37,   38,   39,
800        1,   40,    1,    1,    1,    1,   41,   42,   43,   44,
801
802       45,   46,   47,   48,   49,   50,   51,   52,   53,   54,
803       55,   56,   57,   58,   59,   60,   61,   62,   63,   64,
804       65,   66,    1,    1,    1,    1,    1,    1,    1,    1,
805        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
806        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
807        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
808        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
809        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
810        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
811        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
812
813        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
814        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
815        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
816        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
817        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
818        1,    1,    1,    1,    1
819    } ;
820
821static const YY_CHAR yy_meta[67] =
822    {   0,
823        1,    2,    3,    4,    5,    1,    6,    1,    1,    1,
824        1,    1,    7,    1,    1,    1,    1,    1,    1,    1,
825        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
826        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
827        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
828        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
829        1,    1,    1,    1,    1,    1
830    } ;
831
832static const flex_int16_t yy_base[3825] =
833    {   0,
834        0,    0,   64,   67,   70,   72,   78,   84,   89,   92,
835      131,  137,  112,  118,  123,  142,  616,  527,   96,10823,
836    10823,10823,  160,  185,  116,  183,  229,  132,  175,  173,
837      232,   50,   66,  120,  263,  275,  159,  323,  134,  375,
838      416,  286,  308,  283,  126,  258,  516,10823,10823,10823,
839       95,  496,10823,10823,10823,  187,  471,  490,10823,10823,
840    10823,  238,  449,10823,10823,10823,  104,  401,10823,  351,
841    10823,  194,  369,  379,  381,10823,10823,10823,  375,  309,
842    10823,10823,10823,  146,  307,  392,  177,    0,  405,    0,
843        0,  201,  270,  233,  230,  310,  259,  290,  371,  178,
844
845      335,  396,  413,  415,  330,  358,  417,  368,  442,  402,
846      453,  423,  448,  451,  450,  454,  412,  481,  476,  469,
847      480,  503,  494,  475,  463,  381,  504,  502,  511,  512,
848      514,  515,  530,  531,  532,  551,  543,  345,  544,  561,
849      540,  542,  554,  591,  559,  581,  577,  596,  595,  373,
850      579,  599,  569,  608,  603,  622,  616,  621,  629,  624,
851      281,  180,  273,  339,  268,  668,  273,  228,  222,  210,
852      678,  682,    0,  650,  152,  690,  188,  128,  672,  663,
853      680,  660,  670,  665,  683,  675,  692,  674,  679,  699,
854      676,  697,  702,  727,  705,  709,  716,  250,  743,  787,
855
856      732,  722,  745,  720,  747,  748,  738,  731,  761,  758,
857      766,  721,  754,  767,  785,  765,  794,  798,  835,  810,
858      786,  789,  256,  816,  825,  258,  802,  418,  845,  829,
859      792,  833,   91,  851,  843,  856,  857,  862,  848,  863,
860      865,  867,  880,  852,  879,  882,  892,  889,  884,  888,
861      881,  910,  908,  900,  917,  911,  922,  923,  919,  928,
862      912,  929,  945,  924,  946,  957,  959,  939,  967,  951,
863      950,  970,  965,  981,  980,  977,  960,  984,  976,  974,
864      987,  982, 1000,  990, 1007, 1023, 1024, 1016, 1020, 1029,
865     1015, 1014, 1017, 1022, 1019, 1037, 1011, 1042, 1050, 1052,
866
867     1058,  167, 1043, 1064, 1066, 1055, 1072, 1075, 1070, 1080,
868     1081, 1049,10823, 1088, 1082, 1108, 1102, 1111, 1106, 1112,
869     1114, 1116, 1117, 1098, 1103, 1099, 1115, 1123, 1129, 1131,
870     1130, 1133, 1135, 1163, 1147, 1166, 1155, 1171, 1170, 1156,
871     1205, 1172, 1157, 1180, 1250, 1174, 1176, 1194, 1207, 1220,
872      320, 1208, 1178, 1237, 1203, 1204, 1243, 1239, 1247, 1258,
873     1273, 1262, 1264, 1272, 1286, 1288, 1290, 1284, 1259, 1289,
874     1232, 1306,10823, 1292, 1305, 1245, 1316, 1330, 1337, 1324,
875     1281, 1355, 1317, 1322, 1319, 1327, 1351, 1403, 1451, 1339,
876     1360, 1346, 1357, 1366,10823, 1392, 1382, 1500, 1387, 1391,
877
878     1410, 1407, 1405, 1398, 1431, 1432, 1409, 1352, 1438, 1423,
879     1350, 1448, 1465, 1459, 1457, 1460, 1478, 1458, 1490, 1483,
880     1365, 1505, 1491, 1496, 1507, 1529, 1501, 1520, 1532, 1546,
881     1530, 1531, 1533, 1538, 1541, 1559, 1547, 1564, 1558, 1568,
882     1569, 1556, 1565, 1574, 1582, 1589, 1604, 1649, 1609, 1596,
883     1593, 1602, 1601, 1620, 1617, 1615, 1614, 1616, 1629, 1630,
884     1651, 1595, 1415, 1653, 1642, 1659, 1664, 1668, 1656, 1675,
885     1679, 1683, 1691, 1689, 1685, 1686, 1695, 1706, 1687, 1698,
886     1712, 1716, 1714, 1723, 1732, 1719, 1728, 1439,10823, 1743,
887     1741,10823, 1727, 1744, 1736, 1749, 1739, 1756, 1745, 1750,
888
889    10823, 1773, 1763, 1774, 1778, 1768, 1779, 1771, 1783, 1792,
890     1772, 1803, 1799, 1790, 1800, 1807, 1801, 1805, 1809, 1827,
891     1819, 1830, 1822, 1826, 1836, 1831, 1832, 1841, 1846, 1834,
892     1857, 1842, 1903,10823, 1859, 1860, 1865, 1862, 1869, 1886,
893     1878, 1893, 1905, 1885, 1920, 1924, 1926, 1953, 1927, 1912,
894     1930, 1936, 1941, 1963, 1874, 1965, 1956, 1962, 1960, 1972,
895     1957, 1955, 1989, 1969, 1987, 1980, 1991,10823, 1999, 2005,
896     2007, 1875, 1998, 2000, 1993, 2003, 1986, 2004, 2022, 2024,
897     2016, 2021, 2030, 2033, 2045, 2052, 2046, 2057, 2064, 2049,
898     2050, 2048, 2051, 2060, 2067, 2086, 2047, 2069, 2085, 2082,
899
900     2083,  158, 2076, 2099, 2100, 2091, 2106, 2089, 2087, 2092,
901     2112, 2116, 2101, 2103, 2114, 2118, 2113, 2127, 2133, 2129,
902     2131, 2145, 2134, 2148, 2141, 2156, 2144, 2160, 2161, 2143,
903     2158, 2170, 2172, 2164, 2178, 2195, 2182, 2193, 2184, 2188,
904     2205, 2208, 2209, 2197,10823, 2219, 2217, 2215, 2234, 2236,
905     2225, 2242, 2227, 2230, 2244, 2245, 2254, 2229, 2262, 2255,
906     2261, 2268, 2256, 2252, 2274, 2275, 2282, 2272, 2286, 2293,
907     2299, 2287, 2302, 2301, 2297, 2298, 2304, 2311, 2308, 2313,
908     2317, 2339, 2333, 2321, 2332, 2325, 2355, 2334, 2338, 2357,
909     2358, 2348, 2361, 2366, 2352, 2379, 2374, 2383, 2384, 2388,
910
911     2393, 2404, 2391, 2394, 2398, 2410, 2397, 2411, 2406, 2408,
912     2424, 2429, 2422, 2425, 2433, 2430, 2435, 2440, 2443, 2446,
913     2456, 2474, 2451, 2453, 2461, 2449, 2467, 2465, 2468, 2478,
914     2483, 2480, 2493, 2485, 2499, 2496, 2500, 2516, 2508, 2527,
915     2525, 2520, 2512, 2526, 2524, 2535, 2541, 2514, 2546, 2543,
916     2558, 2562, 2547, 2561, 2567, 2560, 2568, 2570, 2577, 2573,
917     2580, 2505, 2576, 2598, 2606, 2597, 2603, 2599, 2613, 2607,
918     2596, 2615, 2626, 2636, 2624, 2623,10823, 2628, 2618, 2630,
919     2638, 2642, 2640, 2639, 2643, 2665, 2660, 2670, 2653, 2656,
920     2655, 2707,10823, 2657,10823,10823, 1473, 2669,10823,10823,
921
922     2684, 2688,10823, 2679, 2697, 2696, 2698, 2706, 2717, 2721,
923     2720, 2724, 2736, 2732, 2740, 2779, 2735, 2733, 2745, 2743,
924     2772, 2744, 2774, 2782, 2765, 2785, 2789, 2795, 2799, 2828,
925     2808, 2818, 2817, 2825, 2833, 2831, 2835, 2843, 2690, 2837,
926     2829, 2850, 2845, 2847, 2852, 2846, 2877, 2865, 2868, 2883,
927     2870, 2873, 2864, 2762, 2894, 2887, 2906,10823, 2897, 2769,
928     2890, 2900, 2896, 2856, 2898, 2895, 2915, 2914, 2923, 2928,
929     2932, 2921, 2926, 2922, 2933, 2947, 2929, 2944, 2941, 2945,
930     2952, 2960, 2946, 2970, 2949, 2959, 2956,10823, 2971, 2973,
931     2961, 2978, 2987, 2981, 2991, 2996, 2989, 2986, 2997, 3002,
932
933     3027, 3012, 3009, 3016, 3013, 3025, 3017, 3028, 3045,10823,
934     3033, 3047, 3030, 3044, 3042, 3059, 3050, 3060, 3057, 3061,
935     3058, 3066, 3078, 3074, 3076, 3071, 3087, 3088, 3083, 3085,
936     3097, 3107, 3094, 3103, 3115, 3118, 3106, 3108, 3123, 3116,
937     3129, 3119, 3126, 3122, 3131, 3134, 3162, 3165, 3153, 3170,
938     3155, 3152, 3175, 3176, 3173, 3164, 3178, 3179, 3166, 3185,
939     3181, 3193, 3192, 3189, 3188, 3214, 3203, 3218, 3206, 3216,
940     3226, 3231, 3212, 3228, 3234, 3225, 3237, 3245, 3241, 3248,
941    10823, 3239, 3251, 3256,10823, 3264, 3259, 3255, 3304, 3284,
942     3294, 3281, 3287, 3296, 3274, 3314, 3290, 3310, 3322, 3316,
943
944     3333, 3326, 3334, 3340, 3323, 3353, 3343, 3354, 3349, 3339,
945     3351, 3350, 3360, 3374, 3367, 3383, 3254, 3389, 3392,  477,
946     3394, 3371, 3378, 3384, 3429, 3395, 3399, 3398, 3401, 3417,
947     3409, 3415, 3419, 3411, 3438, 3432, 3434, 3431, 3468, 3461,
948     3457, 3454, 3467, 3459, 3471, 3473, 3481, 3470,10823, 3476,
949     3484, 3482, 3486, 3479, 3507, 3500, 3496,10823, 3511, 3512,
950     3506, 3529, 3516, 3517, 3526, 3510, 3527, 3535, 3533, 3537,
951     3542, 3534, 3548, 3564,10823, 3550,10823, 3556, 3554, 3559,
952     3571, 3585, 3560, 3575, 3572, 3573, 3591, 3599,10823,10823,
953     3600, 3602, 3586, 3593, 3613, 3614, 3601, 3609, 3606,10823,
954
955     3622, 3630,10823, 3641, 3620, 3636, 3629, 3628, 3634, 3637,
956     3640, 3646, 3661, 3657, 3633, 3679, 3663, 3677, 3667,10823,
957     3686, 3680, 3668, 3688, 3691, 3684, 3690, 3692, 3707, 3709,
958    10823, 3695, 3713, 3719, 3710, 3703, 3732, 3724, 3717, 3738,
959     3742, 3727, 3728, 3730, 3746, 3740, 3766, 3768, 3769, 3770,
960     3773, 3771, 3774, 3776,10823, 3777, 3763, 3764, 3788, 3780,
961     3786, 3783, 3790, 3789, 3796, 3801, 3815, 3819, 3813, 3825,
962     3809, 3817, 3812, 3837, 3838, 3828, 3845, 3834, 3840, 3821,
963     3841, 3842,  552, 3848, 3854, 3852, 3849,10823, 3864, 3873,
964     3870, 3877, 3879, 3865,  115, 3875, 3880, 3876, 3891, 3890,
965
966     3893, 3894, 3904, 3918, 3919, 3910, 3911, 3923, 3930, 3929,
967     3922, 3926, 3937, 3933, 3920, 3938, 3951, 3947, 3952,10823,
968     3943, 3959, 3968, 3963, 3961, 3974, 3957, 3978,10823, 3987,
969     3995, 3988, 3982, 3999, 3998, 4008, 4009, 4013, 4007,10823,
970     4022, 4010, 4005, 4018, 4025, 4032, 4036, 4023,10823, 4041,
971     4043, 4055, 4044, 4056, 4049, 4057, 4050, 4052, 4059, 4069,
972     4070, 4082, 4083, 4071, 4079, 4084, 4097, 4086, 4093, 4112,
973     4094, 4098, 4106, 4108, 4107, 4120, 4117, 4113, 4122, 4124,
974     4128,10823, 4151, 4139, 4129, 4144, 4140, 4141, 4153, 4149,
975     4174, 4163, 4159, 4164, 4171, 4209, 4176, 4184, 4167, 4196,
976
977     4202, 4199, 4188, 4216, 4220, 4211, 4192, 4226, 4253, 4230,
978     4215, 4235, 4236, 4243, 4242, 4241, 4259, 4252, 4247, 4272,
979     4269, 4276, 4277, 4280, 4268, 4303, 4293, 4273, 4288, 4307,
980     4286,10823, 4306, 4311, 4302, 4300, 4327, 4340, 4332, 4333,
981     4325, 4338, 4337, 4346, 4339, 4352, 4348, 4361, 4356, 4360,
982     4368, 4363, 4375, 4367, 4382, 4379, 4374, 4385, 4388, 4301,
983     4390, 4396, 4395, 4409,10823, 4394, 4420, 4407, 4419, 4414,
984     4413, 4416, 4429, 4434, 4421, 4423, 4424, 4431, 4443, 4432,
985     4451, 4447, 4469, 4457, 4456, 4466, 4455,10823, 4472, 4464,
986     4474, 4480, 4483, 4481, 4490, 4499, 4500, 4506, 4508, 4510,
987
988     4501, 4512, 4513, 4516,10823, 4521, 4526, 4517, 4527, 4528,
989     4525, 4531, 4530, 4551, 4540,10823, 4557, 4545, 4554, 4555,
990     4546, 4542, 4576, 4579, 4569, 4572,10823, 4581, 4574, 4578,
991     4584, 4580, 4592, 4595, 4568, 4611, 4596, 4593, 4599, 4619,
992     4610, 4614, 4606, 4625,10823, 4613, 4620, 4653, 4631, 4633,
993     4627, 4636, 4651, 4652, 4660, 4655, 4669, 4658,10823, 4678,
994     4677, 4663, 4688, 4683, 4680, 4682, 4684, 4698, 4707, 4695,
995     4694, 4715, 4697,10823, 4704, 4701, 4705, 4725, 4731, 4730,
996     4724, 4741, 4737, 4738, 4736, 4742, 4744, 4745, 4747, 4762,
997     4770, 4768, 4761, 4764, 4763, 4771, 4791, 4781, 4776, 4782,
998
999     4798, 4806, 4815, 4800, 4812, 4816, 4811, 4804, 4801, 4819,
1000     4826, 4835, 4837, 4833, 4847,10823, 4836, 4841, 4843, 4832,
1001     4844, 4851, 4839, 4866, 4857, 4860, 4868, 4877, 4872, 4870,
1002     4906, 4910, 4871, 4887, 4892, 4893, 4881, 4897, 4903, 4901,
1003     4905, 4930, 4926, 4909, 4914, 4920, 4916, 4945, 4925, 4940,
1004     4950, 4932, 4947, 4936, 4941, 4957, 4961, 4952, 4943, 4970,
1005     4974, 4962, 4967, 4971, 4969, 4995, 4999, 5000, 5002, 4991,
1006     4994, 5001, 4998, 5028,10823, 4996, 5012, 5019, 5025, 5023,
1007     5029, 5035, 5039, 5021, 5038, 5036, 5059, 5055, 5054, 5064,
1008     5057, 5051, 5066, 5063, 5078, 5079,10823, 5070,10823, 5094,
1009
1010     5071, 5095, 5098, 5106, 5087,10823, 5103,10823, 5105, 5109,
1011     5096, 5097, 5101,10823, 5115, 5110, 5121, 5102, 5123, 5119,
1012     5134, 5130, 5133, 5148, 5140, 5160, 5155, 5150, 5144, 5157,
1013     5138, 5146, 5168, 5171, 5170, 5186, 5177, 5174, 5190, 5180,
1014     5201, 5181, 5187, 5198, 5207, 5197, 5205,10823, 5220, 5219,
1015     5213, 5218, 5215, 5217, 5225, 5236, 5227, 5232, 5242, 5247,
1016     5259, 5240, 5245, 5252, 5261, 5267, 5268, 5250, 5278, 5284,
1017     5286, 5279, 5290, 5288,10823, 5282, 5301, 5283, 5285, 5308,
1018    10823, 5313, 5295, 5320, 5323, 5311, 5309, 5315, 5329, 5333,
1019     5326, 5331, 5335, 5360, 5338, 5359, 5365,10823, 5340, 5367,
1020
1021     5348, 5371, 5369, 5353, 5386, 5388, 5380, 5396, 5401, 5393,
1022     5398, 5395, 5391, 5387, 5390, 5413, 5394, 5424, 5431, 5422,
1023     5436, 5411, 5437, 5432, 5439, 5423, 5425, 5433, 5428, 5426,
1024     5443, 5451, 5453, 5458, 5452, 5478, 5454, 5468, 5479,10823,
1025     5481, 5484, 5475, 5494, 5470, 5483, 5471, 5498, 5513, 5500,
1026     5510,10823, 5522, 5504, 5525, 5517, 5531, 5518, 5521, 5514,
1027     5536, 5541, 5540, 5546, 5557, 5548,10823, 5556,10823, 5545,
1028     5575, 5547, 5579, 5573, 5568, 5584, 5588, 5577, 5580, 5589,
1029     5596, 5605, 5597, 5604, 5600, 5606, 5611, 5610, 5630, 5616,
1030     5625, 5635, 5641, 5637, 5628, 5638, 5632, 5646, 5647, 5658,
1031
1032     5649, 5667,10823,10823, 5645, 5662, 5681, 5683, 5668, 5687,
1033     5697, 5690, 5692, 5688, 5699, 5685, 5695, 5715, 5739,10823,
1034     5721, 5722, 5714, 5740, 5724, 5726, 5728, 5744, 5752, 5749,
1035     5742, 5755, 5751,10823, 5741, 5750, 5760, 5763, 5762, 5777,
1036     5764,10823, 5784,10823, 5766, 5776, 5779, 5788, 5789, 5790,
1037     5787, 5801, 5805, 5806, 5815, 5809, 5813, 5836, 5821, 5822,
1038     5834, 5819, 5823, 5825, 5838, 5840, 5848, 5832, 5842, 5837,
1039    10823, 5860, 5850, 5868, 5869, 5856, 5873, 5879, 5877, 5865,
1040    10823, 5880, 5881, 5895, 5882, 5887, 5889, 5893, 5907, 5904,
1041     5910, 5921, 5913, 5917, 5916, 5918, 5915,10823, 5914, 5929,
1042
1043     5937, 5940, 5920, 5953, 5936, 5955, 5941, 5966,10823, 5964,
1044     5975, 5962, 5977, 5973, 5972, 5976, 5980, 5954, 5965, 5979,
1045     5990, 5989, 6004, 5986, 6000, 6003, 6010, 6011, 5999, 6029,
1046     6023, 6017, 6025, 6045, 6022,10823, 6035, 6038, 6039, 6037,
1047     6047, 6046, 6055, 6062, 6054, 6076, 6059, 6077, 6082, 6066,
1048     6070, 6074, 6088, 6096, 6097, 6099,10823, 6104, 6089, 6110,
1049     6085, 6106, 6092, 6118, 6113, 6105, 6115, 6128, 6124, 6109,
1050     6136, 6138, 6145, 6144, 6155, 6148, 6154, 6151, 6157, 6158,
1051     6159, 6163, 6173, 6186,10823, 6197, 6181, 6178, 6196, 6188,
1052     6187, 6208, 6200, 6192, 6190, 6216, 6204, 6220, 6213, 6210,
1053
1054     6227, 6234, 6222,10823,10823, 6241, 6219, 6236,10823, 6243,
1055     6229, 6256, 6239, 6237, 6248, 6265, 6246, 6259, 6269, 6272,
1056     6261, 6277, 6282, 6264, 6268,10823, 6298, 6292, 6303, 6280,
1057     6295, 6311, 6308,10823, 6293, 6318, 6315, 6316, 6314, 6313,
1058     6306, 6317, 6329, 6319, 6344, 6333, 6335, 6348, 6339, 6340,
1059     6359, 6337, 6350, 6369,10823, 6360, 6363, 6367, 6368, 6374,
1060     6364, 6355,10823, 6384, 6377, 6392, 6396, 6397, 6405, 6400,
1061     6410, 6415, 6413, 6401, 6407, 6416, 6412, 6418, 6427, 6430,
1062     6451, 6434, 6440, 6454, 6443, 6460, 6462, 6464,10823, 6457,
1063     6469, 6472, 6470, 6471,10823, 6473, 6506, 6477,10823, 6481,
1064
1065     6483, 6489, 6476, 6510,10823, 6499, 6513, 6502, 6519, 6497,
1066     6518, 6501, 6530, 6527, 6512, 6515, 6529, 6536,10823, 6539,
1067     6533, 6538,10823, 6532, 6550, 6554, 6564, 6567, 6556, 6549,
1068     6573, 6566, 6579, 6568, 6576,10823, 6581, 6587,10823, 6589,
1069     6593, 6578, 6601,10823, 6595, 6598, 6599, 6588, 6600, 6613,
1070     6616, 6620, 6630, 6612, 6624, 6617, 6619, 6637, 6644, 6647,
1071     6634, 6645, 6640, 6639,10823, 6672, 6651, 6661, 6666, 6636,
1072     6676, 6678, 6674, 6668, 6685, 6679,10823,10823, 6655,10823,
1073     6688, 6682, 6694, 6704,10823, 6707, 6709, 6699, 6711, 6726,
1074     6706, 6715, 6712, 6724, 6732,10823, 6741, 6742,10823, 6721,
1075
1076     6739, 6737, 6738, 6751, 6753, 6754, 6759, 6781, 6756, 6734,
1077     6764, 6769, 6780, 6736, 6779, 6778, 6799, 6787, 6819,10823,
1078     6796, 6801, 6800, 6813, 6814, 6809, 6815, 6826, 6827,10823,
1079     6828, 6842, 6839, 6845, 6854,10823, 6853,10823, 6846, 6858,
1080     6851, 6866, 6856, 6859, 6803, 6872,10823, 6874, 6873, 6870,
1081     6878, 6891, 6880,10823, 6893, 6903, 6894, 6895, 6890, 6916,
1082     6919, 6902, 6914, 6932, 6920,10823, 6917, 6931, 6921, 6934,
1083     6937, 6939, 6941, 6942, 6954, 6947, 6955, 6949, 6959, 6972,
1084     6970, 6963, 6977, 6984, 6964, 6966, 6969,10823, 6991, 6994,
1085     6990, 6989, 7013, 6997, 7011, 7014,10823, 7012, 7015, 6996,
1086
1087     7024,10823, 7018, 7035, 7023, 7034, 7030, 7042, 7045, 7049,
1088     7019, 7050, 7051, 7062,10823, 7056, 7061, 7054, 7075, 7079,
1089     7076, 7078,10823,10823, 7091,10823, 7092, 7081, 7094, 7095,
1090     7089, 7090, 7115, 7111, 7127, 7112, 7116, 7124, 7129, 7119,
1091    10823, 7125, 7138, 7123, 7153, 7154, 7163, 7157,10823, 7156,
1092     7146,10823,10823, 7149, 7168, 7173, 7169, 7170, 7176, 7180,
1093     7171,10823, 7184, 7187, 7181, 7205, 7182, 7207, 7190,10823,
1094     7214, 7200, 7217, 7203,10823, 7197, 7226, 7213, 7210, 7230,
1095     7224, 7227, 7239, 7233, 7234, 7228, 7260, 7252, 7241, 7253,
1096     7248, 7254, 7265, 7257, 7273, 7269, 7270, 7285,10823, 7281,
1097
1098     7283, 7287, 7292, 7290, 7294, 7301, 7303, 7295, 7304, 7300,
1099     7328,10823, 7317,10823, 7322, 7312, 7330, 7339, 7323, 7337,
1100     7349, 7345, 7329, 7334, 7346, 7352, 7366, 7371, 7372, 7377,
1101     7363, 7368, 7369, 7385,10823, 7380, 7387, 7376, 7396, 7399,
1102     7400, 7402, 7401,10823, 7412, 7405, 7410, 7407, 7420, 7421,
1103     7422, 7431, 7418, 7440, 7427, 7438, 7450, 7451, 7439, 7446,
1104     7458, 7444, 7456, 7448, 7445,10823, 7469, 7460, 7457, 7479,
1105     7463, 7487, 7488, 7490, 7496, 7495, 7480, 7483, 7500,10823,
1106     7489, 7486, 7509, 7516,10823, 7508, 7503, 7510, 7519, 7536,
1107     7538, 7522, 7537, 7543, 7529, 7551,10823, 7548, 7530, 7546,
1108
1109     7545, 7558, 7563, 7567, 7557, 7561, 7578, 7589, 7593,10823,
1110     7597, 7588, 7590, 7594, 7601, 7577, 7585, 7609, 7610, 7626,
1111     7608,10823, 7627, 7636, 7637, 7624, 7648, 7649, 7629, 7640,
1112     7652, 7657, 7660, 7645, 7658, 7675, 7653, 7672, 7674, 7677,
1113     7679, 7676, 7696, 7698, 7691,10823, 7687,10823, 7689, 7685,
1114     7710, 7701, 7718, 7715, 7725, 7728, 7721,10823, 7704, 7713,
1115     7730, 7717, 7740, 7734,10823, 7723, 7742, 7748, 7752,10823,
1116     7762, 7766, 7753, 7760, 7774, 7777, 7780,10823, 7778, 7779,
1117     7783, 7789, 7791, 7785, 7795, 7797, 7801, 7805, 7799, 7800,
1118     7822, 7808, 7806, 7809,10823, 7821, 7827, 7831, 7829, 7832,
1119
1120     7833, 7836, 7835, 7839, 7851, 7840,10823, 7860, 7848, 7854,
1121     7856, 7857, 7869, 7859, 7872, 7890, 7882, 7892, 7896, 7884,
1122     7886, 7889, 7907, 7900, 7891,10823, 7898, 7906, 7909, 7899,
1123     7933, 7923, 7928,10823, 7929,10823, 7926, 7932, 7941, 7944,
1124     7950,10823, 7949, 7939, 7958, 7917, 7962,10823,10823, 7960,
1125     7967, 7968, 7945, 7966,10823,10823, 7982,10823, 7965,10823,
1126     7970, 7985,10823,10823, 7981, 7972, 7978, 7979,10823, 7999,
1127     8009, 8003,10823, 8015,10823, 8021, 7997, 8018, 8006, 8007,
1128     8027,10823, 8016, 8034, 8026, 8028, 8020,10823, 8023, 8042,
1129     8046, 8062, 8045, 8043,10823, 8060, 8065, 8069, 8055, 8056,
1130
1131     8059,10823, 8079, 8081, 8083, 8066, 8082, 8086, 8089, 8095,
1132     8098, 8100, 8093, 8118, 8108, 8109, 8125, 8117, 8104, 8133,
1133     8134, 8137, 8126, 8140, 8131, 8143, 8146, 8150, 8153, 8156,
1134     8139, 8160, 8162, 8158, 8174, 8171, 8165, 8188, 8191, 8183,
1135     8193, 8185, 8189, 8192, 8180, 8198, 8202, 8206, 8205, 8219,
1136     8208, 8187, 8214, 8223, 8215, 8224, 8221, 8235, 8232, 8246,
1137     8245, 8241, 8242,10823, 8240, 8253, 8252, 8255, 8273, 8263,
1138     8281, 8282, 8288, 8289, 8290,10823,10823, 8292,10823, 8294,
1139     8279, 8285, 8280, 8283,10823, 8307, 8310, 8308, 8309, 8322,
1140     8312, 8336, 8313, 8323, 8324, 8343,10823, 8348, 8345, 8339,
1141
1142     8340, 8337, 8347,10823, 8367, 8361, 8359, 8360, 8363, 8375,
1143     8368, 8366, 8373, 8369, 8379, 8388, 8390, 8399, 8401, 8387,
1144     8395, 8410,10823, 8420, 8421, 8265, 8405, 8409, 8414, 8411,
1145     8417, 8428, 8435, 8419, 8422, 8425, 8440, 8448, 8441, 8458,
1146     8462, 8453, 8468, 8465,10823, 8452,10823, 8467, 8454, 8472,
1147     8481, 8477, 8485, 8488, 8486, 8483,10823,10823, 8487, 8498,
1148     8514, 8496, 8503, 8504, 8519, 8510, 8509, 8523,10823, 8511,
1149     8520, 8533, 8536, 8542, 8543,10823, 8537, 8555, 8538, 8549,
1150     8551, 8553, 8557,10823, 8560, 8562, 8570, 8576, 8561, 8575,
1151     8581, 8585, 8582, 8580, 8593, 8586, 8592,10823, 8589,10823,
1152
1153    10823,10823, 8613, 8602, 8600, 8615, 8612, 8617, 8618, 8619,
1154     8626, 8627, 8624, 8623, 8632,10823, 8634,10823,10823, 8651,
1155    10823, 8655, 8650, 8661, 8640, 8646, 8659, 8663,10823, 8654,
1156    10823, 8667, 8674, 8670, 8676, 8680, 8684, 8681, 8702, 8697,
1157     8705, 8691, 8695, 8316, 8712,10823, 8714, 8706, 8718, 8719,
1158     8720,10823,10823, 8722, 8725, 8727, 8743, 8729, 8746, 8739,
1159     8731, 8755, 8758, 8756, 8745, 8761, 8747, 8772, 8776, 8770,
1160     8752, 8728,10823, 8774, 8779, 8786,10823, 8782,10823, 8788,
1161     8795, 8799, 8780, 8792, 8801, 8803, 8813, 8808, 8819, 8824,
1162    10823,10823, 8815, 8839, 8830,10823,10823, 8826, 8827, 8828,
1163
1164     8840, 8838, 8842, 8843,10823, 8852, 8855, 8857, 8853, 8869,
1165     8856, 8873, 8874,10823, 8872,10823, 8870, 8877, 8892, 8882,
1166     8899, 8908, 8883, 8888, 8916, 8912, 8905, 8896, 8917,10823,
1167     8909, 8911,10823, 8930, 8925, 8923, 8919, 8933, 8931, 8926,
1168    10823, 8955, 8943,10823, 8942, 8936, 8962, 8965,10823, 8966,
1169     8963, 8968, 8969,10823, 8971,10823, 8952, 8970, 8964, 8985,
1170     8989,10823, 8957, 8986, 8987, 9008,10823, 8981, 9010, 9011,
1171     9012, 9004, 9005,10823, 9019, 9002,10823, 9003, 9021, 9024,
1172     9022, 9026, 9027, 9030, 9037, 9042, 9031, 9040, 9057,10823,
1173    10823, 9064, 9058,   73, 9065, 9039, 9051, 9052, 9067, 9079,
1174
1175     9050, 9076, 9081,10823,10823, 9082,10823, 9078, 9090,10823,
1176     9070, 9098, 9103, 9094, 9091, 9092, 9106, 9102, 9115, 9113,
1177     9121, 9120, 9117, 9133,10823, 9150, 9157, 9137, 9135, 9145,
1178     9148, 9154, 9164, 9166, 9142, 9169, 9151, 9153, 9161, 9172,
1179     9182, 9176, 9184, 9181, 9180, 9185, 9198,10823, 9202, 9204,
1180     9207, 9206, 9215, 9213, 9223, 9208,10823, 9220, 9217, 9230,
1181     9231,10823, 9238, 9232, 9234, 9239, 9240, 9245,10823, 9242,
1182     9252, 9256, 9258, 9255, 9259, 9263, 9265, 9257, 9293,10823,
1183     9281, 9286, 9269,10823, 9282,10823,10823,10823, 9298, 9271,
1184     9285,10823, 9275, 9292, 9289, 9300,10823, 9310, 9311, 9308,
1185
1186     9320, 9316,10823,10823,10823, 9304, 9327, 9325,10823, 9319,
1187     9341,10823, 9330,10823, 9337,10823, 9335, 9343, 9322, 9344,
1188    10823, 9346, 9347, 9349, 9378,10823, 9365, 9372, 9377, 9374,
1189     9361, 9367, 9384,10823, 9396, 9388, 9390, 9397, 9380, 9391,
1190     9400, 9407, 9401, 9405, 9404, 9414,10823, 9422, 9428, 9430,
1191     9436, 9423, 9425, 9432,10823, 9418,10823, 9443,10823, 9431,
1192     9441, 9448, 9462, 9463, 9457, 9458, 9468, 9474, 9460, 9471,
1193     9481, 9469, 9465, 9485, 9486, 9494, 9495,10823,10823, 9502,
1194     9501,10823, 9510, 9517, 9519,10823, 9499,10823, 9523,10823,
1195     9508, 9509,10823, 9522, 9518, 9526,10823,10823, 9530, 9512,
1196
1197     9539, 9538, 9533, 9540, 9536,10823, 9561, 9550, 9549, 9551,
1198     9570,10823, 9576,10823, 9552, 9578, 9575,10823,10823, 9559,
1199     9558, 9574, 9587, 9577, 9573, 9590, 9583, 9589, 9586, 9617,
1200     9596, 9610, 9604, 9618, 9611, 9625, 9627, 9631,10823,10823,
1201    10823, 9623, 9614, 9644, 9629, 9637, 9648, 9642,10823, 9641,
1202     9647, 9658, 9651, 9653, 9659, 9665,10823, 9654, 9661, 9657,
1203     9678, 9672, 9675, 9673, 9674,10823, 9695, 9696, 9698, 9702,
1204     9697, 9703, 9712, 9713, 9714, 9706, 9717, 9718, 9693, 9732,
1205     9721,10823,10823, 9728, 9720,10823, 9737, 9743,10823,10823,
1206     9730,10823, 9729, 9738, 9735, 9739, 9766,10823, 9750, 9742,
1207
1208     9752, 9758,10823, 9753, 9765, 9775, 9782, 9779,10823, 9778,
1209     9757, 9770, 9784, 9781, 9799,10823,10823, 9791, 9789,10823,
1210     9807, 9809, 9801, 9824, 9808, 9813, 9822, 9827,10823, 9825,
1211     9828, 9817, 9818, 9841, 9831, 9844,10823, 9845, 9842, 9847,
1212     9855,10823, 9839, 9860, 9868, 9862, 9873,10823, 9874, 9870,
1213     9896, 9887,10823, 9884, 9895, 9880,10823,10823,10823, 9881,
1214     9899, 9905,10823,10823,10823, 9900,10823, 9916, 9913, 9902,
1215     9924,10823, 9919,10823,10823, 9928, 9939, 9951, 9930, 9954,
1216     9929,10823, 9936, 9935, 9947, 9940, 9945,10823,10823, 9964,
1217     9968, 9950, 9953, 9960, 9975, 9961, 9956,10823,10823, 9957,
1218
1219     9983, 9985, 9984, 9986,10823, 9980, 9994,10004, 9996,10007,
1220    10014,10015,10003,10017,10024,10029,10032,10012,10023,10019,
1221    10042,10043,10034,10052,10059,10049,10057,10058,10051,10063,
1222    10823,10823,10062,10067,10823,10071,10064,10823,10065,10823,
1223    10072,10077,10087,10088,10823,10096,10097,10101,10102,10079,
1224    10823,10094,10107,10823,10109,10104,10099,10092,10823,10110,
1225    10116,10108,10117,10118,10128,10130,10119,10122,10823,10135,
1226    10148,10823,10823,10138,10155,10137,10152,10143,10823,10164,
1227    10171,10145,10146,10157,10169,10165,10823,10168,10180,10823,
1228    10823,10193,10184,10823,10201,10823,10178,10186,10823,10823,
1229
1230    10823,10823,10823,10823,10823,10823,10195,10207,10823,10823,
1231    10196,10212,10215,10217,10823,10218,10823,10198,10223,10226,
1232    10220,10823,10224,10823,10229,10208,10236,10247,10228,10253,
1233    10245,10242,10244,10248,10257,10251,10268,10271,10281,10269,
1234    10275,10289,10273,10297,10279,10296,10823,10823,10823,10823,
1235    10291,10295,10303,10298,10311,10319,10312,10327,10310,10313,
1236    10328,10330,10336,10318,10334,10353,10337,10332,10345,10352,
1237    10346,10365,10367,10369,10823,10374,10360,10362,10382,10823,
1238    10368,10823,10370,10823,10823,10384,10385,10390,10372,10358,
1239    10395,10389,10387,10401,10399,10405,10823,10406,10823,10823,
1240
1241    10823,10823,10402,10414,10823,10410,10415,10823,10416,10430,
1242    10421,10425,10426,10437,10444,10450,10445,10823,10823,10448,
1243    10442,10451,10454,10453,10464,10472,10469,10479,10481,10471,
1244    10493,10823,10489,10487,10494,10823,10498,10485,10496,10488,
1245    10491,10514,10505,10509,10823,10525,10823,10527,10530,10523,
1246    10516,10519,10520,10543,10540,10546,10823,10537,10547,10549,
1247    10555,10557,10572,10554,10560,10578,10575,10587,10591,10585,
1248    10586,10581,10596,10584,10823,10594,10590,10823,10605,10617,
1249    10606,10607,10614,10823,10597,10612,10616,10628,10638,10633,
1250    10823,10645,10646,10641,10823,10642,10823,10823,10649,10632,
1251
1252    10644,10650,10657,10823,10823,10823,10703,10710,10717,10724,
1253    10731,10738,10745,  100,10752,10759,10766,10773,10780,10787,
1254    10794,10801,10808,10815
1255    } ;
1256
1257static const flex_int16_t yy_def[3825] =
1258    {   0,
1259     3806,    1, 3807, 3807, 3808, 3808, 3809, 3809, 3810, 3810,
1260     3811, 3811, 3812, 3812, 3813, 3813, 3806, 3814, 3806, 3806,
1261     3806, 3806, 3815, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1262     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1263     3814, 3814, 3814, 3814, 3814, 3814, 3816, 3806, 3806, 3806,
1264     3816, 3817, 3806, 3806, 3806, 3817, 3818, 3806, 3806, 3806,
1265     3806, 3818, 3819, 3806, 3806, 3806, 3819, 3820, 3806, 3821,
1266     3806, 3820, 3820, 3822, 3806, 3806, 3806, 3806, 3822, 3823,
1267     3806, 3806, 3806, 3823, 3814, 3814, 3806, 3824, 3815, 3824,
1268     3815, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1269
1270     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1271     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1272     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1273     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1274     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1275     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1276     3816, 3816, 3817, 3817, 3818, 3818, 3806, 3819, 3819, 3820,
1277     3820, 3821, 3821, 3820, 3822, 3822, 3806, 3823, 3823, 3814,
1278     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1279     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1280
1281     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1282     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1283     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1284     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1285     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1286     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1287     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1288     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3820, 3814,
1289     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1290     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1291
1292     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1293     3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1294     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1295     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1296     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1297     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1298     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1299     3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1300     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1301     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1302
1303     3814, 3814, 3820, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1304     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1305     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1306     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1307     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1308     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1309     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1310     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1311     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1312     3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1313
1314     3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1315     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1316     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1317     3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1318     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1319     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1320     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1321     3820, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1322     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1323     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1324
1325     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1326     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1327     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1328     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1329     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1330     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1331     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1332     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1333     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1334     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1335
1336     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1337     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1338     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1339     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1340     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1341     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1342     3814, 3814, 3820, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1343     3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1344     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1345     3814, 3814, 3806, 3814, 3806, 3806, 3814, 3814, 3806, 3806,
1346
1347     3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1348     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1349     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1350     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1351     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1352     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1353     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1354     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1355     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1356     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1357
1358     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1359     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1360     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1361     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1362     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1363     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1364     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1365     3814, 3820, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1366     3806, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1367     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1368
1369     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1370     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1371     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1372     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1373     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1374     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1375     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1376     3814, 3814, 3814, 3814, 3806, 3814, 3806, 3814, 3814, 3814,
1377     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3806,
1378     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1379
1380     3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1381     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1382     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1383     3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1384     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1385     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1386     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1387     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1388     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1389     3814, 3814, 3814, 3820, 3820, 3814, 3814, 3814, 3814, 3814,
1390
1391     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1392     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1393     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1394     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1395     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1396     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1397     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1398     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1399     3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1400     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1401
1402     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1403     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1404     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1405     3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1406     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1407     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1408     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1409     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1410     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1411     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1412
1413     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1414     3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3820,
1415     3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1416     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1417     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1418     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1419     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1420     3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1421     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1422     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1423
1424     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1425     3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1426     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1427     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1428     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1429     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1430     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1431     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1432     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1433     3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3806, 3814,
1434
1435     3814, 3814, 3814, 3814, 3814, 3806, 3814, 3806, 3814, 3814,
1436     3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1437     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1438     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1439     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1440     3814, 3814, 3820, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1441     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1442     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1443     3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1444     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1445
1446     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1447     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1448     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1449     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1450     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1451     3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1452     3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3806, 3814,
1453     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1454     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1455     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1456
1457     3814, 3814, 3806, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1458     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1459     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1460     3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1461     3814, 3806, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1462     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1463     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1464     3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1465     3806, 3814, 3814, 3814, 3820, 3814, 3814, 3814, 3814, 3814,
1466     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1467
1468     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1469     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1470     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1471     3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1472     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1473     3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1474     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1475     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1476     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1477     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1478
1479     3814, 3814, 3814, 3806, 3806, 3814, 3814, 3814, 3806, 3814,
1480     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1481     3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1482     3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1483     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1484     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1485     3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1486     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1487     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1488     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3806, 3814,
1489
1490     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1491     3814, 3814, 3814, 3814, 3814, 3814, 3820, 3814, 3806, 3814,
1492     3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1493     3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3806, 3814,
1494     3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1495     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1496     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1497     3814, 3814, 3814, 3814, 3814, 3814, 3806, 3806, 3814, 3806,
1498     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1499     3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3806, 3814,
1500
1501     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1502     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1503     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1504     3814, 3814, 3814, 3814, 3814, 3806, 3814, 3806, 3814, 3814,
1505     3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1506     3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1507     3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1508     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1509     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1510     3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1511
1512     3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1513     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1514     3814, 3814, 3806, 3806, 3814, 3806, 3814, 3814, 3814, 3814,
1515     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1516     3806, 3814, 3814, 3820, 3814, 3814, 3814, 3814, 3806, 3814,
1517     3814, 3806, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1518     3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1519     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1520     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1521     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1522
1523     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1524     3814, 3806, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1525     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1526     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1527     3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1528     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1529     3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1530     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1531     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1532     3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1533
1534     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1535     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1536     3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1537     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1538     3814, 3814, 3814, 3814, 3814, 3806, 3814, 3806, 3814, 3814,
1539     3814, 3814, 3814, 3814, 3814, 3820, 3814, 3806, 3814, 3814,
1540     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3806,
1541     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1542     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1543     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1544
1545     3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1546     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1547     3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1548     3814, 3814, 3814, 3806, 3814, 3806, 3814, 3814, 3814, 3814,
1549     3814, 3806, 3814, 3814, 3814, 3814, 3814, 3806, 3806, 3814,
1550     3814, 3814, 3814, 3814, 3806, 3806, 3814, 3806, 3814, 3806,
1551     3814, 3814, 3806, 3806, 3814, 3814, 3814, 3814, 3806, 3814,
1552     3814, 3814, 3806, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1553     3814, 3806, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1554     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1555
1556     3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1557     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1558     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1559     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1560     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1561     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3820, 3814,
1562     3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1563     3814, 3814, 3814, 3814, 3814, 3806, 3806, 3814, 3806, 3814,
1564     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1565     3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1566
1567     3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1568     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1569     3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1570     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1571     3814, 3814, 3814, 3814, 3806, 3814, 3806, 3814, 3814, 3814,
1572     3814, 3814, 3814, 3814, 3814, 3814, 3806, 3806, 3814, 3814,
1573     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1574     3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1575     3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1576     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3806,
1577
1578     3806, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1579     3814, 3814, 3814, 3814, 3814, 3806, 3814, 3806, 3806, 3814,
1580     3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1581     3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3820, 3814,
1582     3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1583     3814, 3806, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1584     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1585     3814, 3814, 3806, 3814, 3814, 3814, 3806, 3814, 3806, 3814,
1586     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1587     3806, 3806, 3814, 3814, 3814, 3806, 3806, 3814, 3814, 3814,
1588
1589     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1590     3814, 3814, 3814, 3806, 3814, 3806, 3814, 3814, 3814, 3814,
1591     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1592     3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1593     3806, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3806, 3814,
1594     3814, 3814, 3814, 3806, 3814, 3806, 3814, 3814, 3814, 3814,
1595     3814, 3806, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1596     3814, 3814, 3814, 3806, 3814, 3814, 3806, 3814, 3814, 3814,
1597     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1598     3806, 3814, 3814, 3820, 3814, 3814, 3814, 3814, 3814, 3814,
1599
1600     3814, 3814, 3814, 3806, 3806, 3814, 3806, 3814, 3814, 3806,
1601     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1602     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1603     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1604     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1605     3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1606     3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1607     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806,
1608     3814, 3814, 3814, 3806, 3814, 3806, 3806, 3806, 3814, 3814,
1609     3814, 3806, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1610
1611     3814, 3814, 3806, 3806, 3806, 3814, 3814, 3814, 3806, 3814,
1612     3814, 3806, 3814, 3806, 3814, 3806, 3814, 3814, 3814, 3814,
1613     3806, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1614     3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1615     3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1616     3814, 3814, 3814, 3814, 3806, 3814, 3806, 3814, 3806, 3814,
1617     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1618     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3806, 3814,
1619     3814, 3806, 3814, 3814, 3814, 3806, 3814, 3806, 3814, 3806,
1620     3814, 3814, 3806, 3814, 3814, 3814, 3806, 3806, 3814, 3814,
1621
1622     3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1623     3814, 3806, 3814, 3806, 3814, 3814, 3814, 3806, 3806, 3814,
1624     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1625     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3806,
1626     3806, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1627     3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1628     3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1629     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1630     3814, 3806, 3806, 3814, 3814, 3806, 3814, 3814, 3806, 3806,
1631     3814, 3806, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1632
1633     3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1634     3814, 3814, 3814, 3814, 3814, 3806, 3806, 3814, 3814, 3806,
1635     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1636     3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1637     3814, 3806, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814,
1638     3814, 3814, 3806, 3814, 3814, 3814, 3806, 3806, 3806, 3814,
1639     3814, 3814, 3806, 3806, 3806, 3814, 3806, 3814, 3814, 3814,
1640     3814, 3806, 3814, 3806, 3806, 3814, 3814, 3814, 3814, 3814,
1641     3814, 3806, 3814, 3814, 3814, 3814, 3814, 3806, 3806, 3814,
1642     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3806, 3814,
1643
1644     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1645     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1646     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1647     3806, 3806, 3814, 3814, 3806, 3814, 3814, 3806, 3814, 3806,
1648     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814,
1649     3806, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3806, 3814,
1650     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1651     3814, 3806, 3806, 3814, 3814, 3814, 3814, 3814, 3806, 3814,
1652     3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3806,
1653     3806, 3814, 3814, 3806, 3814, 3806, 3814, 3814, 3806, 3806,
1654
1655     3806, 3806, 3806, 3806, 3806, 3806, 3814, 3814, 3806, 3806,
1656     3814, 3814, 3814, 3814, 3806, 3814, 3806, 3814, 3814, 3814,
1657     3814, 3806, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1658     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1659     3814, 3814, 3814, 3814, 3814, 3814, 3806, 3806, 3806, 3806,
1660     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1661     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1662     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3806,
1663     3814, 3806, 3814, 3806, 3806, 3814, 3814, 3814, 3814, 3814,
1664     3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3806, 3806,
1665
1666     3806, 3806, 3814, 3814, 3806, 3814, 3814, 3806, 3814, 3814,
1667     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3806, 3806, 3814,
1668     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1669     3814, 3806, 3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814,
1670     3814, 3814, 3814, 3814, 3806, 3814, 3806, 3814, 3814, 3814,
1671     3814, 3814, 3814, 3814, 3814, 3814, 3806, 3814, 3814, 3814,
1672     3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814, 3814,
1673     3814, 3814, 3814, 3814, 3806, 3814, 3814, 3806, 3814, 3814,
1674     3814, 3814, 3814, 3806, 3814, 3814, 3814, 3814, 3814, 3814,
1675     3806, 3814, 3814, 3814, 3806, 3814, 3806, 3806, 3814, 3814,
1676
1677     3814, 3814, 3814, 3806, 3806,    0, 3806, 3806, 3806, 3806,
1678     3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
1679     3806, 3806, 3806, 3806
1680    } ;
1681
1682static const flex_int16_t yy_nxt[10890] =
1683    {   0,
1684       18,   19,   20,   21,   22,   23,   22,   18,   18,   18,
1685       18,   18,   22,   24,   25,   26,   27,   28,   29,   18,
1686       30,   31,   32,   33,   34,   35,   36,   37,   38,   39,
1687       40,   41,   42,   43,   44,   18,   18,   18,   45,   46,
1688       24,   25,   26,   27,   28,   29,   18,   30,   31,   32,
1689       33,   34,   35,   36,   37,   38,   39,   40,   41,   42,
1690       43,   44,   18,   18,   18,   45,   48,   49,   50,   48,
1691       49,   50,   53,   54,   53,   54,   55,  120,   55,   58,
1692       59,   60,   61,  121,   22,   58,   59,   60,   61,   86,
1693       22,   64,   65,   66,   64,   65,   66,   87,  161,  161,
1694
1695       85,   88,  351,   51,  120,   86,   51,  168,  168,   56,
1696      121,   56,  171,   75,   76,   77,   78,   62,   22,   75,
1697       76,   77,   78,   62,   22,   81,   82,   83,   67,   98,
1698       86,   67,   19,   20,   21,   69,   70,   71,   19,   20,
1699       21,   69,   70,   71,   81,   82,   83,  122,  109,  178,
1700      178,   79,   72,  160,  171,   86,   98,   79,   72,   86,
1701      138,   90,   84,   90,   90,   86,   90,  179,  110,  797,
1702       73,   86,   90,   86,  122,  109,   73,  426,   87,   72,
1703      160,   84,   88,  161,  161,   72,  113,  138,  111,  177,
1704      163,  176,  131,  163,  114,  110,   99,   86,   86,   91,
1705
1706       92,   93,  112,  100,   94,  115,   86,  101,  189,   95,
1707      102,   96,   86,  113,   86,  111,  180,   86,   97,  131,
1708      174,  114,   86,   99,   86,  168,  168,   92,   93,  112,
1709      100,   94,  115,  171,  101,  189,   95,  102,   96,  165,
1710       86,  165,  165,  180,  165,   97,  103,  174,  116,  171,
1711      104,  117,  182,  105,  183,  106,  107,  301,  118,   85,
1712      119,   85,   85,  339,   85,  343,  108,  169,   86,   86,
1713       85,   86,   86,  103,  167,  116,  123,  104,  117,  182,
1714      105,  183,  106,  107,  124,  118,  181,  119,  127,   86,
1715      125,  185,  128,  108,  126,   86,  157,   86,   86,  149,
1716
1717      158,  150,   86,  123,  159,  186,  129,  166,  130,   86,
1718      151,  124,  164,  181,   86,  127,  152,  125,  185,  128,
1719      162,  126,   86,  157,  153,   86,  149,  158,  150,   86,
1720      490,  159,  186,  129,  154,  130,  132,  151,  155,  156,
1721      133,  184,  163,  152,  134,  163,   86,   86,  179,   86,
1722      135,  153,   90,  136,   90,   90,  190,   90,  246,   86,
1723      137,  154,   86,  132,  198,  155,  156,  133,  184,   86,
1724      170,  134,  170,  170,   86,  170,  175,  135,  175,  175,
1725      136,  175,  177,  190,   86,  246,  187,  137,  139,  199,
1726      173,  198,  140,   85,  202,   85,   85,   86,   85,  188,
1727
1728      231,  266,  141,  142,   85,  143,   90,   86,   90,   90,
1729       86,   90,   86,  187,   86,  139,  199,   90,  176,  140,
1730       86,  202,  191,  192,  200,  345,  188,  231,  266,  141,
1731      142,  193,  143,  144,  205,   86,  145,  194,  214,  195,
1732      171,   86,  201,  146,   91,  196,  197,  147,  148,  191,
1733      192,   86,   86,  209,   86,   86,   86,   86,  193,  203,
1734      144,  205,   86,  145,  194,  214,  195,  211,  204,  201,
1735      146,  213,  196,  197,  147,  148,  206,  207,  210,  230,
1736      209,   86,  212,  219,  208, 1250,  203,   86,  169,   86,
1737       86,  167,   86,   86,  211,  204,  215,  222,  213,  216,
1738
1739      221,  229,   86,  206,  207,  210,  230,  220,   86,  212,
1740      166,  208,  217,  218,   86,   86,   86,  223,  224,   86,
1741       86,  234,  225,  215,  222,  227,  216,  221,  229,  232,
1742      228,  238,  235,   86,  220,  164,  233,  236,  226,  217,
1743      218,   86,   86,   86,  223,  224,  237,  240,  234,  225,
1744       86,   86,  227,   86,   86,  162,  232,  228,  238,  235,
1745      239, 1410,  241,  233,  236,  226,   86,  251,  242,   86,
1746       86,   86,  243,  237,  240,  245,  247,  248,  244,   86,
1747      252,   86,   86,   86,  257,  253,  249,  239,  258,  241,
1748       86,   86,  250,   86,  251,  242,  259,  269,   86,  243,
1749
1750       86,  260,  245,  247,  248,  244,  254,  252,   86,  261,
1751      267,  257,  253,  249,  264, 3806,   86,  255,   86,  250,
1752       86,  256,  270,  259,  269,  265,  262,  273,  260,  263,
1753       86,  271,  268,  254,   86,   86,  261,  267,   86,  274,
1754      275,  264,   86,  272,  255, 3806,  277,   86,  256,  270,
1755      278,  276,  265,  262,  273,   86,  263, 3806,  271,  268,
1756       86,   86, 3806,   86, 3806,  279,  274,  275,   86,  165,
1757      272,  165,  165,  277,  165,  178,  178,  278,  276,  170,
1758      280,  170,  170,   90,  170,   90,   90,  281,   90,  171,
1759      283,  175,  279,  175,  175, 3806,  175,  284,  288,   86,
1760
1761      285,  282,   86,  286,   86,  290,  291,  280,  293,   86,
1762      287, 3806,  289,   86,   86,   86,  292,  283,   86,   86,
1763      294,  173,   86,  295,  284,  288,  299,  285,  282,  300,
1764      286,   86,  290,  291,  296,  293,   86,  287,   86,  289,
1765      297,   86,  298,  292,   86,  310,  311,  294,   86,  323,
1766      295,  314,  312,  299,  302,   86,  300,  313,  303,   86,
1767       86,   86,  317,  318,  315,  316,   86,  297,  319,  298,
1768       86,   86,  310,  311,  321,  304,  323,   86,  314, 3806,
1769      324, 3806,   86,  322,   86,  303,   86,   86, 3806,  317,
1770      318,  315,  316,   86,  325,  328,  320,   86, 3806,  349,
1771
1772       86,  321,  304,  305,   86,   86,   86,  324,  306,  326,
1773      322,  329,  327,  307, 3806,  330, 3806,  338,  337,  308,
1774      309,  325,  328,  320,   86,   86,   86,  336,   86,  340,
1775      305,   86,  341,   86,  344,  306,  326,   86,  329,  327,
1776      307,   86,  330,  342,  338,  337,  308,  309,  331,   86,
1777      350,  332,  346,  333,  336,   86,  340, 3806,  352,  353,
1778     3806,  344,  348,  354,   86,  334,  347,  335,   86,  357,
1779      342,  355,   86,  358,   86,  331,  356,  350,  332, 3806,
1780      333,  359,   86, 3806,   86,  361,  353,   86,  364,  348,
1781       86,   86,  334,  347,  335,   86,   86,  360,  355,  365,
1782
1783      358,   86,   86,  356,   86,  362,   86,  366,  359,  367,
1784      368,  369,  361,  371,  363,  364,  370,  372,   86,   86,
1785       86,   86,  373,   86,  360,  374,  365,   86,   86,  378,
1786      375,   86,  362,  376,  366,  382,  367,  368,  369,   86,
1787      371,  363,  381,  370,  383,  377,  384,   86, 3806,   86,
1788       86,   86,  374,  379,  380,  386,   86,  375,   86,  385,
1789      376,   86,   86,   86,  388,  387,  389,   86,   86,  381,
1790      390,  383,  377,  384,  391,  392,  393,  395,   86, 3806,
1791      379,  380,  386,  394,   86,   86,  385,  398,  396,   86,
1792       86,  399,  387, 3806, 3806,  401,   86,  390,   86,   86,
1793
1794      403,  402,  392,  393,   86,  404,   86,  405,  400,   86,
1795      394,  397, 3806,   86,  406,  171,   86,  407,  399,   86,
1796       86,   86,  401,   86,  409,  408,   86,  403,  402,   86,
1797      410,  411,  404,  412,  405,  400,  414,  413,  397,   86,
1798      416,  406,  415,  418,  407,  419,   86,  417,  421,  422,
1799       86,  409,  408,   86,   86,   86,   86,  420,   86,   86,
1800      412,   86,   86,   86,  413,  423,  424,  416,   86,  415,
1801      418,  425,  419,  427,  417,  421,   86,  428, 3806,  429,
1802      437,   86,   86,  430,  420,  431,  434, 3806,   86,   86,
1803      433,   86,  423,  424,   86,  438, 3806,   86,  425,  432,
1804
1805      427,  435,  436,   86,  428,   86,  429,  437,  439,   86,
1806      430,   86,  431,  434,   86,  440,  441,  433,  442,   86,
1807       86,   86,  443,  447,  448,  445,  432,   86,  435,  436,
1808      450,  446,  452,  451, 3806,  439,  454,   86,   86,  444,
1809      453,   86,   86,  441,  455,   86,  457,   86,  449,  443,
1810       86,   86,  445,   86,   86,   86,   86,  450,  446,  452,
1811      451,  456,   86,  454,  458,  459,  444,  453,   86,   86,
1812       86,  455,   86,  457,   86,  449,  460,  461,  465,  464,
1813      467,  462, 3806, 3806, 3806,  466,   86,  475,  456,  483,
1814      492,  458,  459,  474,   86,   86,   86,  476,  463, 3806,
1815
1816     3806,  484,   86,  460,  461,   86,  464,  467,  462,   86,
1817       86,   86,  466,   86,  475,   86,  483,   86,  485,   86,
1818      474,  486,  487,  491,  476,  463,  468,  488,  484,  469,
1819      495,  496,  489,   86,  470,  471,  472,  473, 3806,  512,
1820     3806, 3806,   86,   86,   86,  485,   86,   86,  486,  487,
1821      491, 3806,  519,  468, 3806, 3806,  469,  495,  496,   86,
1822      499,  470,  471,  472,  473,  477,  493,  478,  500,  494,
1823      501,   86,  497,  498, 3806,  503,   86,  504,   86,  479,
1824      480,  481,   86,  482,   86, 3806,   86,  499,  526,   86,
1825      502,  510,  477,  493,  478,  500,  494,   86,   86,  497,
1826
1827      498,   86,  503,   86,  504,  507,  479,  480,  481,  505,
1828      482,   86,   86,  506,  508,  509,  511,  502,  510,  513,
1829       86,  514,  518,   86,  517,   86,  533,   86,   86,   86,
1830      515,   86,  507,  520, 3806,  532,  505,  516,  531,  534,
1831      506,  508,  509,  511,   86,   86,  513,  521,  514,  518,
1832      525,  517,  523,  522,  524,   86,   86,  515,   86,  576,
1833      520,   86,  532,   86,  516,  531,   86, 3806,  535,   86,
1834      527,  548,  591,  551,  521,  549,   86,  525,   86,  523,
1835      522,  524,  579,  528,  552,   86,  529, 3806,  530,   86,
1836       86,   86,  553,  550,   86,  535,   86,  527,  548,   86,
1837
1838      551, 3806,  549, 3806,   86,   86, 3806,  554,  556,  579,
1839      528,  552,  566,  529,  565,  530,  536,  567,  537,  553,
1840      550,   86,  568,  555,  538,  569,   86,  645,  539,  572,
1841       86,   86,  570,  540,  554,  556,  541,   86,  571,  566,
1842      575,  565,   86,  536,  171,  537,   86, 3806,   86,   86,
1843      555,  538,  569,  574,   86,  539,  572, 3806,  573,  570,
1844      540,  578,   86,  541,  542,  571,  543,  575,  577, 3806,
1845       86,   86,  581,  671,  580,  588,  583,   86,   86,  544,
1846      574,  582,  545, 1010,  546,  573,  547,   86,  578,  585,
1847       86,  542,  586,  543,  584,  577,   86,   86,   86,   86,
1848
1849      671,  580,  588,  583,   86,  587,  544,  589,  582,  545,
1850      590,  546,   86,  547,  557,  558,  585,   86,  592,  586,
1851      594,  584,   86,  593,  559,  560,  561,  562,  563,   86,
1852       86,  564,  587,  595,  589,   86,  596,  590,  597,   86,
1853       86,  557,  558, 3806,   86,  592,   86,  594,  598,  599,
1854      593,  559,  560,  561,  562,  563,  600,  601,  564,   86,
1855      595,  604,  602,  603,  608,  597,  605,  606,   86,   86,
1856       86,   86,   86,  607,  612,  598,  599,   86,  609,  610,
1857       86, 3806,  615, 3806,  613,   86,   86,  616,  604,  602,
1858      603,  608,  617,  605,  606,   86,  611,   86,   86,  614,
1859
1860      607,  612,  618,   86,   86,  609,  610,   86,   86,  615,
1861      633,  613,  619,   86,  616,  620,  631,  632,  634,  617,
1862      644,   86,  635,  611,  621,  622,  614,  636,   86,  618,
1863      639,  640,   86,  638,   86,   86,  623,  633,  624,  619,
1864       86,   86,  620,   86,  632,  634,  641,  644,   86,  635,
1865      637,  621,  622,   86,   86,   86,   86,  639,  640,   86,
1866      638, 3806,  642,  623,  643,  624,  625,  647,   86,   86,
1867      646,  649,  648,  641,  626,  627, 3806,  637,  628,  629,
1868     3806,   86,  630,  651,  650, 3806, 3806, 3806,   86,  642,
1869       86,  643,   86,  625,  647,   86,  653,  646,   86,  648,
1870
1871      654,  626,  627,   86,  655,  628,  629,   86,  652,  630,
1872      651,  650,  656,  657,   86,  663,  659,  658,   86,  660,
1873      662,  661,   86,  653,   86,   86,   86,  654,   86,  664,
1874       86,  655,  665, 3806,   86,  652,  667,   86,  666,  656,
1875      657,  670,  663,  659,  658,   86,  660,  662,  661,  668,
1876      672,   86,  669,   86,  673,   86,  664, 3806,   86,  665,
1877      674, 3806,   86,  667,  675,  666,   86,   86,  670,  676,
1878      677,   86,  678,  679,  681,   86,  668,  680,   86,  669,
1879       86,  673,   86,   86,   86,  686,  688,  674,   86,   86,
1880      690,  675,  689,  684,  687,   86,  676,  677,  692,  678,
1881
1882      679,  681,   86,  682,  680,  683,  685,   86,  699,  691,
1883       86,   86,   86,   86,  695, 3806,  696,   86,   86,  689,
1884      684,  687,   86,  693,  701,  692,  694,  697,  698,   86,
1885      682,   86,  683,  685,  702, 3806,  691,  700,   86,   86,
1886       86,  695,   86,  696,   86,  704,   86,  705,   86,  710,
1887      693,  701,  708,  694,  697,  698,  706,  703,   86,  707,
1888      709,   86,  713,  712,  700,   86,   86,  715,  711,   86,
1889       86,   86,  704,   86,  705,   86,  710, 3806,  727,  708,
1890       86,   86,  764,  706,  703,   86,  707,  709,  714,  713,
1891      712,  724,  726,  725,  715,  711,   86, 3806,   86,   86,
1892
1893      728,   86, 3806,  729,   86,  727,  730, 3806,   86,  731,
1894     3806,  748,  734,   86,   86,  714,  716,   86,  724,  726,
1895      725,  717,  732,  718,   86,   86,  733,  728, 3806,  719,
1896      729,  720,   86,  730,  721,  722,  731,  735,  748,  734,
1897      743,  723,   86,  716,   86,  744, 3806,  739,  717,  732,
1898      718,   86,  737,  733,  742,  738,  719,  736,  720,   86,
1899      740,  721,  722,   86,  735,   86,   86,  743,  723,   86,
1900      741,  745,  744,  746,  739,   86,  747, 3806,  749,  737,
1901       86,  742,  738,  750,  736,  753,  751,  752,  754,  755,
1902      757, 3806,   86,  769,   86,   86,   86,  741,  745,   86,
1903
1904      746,   86,   86,  747,   86,  749,  756,  759,   86,  760,
1905      750,   86,  753,  751,  752,  754,  755,  757,  758,   86,
1906      761,  762,  765,  763,  767,   86,   86,  766,   86,  768,
1907       86,  770,   86,  756,  759,  774,  760,   86,   86,   86,
1908      772,  773,   86,   86,   86,  758,  171,  761,  762,  765,
1909      763,  767,  771,  776,  766,   86,  768,  777,  770,  778,
1910       86,   86,  774,   86,  780,  783,  775,  772,  773,   86,
1911      779,  781,   86,  782,  784,  791,  792,  786,  785,  771,
1912      776,  793,  787,  798,   86,   86,   86,   86,   86,   86,
1913       86,   86,  783,  775,  795,  796,   86,  779,  801,   86,
1914
1915      782,  784,  791,   86,  786,  785,   86,  788,   86,  787,
1916      794,  799,  800,  802,  789,   86,  806,  790,  803,  804,
1917      805,   86,   86,  810,   86,   86,   86,  807,   86,  811,
1918       86,   86,  809,  808,  788,  812,  816,  794,   86,   86,
1919       86,  789,   86,  806,  790,   86,  804,  805,  813,  815,
1920      810,   86,   86,   86,  807,   86,  811,   86,  814,  809,
1921      808,  818,  812,  817,  819,  820,   86,  821,   86,  822,
1922       86,  823,   86,   86,  826,  813,  815, 3806,  825,  829,
1923       86,  830,   86,   86,   86,  814,  827,   86,  818, 3806,
1924      817,  819,  820,  824,  821,   86,  822,   86,  823,   86,
1925
1926       86,  826,  828,   86,  831,  825,  837, 3806,  830,   86,
1927      832,   86,  836,  827,  838,  833,  839,   86,  834,  835,
1928      824,   86,  840,   86,  843,  841,  844,   86, 3806,  828,
1929      846,  831,   86,  837,   86,  842,   86,  832,  845,  836,
1930      850,  838,  833,  839,   86,  834,  835,   86,   86,  840,
1931      847,  843,  841,  849,   86,  852,   86,  846,   86,  851,
1932      853,  857,  842,  854,   86,  845,   86,  850,   86,   86,
1933      855,  856,  848,   86,  858,   86,  859,  847,  863,  867,
1934      849,   86,  852,   86,   86,  861,  851,  853,  857,  862,
1935      854,   86,  860,   86,   86,   86,  865,  855,  856,  848,
1936
1937       86,   86,  864,  859,  868,  863,  866,   86,  869,  870,
1938      871,   86,  861,   86,   86,  872,  862,  873,  874,  860,
1939      880,   86, 3806,  865,  876,   86,   86,  875,  878,  864,
1940      877,  868,   86,  866,  881,  869,   86,   86,   86,  879,
1941       86,   86,  872,   86,  873,  874,  882,   86,  883,  885,
1942       86,  876,   86,  886,  875,  878,   86,  877,  884,  889,
1943       86,  881,  887,  890,   86,  895,  879,  888, 3806, 3806,
1944     3806,   86,   86,   86,  891,  883,  885,   86,   86,  896,
1945      886,  892,  897,  898,  899,  884,  889,   86,  893,  894,
1946      890,   86,  900,  901,   86,  905,   86,   86,  909,  903,
1947
1948       86,  891,  902,  910, 3806,   86,  896,  911,  892,  897,
1949      898,  899, 3806,   86,  904,  893,  894,  906,   86,  900,
1950      901,  907,   86,   86,  913,  915,  903,   86,  914,  902,
1951       86,  908,   86,   86,  911,  912,   86,   86,  917,  916,
1952      922,  904, 3806,   86,  906,   86,  923,   86,  907,   86,
1953       86,  913,  915,  920,  918,  914,  924,  921,  908,  919,
1954      932,   86,  912,   86,   86,  917,  916,  925,   86,   86,
1955      926, 3806,   86,  923,   86,  934,  927, 3806,  931,   86,
1956      920,  918,   86,  924,  921,   86,  919,  928,   86,  929,
1957       86,  935,   86,  933,  925,   86,  936,  926,  930,  939,
1958
1959       86,  937,  934,  927,   86,  931,   86,   86, 3806,  938,
1960      940, 3806,  971,   86,  928,  942,  929,   86,  935,   86,
1961      933,  941,   86,  936,   86,  930,  939,  945,  937,  943,
1962      944,  946,   86,  947,  948,   86,  938,  940,   86,   86,
1963      949,  950,  942,  952,   86,  957,  951,   86,  941,  953,
1964      954,   86,  955,   86,  945,   86,  943,  944,  946,   86,
1965      947,  948,  959,   86,   86,   86,   86,  949,  950,  956,
1966      952,  958,  957,  951,   86,  960,  953,  954,  963,  955,
1967       86,  961,   86,  962,  964,   86,   86,  966, 3806,  959,
1968      965,  967, 3806,  972,  969, 3806,  956,   86,  958,   86,
1969
1970       86,   86,  960,  968,  970,  963,   86,   86,  961,   86,
1971      962,  964,   86,  973,  966,  171,   86,  965,  967,   86,
1972      972,  969,  974,  975,  976,  989,  977,  981,  978,  980,
1973      968,  970, 3806,  979, 3806,   86,   86,   86,   86,  982,
1974      973,  986,   86,  984,  987,   86,   86,  983,  985,  974,
1975      975,  976,   86,  977,   86,  978,  980,   86,  992,  988,
1976      979,  990,   86,   86,  993,   86,  982,   86,  986,   86,
1977      991,  987,  996,  995,  983,   86,  994,   86,   86,   86,
1978      997,   86,   86,  999, 1009,  992,  988, 1001,  990,  998,
1979     3806,  993,   86, 1000,   86,   86,   86,  991, 1011,   86,
1980
1981      995, 3806, 1058,  994,   86, 1012, 1013,  997,   86,   86,
1982      999, 1009, 3806, 1014, 1001, 1015,  998, 1016,   86, 3806,
1983     1000, 1002, 1018,   86, 1003, 1011, 1017,   86, 1004,   86,
1984     1019, 1005, 1012, 1013, 1020,   86,   86,   86, 1006, 1007,
1985     1014, 1008, 1015, 1021, 1016,   86,   86, 1025, 1002, 1018,
1986     1035, 1003, 3806, 1017, 1022, 1004,   86, 1019, 1005,   86,
1987       86, 1020, 1023,   86, 1024, 1006, 1007, 1034, 1008, 1073,
1988     1021,   86,   86, 1037,   86,   86, 1079, 1035, 1036,   86,
1989     1039, 1022,   86,   86,   86, 3806, 3806, 3806, 1038, 1023,
1990     1040, 1024, 1026, 1027, 1034, 1028, 1043, 3806, 1029, 1042,
1991
1992     1037,   86, 1044, 1030,   86, 1036, 1041, 1039,   86, 1031,
1993     1032,   86, 1033,   86, 1047, 1038, 1045, 1040,   86, 1026,
1994     1027,   86, 1028, 1043,   86, 1029, 1042, 1050,   86, 1044,
1995     1030, 1051, 1046, 1041,   86, 1048, 1031, 1032,   86, 1033,
1996     1049, 1047, 1053, 1045, 1052, 3806, 1054,   86, 1055, 3806,
1997     1056, 1059, 3806, 1060, 1050, 3806,   86,   86, 1051, 1046,
1998     1057, 1062, 3806, 1083,   86, 3806, 1065,   86,   86, 1053,
1999       86, 1052,   86, 1054,   86, 1055,   86, 1056, 1059, 1063,
2000     1060, 1061,   86, 1064,   86,   86,   86, 1057, 1062,   86,
2001     1066,   86, 1067, 1065, 1068,   86, 1069, 1071, 1072, 1075,
2002
2003     1070, 3806, 1085,   86,   86, 3806, 1063,   86, 1061,   86,
2004     1064, 1074,   86, 1076, 1078, 1084,   86, 1066, 1077, 1067,
2005     1080, 1068,   86, 1069, 1071, 1072,   86, 1070, 1082,   86,
2006     1086, 1081, 1087,   86,   86,   86,   86,   86, 1074,   86,
2007     1089, 1078, 1084, 1088, 1090,   86, 1092, 1080, 1096, 3806,
2008     1094, 1091, 1093,   86,   86, 1082, 1104, 1086, 1081, 1087,
2009       86,   86,   86, 1095, 1100,   86, 1102,   86,   86, 1098,
2010     1088,   86,   86, 1092, 1097, 1096, 1099, 1094, 1091, 1093,
2011       86, 1101, 1103,   86,   86,   86,   86, 1106,   86, 1105,
2012     1095,   86, 1107, 1102, 1108,   86, 1098, 1109,   86,   86,
2013
2014       86, 1097, 1112, 1099, 1111, 1110, 1113, 3806, 1101,   86,
2015       86, 3806,   86, 1114, 1106, 1115, 1105,   86, 1117, 1107,
2016       86, 1108, 1122, 1116, 1109,   86,   86, 1118,   86, 1112,
2017       86, 1111, 1110, 1113, 1119,   86,   86, 3806, 1121, 1120,
2018     1114,   86, 1115, 1123, 1124, 1117, 1125, 1130,   86, 1122,
2019     1116,   86,   86, 1126, 1118,   86,   86, 3806, 1127, 1131,
2020     1128, 1133, 3806, 1132,   86, 1121,   86,   86, 1129,   86,
2021     1123, 1124,   86, 1125, 1130, 1134, 1135, 3806, 1145, 1140,
2022     1126,   86, 1136,   86,   86, 1127,   86, 1128, 1133,   86,
2023     1132, 1138, 1137, 1139, 1142, 1129,   86,   86,   86,   86,
2024
2025       86, 1141, 1134, 1135, 1143,   86, 1140, 1144, 1146, 1136,
2026       86, 1148, 1147,   86, 1152,   86, 1149,   86, 1138, 1137,
2027     1139, 1142,   86, 1150,   86, 1151,   86,   86, 1141, 1153,
2028     1155, 1143, 1154,   86, 1144, 1146,   86, 1156, 1148, 1147,
2029     1157, 1152,   86, 1149, 1158,   86,   86,   86, 1159, 1160,
2030     1150, 1161, 1151, 1163,   86,   86, 1153,   86,   86, 1154,
2031     1162,   86,   86, 1164, 1156,   86, 1165, 1157,   86, 1166,
2032       86, 1158, 1167,   86, 3806, 1159, 1160, 1169, 1161, 1168,
2033     1163, 1170, 1172, 1173, 1171, 3806, 3806, 1162, 1181, 1174,
2034     1164,   86,   86, 1165,   86, 1175, 1178, 3806, 1180, 1179,
2035
2036     1182,   86, 1176,   86,   86,   86, 1168, 1183, 1170,   86,
2037     1177, 1171,   86, 1185,   86,   86, 1174,   86,   86, 1184,
2038       86, 1186, 1175, 1178,   86, 1180, 1179,   86,   86, 1176,
2039     1188,   86,   86, 1190, 1183, 1187, 1189, 1177, 1194, 1196,
2040     1185, 1191,   86, 1195, 1197,   86, 1184, 1198, 3806, 3806,
2041     3806,   86, 3806,   86, 1192,   86, 1193,   86, 1202, 1199,
2042     1190, 1247, 1187, 1189,   86,   86, 1196,   86, 1191, 1200,
2043      171, 1197, 1201,   86, 1198, 1204,   86, 1205,   86, 1203,
2044       86, 1192, 1206, 1193,   86, 1202, 1199,   86, 1209, 1207,
2045       86, 1208, 3806,   86,   86,   86, 1200, 1218,   86, 1201,
2046
2047     3806, 1216, 1204,   86, 1205, 3806, 1203, 1217, 1220, 1206,
2048     3806, 1221, 3806,   86, 1219, 1209, 1207, 1224, 1208, 1210,
2049       86, 1211, 3806,   86, 1218, 1212,   86, 1213, 1216,   86,
2050     1222, 1223, 1214,   86, 1217,   86, 1225, 1215, 1221, 1226,
2051     1228, 1219, 1227,   86, 1224, 1229, 1210, 1230, 1211,   86,
2052     1234, 1240, 1212,   86, 1213,   86, 1232, 1222, 1223, 1214,
2053     1231,   86,   86, 1225, 1215,   86, 1226, 1237, 1233, 1227,
2054     1235, 1238,   86,   86, 1230, 1239, 1242, 1234,   86,   86,
2055     1236, 1243,   86, 1232, 1241, 1245, 3806, 1231,   86,   86,
2056       86, 1244,   86,   86, 1237, 1233, 1248, 1235, 1238,   86,
2057
2058     1246, 1251, 1239, 1242, 1249, 1252,   86, 1236, 1243, 1253,
2059       86, 1241, 1245,   86, 1254, 3806, 1263,   86, 1244, 1262,
2060     3806, 3806,   86,   86, 1264, 1265, 1267, 1246,   86, 3806,
2061     1266,   86, 1252,   86,   86, 1268, 1253,   86,   86, 1270,
2062       86, 1254, 1255, 1263, 3806, 1269, 1262, 1256,   86, 1257,
2063       86, 1264, 1265, 1267,   86, 1258,   86, 1266,   86, 1274,
2064     1259, 1260, 1268, 1272, 1271, 1273, 1270, 1261,   86, 1255,
2065       86,   86, 1269,   86, 1256, 1275, 1257,   86, 1276, 3806,
2066     3806, 1277, 1258, 1285, 1278, 1282, 1274, 1259, 1260, 1280,
2067     1272, 1271, 1273,   86, 1261, 1279,   86, 1283,   86, 1286,
2068
2069       86, 1281, 1284, 1288, 1289, 1276,   86,   86, 1277,   86,
2070       86, 1278,   86, 1287, 1290,   86, 1280, 1291,   86, 3806,
2071       86,   86, 1279,   86, 1283,   86, 1286, 1292, 1281, 1284,
2072     1288, 1289, 1293, 1294, 1295,   86, 1296, 1297, 3806,   86,
2073     1287, 3806, 1300, 1299, 1291,   86,   86, 3806, 1298,   86,
2074       86,   86, 1306, 1301, 1292,   86,   86, 1303, 1304, 1293,
2075     1294, 1295, 3806, 1305, 1297,   86,   86, 1302,   86, 1300,
2076     1299, 1308,   86,   86,   86, 1298,   86, 1307, 1309, 1306,
2077     1301,   86, 1310, 3806, 1303, 1304, 1311,   86, 1313,   86,
2078     1305, 1315, 1314,   86, 1302,   86, 1312, 3806,   86,   86,
2079
2080     1318, 1316, 1317,   86, 1307, 1309, 1324, 1323, 1319, 1310,
2081       86,   86,   86, 1311,   86, 1313, 1320, 1321, 1315, 1322,
2082     1325, 1326, 1327, 1312,   86,   86, 3806, 1318, 1316, 1317,
2083       86, 1329,   86, 1324, 1323, 1319, 1328, 1331,   86,   86,
2084       86,   86, 1332, 1320, 1321,   86, 1322, 1335,   86, 1327,
2085     1330, 1336,   86,   86, 1333, 1337, 1340, 1334, 1329,   86,
2086     1338,   86, 1339, 1328, 1344, 1345, 3806,   86,   86,   86,
2087     1341, 1342,   86,   86, 1335,   86,   86, 1330, 1336,   86,
2088       86, 1333, 1337, 1340, 1334,   86, 1346, 1338, 1343, 1339,
2089     1347, 3806, 1345, 1349, 1348, 1351,   86, 1341, 1342, 1350,
2090
2091       86, 1352,   86, 3806, 3806, 1353,   86,   86, 1354, 1357,
2092     1364, 1356, 1355, 1360, 3806, 1343,   86, 1347,   86,   86,
2093     1349, 1348, 1351,   86, 1358,   86, 1350,   86, 1352,   86,
2094       86,   86, 1353, 1359,   86, 1354, 1357, 1362, 1356, 1355,
2095     1360, 1361,   86, 1363, 1365, 1366,   86, 1367,   86,   86,
2096     3806, 1358,   86, 1368, 3806, 1369,   86, 1370,   86, 1371,
2097     1359, 1373, 1372,   86, 1362, 1374,   86,   86, 1361,   86,
2098     1363,   86, 1366, 1375, 1367, 1376, 1377,   86, 1380,   86,
2099     1368,   86, 1369, 1382, 1370,   86, 1371, 1378, 1373, 1372,
2100     1379, 1381, 1374, 1384, 1383, 1386, 1385, 1387, 1388, 3806,
2101
2102     3806, 3806,   86,   86, 1389,   86, 1391,   86,   86,   86,
2103       86, 1390,   86,   86, 1378,   86,   86, 1379, 1381,   86,
2104     1384, 1383,   86, 1385, 1387,   86, 1392,   86,   86,   86,
2105     1394, 1389, 1393, 1391, 1395,   86, 1396, 3806, 1390, 1398,
2106       86, 1399, 1397, 1400, 1401, 1402, 1405, 1407,   86, 3806,
2107     3806,   86,   86, 1392,   86, 1403,   86, 1394,   86, 1393,
2108       86, 1395, 1404, 1396,   86, 1408, 1398,   86, 1399, 1397,
2109     1400, 1406, 1409,   86, 1407, 1412,   86,   86, 1411,   86,
2110       86,   86, 1403, 1413,   86, 1416, 1414,   86,   86, 1404,
2111     1417,   86, 1408,   86, 1418, 1415, 1419, 1420, 1406, 1409,
2112
2113     1423, 1421, 1412,   86,  171, 1411, 1427, 1422, 1424,   86,
2114     1413, 1425,   86, 1414,   86,   86,   86, 1417,   86,   86,
2115     1426, 1418, 1415, 1419, 1420, 1429, 1430, 1423, 1421,   86,
2116       86, 3806,   86,   86, 1422, 1424, 1428, 1431, 1425, 1432,
2117     1433, 3806, 3806,   86, 1434, 3806, 1435, 1426, 1436,   86,
2118       86, 1440, 1437, 1441, 1438, 1445, 3806,   86,   86,   86,
2119     1439,   86,   86, 1428, 1431,   86, 1432, 1433,   86,   86,
2120     1442, 1434,   86, 1435, 1443, 1436,   86,   86, 1440, 1437,
2121     1441, 1438,   86, 1444, 1447, 1446,   86, 1439, 1449, 1451,
2122       86,   86, 1450, 1448, 1459, 1452,   86, 1442,   86, 3806,
2123
2124       86, 1443,   86, 1456, 1453, 1458, 1454,   86, 1457, 1455,
2125     1444, 1447, 1446,   86, 3806, 1449, 1451,   86, 1460, 1450,
2126     1448,   86, 1452, 1462, 1461, 1469,   86,   86, 1465, 1468,
2127     1456, 1453, 1458, 1454,   86, 1457, 1455,   86,   86, 1466,
2128     1463, 1467, 1470, 1464,   86, 1460,   86,   86,   86,   86,
2129     1462, 1461,   86, 1474, 1473, 1465, 1468,   86, 1471, 1472,
2130     1475,   86,   86, 3806,   86, 1479, 1466, 1463, 1467, 1470,
2131     1464,   86, 1476, 1478, 3806,   86, 1477, 1481, 1480, 1482,
2132       86, 1473,   86,   86, 1484, 1471, 1472, 1475,   86,   86,
2133     1483,   86, 1479, 1485,   86,   86,   86, 1486,   86, 1476,
2134
2135     1478, 1487, 1489, 1477, 1481, 1480, 1482, 1488,   86,   86,
2136       86, 1484, 1490, 1493, 1491, 1492, 1494, 1483,   86, 1495,
2137     1485,   86,   86,   86, 1486,   86, 1496, 1498, 1487, 1489,
2138     1497, 1505,   86,   86, 1488, 1499,   86,   86, 1500, 1490,
2139     1493, 1491, 1492, 1494, 1501,   86,   86,   86, 1502, 1504,
2140     1503,   86,   86, 1496, 1498, 1509,   86, 1497, 1507,   86,
2141     1506,   86, 1499,   86, 1510, 1500, 1508,   86,   86, 1512,
2142     1513, 1501, 1511, 1514, 1530, 1502, 1504, 1503,   86,   86,
2143       86, 1515, 1509,   86, 1520, 1518, 1516, 1506,   86, 1519,
2144       86, 1510,   86, 1508, 1517, 1534, 1512, 1513,   86, 1511,
2145
2146     1514, 1528,   86,   86, 3806, 1529,   86, 3806, 3806, 1531,
2147       86, 1520, 1518,   86, 3806,   86, 1519, 3806, 3806, 1532,
2148     1533, 1517, 1521,   86, 1537, 1538, 1522,   86, 1528, 1523,
2149     1524,   86, 1529, 1535, 1525,   86, 1531, 1536,   86, 1539,
2150     1526,   86, 1544, 1545, 1527, 1543, 1532, 1533,   86, 1521,
2151       86, 1537, 1538, 1522,   86,   86, 1523, 1524, 1546,   86,
2152     1535, 1525, 1542, 1547, 1536,   86, 1539, 1526, 1540,   86,
2153     1541, 1527, 1543, 1548,   86,   86, 1549, 1551, 1550, 1552,
2154       86,   86,   86, 1554, 3806, 1546,   86, 1553, 3806, 1542,
2155     1547,   86,   86, 1557, 1555, 1540, 1556, 1541,   86, 1564,
2156
2157     1548, 1565, 3806, 1549, 1551, 1550, 3806,   86,   86, 1568,
2158     1563,   86,   86, 1597, 1553,   86,   86, 1566, 1567,   86,
2159     1557, 1555, 1569, 1556, 1558,   86, 1564,   86, 1565, 1559,
2160     1572, 1560,   86, 1561, 1571, 1562, 1568, 1563, 1570,   86,
2161       86,   86,   86, 3806, 3806,   86,   86, 1574, 1573, 1569,
2162       86, 1558, 1575, 1576, 1577, 1579, 1559, 1572, 1560, 1578,
2163     1561, 1571, 1562, 1580,   86, 1570,   86, 1581, 1585, 1586,
2164     1582,   86,   86, 3806, 1584, 1573,   86,   86,   86,   86,
2165     1576, 1577, 1579, 1583, 1587,   86, 1578,   86, 1588, 1589,
2166     1580,   86, 1590, 1591, 1581,   86, 1586, 1582, 1593,   86,
2167
2168       86, 1584,   86, 1592, 1594, 1596,   86,   86, 1599, 1602,
2169     1583, 1587, 1600,   86,   86, 1588, 1589, 1598,   86, 1590,
2170     1591,   86, 1595, 1601,   86, 1593, 1606,   86, 1608,   86,
2171     1592, 1594, 1596,   86,   86,   86, 1602, 1603, 1604, 1600,
2172     1605, 3806, 1609, 1614, 1598, 1607,   86, 3806,   86, 1595,
2173     1601, 1610,   86,   86, 1611,   86, 1612, 1613,   86,   86,
2174       86, 1616,   86,   86, 1603, 1604, 1617, 1605,   86, 1609,
2175       86,   86, 1607,   86, 1620, 1615, 1619, 1621, 1610, 1618,
2176     1622, 1611,   86, 1612, 1613, 1623,   86, 1624, 1616, 3806,
2177       86, 1625, 3806, 1617,   86,   86,   86, 1627, 1629, 1626,
2178
2179     3806, 1620, 1615,   86, 1621,   86, 1618, 1622,   86, 1628,
2180     1630,   86, 1623,   86, 1624, 1632, 1631, 3806, 1625,   86,
2181       86, 1634,   86, 1633, 1627, 1629, 1626, 1635, 1640,   86,
2182     1637, 1636, 1638, 1641, 1642, 1644, 1628, 1630,   86,   86,
2183       86, 1639, 1632, 1631, 1643,   86, 1645,   86, 1634,   86,
2184     1633,   86,   86, 1647, 1635,   86,   86, 1637, 1636, 1638,
2185       86, 1642, 1646, 1648,   86,   86,   86,   86, 1639,   86,
2186       86, 1643, 1649, 1645, 1650, 1651, 1652, 1655, 1654,   86,
2187     1647,   86, 1653, 1656,   86,   86, 1657, 1658, 1660, 1646,
2188       86, 1664, 3806,   86,  171, 1659,   86, 3806, 1668, 1649,
2189
2190     1661, 1650, 1651, 1652, 1655, 1654, 1662,   86,   86, 1653,
2191     1663,   86, 1665,   86, 1658,   86, 1666,   86,   86,   86,
2192       86, 1667, 1659,   86, 1669, 1668, 1675, 1661, 1670, 1672,
2193     1671,   86,   86, 1662,   86,   86, 1673, 1663,   86, 1665,
2194     1674, 1676, 1677, 1666, 1678,   86, 1679, 1684, 1667,   86,
2195       86, 1669,   86,   86, 1683, 1670, 1672, 1671,   86,   86,
2196     1680, 1682, 1685, 1673,   86, 1681,   86, 1674, 1676, 1677,
2197       86, 1678,   86, 1679, 1684,   86, 1691, 1689, 1686, 1687,
2198     1690, 1683, 1688, 1692, 1693, 1694, 1696, 3806, 1682, 1685,
2199       86,   86,   86, 1695,   86, 1697, 3806,   86, 3806,   86,
2200
2201     1698, 1702,   86, 1691, 1689, 1686, 1687, 1690,   86, 1688,
2202     1692, 1693, 1701, 1696, 1699, 1703,   86,   86, 1700,   86,
2203     1695,   86,   86,   86, 1704, 1705, 1706,   86, 1702, 1708,
2204     1709, 1710, 1707,   86,   86, 1711,   86,   86, 1712, 1701,
2205       86, 1699, 1703,   86,   86, 1700,   86, 1713, 1716, 3806,
2206     3806, 1704, 1705, 1706,   86, 1715, 1708, 1709, 1710, 1707,
2207     1714, 1717, 1711,   86,   86, 1712, 1718, 1719, 1720,   86,
2208       86, 1721, 1722, 3806, 1713,   86,   86,   86, 1723, 1724,
2209       86,   86, 1715,   86,   86, 1726,   86, 1714, 1717, 1725,
2210     1728, 1727, 1730, 1718, 1719, 1720, 1729, 1733, 1721, 1722,
2211
2212       86,   86,   86,   86, 1731, 1723, 1724,   86, 1732,   86,
2213       86, 1735, 1726, 1736, 1734,   86, 1725, 1728, 1727, 1730,
2214       86,   86, 1737, 1729, 1733, 1739, 1738, 3806, 1740, 1741,
2215       86, 1731, 1742, 1745, 1743, 1732, 1744,   86, 1735,   86,
2216       86, 1734, 1746,   86, 1747,   86, 1748, 3806, 1752, 3806,
2217       86,   86, 1739, 1738,   86,   86, 1741, 1753,   86, 1742,
2218     1749, 1743, 1755, 1744, 1754,   86, 1758, 3806, 1756, 3806,
2219     1760,   86,   86, 1748,   86,   86,   86, 1757,   86, 1750,
2220       86, 1751,   86,   86, 1753, 1759,   86, 1749, 1762, 1755,
2221       86, 1754, 1761, 1758, 1763, 1756,   86, 1760, 1764,   86,
2222
2223     1771, 1765, 1774, 1770, 1757,   86, 1750,   86, 1751,   86,
2224       86,   86, 1759, 1766, 1775, 1762,   86, 1768, 1767, 1761,
2225       86, 1763, 1769, 1772, 1773, 1764,   86, 1771, 1765, 1774,
2226     1770,   86,   86, 1777, 1776, 1778,   86, 1779, 3806, 1781,
2227       86, 1775,   86, 1780,   86,   86, 1782, 1783,   86,   86,
2228     1772, 1773, 1785,   86, 1784,   86, 1786, 1788, 1787,   86,
2229     1777, 1776, 1778, 1789,   86,   86, 1781, 1791, 1790,   86,
2230     1780,   86, 1792, 1782, 1783,   86, 1796, 1799, 1795,   86,
2231       86, 1784,   86, 1786,   86, 1787,   86, 1798, 1793,   86,
2232     1789,   86, 1794, 1802, 1791, 1790,   86, 1797, 1800, 1792,
2233
2234       86,   86, 1801, 1796, 1799, 1795,   86, 1803,   86,   86,
2235       86, 1804, 3806,   86, 1798, 1793, 1807, 1805, 1806, 1794,
2236     1802, 1808, 1809, 1810, 1797, 1800, 1814, 1815, 1822, 1801,
2237       86, 3806, 3806,   86,   86,   86, 1816,   86,   86,   86,
2238       86,   86, 1811, 1807, 1805, 1806, 1812, 1820, 1808, 1809,
2239     1810,   86, 1817, 1814, 1815, 1818, 1821, 1819,   86, 1813,
2240       86, 1824,   86, 1816,   86, 1823, 1825,   86,   86, 1811,
2241     1827, 3806, 1826, 1812,   86,   86, 3806,   86,   86, 1817,
2242     1828, 1830, 1818, 1821, 1819, 1833, 1813, 1831, 1824, 1829,
2243       86, 1834, 1823,   86,   86, 1832,   86, 1827,   86, 1826,
2244
2245     1835, 1836,   86,   86, 1837,   86, 3806, 1828, 1830,   86,
2246       86, 1839, 1838, 1840, 1831, 1842, 1829,   86,   86, 1841,
2247     1843, 1844, 1832, 1851, 1845, 1846,   86, 1835, 3806, 1847,
2248     1848, 1837, 1853,   86,   86,   86,   86,   86, 1839, 1838,
2249       86,   86,   86, 1849,   86,   86, 1841, 1843,   86,   86,
2250     1851, 1845, 1846, 1850,   86, 1852, 1847, 1848,   86, 1853,
2251       86, 1854,   86, 1855, 1856, 1857, 1858, 1859, 1860,   86,
2252     1849, 1861,   86,   86, 1862, 1864, 3806,   86, 1865,   86,
2253     1850, 1866, 1852,   86, 1863,   86, 1871,   86, 1854,   86,
2254     1855, 1856, 1857, 1858,   86, 1860,   86, 1867, 1861,   86,
2255
2256     1868, 1862, 1864, 1869, 1870, 1865, 1872,   86, 1866,   86,
2257       86, 1863, 1873,   86, 1874, 1875,   86, 3806, 1876,   86,
2258       86, 1877, 1880, 1878, 1867,   86,   86, 1868, 1879,   86,
2259     1869, 1870, 1881, 1872, 1882, 1884,   86,   86, 1883, 1873,
2260       86, 1874, 1875, 1885,   86, 1876,   86, 1886, 1877, 1880,
2261     1878, 1887,   86, 1890,  171, 1879,   86,   86,   86,   86,
2262     1893, 1882, 1884, 1892,   86, 1883,   86, 1888, 1889, 1891,
2263     1885,   86, 1895, 1898, 1886,   86, 1894, 1896, 1887,   86,
2264     1890,   86, 1901, 1897,   86, 1900,   86, 1893, 1899,   86,
2265     1892,   86, 1902, 1904, 1888, 1889, 1891, 1906,   86, 1895,
2266
2267       86, 1903, 3806, 1894, 1896, 1907,   86,   86, 1908, 1901,
2268     1897, 1905, 1900, 1909, 1910, 1899, 1911,   86,   86, 1902,
2269     3806,   86,   86,   86,   86,   86, 1912,   86, 1903,   86,
2270     1913, 1914, 1907, 1915,   86, 1908, 1916, 1917, 1905, 1918,
2271       86, 1910, 1919, 1911, 1920, 1928, 1921,   86,   86, 3806,
2272       86, 3806,   86, 1912,   86, 1923, 1922, 1913, 1914,   86,
2273     1915, 1932,   86, 1916, 1917,   86, 1918, 1924,   86, 1919,
2274       86, 1920,   86, 1921,   86, 1925, 1929,   86, 1926,   86,
2275     1930, 1936, 1923, 1922, 1933, 1934, 1935,   86, 1932, 1937,
2276     1927, 3806,   86, 1938, 1924, 1939, 1931, 1940,   86,   86,
2277
2278     1943, 1950, 1925, 1929,   86, 1926,   86, 1930,   86, 1941,
2279       86, 1933, 1934, 1935, 1942, 1944, 1937, 1927, 1947,   86,
2280     1945, 1946, 1948, 1931, 1940,   86,   86,   86, 1949,   86,
2281       86, 1951,   86,   86,   86,   86, 1941,   86, 1952, 1953,
2282       86, 1942, 1944, 1954, 1957, 1947, 1955, 1945, 1946, 1948,
2283       86, 3806,   86, 1959, 1956, 1949, 1958, 1960, 1963, 1962,
2284     1961,   86,   86,   86,   86,   86, 1953,   86, 1970, 1964,
2285       86,   86,   86, 1955, 3806,   86,   86, 1965,   86, 1966,
2286     1959, 1956,   86, 1958, 1960, 1963, 1962, 1961, 1967, 1968,
2287       86,   86,   86,   86, 1969, 1970, 1964,   86, 1972, 1971,
2288
2289     1975, 1976, 1977, 1979, 1965, 1973, 1966,   86, 1974,   86,
2290       86, 1978, 3806, 1983,   86, 1967, 1968,   86,   86, 3806,
2291       86, 1969,   86,   86, 1980, 1972, 1971, 1975, 1981, 1977,
2292     1979, 1984, 1973,   86, 1985, 1974, 1986,   86, 1978,   86,
2293     1983, 1988, 1987,   86, 1989, 1990, 1982, 1991, 3806,   86,
2294     1992, 1980,   86,   86, 3806, 1981,   86,   86, 1984, 2004,
2295       86,   86, 1994, 1986,   86, 1996, 1993, 1995, 1988, 1987,
2296       86, 1989, 1990, 1982, 1991,   86, 1999, 1992, 1997,   86,
2297       86, 1998, 2002, 2000,   86,   86,   86,   86, 2001, 1994,
2298     2003, 2005, 1996, 1993, 1995,   86,   86, 2006, 2007, 2008,
2299
2300     2009, 3806, 2010, 1999, 3806, 1997, 2012,   86, 1998, 2002,
2301     2000, 2011,   86, 2013,   86, 2001,   86, 2003,   86,   86,
2302     2014, 2016, 3806,   86, 2006, 2007, 2008,   86,   86, 2010,
2303     2015, 2017, 2019, 2012, 2018,   86,   86, 3806, 2011,   86,
2304     2013, 2020, 2025,   86,   86,   86, 2024, 2014, 2016,   86,
2305       86, 2021, 2023, 2026, 2022,   86, 2027, 2015, 2017, 2019,
2306     2028, 2018, 2030, 2029,   86, 2033, 2035,   86, 2020,   86,
2307     2034,   86, 2031, 2024,   86, 2032,   86,   86, 2021, 2023,
2308       86, 2022, 2037, 2027,   86,   86,   86, 2028,   86, 2030,
2309     2029, 2036, 2038, 2035, 2039, 3806, 2041,   86, 2040, 2031,
2310
2311     3806,   86, 2032, 2045, 3806, 2049,   86,   86, 2042, 2037,
2312     2043, 3806, 2050, 2047, 2044, 2051, 2048, 2046, 2036, 2038,
2313       86, 2039,   86, 2041,   86, 2040,   86,   86, 2052,   86,
2314     2045,   86, 2049, 2061,   86, 2042,   86, 2043,   86, 2050,
2315     2047, 2044, 2051, 2048, 2046, 2053, 2054, 2056, 2058, 2057,
2316     2060, 2055, 3806,   86,   86, 2052, 2063, 2059, 2062, 2064,
2317       86,   86, 2067,   86, 3806,   86, 2065,   86, 2066, 2068,
2318     2072, 2076, 2053, 2069, 2056, 2058, 2057, 2060,   86,   86,
2319       86,   86, 2070,   86, 2059, 2062, 2071, 2073,   86,   86,
2320       86,   86, 2074, 2065,   86, 2066, 2068, 2078, 2075,   86,
2321
2322     2069,   86,   86,   86, 2077,   86, 2082, 2079, 2081, 2070,
2323     2080, 2083, 2084, 2071, 2073,   86,   86, 3806,   86, 2074,
2324     2091, 2089, 2085,   86, 2078, 2075,   86,   86,   86,   86,
2325     2086, 2077, 2087, 2082, 2079, 2081, 2093, 2080, 2083, 2084,
2326       86, 2088, 2090, 2092,   86,   86, 2095, 2094,   86, 2085,
2327     2099, 2096,   86, 2097,   86, 2101, 2098, 2086,   86, 2087,
2328       86,   86,   86, 2093,   86, 2100, 2102, 2104, 2088, 2090,
2329     2103,   86, 2105,   86, 2094,   86,   86,   86, 2096,   86,
2330     2097,   86, 2106, 2098, 2107, 3806, 2108,   86, 2109,   86,
2331     2110, 3806, 2100, 2102, 2104,   86, 2111, 2103, 2112,   86,
2332
2333     2113, 2119, 2115, 2114,   86, 3806, 2117,   86,   86, 2106,
2334     2116, 2107,   86, 2108, 2118, 2109,   86, 2110,   86,   86,
2335       86,  171, 2123, 2111, 2120, 2112,   86, 2113,   86, 2115,
2336     2114, 2121,   86, 2117,   86, 2122, 2126, 2116, 2124, 2125,
2337     2127, 2118, 2128,   86, 2132, 2130,   86, 2129, 2136,   86,
2338     2134, 2120,   86,   86,   86,   86,   86,   86, 2121,   86,
2339       86, 2131, 2122, 2126, 2133, 2124, 2125, 2127,   86, 2128,
2340     2137, 2135, 2130, 2138, 2129,   86,   86, 2134, 2139,   86,
2341       86, 2140, 2141, 2142, 2143, 2144, 2148, 3806, 2131, 3806,
2342     2146, 2133,   86,   86,   86, 2147, 2145, 2137, 2135, 2149,
2343
2344     2138,   86, 3806,   86,   86,   86, 2152, 2154, 2140, 2150,
2345     2142,   86,   86, 2148,   86,   86,   86, 2146,   86,   86,
2346     2151, 2153, 2147, 2145, 2155,   86, 2149, 2157,   86,   86,
2347     2156, 2160, 2158, 2152, 2154, 3806, 2150, 2165,   86,   86,
2348     2163, 3806,   86,   86, 2164, 2159, 2161, 2151, 2153,   86,
2349       86, 2155, 2166, 2162, 2157, 2167,   86, 2156, 2160, 2158,
2350     2173,   86,   86, 2168,   86, 2171, 2177, 2163,   86, 2169,
2351     2170, 2164, 2159, 2161,   86, 2176,   86,   86,   86, 2172,
2352     2162, 2174, 2167, 2175,   86,   86,   86, 2173, 2178, 2180,
2353     2168, 2179, 2171,   86,   86, 2181, 2169, 2170,   86, 2182,
2354
2355     2185,   86, 2176, 2183, 2187,   86, 2172, 2184, 2174,   86,
2356     2175, 2189, 2186,   86, 2188,   86,   86, 2191, 2179, 2190,
2357     2192,   86, 2181, 2193,   86, 2196, 2182,   86,   86, 2194,
2358     2183,   86, 2198, 2195, 2184,   86,   86, 2197,   86, 2186,
2359     2199, 2188, 2201,   86,   86,   86, 2190, 2192,   86,   86,
2360     2193, 2200,   86, 2202,   86, 2203, 2194,   86, 2204, 2198,
2361     2195, 2205, 2206,   86, 2197, 2214, 3806,   86, 3806, 2201,
2362     3806, 3806, 2207, 2208, 2209,   86, 3806,   86, 2200, 2210,
2363     2202, 2212, 2203,   86,   86, 2204, 2211,   86, 2205, 2213,
2364       86, 2215, 2217,   86,   86, 2216,   86,   86,   86, 2207,
2365
2366     2208, 2209,   86, 2218, 2219, 2222, 2210, 2221, 2212, 2220,
2367     2223, 2224,   86, 2211, 2225, 2226, 2213,   86, 2215, 2217,
2368       86, 2227, 2216, 2229, 2228,   86,   86,   86, 2230,   86,
2369     2218,   86, 2222, 2232, 2221,   86,   86, 2223, 2224,   86,
2370     2235, 2225, 2231,   86, 2234, 2233, 2236,   86, 2227,   86,
2371     2229, 2228,   86, 2238, 2237,   86, 2239, 2240,   86,   86,
2372     2232,   86, 2242, 2243, 2241, 2245,   86, 2235,   86, 2231,
2373     2244, 2234, 2233,   86, 2246,   86,   86, 2247,   86, 2248,
2374       86, 2237,   86, 2239, 2240,   86, 2249,   86, 2250, 2242,
2375     2253, 2241, 2245, 2251, 2254,   86, 2256, 2244,   86, 2252,
2376
2377       86, 2246, 2255,   86,   86, 2257, 2248,   86,   86, 2258,
2378     2259,   86, 2260, 2249, 2261, 2250,   86, 2253, 2262,   86,
2379     2251,   86, 2263, 2256, 2264, 2265, 2252, 2266, 3806, 2255,
2380     3806,   86,   86, 2267,   86, 2268, 2258,   86, 2270, 2260,
2381     2269, 2261,   86, 2273, 2272,   86, 2278,   86, 2271, 2263,
2382       86, 2264,   86,   86,   86,   86,   86,   86,   86, 2274,
2383     2267, 2277, 2268, 2275, 2279, 2270, 2280, 2269,   86, 2281,
2384     2273, 2272,   86, 2276,   86, 2271,   86, 2282,   86,   86,
2385     2288, 3806, 2291,   86, 2287, 2283, 2274,   86, 2277,   86,
2386     2275, 2279, 2285, 2293,   86, 2290, 2281, 2286,   86,   86,
2387
2388     2276, 2284,   86,   86, 2282, 2294,   86,   86,   86, 2291,
2389     2289, 2287, 2283,   86, 2295, 2292,   86, 2297, 2296, 2285,
2390     2293, 2298, 2290,   86, 2286, 2302, 2299, 3806, 2284, 2306,
2391     3806,   86, 2294, 2304, 2303,   86,   86, 2289, 2300,   86,
2392       86, 2295, 2292, 2301,   86, 2296,   86, 2305, 2298,   86,
2393     2307,   86,   86, 2299,   86,   86, 2306,   86, 2310, 2308,
2394     2304, 2303, 2309, 3806, 2311, 2300,   86, 2312, 2314,   86,
2395     2301, 2313, 2315,   86, 2305, 2316, 3806, 2307, 2318,   86,
2396     2317, 3806,   86, 2323, 2327, 2324, 2308, 2322, 2328, 2309,
2397       86, 2311, 2319,   86, 2312, 2314,   86, 2320, 2313,   86,
2398
2399     2331,   86, 2316,   86, 2321, 2318, 2330, 2317,   86,   86,
2400       86,   86,   86, 2325, 2322,   86,   86, 2332, 2326, 2319,
2401       86, 2329,   86, 2333, 2320, 2338, 2335, 2331,   86, 2334,
2402     3806, 2321, 2336, 2330, 2337, 2339,   86, 2340,   86, 2341,
2403       86,   86, 3806, 2342, 2349,   86, 2344, 2343, 2329,   86,
2404     2333,   86,   86, 2335,   86, 2348, 2334,   86,   86, 2336,
2405     2345, 2337, 2339, 2346, 2347, 2350,   86, 2351,  171,   86,
2406     2342,   86,   86, 2344, 2343,   86, 2352,   86,   86, 2353,
2407     2356, 2355, 2348, 2354, 2357, 3806, 2359, 2345,   86,   86,
2408     2346, 2347, 2350,   86, 2351,   86, 2358, 2360, 2361, 2362,
2409
2410     2370, 3806, 2365,   86, 2363,   86,   86,   86, 2355, 2364,
2411     2354, 2357,   86, 2359, 2366,   86, 2369,   86,   86, 2367,
2412       86, 2371, 2368, 2358, 2360, 2361,   86,   86,   86, 2365,
2413     2372, 2363,   86, 2373,   86, 2374, 2364,   86,   86,   86,
2414       86, 2366, 2375, 2369, 2376, 2377, 2367, 2378, 2371, 2368,
2415     2379,   86,   86, 2380, 2382,   86,   86, 2372,   86,   86,
2416     2373, 2381, 2374,   86, 2383, 2386, 2384, 2399, 2392,   86,
2417     2385, 2376, 2377,   86, 2378,   86,   86, 2379,   86,   86,
2418     2380, 2389, 2390,   86,   86, 2387,   86, 2391, 2381, 2393,
2419       86, 2383, 2386, 2384,   86, 2392, 2388, 2385, 2395, 2394,
2420
2421       86, 2396, 2397, 2400, 2398,   86, 2406,   86, 2389, 2390,
2422     2401,   86, 2387,   86, 2391,   86, 2393,   86,   86, 3806,
2423     2409,   86, 2402, 2388,   86, 2395, 2394,   86, 2396, 2397,
2424     2400, 2398, 2403,   86, 2404, 2405, 2412, 2401,   86, 2408,
2425     2407, 2410, 2411,   86, 2418,   86,   86, 2409,   86, 2402,
2426       86,   86, 2413, 2414,   86, 2415, 2416, 2417, 2427, 2403,
2427       86, 2404, 2405,   86, 2419,   86, 2408, 2407, 2410, 2411,
2428     2420,   86, 2423,   86, 2431,   86,   86,   86,   86, 2413,
2429       86,   86, 2415, 2416, 2417, 2427, 2422, 2421, 2428, 2426,
2430       86, 2419,   86,   86, 2424,   86, 2429, 2420,   86, 2423,
2431
2432     2432, 2431, 2425,   86, 2430, 2433, 2434, 3806,   86, 3806,
2433     2462, 2435, 3806, 2422, 2421, 2428, 2426,   86,   86,   86,
2434       86, 2424, 2436, 2429, 2443, 2444,   86, 2432, 2441, 2425,
2435     2447, 2430, 2433, 2437, 2438,   86, 2442, 2439,   86,   86,
2436       86, 2446,   86, 2448, 2445, 2450, 3806, 3806,   86, 2436,
2437     2440, 2443,   86,   86,   86, 2441, 2451, 2447,   86, 2449,
2438     2437, 2438, 2453, 2442, 2439,   86,   86,   86, 2446, 2452,
2439     2448, 2445, 2450, 2454, 2455, 2458, 2456, 2440,   86, 2457,
2440     2459,   86, 2466, 2451,   86,   86, 2449, 2460, 2464, 2453,
2441       86, 2461,   86,   86, 2469,   86, 2452,   86,   86, 2465,
2442
2443     2454, 2455, 2458, 2456, 2463,   86, 2457, 2459, 2468,   86,
2444     2470,   86,   86,   86, 2460, 2464, 2467,   86, 2461,   86,
2445     2471, 2469, 2474, 2475, 2472, 2473, 2465, 2477, 3806,   86,
2446       86, 2463,   86,   86,   86, 2468, 2476, 2470, 2478, 2479,
2447     2481,   86,   86, 2467, 2480, 2484, 2485, 2471, 2482, 2474,
2448     2486, 2472, 2473,   86, 2477,   86,   86, 2483,   86,   86,
2449       86, 2490, 2487, 2476, 2491, 2478, 2494, 2481, 2488, 2492,
2450       86,   86, 2484,   86, 2489, 2482,   86, 2486,   86, 2493,
2451       86,   86, 2497, 2502, 2483, 2501,   86, 2498,   86, 2487,
2452     2499, 2491, 2495,   86,   86, 2488, 2492, 2500,   86, 2503,
2453
2454     2496, 2489,   86,   86, 2507,   86, 2493, 2504,   86,   86,
2455     2502,   86, 2501, 2516, 2498, 2505,   86, 2499, 2506, 2495,
2456     2509, 2511, 2508,   86, 2500, 2510, 2503, 2496,   86,   86,
2457       86, 2507, 2512,   86, 2504,   86,   86, 2514, 2513, 2515,
2458     2516, 2517, 2505, 2518, 2521, 2506, 2522, 3806, 2511, 2508,
2459       86,   86,   86,   86,   86, 2519, 2527,   86,   86, 2512,
2460     2523, 3806,   86,   86, 2514, 2513, 2515, 2520, 2517,   86,
2461     2518, 2521, 2524,   86,   86, 2525, 2528, 2526, 2529, 2530,
2462     2531,   86, 2519, 2527,   86, 2532, 2533, 2523,   86,   86,
2463       86, 3806, 2534,   86, 2520,   86, 2535, 2536, 3806, 2524,
2464
2465       86,   86, 2525, 2528, 2526, 2529, 2530, 2531, 2537, 2538,
2466     2540, 2545, 2532, 2533,   86,   86, 2541,   86,   86, 2534,
2467       86, 2542, 2539, 2535, 2536, 2543, 2544, 2546,   86,   86,
2468       86,   86, 2547,   86,   86, 2537, 2538, 2540, 2545, 2548,
2469     2551, 3806, 2549, 2541, 2553, 2555, 2552, 2550, 2542, 2539,
2470       86,   86, 2543, 2544,   86,   86, 2554, 2556,   86, 2547,
2471     2557, 2559,  171,   86,   86, 2558,   86, 2551,   86, 2549,
2472     2560, 2553, 2561, 2552, 2550, 3806, 2562,   86, 2563, 2564,
2473     2565, 3806, 2570, 2554, 2556,   86, 2566, 3806,   86, 2571,
2474     2569, 2574,   86,   86, 2578,   86,   86, 2580, 2576, 2561,
2475
2476     2567, 2573,   86, 2562, 2572, 2563, 2564,   86,   86,   86,
2477       86, 2568,   86, 2566, 2575,   86, 2571, 2569, 2577,   86,
2478       86,   86, 3806,   86, 2579, 2576,   86, 2567, 2573,   86,
2479     2581, 2572, 2582, 2583, 2585, 2584,   86, 2588, 2568,   86,
2480     2595, 2575,   86, 2586,   86, 2577,   86, 2589, 2587,   86,
2481     2593, 2579,   86,   86, 2590, 2591,   86, 2581, 2598, 2582,
2482     2583, 2585, 2584,   86, 2588,   86,   86,   86, 2594,   86,
2483     2586, 2592,   86,   86, 2589, 2587, 2596, 2593,   86, 2597,
2484       86, 2590, 2591, 2599, 2601, 2598, 2600,   86, 2603, 2602,
2485     2604,   86,   86,   86, 2605, 2594,   86, 2607, 2592,   86,
2486
2487     2606, 2608, 3806, 2596,   86, 3806, 2597, 2618,   86,   86,
2488     2599, 2601,   86, 2600, 2609, 2603, 2602, 2604, 2610, 2616,
2489       86, 2605,   86, 2611,   86, 2612,   86, 2606, 2608,   86,
2490     2613,   86, 2614,   86,   86, 2619, 2615, 2617, 2622,   86,
2491       86, 2609,   86,   86, 2620, 2610, 2616, 2621, 2623, 2626,
2492     2611,   86, 2612, 2624, 2629, 2625,   86, 2613, 3806, 2614,
2493     2628,   86,   86, 2615, 2617, 2622, 2627,   86,   86,   86,
2494     2630, 2620, 2631,   86, 2621, 2623,   86, 2632,   86, 2633,
2495     2624, 2629, 2625, 2634,   86,   86, 2635, 2628,   86, 2636,
2496     2637,   86, 2642, 2627, 2639, 2638, 3806, 2630, 2640, 2631,
2497
2498     2643, 2641,   86, 2644, 2632,   86, 2633,   86,   86, 2645,
2499       86,   86, 2648, 2635, 2649,   86,   86, 2637, 2650,   86,
2500     2646, 2639, 2638, 2647,   86, 2640,   86, 2643, 2641, 2651,
2501     2644, 2654, 2655, 2656, 3806,   86, 2645, 2652,   86,   86,
2502       86,   86, 2653, 2658,   86, 2650,   86, 2646, 2659,   86,
2503     2647,   86, 2660, 2657, 2661, 2662, 2651,   86, 2654,   86,
2504       86,   86, 2663, 2664, 2652, 2665,   86, 2666, 2669, 2653,
2505       86, 2667, 2673, 2668, 2670, 2659, 2671,   86,   86,   86,
2506     2657, 2661, 2662,   86,   86,   86, 2672,   86, 2674,   86,
2507       86, 2675, 2665, 2676, 2666,   86,   86,   86, 2667,   86,
2508
2509     2668, 2670,   86, 2671, 2677, 2679, 2678, 2682,   86, 2680,
2510     2684, 2683, 3806, 2672, 2685, 2674, 2686, 2687,   86,   86,
2511     2676, 2688,   86, 2689, 2681,   86,   86,   86,   86,   86,
2512     2691, 2677, 2679, 2678,   86,   86, 2680, 2684, 2683,   86,
2513     2690, 2685,   86, 2686, 2687, 2692, 2693,   86,   86,   86,
2514     2695, 2681, 2694, 2696, 2697,   86, 2699, 2691,   86, 2698,
2515     2702,   86, 2703, 3806, 2700, 2704, 3806, 2690,   86,   86,
2516     3806, 2705, 2692, 2693, 2710,   86,   86,   86, 2701, 2694,
2517     2696, 2697,   86, 2699,   86,   86, 2698,   86, 2706, 2703,
2518       86, 2700, 2704, 2707, 2708, 2709,   86,   86, 2705, 2711,
2519
2520       86, 2710,   86, 2712, 2716, 2701,   86, 2718, 2713, 3806,
2521     2722, 2719, 2717, 3806, 2721, 2706,   86,   86, 2720, 3806,
2522     2707, 2708, 2709, 2714,   86, 2715, 2711,   86,   86,   86,
2523     2712, 2724,   86,   86, 2718, 2713,   86, 2722, 2719, 2717,
2524       86, 2721, 2723, 2725, 2727, 2720, 2726,   86,   86,   86,
2525     2714, 2730, 2715, 2728, 2729, 2731, 2732, 3806, 2724, 2735,
2526     3806, 3806, 2733,   86, 3806,   86,   86, 2734,   86, 2723,
2527     2725, 2727, 3806, 2726, 2736,   86,   86, 2737, 2730,   86,
2528     2728, 2729, 2738, 2739,   86, 2741, 3806,   86,   86, 2733,
2529     2740,   86,   86, 2742, 2734, 2743,   86,   86, 2744,   86,
2530
2531     2745, 2736, 2746, 2747, 2737, 2748, 2752, 2749, 2754, 2738,
2532     2739,   86, 2741,   86,   86,   86,   86, 2740,   86, 2750,
2533     2742, 2751, 2743, 2753,   86, 2744,   86, 2745,   86, 2746,
2534       86, 2755, 2762, 2752, 2749,   86, 2757,   86, 2758, 2756,
2535       86, 2763, 2764,   86, 2765, 2759, 2750, 2768, 2751,   86,
2536     2753, 2767,   86, 2760,   86, 2761,   86,   86, 2755, 2762,
2537       86, 2766,   86, 2757,   86, 2758, 2756,  171, 2763,   86,
2538     2769, 2765, 2759,   86, 2768, 2770, 2771, 2772, 2767,   86,
2539     2760,   86, 2761, 2773, 2775, 2774, 2776,   86, 2766, 2777,
2540     2779,   86,   86, 2778, 2780, 3806, 2782, 2769, 2783,   86,
2541
2542     2781,   86, 2770, 2771, 2772,   86, 2784, 2785, 3806, 3806,
2543     2773, 2775, 2774,   86, 2787, 2792,   86,   86,   86,   86,
2544     2778, 2780,   86, 2786,   86, 2789, 2794, 2781,   86, 2788,
2545       86, 2790, 2793, 2784,   86, 2791,   86, 2795,   86,   86,
2546       86, 2787, 2796, 2797,   86,   86, 2798,   86,   86, 2799,
2547     2786, 3806, 2789, 2794, 2800, 2803, 2788, 2801, 2790, 2793,
2548       86,   86, 2791, 2804, 2795, 2805,   86, 2802,   86, 2796,
2549       86,   86,   86, 2798,   86,   86, 2799, 2806,   86,   86,
2550     2807, 2800, 2803, 2810, 2801, 2811, 2808,   86, 2809, 2813,
2551       86, 2812, 2805,   86, 2802,   86,   86, 2814,   86,   86,
2552
2553     2815, 3806, 3806, 2823, 2806, 2816, 2827, 2807,   86, 2817,
2554     2810,   86, 2811, 2808, 2818, 2809, 2813, 2819, 2812, 3806,
2555     2820,   86, 2824,   86, 2821,   86, 2826, 2815,   86,   86,
2556       86,   86, 2816, 2822, 2825,   86, 2817,   86,   86,   86,
2557     2828, 2818, 2830, 2829, 2819,   86,   86, 2820,   86, 2824,
2558     2831, 2821, 2832, 2826, 2834, 2840,   86, 2845, 2833, 2835,
2559     2822, 2825,   86, 2836, 2837,   86, 2838,   86,   86, 2830,
2560     2829,   86,   86, 2839, 2843, 2841, 2842, 2831,   86, 2832,
2561       86, 2834, 2840,   86,   86, 2833, 2835, 2846,   86,   86,
2562     2836, 2837, 2844, 2838, 2847, 2848, 2849,   86, 2851,   86,
2563
2564     2839,   86, 2841, 2842,   86,   86,   86,   86, 2853,   86,
2565     2852,   86, 2854, 2850, 2846, 2857, 2855,   86,   86, 2844,
2566       86,   86, 2848, 2849,   86, 2851, 2856, 2858, 2859, 2860,
2567     3806, 2861, 2869, 3806, 2862, 2853,   86, 2852,   86, 2854,
2568     2850, 2863,   86, 2855, 2864,   86,   86, 2865,   86, 2866,
2569     2867, 2870, 2868, 2856,   86,   86, 2860,   86, 2861,   86,
2570       86, 2862,   86, 2871, 2872,   86,   86,   86, 2863, 2873,
2571     2875, 2864, 2876,   86, 2865, 2874, 2866, 2867, 2870, 2868,
2572     2877,   86,   86, 2878,   86,   86, 2879, 2880, 2881, 2882,
2573     2871, 2872, 2883, 2884,   86,   86, 2886, 2875,   86,   86,
2574
2575     2885,   86, 2874, 2887,   86,   86, 2889, 2877,   86, 2890,
2576     2878, 2888, 3806, 2879, 2880, 2881, 2882, 2893,   86, 2883,
2577       86,   86,   86, 2886, 2891,   86, 2892, 2885,   86, 2898,
2578     2887, 2899,   86, 2889,   86, 2894, 2890,   86, 2888,   86,
2579     2895, 2896, 2897,   86, 2893, 2900, 2901,   86,   86, 2902,
2580     2903, 2891, 3806, 2892, 2904, 3806,   86,   86, 2899, 2907,
2581     2906, 2905, 2894, 2908,   86,   86, 2909, 2895, 2896, 2897,
2582       86, 2911,   86,   86, 3806, 3806,   86, 2903,   86,   86,
2583     2910, 2904,   86, 2916, 2912,   86, 2907, 2906, 2905,   86,
2584     2908, 2914,   86, 2909, 2913,   86, 2917,   86, 2911,   86,
2585
2586     2918,   86, 2915, 2919,   86, 2921, 2920, 2910, 2923, 2922,
2587       86, 2912, 2925,   86, 3806, 2926, 2924, 2929, 2914,   86,
2588     2931, 2913,   86, 2917,   86, 2932,   86,   86,   86, 2915,
2589       86,   86,   86, 2920, 2927, 2923, 2922,   86, 2928, 2925,
2590     2930,   86, 2926, 2924,   86,   86, 2933,   86, 2934, 2938,
2591     2936, 2935, 2932,   86,   86, 2937, 2939, 3806,   86, 2940,
2592       86, 2927,   86,   86, 2946, 2928, 2941, 2930, 2942, 2943,
2593     2944,  171, 2998, 2933,   86, 2934, 2938, 2936, 2935,   86,
2594       86,   86, 2937, 2939,   86,   86, 2940, 2945, 2948, 2949,
2595     2947,   86,   86, 2941,   86, 2942, 2943, 2944, 2950, 2951,
2596
2597     2952, 2953,   86, 2954,   86, 2955, 3806, 2956, 2958, 2957,
2598     2960, 2959,   86, 3806, 2945, 2948, 2949, 2947,   86,   86,
2599       86,   86,   86, 3099,   86, 2950, 2951,   86,   86,   86,
2600     2954,   86, 2955,   86, 2956, 2958, 2957, 2960, 2959, 2961,
2601     2962, 2964, 2963, 2965, 2966, 2968,   86,   86,   86,   86,
2602     2967,   86,   86, 2969, 2970,   86, 2971, 2973, 2976, 2977,
2603     3806,   86,   86,   86, 2972, 2974, 2961, 2962, 2964, 2963,
2604     2965, 2966, 2968, 2979, 2975,   86,   86, 2967,   86,   86,
2605     2969, 2970,   86, 2971,   86, 2976,   86,   86, 2978, 2980,
2606     2981, 2972, 2974, 2982, 2983, 2984, 2985, 2987,   86,   86,
2607
2608       86, 2975,   86, 2986, 2989,   86,   86,   86,   86, 2990,
2609     2988, 2991,   86, 2992,   86, 2978, 2980, 2981,   86, 2993,
2610     2982, 2983, 2984, 2985, 2987, 2994,   86,   86, 2995,   86,
2611     2986, 2989, 2996, 2997,   86, 2999, 2990, 2988,   86, 3000,
2612       86, 3001, 3002, 3003,   86, 3004, 2993, 3005,   86,   86,
2613       86, 3006, 2994,   86, 3007, 2995,   86, 3008,   86,   86,
2614       86,   86, 2999, 3009,   86, 3014, 3000,   86, 3001, 3002,
2615     3003, 3010, 3004, 3011,   86, 3012, 3013, 3016, 3006,   86,
2616       86, 3007, 3015, 3017, 3008, 3019, 3806,   86, 3018, 3806,
2617     3009,   86,   86,   86, 3022, 3806, 3020,   86, 3010, 3806,
2618
2619     3011,   86, 3012, 3013,   86, 3024,   86,   86, 3030, 3015,
2620     3017,   86, 3019, 3021, 3026, 3018,   86, 3023, 3025, 3027,
2621       86, 3022,   86, 3020,   86,   86,   86,   86, 3028, 3029,
2622     3031, 3033, 3024, 3034, 3032,   86, 3035,   86, 3037, 3036,
2623     3021, 3026,   86,   86, 3023, 3025, 3027, 3038,   86,   86,
2624       86, 3039, 3040,   86, 3041, 3028, 3029, 3031,   86,   86,
2625     3034, 3032,   86, 3035, 3043, 3037, 3036, 3044, 3042, 3049,
2626     3045, 3047,   86, 3054, 3038,   86,   86,   86, 3039, 3040,
2627     3046,   86,   86, 3051, 3050, 3048, 3052, 3806,   86, 3053,
2628       86, 3043,   86, 3056,   86, 3042,   86, 3045, 3047,   86,
2629
2630       86,   86, 3057, 3058, 3062, 3806, 3055, 3046, 3059,   86,
2631     3051, 3050, 3048, 3052,   86,   86, 3053, 3060, 3061,   86,
2632       86,   86, 3063, 3065,   86,   86, 3064, 3067,   86, 3057,
2633     3058,   86,   86, 3055, 3066, 3059, 3074, 3068, 3806,   86,
2634     3071,   86, 3069, 3070, 3060, 3061, 3077, 3072, 3073, 3063,
2635     3065,   86,   86, 3064,   86, 3075,   86,   86,   86, 3076,
2636     3082, 3066,   86,   86, 3068,   86,   86, 3071, 3078, 3069,
2637     3070,   86, 3079,   86, 3072, 3073, 3080, 3083, 3081,   86,
2638     3084, 3086, 3075, 3085, 3087,   86, 3076, 3082, 3090,   86,
2639       86, 3088, 3091,   86,   86, 3078, 3806, 3089,   86, 3079,
2640
2641       86, 3092,   86, 3080, 3083, 3081,   86, 3084, 3086,   86,
2642     3085, 3087, 3093,   86, 3094,   86, 3095, 3806, 3088,   86,
2643       86, 3097, 3096,   86, 3089, 3098, 3806, 3101, 3092, 3100,
2644       86, 3104, 3105, 3102,   86, 3103,   86, 3107, 3114, 3093,
2645     3125,  171, 3108, 3095,   86,   86, 3111, 3106, 3097, 3096,
2646     3109,   86, 3098,   86, 3101, 3110, 3100,   86,   86,   86,
2647     3102,   86, 3103, 3112,   86, 3113,   86,   86,   86, 3108,
2648       86, 3115, 3118, 3111, 3106, 3116, 3124, 3117,   86, 3121,
2649     3120, 3119,   86, 3122,   86,   86,   86, 3123, 3806, 3806,
2650     3112,   86, 3113, 3126,   86,   86, 3127,   86, 3115, 3118,
2651
2652       86, 3128, 3116, 3124, 3117, 3130, 3129, 3120, 3119,   86,
2653     3133,   86, 3131,   86, 3123,   86, 3132, 3134,   86,   86,
2654     3126,   86, 3135, 3127, 3136,   86, 3137,   86, 3128, 3138,
2655     3806,   86, 3130, 3129,   86, 3139, 3806, 3133,   86, 3131,
2656       86, 3140,   86, 3132, 3134, 3141, 3142,   86, 3143, 3135,
2657     3148, 3136,   86, 3137,   86, 3806, 3138, 3144,   86, 3145,
2658     3146, 3149, 3139,   86, 3806,   86,   86,   86, 3140,   86,
2659     3153, 3147, 3141, 3151, 3150, 3143, 3152,   86,   86,   86,
2660     3154,   86,   86, 3156, 3144, 3157, 3145, 3146, 3149, 3806,
2661     3155,   86,   86, 3161,   86,   86,   86, 3153, 3147, 3159,
2662
2663     3151, 3150, 3160, 3152, 3162, 3158, 3164, 3154,   86,   86,
2664     3156,   86,   86,   86, 3166, 3165,   86, 3155, 3167, 3163,
2665     3161,   86,   86, 3168, 3169, 3170, 3159,   86, 3806, 3160,
2666     3173,   86, 3158, 3171, 3172,   86, 3174, 3175,   86, 3177,
2667     3176, 3166, 3806, 3180,   86, 3167, 3163,   86,   86, 3178,
2668       86,   86, 3170, 3181, 3184,   86,   86, 3173,   86, 3179,
2669     3171, 3172,   86, 3174,   86,   86, 3177, 3176, 3182,   86,
2670       86, 3185,   86, 3183, 3186,   86, 3178, 3187, 3188, 3189,
2671     3181,   86,   86, 3192, 3193, 3190, 3179, 3194, 3195, 3199,
2672     3191,   86, 3196, 3203,   86, 3182,   86, 3197, 3185, 3806,
2673
2674     3183,   86,   86,   86,   86,   86, 3189,   86,   86,   86,
2675       86, 3193, 3190, 3198, 3194, 3195, 3199, 3191, 3200, 3201,
2676       86, 3202, 3204, 3205,   86,   86,   86, 3206,   86, 3207,
2677     3208, 3209, 3210, 3212, 3214, 3211, 3806, 3213, 3220, 3216,
2678     3198,   86,   86,   86,   86, 3200, 3201,   86, 3202,   86,
2679       86,   86, 3221, 3215, 3206, 3217, 3207, 3208,   86, 3210,
2680       86,   86, 3211,   86, 3213,   86,   86, 3218, 3219,   86,
2681       86, 3223, 3225, 3222, 3227, 3224,   86, 3226,   86,   86,
2682     3215,   86, 3217, 3228, 3229, 3230, 3231, 3232, 3806,   86,
2683       86,   86, 3233, 3234, 3218, 3219,   86,   86, 3236, 3235,
2684
2685     3222, 3227, 3224,   86,   86, 3237,   86, 3238, 3243,   86,
2686     3228, 3229, 3230, 3239, 3232,   86, 3240,   86,   86, 3233,
2687       86,   86, 3244, 3241, 3242, 3236, 3235, 3247, 3246,   86,
2688       86,   86, 3237,   86, 3238, 3243, 3249,   86, 3245, 3248,
2689     3239,   86,   86, 3240, 3250,   86, 3251, 3259, 3252, 3244,
2690     3241, 3242,   86, 3253,   86, 3246,   86, 3254, 3260,   86,
2691       86, 3261, 3255, 3249, 3256, 3245, 3248, 3262, 3258, 3257,
2692     3265, 3250,   86, 3251,   86, 3252,   86, 3263, 3806, 3264,
2693     3253,   86, 3269, 3267,   86, 3260, 3266,   86, 3261,   86,
2694       86, 3268,   86,   86, 3262, 3258,   86, 3265, 3270, 3271,
2695
2696       86, 3273, 3274,   86, 3263,   86, 3264, 3272,   86, 3269,
2697     3267,   86, 3275, 3266, 3278,   86, 3279, 3276, 3268,   86,
2698       86,   86, 3280,   86,   86, 3270, 3271, 3282, 3273, 3274,
2699     3277, 3283, 3286, 3281, 3272, 3806, 3287,   86, 3285, 3275,
2700     3284,   86, 3288,   86, 3276,   86,   86,   86, 3289, 3280,
2701     3290, 3293,   86, 3291,   86, 3292,   86, 3277, 3283,   86,
2702     3281, 3294,   86, 3287, 3297, 3285, 3295, 3284, 3298,   86,
2703       86,   86, 3296,   86, 3299, 3289, 3300,   86,   86,   86,
2704     3291,   86, 3292, 3312,   86, 3309, 3302, 3314, 3294, 3304,
2705     3301,   86, 3303, 3295,   86,   86,   86,   86,   86, 3296,
2706
2707     3305, 3299,   86, 3300,   86, 3306, 3307, 3308,   86, 3310,
2708       86, 3313, 3309, 3302,   86, 3311, 3304, 3301, 3315, 3303,
2709       86,   86, 3318, 3319,   86,   86, 3316, 3321,   86, 3320,
2710     3317,   86,   86, 3307, 3308, 3332, 3310,   86, 3313,   86,
2711     3322, 3323, 3311,   86, 3324, 3315, 3325,   86, 3327,   86,
2712       86, 3326, 3330, 3316, 3328,   86, 3320, 3317,   86,   86,
2713     3331,   86, 3332, 3334,   86, 3333,   86, 3322, 3323,   86,
2714     3329, 3324, 3335, 3325,   86, 3336,   86, 3339, 3326, 3330,
2715       86, 3328,   86,   86, 3340,   86,   86, 3331,   86, 3341,
2716     3334, 3337, 3333, 3343, 3338, 3342, 3806, 3329, 3344, 3335,
2717
2718       86, 3345, 3336, 3346,   86, 3347,   86, 3348, 3806, 3349,
2719     3350,   86, 3355,   86, 3806, 3351,   86,   86, 3337,   86,
2720     3343, 3338, 3342,   86, 3353, 3344, 3357,   86, 3345,   86,
2721       86, 3354, 3347, 3352, 3348,   86,   86, 3350, 3358,   86,
2722       86, 3356, 3351,   86,   86, 3359,   86, 3360, 3806, 3361,
2723     3365, 3353, 3363,   86, 3362, 3366, 3367,   86, 3354, 3364,
2724     3352,   86,   86, 3806,   86, 3358, 3368,   86, 3356,   86,
2725       86,   86, 3359, 3369, 3360,   86, 3361, 3365, 3370, 3363,
2726       86, 3362,   86, 3367, 3371, 3372, 3364,   86, 3374, 3373,
2727     3379, 3375, 3376, 3368, 3378, 3380,   86,   86, 3382,   86,
2728
2729     3369,   86,   86, 3377,   86, 3370, 3383,   86,   86, 3385,
2730       86, 3371, 3372,   86, 3386, 3374, 3373, 3379, 3375, 3376,
2731       86, 3378, 3380, 3381,   86,   86, 3384, 3387, 3388, 3389,
2732     3377, 3390, 3391,   86,   86, 3392, 3393, 3394,   86, 3395,
2733       86,   86, 3398, 3397, 3399, 3401, 3396,   86,   86,   86,
2734     3381,   86, 3403, 3384, 3387, 3388,   86,   86,   86, 3391,
2735     3400,   86,   86, 3393, 3394,   86, 3395, 3404, 3402,   86,
2736     3397, 3399,   86, 3396, 3405,   86, 3406,   86,   86,   86,
2737     3407, 3408, 3409, 3410, 3411, 3412, 3416, 3400,   86,   86,
2738       86,   86, 3413, 3414, 3404, 3402, 3415,   86,   86, 3417,
2739
2740       86, 3405, 3420, 3406, 3418, 3419, 3422, 3407, 3408,   86,
2741     3423, 3411,   86,   86,   86,   86,   86,   86, 3424, 3413,
2742     3414, 3421,   86, 3415, 3425,   86,   86, 3426,   86,   86,
2743     3429, 3418, 3419, 3422, 3427,   86, 3428, 3423, 3430, 3806,
2744     3431, 3437, 3432,   86, 3433, 3424, 3435, 3434, 3421,   86,
2745       86, 3436, 3438,   86, 3426, 3439,   86,   86, 3441, 3442,
2746     3445, 3427,   86, 3428,   86, 3430,   86, 3431,   86, 3432,
2747       86, 3433, 3440, 3435, 3434, 3443,   86, 3448, 3449, 3438,
2748       86,   86, 3444,   86, 3453, 3441,   86,   86, 3446, 3447,
2749       86, 3450,   86,   86, 3451, 3456,   86,   86,   86, 3440,
2750
2751       86, 3455, 3443, 3452,   86, 3449, 3454, 3457, 3458, 3444,
2752     3459,   86,   86,   86,   86, 3446, 3447,   86, 3450, 3460,
2753     3462, 3451, 3456, 3461, 3463, 3464, 3465, 3466, 3455, 3467,
2754     3452, 3469,   86, 3454,   86,   86,   86,   86, 3471, 3470,
2755     3472,   86,   86, 3468, 3806,   86, 3460, 3462, 3473, 3474,
2756     3461,   86,   86,   86, 3466, 3475,   86,   86, 3469,   86,
2757       86, 3476, 3482, 3477, 3492, 3471, 3479,   86,   86,   86,
2758     3468,   86, 3478, 3480,   86, 3473,   86,   86,   86, 3481,
2759     3483,   86,   86, 3484, 3485, 3486, 3487, 3488, 3476,   86,
2760     3477,   86,   86, 3479, 3489, 3490,   86,   86, 3495, 3478,
2761
2762     3480, 3498, 3493, 3806,   86,   86, 3481, 3483, 3491,   86,
2763     3484, 3485, 3486, 3487,   86, 3494, 3496,   86,   86, 3499,
2764       86,   86, 3490,   86, 3497, 3495, 3500, 3501,   86, 3493,
2765       86, 3502, 3503, 3504, 3505, 3491, 3806, 3806,   86, 3806,
2766       86, 3507, 3494, 3496, 3506, 3508,   86,   86,   86, 3509,
2767     3510, 3497,   86, 3500, 3501, 3512,   86,   86, 3511, 3503,
2768     3504,   86, 3513,   86,   86, 3514,   86,   86, 3507, 3518,
2769       86, 3506, 3508, 3515, 3806, 3806, 3509, 3510,   86, 3516,
2770       86,   86, 3512,   86,   86, 3511,   86, 3517, 3519, 3513,
2771     3523, 3524, 3514, 3531,   86, 3522, 3518, 3520, 3521,   86,
2772
2773     3515,   86, 3525, 3526, 3527, 3530, 3516,   86, 3806,   86,
2774     3529, 3532,   86,   86, 3517, 3519, 3528, 3523, 3524,   86,
2775       86, 3533, 3522,   86, 3520, 3521,   86, 3534, 3535, 3525,
2776     3536, 3527, 3530, 3537,   86,   86, 3538, 3529,   86,   86,
2777     3540,   86, 3545, 3528,   86, 3548, 3539, 3806, 3533, 3541,
2778     3542, 3806,   86, 3549, 3534,   86, 3550, 3536,   86, 3551,
2779     3537, 3543, 3544,   86, 3546, 3547, 3806,   86,   86,   86,
2780     3552, 3553, 3548, 3539,   86,   86, 3554, 3558,   86,   86,
2781     3549, 3555, 3556, 3550,   86, 3557,   86, 3559, 3561,   86,
2782       86, 3560,   86,   86, 3562,   86,   86, 3552, 3553,   86,
2783
2784       86, 3564, 3563,   86, 3558, 3565, 3806,   86, 3555, 3556,
2785     3567, 3568, 3557, 3566,   86, 3561, 3569, 3570, 3560,   86,
2786     3571, 3562,   86,   86,   86,   86, 3572, 3573, 3564, 3563,
2787     3574, 3806, 3565,   86, 3575,   86, 3578, 3567, 3568, 3580,
2788     3566, 3579,   86,   86, 3570, 3576,   86, 3571, 3577, 3581,
2789     3582,   86, 3583,   86,   86, 3806,   86, 3574,   86, 3584,
2790     3585, 3575,   86,   86, 3587, 3586, 3588, 3589,   86, 3590,
2791     3591,   86, 3576,   86, 3594, 3577, 3581, 3582, 3592, 3583,
2792     3593,   86,   86, 3596, 3599, 3597, 3584, 3585,   86, 3600,
2793       86,   86, 3586, 3595, 3589, 3598,   86,   86,   86, 3601,
2794
2795     3602,   86,   86,   86,   86, 3592,   86, 3593, 3603, 3604,
2796       86,   86, 3597, 3605, 3606, 3608,   86, 3607,   86, 3609,
2797     3595, 3610, 3598, 3612, 3613, 3611,   86,   86, 3615, 3617,
2798     3806,   86, 3621,   86, 3622,   86,   86, 3614,   86, 3616,
2799       86,   86, 3608,   86, 3607, 3618,   86,   86,   86,   86,
2800     3612, 3613, 3611, 3619, 3620,   86,   86,   86,   86, 3621,
2801     3624,   86, 3623, 3633, 3614, 3628, 3616,   86, 3625,   86,
2802     3626, 3632, 3618, 3629,   86, 3627,   86,   86, 3631, 3630,
2803     3619, 3620,   86, 3806,   86,   86, 3637,   86, 3634, 3623,
2804     3633,   86, 3628, 3636,   86, 3625,   86, 3626, 3632, 3635,
2805
2806     3629, 3638, 3627,   86,   86, 3806, 3630,   86,   86, 3639,
2807       86, 3640, 3644, 3637, 3641, 3634, 3642,   86, 3643,   86,
2808     3636, 3646, 3645,   86, 3647,   86, 3635, 3648, 3638, 3649,
2809     3650, 3657,   86, 3651,   86,   86, 3639,   86, 3640, 3644,
2810       86, 3641, 3653, 3642, 3652, 3643,   86,   86, 3646, 3645,
2811     3655,   86, 3654, 3658,   86, 3660,   86,   86, 3657,   86,
2812     3651, 3659,   86,   86, 3656,   86, 3661,   86,   86, 3653,
2813     3662, 3652, 3806, 3663, 3664,   86, 3665, 3655, 3667, 3654,
2814     3658,   86, 3660,   86,   86, 3806,   86,   86, 3659, 3668,
2815       86, 3656,   86, 3661, 3666, 3669,   86, 3662, 3670, 3672,
2816
2817     3663, 3664, 3671, 3665, 3674, 3667, 3673,   86,   86, 3675,
2818       86, 3676,   86, 3677,   86, 3680, 3668, 3678,   86, 3681,
2819       86, 3666, 3669, 3682, 3684, 3670, 3672, 3679,   86, 3671,
2820       86, 3674, 3683, 3673,   86,   86,   86,   86, 3676, 3685,
2821     3677, 3686,   86, 3688, 3678, 3687, 3681, 3689, 3806,   86,
2822       86,   86,   86, 3690, 3679, 3691, 3695,   86,   86, 3683,
2823     3693, 3692, 3696, 3694, 3697, 3712,   86,   86, 3686,   86,
2824     3688,   86, 3687,   86, 3689,   86,   86, 3699, 3698, 3700,
2825     3690, 3701, 3691, 3695,   86,   86, 3702, 3703, 3692, 3696,
2826     3694,   86,   86, 3704, 3705, 3706, 3708,   86, 3709,   86,
2827
2828     3707,   86, 3713, 3711,   86, 3698,   86,   86,   86,   86,
2829     3710,   86, 3715,   86, 3703, 3714, 3717, 3718, 3719, 3806,
2830     3704,   86, 3706,   86,   86, 3709,   86, 3707,   86,   86,
2831     3711, 3723, 3716, 3806,   86, 3720, 3722, 3710,   86, 3715,
2832       86,   86, 3714, 3717,   86,   86, 3721, 3725, 3724,   86,
2833     3727, 3728, 3726,   86,   86,   86, 3806, 3732, 3723, 3716,
2834       86, 3730, 3720, 3722,   86,   86, 3736, 3731, 3729,   86,
2835     3737, 3738, 3734, 3721, 3725, 3724,   86, 3727, 3728, 3726,
2836     3733,   86, 3735,   86,   86, 3739, 3740,   86, 3730,   86,
2837       86, 3806,   86,   86, 3731, 3729, 3741, 3737, 3742, 3734,
2838
2839     3744, 3745, 3743,   86, 3746, 3806, 3747, 3733,   86, 3735,
2840       86,   86, 3739, 3740, 3748, 3750, 3749, 3806,   86, 3751,
2841       86, 3753, 3752, 3741,   86, 3742,   86,   86,   86, 3743,
2842       86, 3746,   86,   86, 3755,   86, 3754,   86, 3756, 3757,
2843     3760, 3748, 3750, 3749,   86, 3763, 3751, 3761,   86, 3752,
2844     3762, 3758, 3806,   86, 3759,   86, 3764, 3765,   86,   86,
2845     3768, 3755,   86, 3754,   86, 3756,   86, 3760, 3770,   86,
2846     3771, 3766, 3763, 3773, 3761, 3767,   86, 3762, 3758,   86,
2847     3769, 3759,   86, 3764, 3765,   86,   86, 3768,   86, 3772,
2848     3775, 3774, 3776,   86,   86, 3770,   86, 3771, 3766,   86,
2849
2850     3773, 3777, 3767, 3778, 3779, 3780, 3784, 3769, 3806, 3791,
2851     3806,   86, 3781, 3782,   86, 3783, 3772,   86, 3774, 3776,
2852       86, 3785, 3786,   86,   86,   86,   86, 3790, 3777,   86,
2853       86, 3779, 3780,   86, 3787,   86,   86, 3788, 3789, 3781,
2854     3782, 3794, 3783, 3792,   86,   86,   86, 3793, 3785, 3786,
2855     3795,   86, 3796,   86, 3790,   86,   86, 3797, 3798, 3800,
2856     3799, 3787, 3804, 3802, 3788, 3789, 3801,   86, 3794, 3805,
2857     3792,   86,   86, 3806, 3793, 3803, 3806,   86, 3806, 3796,
2858       86,   86, 3806,   86,   86,   86, 3800, 3799,   86,   86,
2859     3802, 3806, 3806, 3801, 3806, 3806,   86, 3806, 3806, 3806,
2860
2861     3806, 3806, 3803,   47,   47,   47,   47,   47,   47,   47,
2862       52,   52,   52,   52,   52,   52,   52,   57,   57,   57,
2863       57,   57,   57,   57,   63,   63,   63,   63,   63,   63,
2864       63,   68,   68,   68,   68,   68,   68,   68,   74,   74,
2865       74,   74,   74,   74,   74,   80,   80,   80,   80,   80,
2866       80,   80,   89,   89, 3806,   89,   89,   89,   89,  161,
2867      161, 3806, 3806, 3806,  161,  161,  163,  163, 3806, 3806,
2868      163, 3806,  163,  165, 3806, 3806, 3806, 3806, 3806,  165,
2869      168,  168, 3806, 3806, 3806,  168,  168,  170, 3806, 3806,
2870     3806, 3806, 3806,  170,  172,  172, 3806,  172,  172,  172,
2871
2872      172,  175, 3806, 3806, 3806, 3806, 3806,  175,  178,  178,
2873     3806, 3806, 3806,  178,  178,   90,   90, 3806,   90,   90,
2874       90,   90,   17, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
2875     3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
2876     3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
2877     3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
2878     3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
2879     3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
2880     3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806
2881    } ;
2882
2883static const flex_int16_t yy_chk[10890] =
2884    {   0,
2885        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2886        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2887        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2888        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2889        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2890        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
2891        1,    1,    1,    1,    1,    1,    3,    3,    3,    4,
2892        4,    4,    5,    5,    6,    6,    5,   32,    6,    7,
2893        7,    7,    7,   33,    7,    8,    8,    8,    8,   32,
2894        8,    9,    9,    9,   10,   10,   10,   19,   51,   51,
2895
2896     3814,   19,  233,    3,   32,   33,    4,   67,   67,    5,
2897       33,    6, 3094,   13,   13,   13,   13,    7,   13,   14,
2898       14,   14,   14,    8,   14,   15,   15,   15,    9,   25,
2899      233,   10,   11,   11,   11,   11,   11,   11,   12,   12,
2900       12,   12,   12,   12,   16,   16,   16,   34,   28,   84,
2901       84,   13,   11,   45, 1195,   25,   25,   14,   12,   34,
2902       39,   23,   15,   23,   23,   45,   23,  178,   28,  602,
2903       11,   28,   23,   39,   34,   28,   12,  302,   87,   11,
2904       45,   16,   87,  162,  162,   12,   30,   39,   29,  177,
2905       56,  175,   37,   56,   30,   28,   26,  602,   37,   23,
2906
2907       24,   24,   29,   26,   24,   30,  302,   26,  100,   24,
2908       26,   24,   30,   30,   29,   29,   92,  100,   24,   37,
2909       72,   30,   26,   26,   24,  169,  169,   24,   24,   29,
2910       26,   24,   30,   72,   26,  100,   24,   26,   24,   62,
2911       92,   62,   62,   92,   62,   24,   27,   72,   31,  170,
2912       27,   31,   94,   27,   95,   27,   27,  198,   31,   46,
2913       31,   46,   46,  223,   46,  226,   27,  168,   27,   95,
2914       46,   31,   94,   27,  167,   31,   35,   27,   31,   94,
2915       27,   95,   27,   27,   35,   31,   93,   31,   36,  198,
2916       35,   97,   36,   27,   35,  223,   44,  226,   97,   42,
2917
2918       44,   42,   35,   35,   44,   98,   36,  165,   36,   93,
2919       42,   35,  163,   93,   36,   36,   42,   35,   97,   36,
2920      161,   35,   44,   44,   43,   42,   42,   44,   42,   98,
2921      351,   44,   98,   36,   43,   36,   38,   42,   43,   43,
2922       38,   96,  164,   42,   38,  164,   85,   43,   80,   96,
2923       38,   43,   70,   38,   70,   70,  101,   70,  138,  351,
2924       38,   43,   38,   38,  105,   43,   43,   38,   96,  105,
2925       73,   38,   73,   73,  101,   73,   79,   38,   79,   79,
2926       38,   79,   75,  101,  138,  138,   99,   38,   40,  106,
2927       70,  105,   40,   86,  108,   86,   86,  106,   86,   99,
2928
2929      126,  150,   40,   40,   86,   40,   89,  108,   89,   89,
2930       99,   89,  150,   99,   40,   40,  106,   89,   74,   40,
2931      126,  108,  102,  102,  107,  228,   99,  126,  150,   40,
2932       40,  103,   40,   41,  110,  102,   41,  103,  117,  103,
2933       68,  110,  107,   41,   89,  104,  104,   41,   41,  102,
2934      102,  117,  103,  112,  104,   41,  107,  228,  103,  109,
2935       41,  110,  112,   41,  103,  117,  103,  114,  109,  107,
2936       41,  116,  104,  104,   41,   41,  111,  111,  113,  125,
2937      112,  109,  115,  119,  111, 1020,  109,  113,   63,  115,
2938      114,   58,  111,  116,  114,  109,  118,  121,  116,  118,
2939
2940      120,  124,  125,  111,  111,  113,  125,  119,  120,  115,
2941       57,  111,  118,  118,  124,  119, 1020,  121,  122,  121,
2942      118,  128,  122,  118,  121,  123,  118,  120,  124,  127,
2943      123,  132,  129,  123,  119,   52,  127,  130,  122,  118,
2944      118,  128,  122,  127,  121,  122,  131,  134,  128,  122,
2945      129,  130,  123,  131,  132,   47,  127,  123,  132,  129,
2946      133, 1183,  135,  127,  130,  122,   18,  141,  136,  133,
2947      134,  135,  136,  131,  134,  137,  139,  140,  136,  141,
2948      142,  142,  137,  139,  145,  143,  140,  133,  146,  135,
2949      136, 1183,  140,  143,  141,  136,  146,  153,  145,  136,
2950
2951      140,  147,  137,  139,  140,  136,  144,  142,  153,  148,
2952      151,  145,  143,  140,  149,   17,  147,  144,  151,  140,
2953      146,  144,  154,  146,  153,  149,  148,  155,  147,  148,
2954      144,  154,  152,  144,  149,  148,  148,  151,  152,  156,
2955      157,  149,  155,  154,  144,    0,  159,  154,  144,  154,
2956      160,  158,  149,  148,  155,  157,  148,    0,  154,  152,
2957      158,  156,    0,  160,    0,  174,  156,  157,  159,  166,
2958      154,  166,  166,  159,  166,  179,  179,  160,  158,  171,
2959      180,  171,  171,  172,  171,  172,  172,  181,  172,  174,
2960      182,  176,  174,  176,  176,    0,  176,  183,  186,  182,
2961
2962      184,  181,  180,  185,  184,  188,  189,  180,  191,  183,
2963      185,    0,  187,  188,  186,  191,  190,  182,  189,  181,
2964      192,  172,  185,  193,  183,  186,  196,  184,  181,  197,
2965      185,  187,  188,  189,  194,  191,  192,  185,  190,  187,
2966      194,  193,  195,  190,  195,  201,  202,  192,  196,  212,
2967      193,  204,  203,  196,  199,  197,  197,  203,  199,  204,
2968      212,  202,  207,  208,  205,  206,  194,  194,  209,  195,
2969      208,  201,  201,  202,  210,  199,  212,  207,  204,    0,
2970      213,    0,  199,  211,  203,  199,  205,  206,    0,  207,
2971      208,  205,  206,  213,  214,  216,  209,  210,    0,  231,
2972
2973      209,  210,  199,  200,  216,  211,  214,  213,  200,  215,
2974      211,  217,  215,  200,    0,  218,    0,  222,  221,  200,
2975      200,  214,  216,  209,  215,  221,  200,  220,  222,  224,
2976      200,  231,  225,  217,  227,  200,  215,  218,  217,  215,
2977      200,  227,  218,  225,  222,  221,  200,  200,  219,  220,
2978      232,  219,  229,  219,  220,  224,  224,    0,  234,  235,
2979        0,  227,  230,  236,  225,  219,  229,  219,  230,  238,
2980      225,  237,  232,  239,  219,  219,  237,  232,  219,    0,
2981      219,  240,  235,    0,  229,  242,  235,  239,  244,  230,
2982      234,  244,  219,  229,  219,  236,  237,  241,  237,  245,
2983
2984      239,  238,  240,  237,  241,  243,  242,  246,  240,  247,
2985      248,  249,  242,  251,  243,  244,  250,  252,  245,  243,
2986      251,  246,  252,  249,  241,  253,  245,  250,  248,  257,
2987      254,  247,  243,  255,  246,  260,  247,  248,  249,  254,
2988      251,  243,  259,  250,  261,  256,  262,  253,    0,  252,
2989      256,  261,  253,  258,  258,  264,  255,  254,  259,  263,
2990      255,  257,  258,  264,  266,  265,  267,  260,  262,  259,
2991      268,  261,  256,  262,  269,  270,  271,  273,  268,    0,
2992      258,  258,  264,  272,  263,  265,  263,  275,  274,  271,
2993      270,  276,  265,    0,    0,  277,  266,  268,  267,  277,
2994
2995      279,  278,  270,  271,  273,  280,  269,  281,  276,  272,
2996      272,  274,    0,  280,  282,  279,  276,  283,  276,  275,
2997      274,  282,  277,  278,  285,  284,  281,  279,  278,  284,
2998      286,  287,  280,  288,  281,  276,  290,  289,  274,  283,
2999      292,  282,  291,  294,  283,  295,  285,  293,  297,  298,
3000      297,  285,  284,  292,  291,  288,  293,  296,  295,  289,
3001      288,  294,  286,  287,  289,  299,  300,  292,  290,  291,
3002      294,  301,  295,  303,  293,  297,  296,  304,    0,  305,
3003      312,  298,  303,  306,  296,  307,  309,    0,  312,  299,
3004      308,  300,  299,  300,  306,  314,    0,  301,  301,  307,
3005
3006      303,  310,  311,  304,  304,  305,  305,  312,  315,  309,
3007      306,  307,  307,  309,  308,  316,  317,  308,  318,  310,
3008      311,  315,  319,  322,  323,  320,  307,  314,  310,  311,
3009      324,  321,  326,  325,    0,  315,  328,  324,  326,  319,
3010      327,  317,  325,  317,  329,  319,  331,  316,  323,  319,
3011      318,  320,  320,  321,  327,  322,  323,  324,  321,  326,
3012      325,  330,  328,  328,  332,  333,  319,  327,  329,  331,
3013      330,  329,  332,  331,  333,  323,  334,  335,  338,  337,
3014      340,  336,    0,    0,    0,  339,  335,  343,  330,  346,
3015      353,  332,  333,  342,  337,  340,  343,  344,  336,    0,
3016
3017        0,  347,  334,  334,  335,  336,  337,  340,  336,  339,
3018      338,  342,  339,  346,  343,  347,  346,  353,  348,  344,
3019      342,  349,  349,  352,  344,  336,  341,  350,  347,  341,
3020      355,  356,  350,  348,  341,  341,  341,  341,    0,  371,
3021        0,    0,  355,  356,  341,  348,  349,  352,  349,  349,
3022      352,    0,  376,  341,    0,    0,  341,  355,  356,  350,
3023      358,  341,  341,  341,  341,  345,  354,  345,  359,  354,
3024      360,  371,  357,  357,    0,  362,  354,  363,  358,  345,
3025      345,  345,  357,  345,  376,    0,  359,  358,  381,  345,
3026      361,  369,  345,  354,  345,  359,  354,  360,  369,  357,
3027
3028      357,  362,  362,  363,  363,  366,  345,  345,  345,  364,
3029      345,  364,  361,  365,  367,  368,  370,  361,  369,  372,
3030      381,  372,  375,  368,  374,  365,  385,  366,  370,  367,
3031      372,  374,  366,  377,    0,  384,  364,  372,  383,  386,
3032      365,  367,  368,  370,  375,  372,  372,  378,  372,  375,
3033      380,  374,  379,  378,  379,  377,  383,  372,  385,  408,
3034      377,  384,  384,  380,  372,  383,  386,    0,  387,  378,
3035      382,  390,  421,  392,  378,  391,  379,  380,  390,  379,
3036      378,  379,  411,  382,  393,  392,  382,    0,  382,  411,
3037      387,  408,  394,  391,  382,  387,  393,  382,  390,  391,
3038
3039      392,    0,  391,    0,  421,  394,    0,  396,  397,  411,
3040      382,  393,  400,  382,  399,  382,  388,  401,  388,  394,
3041      391,  397,  401,  396,  388,  402,  399,  463,  388,  404,
3042      400,  396,  402,  388,  396,  397,  388,  404,  403,  400,
3043      407,  399,  388,  388,  403,  388,  402,    0,  407,  401,
3044      396,  388,  402,  406,  463,  388,  404,    0,  405,  402,
3045      388,  410,  410,  388,  389,  403,  389,  407,  409,    0,
3046      405,  406,  413,  488,  412,  418,  414,  409,  488,  389,
3047      406,  413,  389,  797,  389,  405,  389,  412,  410,  415,
3048      389,  389,  416,  389,  414,  409,  415,  418,  414,  416,
3049
3050      488,  412,  418,  414,  413,  417,  389,  419,  413,  389,
3051      420,  389,  797,  389,  398,  398,  415,  417,  422,  416,
3052      424,  414,  420,  423,  398,  398,  398,  398,  398,  419,
3053      423,  398,  417,  425,  419,  424,  426,  420,  427,  398,
3054      427,  398,  398,    0,  422,  422,  425,  424,  428,  429,
3055      423,  398,  398,  398,  398,  398,  430,  430,  398,  428,
3056      425,  433,  431,  432,  437,  427,  434,  435,  426,  431,
3057      432,  429,  433,  436,  439,  428,  429,  434,  438,  438,
3058      435,    0,  441,    0,  440,  430,  437,  442,  433,  431,
3059      432,  437,  443,  434,  435,  442,  438,  439,  436,  440,
3060
3061      436,  439,  444,  438,  443,  438,  438,  440,  441,  441,
3062      451,  440,  445,  444,  442,  446,  449,  450,  452,  443,
3063      462,  445,  453,  438,  447,  447,  440,  454,  446,  444,
3064      457,  458,  451,  456,  462,  450,  447,  451,  447,  445,
3065      453,  452,  446,  447,  450,  452,  459,  462,  449,  453,
3066      455,  447,  447,  457,  456,  458,  455,  457,  458,  454,
3067      456,    0,  460,  447,  461,  447,  448,  465,  459,  460,
3068      464,  467,  466,  459,  448,  448,    0,  455,  448,  448,
3069        0,  465,  448,  469,  468,    0,    0,    0,  448,  460,
3070      461,  461,  464,  448,  465,  469,  471,  464,  466,  466,
3071
3072      472,  448,  448,  467,  473,  448,  448,  468,  470,  448,
3073      469,  468,  473,  474,  470,  480,  476,  475,  471,  477,
3074      479,  478,  472,  471,  475,  476,  479,  472,  474,  481,
3075      473,  473,  482,    0,  477,  470,  484,  480,  483,  473,
3076      474,  487,  480,  476,  475,  478,  477,  479,  478,  485,
3077      490,  481,  486,  483,  491,  482,  481,    0,  486,  482,
3078      493,    0,  484,  484,  494,  483,  493,  487,  487,  495,
3079      496,  485,  497,  498,  500,  495,  485,  499,  497,  486,
3080      491,  491,  490,  494,  499,  505,  507,  493,  496,  500,
3081      509,  494,  508,  503,  506,  498,  495,  496,  511,  497,
3082
3083      498,  500,  503,  502,  499,  502,  504,  506,  517,  510,
3084      508,  511,  502,  504,  513,    0,  514,  505,  507,  508,
3085      503,  506,  509,  512,  519,  511,  512,  515,  516,  514,
3086      502,  510,  502,  504,  520,    0,  510,  518,  513,  515,
3087      517,  513,  512,  514,  518,  521,  516,  522,  519,  527,
3088      512,  519,  525,  512,  515,  516,  523,  520,  521,  524,
3089      526,  523,  530,  529,  518,  524,  520,  532,  528,  522,
3090      526,  527,  521,  530,  522,  525,  527,    0,  538,  525,
3091      528,  532,  572,  523,  520,  529,  524,  526,  531,  530,
3092      529,  535,  537,  536,  532,  528,  531,    0,  535,  536,
3093
3094      539,  538,    0,  540,  537,  538,  541,    0,  539,  542,
3095        0,  555,  544,  555,  572,  531,  533,  541,  535,  537,
3096      536,  533,  543,  533,  544,  540,  543,  539,    0,  533,
3097      540,  533,  542,  541,  533,  533,  542,  545,  555,  544,
3098      550,  533,  533,  533,  543,  551,    0,  547,  533,  543,
3099      533,  550,  546,  543,  549,  546,  533,  545,  533,  545,
3100      548,  533,  533,  546,  545,  547,  549,  550,  533,  551,
3101      548,  552,  551,  553,  547,  552,  554,    0,  556,  546,
3102      553,  549,  546,  557,  545,  560,  558,  559,  561,  562,
3103      564,    0,  548,  577,  562,  557,  561,  548,  552,  559,
3104
3105      553,  558,  554,  554,  556,  556,  563,  566,  564,  567,
3106      557,  560,  560,  558,  559,  561,  562,  564,  565,  566,
3107      569,  570,  573,  571,  575,  577,  565,  574,  563,  576,
3108      567,  578,  575,  563,  566,  582,  567,  573,  569,  574,
3109      580,  581,  576,  578,  570,  565,  571,  569,  570,  573,
3110      571,  575,  579,  584,  574,  581,  576,  585,  578,  586,
3111      582,  579,  582,  580,  588,  591,  583,  580,  581,  583,
3112      587,  589,  584,  590,  592,  597,  598,  594,  593,  579,
3113      584,  598,  595,  603,  585,  587,  597,  592,  590,  591,
3114      593,  586,  591,  583,  600,  601,  588,  587,  606,  594,
3115
3116      590,  592,  597,  589,  594,  593,  595,  596,  598,  595,
3117      599,  604,  605,  607,  596,  603,  610,  596,  607,  608,
3118      609,  600,  601,  614,  599,  596,  609,  611,  608,  615,
3119      606,  610,  613,  612,  596,  616,  620,  599,  604,  605,
3120      613,  596,  614,  610,  596,  607,  608,  609,  617,  619,
3121      614,  611,  617,  615,  611,  612,  615,  616,  618,  613,
3122      612,  622,  616,  621,  623,  624,  618,  625,  620,  626,
3123      621,  627,  619,  623,  630,  617,  619,    0,  629,  633,
3124      625,  634,  630,  627,  622,  618,  631,  624,  622,    0,
3125      621,  623,  624,  628,  625,  626,  626,  631,  627,  628,
3126
3127      629,  630,  632,  634,  635,  629,  638,    0,  634,  632,
3128      636,  633,  637,  631,  639,  636,  640,  635,  636,  636,
3129      628,  637,  641,  639,  644,  642,  646,  640,    0,  632,
3130      648,  635,  638,  638,  636,  643,  644,  636,  647,  637,
3131      651,  639,  636,  640,  641,  636,  636,  642,  643,  641,
3132      649,  644,  642,  650,  648,  653,  647,  648,  646,  652,
3133      654,  658,  643,  655,  651,  647,  653,  651,  658,  654,
3134      656,  657,  649,  649,  659,  650,  660,  649,  664,  668,
3135      650,  652,  653,  655,  656,  662,  652,  654,  658,  663,
3136      655,  664,  661,  657,  660,  663,  666,  656,  657,  649,
3137
3138      661,  659,  665,  660,  669,  664,  667,  662,  670,  671,
3139      671,  668,  662,  665,  666,  672,  663,  673,  674,  661,
3140      680,  667,    0,  666,  676,  669,  672,  675,  678,  665,
3141      677,  669,  670,  667,  681,  670,  675,  676,  671,  679,
3142      674,  673,  672,  677,  673,  674,  682,  679,  683,  685,
3143      678,  676,  680,  686,  675,  678,  681,  677,  684,  688,
3144      684,  681,  687,  689,  686,  691,  679,  687,    0,    0,
3145        0,  685,  683,  688,  690,  683,  685,  689,  682,  692,
3146      686,  690,  693,  694,  695,  684,  688,  692,  690,  690,
3147      689,  695,  696,  697,  687,  700,  690,  691,  703,  699,
3148
3149      693,  690,  698,  703,    0,  694,  692,  704,  690,  693,
3150      694,  695,    0,  697,  699,  690,  690,  701,  696,  696,
3151      697,  702,  698,  699,  706,  708,  699,  700,  707,  698,
3152      703,  702,  701,  704,  704,  705,  707,  705,  710,  709,
3153      715,  699,    0,  702,  701,  709,  716,  710,  702,  706,
3154      708,  706,  708,  713,  711,  707,  717,  714,  702,  712,
3155      724,  713,  705,  711,  714,  710,  709,  718,  712,  716,
3156      719,    0,  715,  716,  717,  726,  720,    0,  723,  718,
3157      713,  711,  719,  717,  714,  720,  712,  721,  726,  722,
3158      723,  727,  724,  725,  718,  721,  728,  719,  722,  731,
3159
3160      725,  729,  726,  720,  728,  723,  727,  729,    0,  730,
3161      732,    0,  762,  722,  721,  734,  722,  730,  727,  732,
3162      725,  733,  731,  728,  734,  722,  731,  736,  729,  735,
3163      735,  737,  733,  738,  739,  736,  730,  732,  735,  737,
3164      740,  741,  734,  743,  762,  748,  742,  739,  733,  744,
3165      745,  743,  746,  748,  736,  738,  735,  735,  737,  742,
3166      738,  739,  750,  745,  741,  744,  740,  740,  741,  747,
3167      743,  749,  748,  742,  746,  751,  744,  745,  754,  746,
3168      747,  752,  750,  753,  755,  749,  753,  757,    0,  750,
3169      756,  758,    0,  763,  760,    0,  747,  751,  749,  756,
3170
3171      754,  752,  751,  759,  761,  754,  755,  757,  752,  758,
3172      753,  755,  760,  764,  757,  763,  759,  756,  758,  761,
3173      763,  760,  765,  766,  767,  779,  768,  772,  769,  771,
3174      759,  761,    0,  770,    0,  771,  766,  764,  768,  773,
3175      764,  775,  767,  774,  776,  765,  770,  773,  774,  765,
3176      766,  767,  769,  768,  772,  769,  771,  779,  782,  778,
3177      770,  780,  776,  775,  783,  773,  773,  778,  775,  780,
3178      781,  776,  786,  785,  773,  774,  784,  781,  784,  783,
3179      787,  782,  785,  789,  794,  782,  778,  791,  780,  788,
3180        0,  783,  789,  790,  791,  790,  794,  781,  798,  787,
3181
3182      785,    0,  839,  784,  786,  801,  802,  787,  798,  788,
3183      789,  794,    0,  804,  791,  805,  788,  806,  804,    0,
3184      790,  792,  808,  801,  792,  798,  807,  802,  792,  839,
3185      809,  792,  801,  802,  810,  806,  805,  807,  792,  792,
3186      804,  792,  805,  811,  806,  808,  792,  815,  792,  808,
3187      818,  792,    0,  807,  812,  792,  809,  809,  792,  811,
3188      810,  810,  813,  812,  814,  792,  792,  817,  792,  854,
3189      811,  814,  818,  820,  817,  813,  860,  818,  819,  815,
3190      822,  812,  820,  822,  819,    0,    0,    0,  821,  813,
3191      823,  814,  816,  816,  817,  816,  825,    0,  816,  824,
3192
3193      820,  854,  826,  816,  825,  819,  823,  822,  860,  816,
3194      816,  821,  816,  823,  829,  821,  827,  823,  816,  816,
3195      816,  824,  816,  825,  826,  816,  824,  831,  827,  826,
3196      816,  832,  828,  823,  828,  830,  816,  816,  829,  816,
3197      830,  829,  834,  827,  833,    0,  835,  831,  836,    0,
3198      837,  840,    0,  841,  831,    0,  833,  832,  832,  828,
3199      838,  843,    0,  864,  834,    0,  846,  830,  841,  834,
3200      836,  833,  835,  835,  837,  836,  840,  837,  840,  844,
3201      841,  842,  838,  845,  843,  846,  844,  838,  843,  842,
3202      847,  845,  848,  846,  849,  864,  850,  852,  853,  856,
3203
3204      851,    0,  866,  853,  848,    0,  844,  849,  842,  851,
3205      845,  855,  852,  857,  859,  865,  847,  847,  857,  848,
3206      861,  849,  850,  850,  852,  853,  856,  851,  863,  861,
3207      867,  862,  868,  855,  866,  863,  859,  865,  855,  862,
3208      870,  859,  865,  869,  871,  857,  873,  861,  877,    0,
3209      875,  872,  874,  868,  867,  863,  885,  867,  862,  868,
3210      872,  874,  869,  876,  881,  873,  883,  870,  877,  879,
3211      869,  871,  875,  873,  878,  877,  880,  875,  872,  874,
3212      879,  882,  884,  878,  880,  883,  876,  887,  885,  886,
3213      876,  881,  889,  883,  890,  887,  879,  891,  886,  882,
3214
3215      891,  878,  894,  880,  893,  892,  895,    0,  882,  884,
3216      889,    0,  890,  896,  887,  897,  886,  892,  899,  889,
3217      894,  890,  903,  898,  891,  898,  893,  900,  897,  894,
3218      895,  893,  892,  895,  901,  896,  899,    0,  902,  901,
3219      896,  900,  897,  904,  905,  899,  906,  911,  903,  903,
3220      898,  902,  905,  907,  900,  904,  907,    0,  908,  912,
3221      909,  914,    0,  913,  906,  902,  901,  908,  909,  913,
3222      904,  905,  911,  906,  911,  915,  916,    0,  926,  921,
3223      907,  915,  917,  914,  909,  908,  912,  909,  914,  917,
3224      913,  919,  918,  920,  923,  909,  919,  921,  916,  918,
3225
3226      920,  922,  915,  916,  924,  922,  921,  925,  927,  917,
3227      926,  929,  928,  924,  933,  925,  930,  923,  919,  918,
3228      920,  923,  929,  931,  930,  932,  927,  928,  922,  934,
3229      936,  924,  935,  933,  925,  927,  931,  937,  929,  928,
3230      938,  933,  934,  930,  939,  937,  932,  938,  940,  941,
3231      931,  942,  932,  944,  935,  940,  934,  936,  942,  935,
3232      943,  944,  939,  945,  937,  943,  946,  938,  941,  947,
3233      945,  939,  948,  946,    0,  940,  941,  950,  942,  949,
3234      944,  951,  953,  954,  952,    0,    0,  943,  961,  955,
3235      945,  952,  949,  946,  951,  956,  958,    0,  960,  959,
3236
3237      962,  947,  957,  956,  948,  959,  949,  963,  951,  950,
3238      957,  952,  955,  965,  953,  954,  955,  957,  958,  964,
3239      961,  966,  956,  958,  960,  960,  959,  965,  964,  957,
3240      968,  963,  962,  970,  963,  967,  969,  957,  972,  973,
3241      965,  971,  967,  972,  974,  969,  964,  975,    0,    0,
3242        0,  973,    0,  966,  971,  970,  971,  968,  979,  976,
3243      970, 1017,  967,  969,  976,  971,  973,  974,  971,  977,
3244      972,  974,  978,  975,  975,  982,  977,  983,  982,  980,
3245      979,  971,  984,  971,  978,  979,  976,  980,  988,  986,
3246      983,  987,    0, 1017,  988,  984,  977,  992,  987,  978,
3247
3248        0,  990,  982,  986,  983,    0,  980,  991,  994,  984,
3249        0,  995,    0,  995,  993,  988,  986,  997,  987,  989,
3250      992,  989,    0,  990,  992,  989,  993,  989,  990,  997,
3251      996,  996,  989,  991,  991,  994,  998,  989,  995,  999,
3252     1001,  993, 1000,  989,  997, 1001,  989, 1002,  989,  998,
3253     1005, 1010,  989,  996,  989, 1000, 1004,  996,  996,  989,
3254     1003,  999, 1005,  998,  989, 1002,  999, 1007, 1004, 1000,
3255     1006, 1008, 1001, 1003, 1002, 1009, 1012, 1005, 1010, 1004,
3256     1006, 1013, 1007, 1004, 1011, 1015,    0, 1003, 1009, 1012,
3257     1011, 1014, 1006, 1008, 1007, 1004, 1018, 1006, 1008, 1013,
3258
3259     1016, 1021, 1009, 1012, 1019, 1022, 1015, 1006, 1013, 1023,
3260     1022, 1011, 1015, 1014, 1024,    0, 1027, 1023, 1014, 1026,
3261        0,    0, 1016, 1024, 1028, 1029, 1031, 1016, 1018,    0,
3262     1030, 1019, 1022, 1021, 1026, 1032, 1023, 1028, 1027, 1034,
3263     1029, 1024, 1025, 1027,    0, 1033, 1026, 1025, 1031, 1025,
3264     1034, 1028, 1029, 1031, 1032, 1025, 1030, 1030, 1033, 1038,
3265     1025, 1025, 1032, 1036, 1035, 1037, 1034, 1025, 1025, 1025,
3266     1038, 1036, 1033, 1037, 1025, 1039, 1025, 1035, 1040,    0,
3267        0, 1041, 1025, 1050, 1042, 1046, 1038, 1025, 1025, 1044,
3268     1036, 1035, 1037, 1042, 1025, 1043, 1041, 1047, 1044, 1051,
3269
3270     1040, 1045, 1048, 1053, 1054, 1040, 1043, 1039, 1041, 1048,
3271     1045, 1042, 1046, 1052, 1055, 1050, 1044, 1056, 1054,    0,
3272     1047, 1052, 1043, 1051, 1047, 1053, 1051, 1057, 1045, 1048,
3273     1053, 1054, 1059, 1060, 1061, 1057, 1062, 1063,    0, 1056,
3274     1052,    0, 1066, 1065, 1056, 1061, 1055,    0, 1064, 1066,
3275     1059, 1060, 1072, 1067, 1057, 1063, 1064, 1069, 1070, 1059,
3276     1060, 1061,    0, 1071, 1063, 1065, 1067, 1068, 1062, 1066,
3277     1065, 1074, 1069, 1072, 1068, 1064, 1070, 1073, 1076, 1072,
3278     1067, 1071, 1078,    0, 1069, 1070, 1079, 1073, 1081, 1076,
3279     1071, 1083, 1082, 1079, 1068, 1078, 1080,    0, 1080, 1083,
3280
3281     1086, 1084, 1085, 1074, 1073, 1076, 1094, 1093, 1087, 1078,
3282     1081, 1085, 1086, 1079, 1084, 1081, 1088, 1091, 1083, 1092,
3283     1095, 1096, 1097, 1080, 1082, 1093,    0, 1086, 1084, 1085,
3284     1087, 1099, 1094, 1094, 1093, 1087, 1098, 1102, 1088, 1091,
3285     1097, 1092, 1102, 1088, 1091, 1099, 1092, 1105, 1098, 1097,
3286     1101, 1106, 1095, 1096, 1104, 1107, 1110, 1104, 1099, 1105,
3287     1108, 1101, 1109, 1098, 1114, 1115,    0, 1108, 1107, 1102,
3288     1111, 1112, 1115, 1109, 1105, 1106, 1110, 1101, 1106, 1111,
3289     1104, 1104, 1107, 1110, 1104, 1112, 1116, 1108, 1113, 1109,
3290     1117,    0, 1115, 1119, 1118, 1122, 1114, 1111, 1112, 1121,
3291
3292     1113, 1123, 1117,    0,    0, 1124, 1119, 1123, 1125, 1128,
3293     1136, 1127, 1126, 1132,    0, 1113, 1118, 1117, 1116, 1122,
3294     1119, 1118, 1122, 1126, 1129, 1121, 1121, 1124, 1123, 1127,
3295     1125, 1128, 1124, 1130, 1132, 1125, 1128, 1134, 1127, 1126,
3296     1132, 1133, 1136, 1135, 1137, 1138, 1129, 1139, 1130, 1135,
3297        0, 1129, 1133, 1140,    0, 1141, 1139, 1142, 1134, 1143,
3298     1130, 1145, 1144, 1138, 1134, 1146, 1142, 1143, 1133, 1144,
3299     1135, 1137, 1138, 1147, 1139, 1148, 1149, 1140, 1152, 1146,
3300     1140, 1141, 1141, 1154, 1142, 1145, 1143, 1150, 1145, 1144,
3301     1151, 1153, 1146, 1157, 1156, 1159, 1158, 1160, 1161,    0,
3302
3303        0,    0, 1157, 1158, 1162, 1147, 1164, 1148, 1149, 1150,
3304     1152, 1163, 1151, 1153, 1150, 1154, 1156, 1151, 1153, 1160,
3305     1157, 1156, 1162, 1158, 1160, 1161, 1165, 1159, 1164, 1163,
3306     1167, 1162, 1166, 1164, 1168, 1165, 1169,    0, 1163, 1171,
3307     1166, 1172, 1170, 1173, 1174, 1175, 1178, 1180, 1171,    0,
3308        0, 1173, 1169, 1165, 1167, 1176, 1172, 1167, 1168, 1166,
3309     1180, 1168, 1177, 1169, 1170, 1181, 1171, 1176, 1172, 1170,
3310     1173, 1179, 1182, 1178, 1180, 1185, 1174, 1175, 1184, 1179,
3311     1181, 1182, 1176, 1186, 1177, 1190, 1187, 1184, 1187, 1177,
3312     1191, 1186, 1181, 1185, 1192, 1189, 1193, 1194, 1179, 1182,
3313
3314     1198, 1196, 1185, 1189, 1194, 1184, 1202, 1197, 1199, 1191,
3315     1186, 1200, 1190, 1187, 1196, 1198, 1192, 1191, 1193, 1197,
3316     1201, 1192, 1189, 1193, 1194, 1204, 1205, 1198, 1196, 1200,
3317     1199,    0, 1201, 1202, 1197, 1199, 1203, 1206, 1200, 1207,
3318     1208,    0,    0, 1203, 1209,    0, 1210, 1201, 1211, 1206,
3319     1207, 1215, 1212, 1216, 1213, 1221,    0, 1204, 1205, 1215,
3320     1214, 1211, 1208, 1203, 1206, 1212, 1207, 1208, 1210, 1209,
3321     1217, 1209, 1214, 1210, 1218, 1211, 1213, 1216, 1215, 1212,
3322     1216, 1213, 1221, 1219, 1223, 1222, 1218, 1214, 1225, 1227,
3323     1217, 1219, 1226, 1224, 1233, 1228, 1227, 1217, 1222,    0,
3324
3325     1225, 1218, 1224, 1230, 1228, 1232, 1228, 1223, 1231, 1228,
3326     1219, 1223, 1222, 1226,    0, 1225, 1227, 1228, 1234, 1226,
3327     1224, 1233, 1228, 1236, 1235, 1244, 1230, 1232, 1239, 1243,
3328     1230, 1228, 1232, 1228, 1231, 1231, 1228, 1235, 1234, 1241,
3329     1237, 1242, 1245, 1238, 1243, 1234, 1239, 1236, 1237, 1242,
3330     1236, 1235, 1238, 1250, 1248, 1239, 1243, 1244, 1246, 1247,
3331     1251, 1241, 1248,    0, 1245, 1255, 1241, 1237, 1242, 1245,
3332     1238, 1246, 1252, 1254,    0, 1247, 1253, 1257, 1256, 1258,
3333     1250, 1248, 1251, 1253, 1260, 1246, 1247, 1251, 1255, 1257,
3334     1259, 1258, 1255, 1260, 1252, 1254, 1256, 1261, 1259, 1252,
3335
3336     1254, 1262, 1264, 1253, 1257, 1256, 1258, 1263, 1260, 1261,
3337     1264, 1260, 1265, 1268, 1266, 1267, 1269, 1259, 1265, 1270,
3338     1260, 1262, 1263, 1266, 1261, 1268, 1271, 1273, 1262, 1264,
3339     1272, 1280, 1269, 1271, 1263, 1274, 1267, 1272, 1275, 1265,
3340     1268, 1266, 1267, 1269, 1276, 1273, 1275, 1274, 1277, 1279,
3341     1278, 1270, 1278, 1271, 1273, 1285, 1277, 1272, 1283, 1276,
3342     1281, 1279, 1274, 1280, 1286, 1275, 1284, 1281, 1285, 1288,
3343     1289, 1276, 1287, 1290, 1299, 1277, 1279, 1278, 1284, 1287,
3344     1288, 1291, 1285, 1286, 1295, 1293, 1291, 1281, 1290, 1294,
3345     1283, 1286, 1289, 1284, 1292, 1303, 1288, 1289, 1293, 1287,
3346
3347     1290, 1297, 1292, 1294,    0, 1298, 1299,    0,    0, 1300,
3348     1295, 1295, 1293, 1291,    0, 1297, 1294,    0,    0, 1301,
3349     1302, 1292, 1296, 1298, 1306, 1307, 1296, 1303, 1297, 1296,
3350     1296, 1307, 1298, 1304, 1296, 1300, 1300, 1305, 1302, 1308,
3351     1296, 1301, 1312, 1313, 1296, 1311, 1301, 1302, 1296, 1296,
3352     1306, 1306, 1307, 1296, 1311, 1304, 1296, 1296, 1314, 1305,
3353     1304, 1296, 1310, 1315, 1305, 1308, 1308, 1296, 1309, 1310,
3354     1309, 1296, 1311, 1316, 1312, 1313, 1317, 1319, 1318, 1320,
3355     1316, 1315, 1314, 1322,    0, 1314, 1319, 1321,    0, 1310,
3356     1315, 1318, 1309, 1325, 1323, 1309, 1324, 1309, 1317, 1328,
3357
3358     1316, 1329,    0, 1317, 1319, 1318,    0, 1325, 1321, 1331,
3359     1327, 1320, 1328, 1360, 1321, 1322, 1323, 1330, 1330, 1324,
3360     1325, 1323, 1333, 1324, 1326, 1331, 1328, 1329, 1329, 1326,
3361     1336, 1326, 1327, 1326, 1335, 1326, 1331, 1327, 1334, 1336,
3362     1360, 1335, 1326,    0,    0, 1333, 1330, 1338, 1337, 1333,
3363     1334, 1326, 1338, 1339, 1340, 1342, 1326, 1336, 1326, 1341,
3364     1326, 1335, 1326, 1343, 1341, 1334, 1337, 1344, 1348, 1349,
3365     1345, 1339, 1340,    0, 1347, 1337, 1343, 1342, 1345, 1338,
3366     1339, 1340, 1342, 1346, 1350, 1344, 1341, 1347, 1351, 1352,
3367     1343, 1346, 1353, 1354, 1344, 1349, 1349, 1345, 1356, 1350,
3368
3369     1348, 1347, 1352, 1355, 1357, 1359, 1354, 1351, 1362, 1366,
3370     1346, 1350, 1363, 1357, 1353, 1351, 1352, 1361, 1356, 1353,
3371     1354, 1355, 1358, 1364, 1358, 1356, 1370, 1359, 1372, 1361,
3372     1355, 1357, 1359, 1366, 1363, 1362, 1366, 1367, 1368, 1363,
3373     1369,    0, 1373, 1378, 1361, 1371, 1368,    0, 1364, 1358,
3374     1364, 1374, 1371, 1370, 1375, 1372, 1376, 1377, 1369, 1367,
3375     1375, 1380, 1376, 1377, 1367, 1368, 1381, 1369, 1373, 1373,
3376     1378, 1380, 1371, 1374, 1384, 1379, 1383, 1385, 1374, 1382,
3377     1386, 1375, 1379, 1376, 1377, 1387, 1382, 1389, 1380,    0,
3378     1381, 1390,    0, 1381, 1387, 1385, 1384, 1392, 1394, 1391,
3379
3380        0, 1384, 1379, 1390, 1385, 1386, 1382, 1386, 1383, 1393,
3381     1395, 1389, 1387, 1391, 1389, 1397, 1396,    0, 1390, 1392,
3382     1394, 1399, 1393, 1398, 1392, 1394, 1391, 1400, 1406, 1395,
3383     1402, 1401, 1403, 1407, 1408, 1410, 1393, 1395, 1396, 1397,
3384     1401, 1404, 1397, 1396, 1409, 1398, 1411, 1399, 1399, 1400,
3385     1398, 1402, 1403, 1413, 1400, 1404, 1408, 1402, 1401, 1403,
3386     1406, 1408, 1412, 1414, 1411, 1407, 1409, 1410, 1404, 1413,
3387     1412, 1409, 1415, 1411, 1417, 1418, 1419, 1422, 1421, 1415,
3388     1413, 1422, 1420, 1423, 1418, 1421, 1424, 1425, 1428, 1412,
3389     1414, 1431,    0, 1419, 1420, 1426, 1417,    0, 1435, 1415,
3390
3391     1429, 1417, 1418, 1419, 1422, 1421, 1429, 1435, 1425, 1420,
3392     1430, 1426, 1432, 1429, 1425, 1423, 1433, 1430, 1424, 1432,
3393     1428, 1434, 1426, 1431, 1436, 1435, 1442, 1429, 1437, 1439,
3394     1438, 1433, 1438, 1429, 1434, 1437, 1440, 1430, 1439, 1432,
3395     1441, 1443, 1444, 1433, 1446, 1443, 1447, 1451, 1434, 1441,
3396     1436, 1436, 1446, 1442, 1450, 1437, 1439, 1438, 1440, 1447,
3397     1448, 1449, 1452, 1440, 1444, 1448, 1451, 1441, 1443, 1444,
3398     1449, 1446, 1450, 1447, 1451, 1452, 1456, 1455, 1453, 1454,
3399     1455, 1450, 1454, 1457, 1458, 1460, 1462,    0, 1449, 1452,
3400     1453, 1454, 1448, 1461, 1456, 1463,    0, 1458,    0, 1455,
3401
3402     1463, 1467, 1462, 1456, 1455, 1453, 1454, 1455, 1457, 1454,
3403     1457, 1458, 1466, 1462, 1464, 1468, 1461, 1460, 1465, 1465,
3404     1461, 1466, 1464, 1467, 1469, 1470, 1471, 1463, 1467, 1473,
3405     1475, 1476, 1472, 1471, 1470, 1477, 1473, 1468, 1478, 1466,
3406     1476, 1464, 1468, 1475, 1477, 1465, 1469, 1479, 1482,    0,
3407        0, 1469, 1470, 1471, 1472, 1481, 1473, 1475, 1476, 1472,
3408     1480, 1483, 1477, 1481, 1478, 1478, 1484, 1485, 1486, 1480,
3409     1479, 1487, 1488,    0, 1479, 1485, 1483, 1484, 1489, 1490,
3410     1482, 1486, 1481, 1487, 1488, 1492, 1489, 1480, 1483, 1491,
3411     1494, 1493, 1496, 1484, 1485, 1486, 1495, 1499, 1487, 1488,
3412
3413     1493, 1490, 1495, 1494, 1497, 1489, 1490, 1492, 1498, 1491,
3414     1496, 1501, 1492, 1502, 1500, 1499, 1491, 1494, 1493, 1496,
3415     1498, 1500, 1503, 1495, 1499, 1505, 1504,    0, 1506, 1507,
3416     1497, 1497, 1508, 1511, 1509, 1498, 1510, 1501, 1501, 1504,
3417     1509, 1500, 1512, 1508, 1513, 1502, 1514,    0, 1517,    0,
3418     1507, 1505, 1505, 1504, 1503, 1506, 1507, 1518, 1510, 1508,
3419     1515, 1509, 1520, 1510, 1519, 1511, 1523,    0, 1521,    0,
3420     1525, 1520, 1514, 1514, 1512, 1517, 1513, 1522, 1523, 1515,
3421     1518, 1515, 1519, 1521, 1518, 1524, 1515, 1515, 1527, 1520,
3422     1522, 1519, 1526, 1523, 1528, 1521, 1525, 1525, 1529, 1526,
3423
3424     1534, 1530, 1537, 1533, 1522, 1524, 1515, 1527, 1515, 1530,
3425     1533, 1529, 1524, 1531, 1538, 1527, 1528, 1532, 1531, 1526,
3426     1537, 1528, 1532, 1535, 1536, 1529, 1534, 1534, 1530, 1537,
3427     1533, 1535, 1536, 1540, 1539, 1541, 1538, 1542,    0, 1544,
3428     1540, 1538, 1539, 1543, 1541, 1531, 1545, 1546, 1544, 1532,
3429     1535, 1536, 1548, 1545, 1547, 1547, 1549, 1551, 1550, 1546,
3430     1540, 1539, 1541, 1552, 1549, 1543, 1544, 1554, 1553, 1542,
3431     1543, 1552, 1555, 1545, 1546, 1554, 1559, 1562, 1558, 1550,
3432     1555, 1547, 1559, 1549, 1548, 1550, 1553, 1561, 1556, 1551,
3433     1552, 1558, 1557, 1565, 1554, 1553, 1556, 1560, 1563, 1555,
3434
3435     1557, 1562, 1564, 1559, 1562, 1558, 1563, 1566, 1565, 1560,
3436     1564, 1567,    0, 1561, 1561, 1556, 1570, 1568, 1569, 1557,
3437     1565, 1571, 1572, 1573, 1560, 1563, 1576, 1577, 1584, 1564,
3438     1570,    0,    0, 1571, 1566, 1576, 1578, 1573, 1567, 1568,
3439     1572, 1569, 1574, 1570, 1568, 1569, 1574, 1582, 1571, 1572,
3440     1573, 1577, 1579, 1576, 1577, 1580, 1583, 1581, 1578, 1574,
3441     1584, 1586, 1580, 1578, 1579, 1585, 1587, 1574, 1581, 1574,
3442     1589,    0, 1588, 1574, 1582, 1586,    0, 1585, 1583, 1579,
3443     1590, 1592, 1580, 1583, 1581, 1595, 1574, 1593, 1586, 1591,
3444     1592, 1596, 1585, 1589, 1588, 1594, 1591, 1589, 1587, 1588,
3445
3446     1598, 1600, 1594, 1590, 1601, 1593,    0, 1590, 1592, 1598,
3447     1601, 1603, 1602, 1604, 1593, 1607, 1591, 1595, 1596, 1605,
3448     1609, 1610, 1594, 1618, 1611, 1612, 1605, 1598,    0, 1613,
3449     1615, 1601, 1620, 1600, 1602, 1611, 1612, 1603, 1603, 1602,
3450     1613, 1618, 1607, 1616, 1609, 1604, 1605, 1609, 1610, 1616,
3451     1618, 1611, 1612, 1617, 1615, 1619, 1613, 1615, 1620, 1620,
3452     1617, 1621, 1619, 1622, 1623, 1624, 1625, 1626, 1627, 1622,
3453     1616, 1628, 1623, 1621, 1629, 1631,    0, 1631, 1632, 1625,
3454     1617, 1633, 1619, 1629, 1630, 1632, 1638, 1624, 1621, 1628,
3455     1622, 1623, 1624, 1625, 1627, 1627, 1630, 1634, 1628, 1626,
3456
3457     1635, 1629, 1631, 1636, 1637, 1632, 1639, 1633, 1633, 1635,
3458     1634, 1630, 1640, 1638, 1641, 1642, 1637,    0, 1643, 1640,
3459     1642, 1644, 1647, 1645, 1634, 1636, 1643, 1635, 1646, 1639,
3460     1636, 1637, 1649, 1639, 1650, 1652, 1646, 1644, 1651, 1640,
3461     1641, 1641, 1642, 1653, 1647, 1643, 1645, 1654, 1644, 1647,
3462     1645, 1655, 1651, 1657, 1653, 1646, 1654, 1652, 1650, 1649,
3463     1660, 1650, 1652, 1659, 1655, 1651, 1657, 1656, 1656, 1658,
3464     1653, 1658, 1662, 1665, 1654, 1656, 1661, 1663, 1655, 1662,
3465     1657, 1659, 1668, 1664, 1663, 1667, 1660, 1660, 1666, 1668,
3466     1659, 1664, 1669, 1671, 1656, 1656, 1658, 1673, 1661, 1662,
3467
3468     1665, 1670,    0, 1661, 1663, 1674, 1666, 1667, 1676, 1668,
3469     1664, 1672, 1667, 1677, 1678, 1666, 1679, 1669, 1672, 1669,
3470        0, 1676, 1678, 1670, 1679, 1671, 1680, 1674, 1670, 1673,
3471     1682, 1683, 1674, 1684, 1683, 1676, 1685, 1686, 1672, 1687,
3472     1677, 1678, 1688, 1679, 1689, 1695, 1690, 1680, 1687,    0,
3473     1686,    0, 1682, 1680, 1688, 1692, 1691, 1682, 1683, 1684,
3474     1684, 1699, 1685, 1685, 1686, 1691, 1687, 1693, 1689, 1688,
3475     1692, 1689, 1690, 1690, 1693, 1694, 1696, 1695, 1694, 1699,
3476     1697, 1703, 1692, 1691, 1700, 1701, 1702, 1701, 1699, 1704,
3477     1694,    0, 1704, 1705, 1693, 1706, 1697, 1707, 1696, 1694,
3478
3479     1710, 1717, 1694, 1696, 1697, 1694, 1700, 1697, 1703, 1708,
3480     1702, 1700, 1701, 1702, 1709, 1711, 1704, 1694, 1714, 1707,
3481     1712, 1713, 1715, 1697, 1707, 1705, 1714, 1706, 1716, 1715,
3482     1713, 1718, 1710, 1717, 1712, 1708, 1708, 1711, 1719, 1720,
3483     1709, 1709, 1711, 1721, 1724, 1714, 1722, 1712, 1713, 1715,
3484     1722,    0, 1716, 1726, 1723, 1716, 1725, 1727, 1730, 1729,
3485     1728, 1720, 1726, 1718, 1727, 1730, 1720, 1729, 1737, 1731,
3486     1719, 1724, 1728, 1722,    0, 1721, 1723, 1732, 1725, 1733,
3487     1726, 1723, 1731, 1725, 1727, 1730, 1729, 1728, 1734, 1735,
3488     1732, 1735, 1733, 1737, 1736, 1737, 1731, 1734, 1739, 1738,
3489
3490     1743, 1744, 1745, 1747, 1732, 1741, 1733, 1738, 1742, 1745,
3491     1747, 1746,    0, 1750, 1743, 1734, 1735, 1736, 1739,    0,
3492     1741, 1736, 1746, 1742, 1748, 1739, 1738, 1743, 1749, 1745,
3493     1747, 1751, 1741, 1744, 1753, 1742, 1754, 1748, 1746, 1750,
3494     1750, 1756, 1755, 1754, 1757, 1758, 1749, 1759,    0, 1751,
3495     1760, 1748, 1749, 1760,    0, 1749, 1756, 1758, 1751, 1772,
3496     1759, 1753, 1762, 1754, 1755, 1764, 1761, 1763, 1756, 1755,
3497     1757, 1757, 1758, 1749, 1759, 1761, 1766, 1760, 1765, 1763,
3498     1762, 1765, 1770, 1768, 1770, 1764, 1772, 1766, 1768, 1762,
3499     1771, 1773, 1764, 1761, 1763, 1768, 1765, 1774, 1775, 1776,
3500
3501     1777,    0, 1778, 1766,    0, 1765, 1780, 1775, 1765, 1770,
3502     1768, 1779, 1774, 1781, 1771, 1768, 1778, 1771, 1773, 1779,
3503     1782, 1784,    0, 1776, 1774, 1775, 1776, 1777, 1780, 1778,
3504     1783, 1785, 1787, 1780, 1786, 1781, 1783,    0, 1779, 1785,
3505     1781, 1788, 1792, 1784, 1782, 1786, 1791, 1782, 1784, 1788,
3506     1787, 1789, 1790, 1793, 1789, 1790, 1794, 1783, 1785, 1787,
3507     1795, 1786, 1797, 1796, 1791, 1800, 1801, 1795, 1788, 1789,
3508     1800, 1797, 1798, 1791, 1792, 1799, 1794, 1796, 1789, 1790,
3509     1793, 1789, 1805, 1794, 1805, 1798, 1799, 1795, 1801, 1797,
3510     1796, 1802, 1806, 1801, 1807,    0, 1809, 1800, 1808, 1798,
3511
3512        0, 1806, 1799, 1812,    0, 1814, 1802, 1809, 1810, 1805,
3513     1811,    0, 1815, 1813, 1811, 1816, 1813, 1812, 1802, 1806,
3514     1807, 1807, 1808, 1809, 1816, 1808, 1810, 1814, 1817, 1812,
3515     1812, 1813, 1814, 1826, 1817, 1810, 1811, 1811, 1815, 1815,
3516     1813, 1811, 1816, 1813, 1812, 1818, 1819, 1821, 1823, 1822,
3517     1825, 1819,    0, 1823, 1818, 1817, 1828, 1824, 1827, 1829,
3518     1821, 1822, 1832, 1825,    0, 1826, 1830, 1827, 1831, 1833,
3519     1838, 1841, 1818, 1835, 1821, 1823, 1822, 1825, 1819, 1824,
3520     1835, 1831, 1836, 1828, 1824, 1827, 1837, 1839, 1830, 1836,
3521     1833, 1829, 1840, 1830, 1832, 1831, 1833, 1845, 1840, 1837,
3522
3523     1835, 1839, 1838, 1841, 1843, 1845, 1849, 1846, 1848, 1836,
3524     1847, 1850, 1851, 1837, 1839, 1846, 1840,    0, 1847, 1840,
3525     1857, 1856, 1852, 1843, 1845, 1840, 1851, 1848, 1849, 1850,
3526     1853, 1843, 1854, 1849, 1846, 1848, 1859, 1847, 1850, 1851,
3527     1852, 1855, 1856, 1858, 1853, 1854, 1861, 1860, 1856, 1852,
3528     1865, 1862, 1857, 1863, 1855, 1867, 1864, 1853, 1862, 1854,
3529     1859, 1860, 1863, 1859, 1864, 1866, 1868, 1870, 1855, 1856,
3530     1869, 1868, 1872, 1861, 1860, 1858, 1870, 1865, 1862, 1866,
3531     1863, 1869, 1873, 1864, 1874,    0, 1875, 1867, 1876, 1873,
3532     1877,    0, 1866, 1868, 1870, 1876, 1878, 1869, 1879, 1872,
3533
3534     1880, 1887, 1883, 1882, 1880,    0, 1885, 1874, 1875, 1873,
3535     1884, 1874, 1877, 1875, 1886, 1876, 1879, 1877, 1878, 1882,
3536     1883, 1885, 1891, 1878, 1888, 1879, 1886, 1880, 1887, 1883,
3537     1882, 1889, 1888, 1885, 1884, 1890, 1894, 1884, 1892, 1893,
3538     1895, 1886, 1896, 1890, 1901, 1899, 1889, 1897, 1905, 1891,
3539     1903, 1888, 1893, 1899, 1897, 1895, 1894, 1896, 1889, 1903,
3540     1892, 1900, 1890, 1894, 1902, 1892, 1893, 1895, 1900, 1896,
3541     1906, 1904, 1899, 1907, 1897, 1905, 1901, 1903, 1908, 1902,
3542     1907, 1910, 1911, 1912, 1913, 1914, 1918,    0, 1900,    0,
3543     1916, 1902, 1904, 1918, 1906, 1917, 1915, 1906, 1904, 1919,
3544
3545     1907, 1912,    0, 1910, 1919, 1908, 1922, 1924, 1910, 1920,
3546     1912, 1915, 1914, 1918, 1911, 1916, 1913, 1916, 1920, 1917,
3547     1921, 1923, 1917, 1915, 1925, 1924, 1919, 1927, 1922, 1921,
3548     1926, 1929, 1928, 1922, 1924,    0, 1920, 1933, 1929, 1925,
3549     1931,    0, 1926, 1923, 1932, 1928, 1930, 1921, 1923, 1927,
3550     1928, 1925, 1934, 1930, 1927, 1935, 1932, 1926, 1929, 1928,
3551     1942, 1935, 1931, 1937, 1933, 1940, 1945, 1931, 1930, 1938,
3552     1939, 1932, 1928, 1930, 1937, 1944, 1940, 1938, 1939, 1941,
3553     1930, 1943, 1935, 1943, 1934, 1942, 1941, 1942, 1946, 1948,
3554     1937, 1947, 1940, 1945, 1943, 1949, 1938, 1939, 1947, 1950,
3555
3556     1953, 1944, 1944, 1951, 1955, 1950, 1941, 1952, 1943, 1951,
3557     1943, 1958, 1954, 1952, 1956, 1946, 1948, 1960, 1947, 1959,
3558     1961, 1949, 1949, 1962, 1961, 1965, 1950, 1953, 1959, 1963,
3559     1951, 1963, 1967, 1964, 1952, 1954, 1955, 1966, 1956, 1954,
3560     1968, 1956, 1970, 1958, 1966, 1962, 1959, 1961, 1970, 1960,
3561     1962, 1969, 1965, 1971, 1967, 1972, 1963, 1964, 1973, 1967,
3562     1964, 1974, 1975, 1969, 1966, 1980,    0, 1968,    0, 1970,
3563        0,    0, 1976, 1976, 1976, 1971,    0, 1972, 1969, 1976,
3564     1971, 1978, 1972, 1974, 1973, 1973, 1977, 1976, 1974, 1979,
3565     1978, 1981, 1983, 1977, 1975, 1982, 1979, 1980, 1981, 1976,
3566
3567     1976, 1976, 1982, 1984, 1986, 1988, 1976, 1987, 1978, 1986,
3568     1989, 1990, 1983, 1977, 1991, 1992, 1979, 1988, 1981, 1983,
3569     1987, 1993, 1982, 1995, 1994, 1984, 1991, 1990, 1996, 1995,
3570     1984, 1994, 1988, 1998, 1987, 1989, 1986, 1989, 1990, 1993,
3571     2001, 1991, 1997, 1997, 2000, 1999, 2002, 1992, 1993, 2000,
3572     1995, 1994, 1999, 2006, 2003, 1996, 2007, 2008, 2007, 1998,
3573     1998, 2003, 2011, 2012, 2010, 2014, 2001, 2001, 2011, 1997,
3574     2013, 2000, 1999, 2002, 2015, 2008, 2014, 2016, 2013, 2017,
3575     2006, 2003, 2010, 2007, 2008, 2017, 2018, 2015, 2019, 2011,
3576     2022, 2010, 2014, 2020, 2023, 2012, 2025, 2013, 2018, 2021,
3577
3578     2021, 2015, 2024, 2024, 2016, 2027, 2017, 2025, 2019, 2028,
3579     2029, 2020, 2030, 2018, 2031, 2019, 2022, 2022, 2032, 2030,
3580     2020, 2023, 2033, 2025, 2035, 2036, 2021, 2037,    0, 2024,
3581        0, 2028, 2035, 2038, 2031, 2039, 2028, 2027, 2041, 2030,
3582     2040, 2031, 2029, 2044, 2043, 2041, 2049, 2033, 2042, 2033,
3583     2032, 2035, 2040, 2039, 2037, 2038, 2042, 2036, 2044, 2045,
3584     2038, 2048, 2039, 2046, 2050, 2041, 2051, 2040, 2043, 2052,
3585     2044, 2043, 2046, 2047, 2047, 2042, 2052, 2053, 2049, 2050,
3586     2059,    0, 2062, 2045, 2058, 2054, 2045, 2048, 2048, 2053,
3587     2046, 2050, 2056, 2065, 2062, 2061, 2052, 2057, 2051, 2056,
3588
3589     2047, 2054, 2057, 2061, 2053, 2066, 2058, 2059, 2054, 2062,
3590     2060, 2058, 2054, 2060, 2067, 2064, 2065, 2069, 2068, 2056,
3591     2065, 2070, 2061, 2064, 2057, 2073, 2071,    0, 2054, 2077,
3592        0, 2066, 2066, 2075, 2074, 2067, 2068, 2060, 2072, 2070,
3593     2074, 2067, 2064, 2072, 2069, 2068, 2075, 2076, 2070, 2071,
3594     2078, 2077, 2073, 2071, 2072, 2076, 2077, 2078, 2081, 2079,
3595     2075, 2074, 2080,    0, 2082, 2072, 2079, 2083, 2085, 2080,
3596     2072, 2084, 2086, 2082, 2076, 2087,    0, 2078, 2090, 2083,
3597     2088,    0, 2085, 2094, 2098, 2096, 2079, 2093, 2100, 2080,
3598     2081, 2082, 2091, 2084, 2083, 2085, 2090, 2091, 2084, 2086,
3599
3600     2103, 2087, 2087, 2088, 2092, 2090, 2102, 2088, 2091, 2093,
3601     2094, 2092, 2096, 2097, 2093, 2103, 2098, 2104, 2097, 2091,
3602     2100, 2101, 2101, 2106, 2091, 2111, 2108, 2103, 2102, 2107,
3603        0, 2092, 2109, 2102, 2110, 2112, 2110, 2113, 2106, 2114,
3604     2112, 2108,    0, 2115, 2124, 2097, 2117, 2116, 2101, 2104,
3605     2106, 2115, 2107, 2108, 2116, 2122, 2107, 2111, 2109, 2109,
3606     2118, 2110, 2112, 2120, 2121, 2125, 2114, 2126, 2117, 2113,
3607     2115, 2124, 2121, 2117, 2116, 2118, 2127, 2122, 2120, 2128,
3608     2131, 2130, 2122, 2129, 2132,    0, 2134, 2118, 2130, 2125,
3609     2120, 2121, 2125, 2126, 2126, 2129, 2133, 2135, 2137, 2138,
3610
3611     2148,    0, 2142, 2127, 2140, 2132, 2128, 2134, 2130, 2141,
3612     2129, 2132, 2131, 2134, 2143, 2135, 2147, 2142, 2133, 2145,
3613     2137, 2149, 2146, 2133, 2135, 2137, 2138, 2148, 2140, 2142,
3614     2150, 2140, 2141, 2151, 2145, 2152, 2141, 2146, 2147, 2149,
3615     2143, 2143, 2153, 2147, 2154, 2155, 2145, 2156, 2149, 2146,
3616     2157, 2154, 2150, 2158, 2160, 2151, 2156, 2150, 2157, 2152,
3617     2151, 2159, 2152, 2155, 2161, 2164, 2162, 2179, 2170, 2153,
3618     2163, 2154, 2155, 2161, 2156, 2170, 2158, 2157, 2164, 2163,
3619     2158, 2167, 2168, 2159, 2162, 2166, 2160, 2169, 2159, 2171,
3620     2167, 2161, 2164, 2162, 2179, 2170, 2166, 2163, 2173, 2172,
3621
3622     2168, 2174, 2175, 2181, 2176, 2169, 2188, 2174, 2167, 2168,
3623     2182, 2166, 2166, 2173, 2169, 2171, 2171, 2172, 2176,    0,
3624     2191, 2182, 2183, 2166, 2175, 2173, 2172, 2181, 2174, 2175,
3625     2181, 2176, 2184, 2183, 2186, 2187, 2194, 2182, 2188, 2190,
3626     2189, 2192, 2193, 2184, 2202, 2191, 2186, 2191, 2187, 2183,
3627     2189, 2193, 2195, 2197, 2192, 2198, 2200, 2201, 2210, 2184,
3628     2200, 2186, 2187, 2194, 2203, 2190, 2190, 2189, 2192, 2193,
3629     2204, 2195, 2207, 2210, 2214, 2214, 2202, 2203, 2201, 2195,
3630     2197, 2198, 2198, 2200, 2201, 2210, 2206, 2205, 2211, 2209,
3631     2204, 2203, 2205, 2206, 2208, 2209, 2212, 2204, 2207, 2207,
3632
3633     2215, 2214, 2208, 2211, 2213, 2216, 2217,    0, 2212,    0,
3634     2245, 2217,    0, 2206, 2205, 2211, 2209, 2216, 2215, 2213,
3635     2208, 2208, 2218, 2212, 2223, 2224, 2218, 2215, 2221, 2208,
3636     2227, 2213, 2216, 2219, 2219, 2221, 2222, 2219, 2217, 2223,
3637     2222, 2226, 2245, 2228, 2225, 2231,    0,    0, 2226, 2218,
3638     2219, 2223, 2224, 2225, 2227, 2221, 2232, 2227, 2219, 2229,
3639     2219, 2219, 2234, 2222, 2219, 2228, 2229, 2231, 2226, 2233,
3640     2228, 2225, 2231, 2235, 2237, 2241, 2239, 2219, 2233, 2240,
3641     2242, 2232, 2250, 2232, 2234, 2239, 2229, 2243, 2248, 2234,
3642     2241, 2244, 2237, 2235, 2253, 2243, 2233, 2240, 2244, 2249,
3643
3644     2235, 2237, 2241, 2239, 2246, 2242, 2240, 2242, 2252, 2250,
3645     2255, 2246, 2249, 2248, 2243, 2248, 2251, 2251, 2244, 2253,
3646     2256, 2253, 2259, 2260, 2257, 2258, 2249, 2262,    0, 2259,
3647     2252, 2246, 2255, 2257, 2258, 2252, 2261, 2255, 2263, 2264,
3648     2265, 2262, 2256, 2251, 2264, 2269, 2270, 2256, 2267, 2259,
3649     2271, 2257, 2258, 2263, 2262, 2260, 2267, 2268, 2261, 2265,
3650     2269, 2275, 2272, 2261, 2276, 2263, 2279, 2265, 2273, 2277,
3651     2268, 2264, 2269, 2270, 2274, 2267, 2271, 2271, 2272, 2278,
3652     2273, 2274, 2281, 2286, 2268, 2285, 2276, 2282, 2278, 2272,
3653     2283, 2276, 2280, 2275, 2277, 2273, 2277, 2284, 2279, 2287,
3654
3655     2280, 2274, 2282, 2285, 2291, 2286, 2278, 2289, 2287, 2281,
3656     2286, 2280, 2285, 2300, 2282, 2290, 2283, 2283, 2290, 2280,
3657     2293, 2294, 2292, 2284, 2284, 2293, 2287, 2280, 2292, 2291,
3658     2289, 2291, 2295, 2290, 2289, 2300, 2294, 2298, 2296, 2299,
3659     2300, 2301, 2290, 2303, 2305, 2290, 2306,    0, 2294, 2292,
3660     2295, 2298, 2293, 2296, 2299, 2304, 2311, 2303, 2311, 2295,
3661     2307,    0, 2305, 2301, 2298, 2296, 2299, 2304, 2301, 2307,
3662     2303, 2305, 2308, 2306, 2304, 2309, 2312, 2310, 2313, 2314,
3663     2316, 2308, 2304, 2311, 2309, 2317, 2318, 2307, 2310, 2312,
3664     2313,    0, 2319, 2318, 2304, 2316, 2320, 2321,    0, 2308,
3665
3666     2317, 2314, 2309, 2312, 2310, 2313, 2314, 2316, 2322, 2325,
3667     2327, 2332, 2317, 2318, 2319, 2321, 2328, 2322, 2320, 2319,
3668     2328, 2329, 2325, 2320, 2321, 2330, 2331, 2333, 2331, 2332,
3669     2325, 2327, 2334, 2329, 2330, 2322, 2325, 2327, 2332, 2335,
3670     2338,    0, 2336, 2328, 2340, 2343, 2339, 2337, 2329, 2325,
3671     2334, 2336, 2330, 2331, 2333, 2337, 2342, 2344, 2340, 2334,
3672     2345, 2346, 2344, 2338, 2342, 2345, 2335, 2338, 2339, 2336,
3673     2347, 2340, 2348, 2339, 2337,    0, 2350, 2343, 2351, 2354,
3674     2355,    0, 2358, 2342, 2344, 2351, 2356,    0, 2354, 2359,
3675     2357, 2363, 2345, 2346, 2367, 2350, 2348, 2369, 2365, 2348,
3676
3677     2356, 2361, 2347, 2350, 2360, 2351, 2354, 2355, 2357, 2358,
3678     2361, 2356, 2356, 2356, 2364, 2359, 2359, 2357, 2366, 2360,
3679     2365, 2367,    0, 2363, 2368, 2365, 2364, 2356, 2361, 2369,
3680     2371, 2360, 2372, 2373, 2376, 2374, 2376, 2379, 2356, 2372,
3681     2386, 2364, 2374, 2377, 2366, 2366, 2368, 2380, 2378, 2379,
3682     2384, 2368, 2378, 2371, 2381, 2382, 2373, 2371, 2389, 2372,
3683     2373, 2376, 2374, 2381, 2379, 2377, 2382, 2386, 2385, 2380,
3684     2377, 2383, 2384, 2385, 2380, 2378, 2387, 2384, 2383, 2388,
3685     2389, 2381, 2382, 2390, 2392, 2389, 2391, 2391, 2394, 2393,
3686     2395, 2388, 2390, 2392, 2396, 2385, 2394, 2398, 2383, 2387,
3687
3688     2397, 2400,    0, 2387, 2393,    0, 2388, 2410, 2396, 2397,
3689     2390, 2392, 2395, 2391, 2401, 2394, 2393, 2395, 2402, 2408,
3690     2400, 2396, 2401, 2403, 2398, 2404, 2402, 2397, 2400, 2404,
3691     2405, 2403, 2406, 2405, 2408, 2411, 2407, 2409, 2416, 2410,
3692     2406, 2401, 2407, 2409, 2413, 2402, 2408, 2415, 2417, 2420,
3693     2403, 2416, 2404, 2418, 2423, 2419, 2413, 2405,    0, 2406,
3694     2422, 2415, 2419, 2407, 2409, 2416, 2421, 2411, 2423, 2417,
3695     2424, 2413, 2425, 2424, 2415, 2417, 2420, 2426, 2418, 2427,
3696     2418, 2423, 2419, 2428, 2422, 2425, 2429, 2422, 2421, 2430,
3697     2431, 2426, 2436, 2421, 2433, 2432,    0, 2424, 2434, 2425,
3698
3699     2437, 2434, 2431, 2438, 2426, 2427, 2427, 2432, 2433, 2439,
3700     2428, 2429, 2441, 2429, 2442, 2438, 2430, 2431, 2443, 2436,
3701     2440, 2433, 2432, 2440, 2434, 2434, 2437, 2437, 2434, 2445,
3702     2438, 2448, 2449, 2450,    0, 2439, 2439, 2446, 2440, 2441,
3703     2443, 2442, 2447, 2452, 2446, 2443, 2448, 2440, 2453, 2447,
3704     2440, 2445, 2454, 2451, 2455, 2456, 2445, 2453, 2448, 2449,
3705     2450, 2451, 2457, 2458, 2446, 2459, 2455, 2460, 2463, 2447,
3706     2452, 2461, 2468, 2462, 2464, 2453, 2465, 2456, 2459, 2454,
3707     2451, 2455, 2456, 2462, 2465, 2460, 2467, 2464, 2469, 2457,
3708     2458, 2470, 2459, 2471, 2460, 2463, 2469, 2461, 2461, 2468,
3709
3710     2462, 2464, 2471, 2465, 2472, 2474, 2473, 2476, 2467, 2475,
3711     2478, 2477,    0, 2467, 2479, 2469, 2481, 2482, 2470, 2477,
3712     2471, 2483, 2478, 2484, 2475, 2482, 2472, 2473, 2481, 2474,
3713     2487, 2472, 2474, 2473, 2476, 2475, 2475, 2478, 2477, 2479,
3714     2486, 2479, 2487, 2481, 2482, 2488, 2489, 2486, 2483, 2488,
3715     2491, 2475, 2490, 2492, 2493, 2484, 2495, 2487, 2489, 2494,
3716     2498, 2492, 2499,    0, 2496, 2500,    0, 2486, 2495, 2499,
3717        0, 2501, 2488, 2489, 2506, 2490, 2493, 2491, 2496, 2490,
3718     2492, 2493, 2494, 2495, 2501, 2500, 2494, 2498, 2502, 2499,
3719     2496, 2496, 2500, 2503, 2504, 2505, 2505, 2502, 2501, 2507,
3720
3721     2506, 2506, 2503, 2508, 2511, 2496, 2504, 2513, 2509,    0,
3722     2517, 2514, 2512,    0, 2516, 2502, 2516, 2507, 2515,    0,
3723     2503, 2504, 2505, 2509, 2517, 2509, 2507, 2512, 2508, 2513,
3724     2508, 2519, 2509, 2514, 2513, 2509, 2511, 2517, 2514, 2512,
3725     2515, 2516, 2518, 2520, 2523, 2515, 2521, 2521, 2518, 2519,
3726     2509, 2526, 2509, 2524, 2525, 2527, 2528,    0, 2519, 2531,
3727        0,    0, 2529, 2526,    0, 2520, 2523, 2530, 2529, 2518,
3728     2520, 2523,    0, 2521, 2532, 2524, 2525, 2533, 2526, 2530,
3729     2524, 2525, 2534, 2535, 2534, 2537,    0, 2527, 2528, 2529,
3730     2536, 2531, 2537, 2538, 2530, 2539, 2532, 2535, 2540, 2533,
3731
3732     2541, 2532, 2542, 2543, 2533, 2544, 2550, 2545, 2552, 2534,
3733     2535, 2538, 2537, 2539, 2536, 2542, 2540, 2536, 2541, 2547,
3734     2538, 2549, 2539, 2551, 2550, 2540, 2547, 2541, 2549, 2542,
3735     2545, 2553, 2559, 2550, 2545, 2543, 2554, 2544, 2555, 2553,
3736     2552, 2560, 2561, 2559, 2562, 2556, 2547, 2566, 2549, 2551,
3737     2551, 2564, 2560, 2557, 2554, 2557, 2562, 2553, 2553, 2559,
3738     2557, 2563, 2566, 2554, 2555, 2555, 2553, 2556, 2560, 2561,
3739     2567, 2562, 2556, 2564, 2566, 2568, 2569, 2571, 2564, 2563,
3740     2557, 2567, 2557, 2572, 2574, 2573, 2575, 2568, 2563, 2576,
3741     2579, 2569, 2573, 2577, 2580,    0, 2582, 2567, 2583, 2574,
3742
3743     2581, 2571, 2568, 2569, 2571, 2572, 2584, 2585,    0,    0,
3744     2572, 2574, 2573, 2575, 2587, 2592, 2576, 2579, 2580, 2577,
3745     2577, 2580, 2581, 2586, 2584, 2589, 2594, 2581, 2582, 2588,
3746     2583, 2590, 2593, 2584, 2585, 2591, 2586, 2596, 2589, 2590,
3747     2587, 2587, 2597, 2598, 2588, 2593, 2599, 2592, 2594, 2600,
3748     2586,    0, 2589, 2594, 2601, 2604, 2588, 2602, 2590, 2593,
3749     2596, 2591, 2591, 2605, 2596, 2606, 2597, 2603, 2599, 2597,
3750     2598, 2600, 2601, 2599, 2603, 2602, 2600, 2608, 2604, 2606,
3751     2609, 2601, 2604, 2612, 2602, 2613, 2610, 2609, 2611, 2615,
3752     2605, 2614, 2606, 2610, 2603, 2611, 2612, 2616, 2614, 2608,
3753
3754     2617,    0,    0, 2625, 2608, 2618, 2630, 2609, 2613, 2619,
3755     2612, 2615, 2613, 2610, 2620, 2611, 2615, 2621, 2614,    0,
3756     2622, 2617, 2627, 2620, 2623, 2621, 2629, 2617, 2622, 2616,
3757     2625, 2618, 2618, 2624, 2628, 2619, 2619, 2627, 2630, 2624,
3758     2631, 2620, 2633, 2632, 2621, 2628, 2623, 2622, 2629, 2627,
3759     2635, 2623, 2637, 2629, 2639, 2646, 2646, 2653, 2638, 2640,
3760     2624, 2628, 2632, 2641, 2643, 2637, 2644, 2633, 2635, 2633,
3761     2632, 2638, 2631, 2645, 2651, 2647, 2650, 2635, 2644, 2637,
3762     2639, 2639, 2646, 2640, 2653, 2638, 2640, 2654, 2643, 2641,
3763     2641, 2643, 2652, 2644, 2657, 2659, 2661, 2645, 2665, 2650,
3764
3765     2645, 2647, 2647, 2650, 2659, 2654, 2651, 2652, 2667, 2661,
3766     2666, 2666, 2668, 2662, 2654, 2672, 2670, 2667, 2668, 2652,
3767     2665, 2657, 2659, 2661, 2662, 2665, 2671, 2674, 2676, 2677,
3768        0, 2678, 2687,    0, 2679, 2667, 2677, 2666, 2670, 2668,
3769     2662, 2680, 2672, 2670, 2681, 2679, 2680, 2683, 2671, 2684,
3770     2685, 2689, 2686, 2671, 2674, 2683, 2677, 2678, 2678, 2687,
3771     2676, 2679, 2689, 2690, 2691, 2685, 2681, 2686, 2680, 2692,
3772     2694, 2681, 2696, 2684, 2683, 2693, 2684, 2685, 2689, 2686,
3773     2697, 2690, 2694, 2698, 2693, 2691, 2699, 2700, 2700, 2701,
3774     2690, 2691, 2703, 2704, 2699, 2700, 2706, 2694, 2701, 2696,
3775
3776     2705, 2692, 2693, 2707, 2697, 2706, 2709, 2697, 2698, 2710,
3777     2698, 2708,    0, 2699, 2700, 2700, 2701, 2713, 2703, 2703,
3778     2704, 2707, 2705, 2706, 2711, 2708, 2712, 2705, 2709, 2718,
3779     2707, 2719, 2713, 2709, 2710, 2714, 2710, 2711, 2708, 2712,
3780     2715, 2716, 2717, 2719, 2713, 2720, 2721, 2715, 2716, 2722,
3781     2723, 2711,    0, 2712, 2724,    0, 2718, 2714, 2719, 2727,
3782     2726, 2725, 2714, 2728, 2717, 2723, 2729, 2715, 2716, 2717,
3783     2725, 2731, 2720, 2721,    0,    0, 2722, 2723, 2731, 2724,
3784     2730, 2724, 2726, 2736, 2732, 2727, 2727, 2726, 2725, 2728,
3785     2728, 2734, 2729, 2729, 2733, 2730, 2737, 2734, 2731, 2732,
3786
3787     2738, 2733, 2735, 2739, 2737, 2741, 2740, 2730, 2743, 2742,
3788     2736, 2732, 2745, 2735,    0, 2746, 2744, 2749, 2734, 2745,
3789     2751, 2733, 2740, 2737, 2742, 2752, 2752, 2738, 2743, 2735,
3790     2739, 2744, 2741, 2740, 2747, 2743, 2742, 2746, 2748, 2745,
3791     2750, 2747, 2746, 2744, 2749, 2748, 2753, 2751, 2754, 2758,
3792     2756, 2755, 2752, 2753, 2755, 2757, 2759,    0, 2750, 2760,
3793     2757, 2747, 2754, 2756, 2767, 2748, 2761, 2750, 2762, 2763,
3794     2765, 2759, 2826, 2753, 2758, 2754, 2758, 2756, 2755, 2765,
3795     2762, 2763, 2757, 2759, 2761, 2760, 2760, 2766, 2769, 2770,
3796     2768, 2767, 2766, 2761, 2768, 2762, 2763, 2765, 2771, 2772,
3797
3798     2773, 2774, 2770, 2775, 2826, 2778,    0, 2780, 2782, 2781,
3799     2784, 2783, 2769,    0, 2766, 2769, 2770, 2768, 2781, 2783,
3800     2771, 2772, 2784, 2944, 2782, 2771, 2772, 2773, 2774, 2775,
3801     2775, 2778, 2778, 2780, 2780, 2782, 2781, 2784, 2783, 2786,
3802     2787, 2789, 2788, 2790, 2791, 2793, 2786, 2788, 2789, 2787,
3803     2792, 2791, 2793, 2794, 2795, 2944, 2796, 2799, 2802, 2803,
3804        0, 2790, 2794, 2795, 2798, 2800, 2786, 2787, 2789, 2788,
3805     2790, 2791, 2793, 2806, 2801, 2792, 2802, 2792, 2800, 2801,
3806     2794, 2795, 2796, 2796, 2799, 2802, 2803, 2798, 2805, 2807,
3807     2808, 2798, 2800, 2809, 2810, 2811, 2812, 2814, 2807, 2808,
3808
3809     2806, 2801, 2809, 2813, 2816, 2812, 2805, 2811, 2814, 2817,
3810     2815, 2818, 2813, 2819, 2810, 2805, 2807, 2808, 2815, 2820,
3811     2809, 2810, 2811, 2812, 2814, 2821, 2820, 2816, 2822, 2817,
3812     2813, 2816, 2824, 2825, 2821, 2827, 2817, 2815, 2818, 2828,
3813     2819, 2829, 2830, 2831, 2827, 2832, 2820, 2833, 2828, 2822,
3814     2830, 2834, 2821, 2829, 2835, 2822, 2831, 2836, 2834, 2824,
3815     2825, 2835, 2827, 2837, 2836, 2842, 2828, 2832, 2829, 2830,
3816     2831, 2838, 2832, 2839, 2833, 2840, 2841, 2844, 2834, 2837,
3817     2839, 2835, 2843, 2846, 2836, 2849,    0, 2838, 2848,    0,
3818     2837, 2846, 2842, 2849, 2852,    0, 2850, 2840, 2838,    0,
3819
3820     2839, 2841, 2840, 2841, 2844, 2854, 2848, 2843, 2862, 2843,
3821     2846, 2850, 2849, 2851, 2856, 2848, 2852, 2853, 2855, 2859,
3822     2851, 2852, 2856, 2850, 2853, 2855, 2859, 2854, 2860, 2861,
3823     2863, 2865, 2854, 2866, 2864, 2862, 2867, 2860, 2870, 2868,
3824     2851, 2856, 2863, 2864, 2853, 2855, 2859, 2871, 2867, 2866,
3825     2870, 2872, 2873, 2861, 2874, 2860, 2861, 2863, 2865, 2871,
3826     2866, 2864, 2868, 2867, 2877, 2870, 2868, 2878, 2875, 2883,
3827     2879, 2881, 2872, 2889, 2871, 2873, 2877, 2879, 2872, 2873,
3828     2880, 2874, 2875, 2886, 2885, 2882, 2887,    0, 2880, 2888,
3829     2881, 2877, 2882, 2891, 2878, 2875, 2883, 2879, 2881, 2885,
3830
3831     2889, 2886, 2892, 2893, 2897,    0, 2890, 2880, 2894, 2887,
3832     2886, 2885, 2882, 2887, 2890, 2888, 2888, 2895, 2896, 2894,
3833     2891, 2893, 2899, 2904, 2892, 2896, 2903, 2906, 2899, 2892,
3834     2893, 2897, 2895, 2890, 2905, 2894, 2913, 2907,    0, 2905,
3835     2910, 2904, 2908, 2909, 2895, 2896, 2917, 2911, 2912, 2899,
3836     2904, 2907, 2903, 2903, 2906, 2914, 2908, 2909, 2910, 2915,
3837     2925, 2905, 2914, 2913, 2907, 2911, 2912, 2910, 2920, 2908,
3838     2909, 2915, 2922, 2917, 2911, 2912, 2923, 2926, 2924, 2925,
3839     2927, 2930, 2914, 2928, 2932, 2926, 2915, 2925, 2935, 2923,
3840     2920, 2933, 2936, 2930, 2922, 2920,    0, 2934, 2927, 2922,
3841
3842     2924, 2937, 2928, 2923, 2926, 2924, 2932, 2927, 2930, 2934,
3843     2928, 2932, 2938, 2933, 2939, 2935, 2940,    0, 2933, 2936,
3844     2938, 2942, 2941, 2937, 2934, 2943,    0, 2947, 2937, 2945,
3845     2942, 2950, 2951, 2948, 2943, 2949, 2940, 2955, 2961, 2938,
3846     2972, 2939, 2956, 2940, 2941, 2948, 2958, 2954, 2942, 2941,
3847     2957, 2945, 2943, 2947, 2947, 2957, 2945, 2949, 2950, 2951,
3848     2948, 2954, 2949, 2959, 2955, 2960, 2956, 2972, 2958, 2956,
3849     2961, 2962, 2965, 2958, 2954, 2963, 2971, 2964, 2960, 2968,
3850     2967, 2966, 2957, 2969, 2965, 2959, 2967, 2970,    0,    0,
3851     2959, 2971, 2960, 2974, 2962, 2964, 2975, 2963, 2962, 2965,
3852
3853     2966, 2976, 2963, 2971, 2964, 2980, 2978, 2967, 2966, 2970,
3854     2983, 2968, 2981, 2974, 2970, 2969, 2982, 2984, 2975, 2983,
3855     2974, 2978, 2985, 2975, 2986, 2976, 2987, 2980, 2976, 2988,
3856        0, 2984, 2980, 2978, 2981, 2989,    0, 2983, 2982, 2981,
3857     2985, 2990, 2986, 2982, 2984, 2993, 2994, 2988, 2995, 2985,
3858     3002, 2986, 2987, 2987, 2993,    0, 2988, 2998, 2989, 2999,
3859     3000, 3003, 2989, 2990,    0, 2998, 2999, 3000, 2990, 2995,
3860     3008, 3001, 2993, 3006, 3004, 2995, 3007, 3002, 2994, 3001,
3861     3009, 3003, 3004, 3011, 2998, 3012, 2999, 3000, 3003,    0,
3862     3010, 3006, 3009, 3018, 3007, 3011, 3008, 3008, 3001, 3015,
3863
3864     3006, 3004, 3017, 3007, 3019, 3013, 3021, 3009, 3010, 3017,
3865     3011, 3015, 3012, 3013, 3023, 3022, 3018, 3010, 3024, 3020,
3866     3018, 3020, 3023, 3025, 3026, 3027, 3015, 3024,    0, 3017,
3867     3031, 3019, 3013, 3028, 3029, 3028, 3032, 3034, 3021, 3036,
3868     3035, 3023,    0, 3039, 3027, 3024, 3020, 3022, 3031, 3037,
3869     3032, 3026, 3027, 3040, 3045, 3025, 3029, 3031, 3037, 3038,
3870     3028, 3029, 3036, 3032, 3035, 3040, 3036, 3035, 3042, 3034,
3871     3039, 3046, 3038, 3043, 3047, 3046, 3037, 3048, 3050, 3051,
3872     3040, 3045, 3043, 3055, 3057, 3052, 3038, 3058, 3059, 3063,
3873     3053, 3057, 3060, 3068, 3042, 3042, 3063, 3060, 3046,    0,
3874
3875     3043, 3047, 3051, 3059, 3048, 3050, 3051, 3052, 3053, 3058,
3876     3055, 3057, 3052, 3061, 3058, 3059, 3063, 3053, 3064, 3065,
3877     3068, 3066, 3069, 3070, 3060, 3064, 3065, 3071, 3061, 3072,
3878     3073, 3075, 3076, 3079, 3081, 3078,    0, 3080, 3087, 3083,
3879     3061, 3076, 3078, 3072, 3073, 3064, 3065, 3066, 3066, 3069,
3880     3070, 3071, 3088, 3082, 3071, 3084, 3072, 3073, 3075, 3076,
3881     3079, 3081, 3078, 3080, 3080, 3082, 3083, 3085, 3086, 3084,
3882     3087, 3092, 3095, 3089, 3096, 3093, 3085, 3095, 3096, 3088,
3883     3082, 3086, 3084, 3097, 3098, 3099, 3100, 3101,    0, 3101,
3884     3097, 3098, 3102, 3103, 3085, 3086, 3089, 3093, 3108, 3106,
3885
3886     3089, 3096, 3093, 3092, 3095, 3109, 3099, 3111, 3115, 3111,
3887     3097, 3098, 3099, 3112, 3101, 3102, 3113, 3108, 3100, 3102,
3888     3103, 3106, 3116, 3114, 3114, 3108, 3106, 3119, 3118, 3109,
3889     3115, 3116, 3109, 3114, 3111, 3115, 3121, 3112, 3117, 3120,
3890     3112, 3118, 3113, 3113, 3121, 3117, 3122, 3129, 3123, 3116,
3891     3114, 3114, 3120, 3124, 3119, 3118, 3123, 3126, 3130, 3122,
3892     3121, 3131, 3126, 3121, 3127, 3117, 3120, 3132, 3128, 3127,
3893     3135, 3121, 3124, 3122, 3129, 3123, 3128, 3133,    0, 3134,
3894     3124, 3135, 3139, 3137, 3130, 3130, 3136, 3131, 3131, 3126,
3895     3137, 3138, 3138, 3132, 3132, 3128, 3127, 3135, 3140, 3141,
3896
3897     3139, 3143, 3144, 3133, 3133, 3134, 3134, 3142, 3136, 3139,
3898     3137, 3140, 3145, 3136, 3149, 3142, 3150, 3146, 3138, 3145,
3899     3144, 3141, 3151, 3143, 3146, 3140, 3141, 3153, 3143, 3144,
3900     3147, 3154, 3158, 3152, 3142,    0, 3159, 3147, 3156, 3145,
3901     3155, 3149, 3160, 3150, 3146, 3152, 3151, 3156, 3161, 3151,
3902     3163, 3166, 3154, 3164, 3153, 3165, 3159, 3147, 3154, 3158,
3903     3152, 3167, 3155, 3159, 3171, 3156, 3168, 3155, 3172, 3160,
3904     3161, 3164, 3170, 3165, 3173, 3161, 3174, 3163, 3166, 3167,
3905     3164, 3170, 3165, 3190, 3168, 3183, 3176, 3193, 3167, 3178,
3906     3175, 3171, 3177, 3168, 3174, 3172, 3178, 3173, 3175, 3170,
3907
3908     3179, 3173, 3176, 3174, 3177, 3179, 3181, 3182, 3183, 3185,
3909     3190, 3191, 3183, 3176, 3193, 3189, 3178, 3175, 3194, 3177,
3910     3181, 3185, 3198, 3199, 3191, 3182, 3195, 3201, 3195, 3200,
3911     3196, 3194, 3179, 3181, 3182, 3219, 3185, 3189, 3191, 3196,
3912     3202, 3206, 3189, 3206, 3207, 3194, 3208, 3200, 3211, 3198,
3913     3199, 3210, 3217, 3195, 3213, 3202, 3200, 3196, 3210, 3201,
3914     3218, 3219, 3219, 3222, 3208, 3220, 3207, 3202, 3206, 3213,
3915     3215, 3207, 3223, 3208, 3217, 3224, 3215, 3227, 3210, 3217,
3916     3211, 3213, 3218, 3220, 3228, 3222, 3223, 3218, 3224, 3229,
3917     3222, 3225, 3220, 3231, 3225, 3230,    0, 3215, 3232, 3223,
3918
3919     3231, 3233, 3224, 3235, 3227, 3236, 3232, 3237,    0, 3238,
3920     3239, 3228, 3244, 3230,    0, 3240, 3229, 3225, 3225, 3239,
3921     3231, 3225, 3230, 3233, 3242, 3232, 3246, 3236, 3233, 3237,
3922     3240, 3243, 3236, 3241, 3237, 3235, 3238, 3239, 3248, 3241,
3923     3243, 3245, 3240, 3245, 3244, 3249, 3242, 3250,    0, 3251,
3924     3256, 3242, 3253, 3246, 3252, 3258, 3260, 3256, 3243, 3254,
3925     3241, 3248, 3252,    0, 3253, 3248, 3261, 3249, 3245, 3250,
3926     3260, 3254, 3249, 3262, 3250, 3251, 3251, 3256, 3263, 3253,
3927     3261, 3252, 3258, 3260, 3264, 3265, 3254, 3262, 3267, 3266,
3928     3272, 3268, 3269, 3261, 3271, 3273, 3265, 3266, 3275, 3269,
3929
3930     3262, 3263, 3264, 3270, 3273, 3263, 3276, 3267, 3272, 3280,
3931     3270, 3264, 3265, 3268, 3280, 3267, 3266, 3272, 3268, 3269,
3932     3271, 3271, 3273, 3274, 3274, 3275, 3277, 3281, 3283, 3284,
3933     3270, 3285, 3287, 3276, 3277, 3289, 3291, 3292, 3287, 3294,
3934     3281, 3280, 3299, 3296, 3300, 3302, 3295, 3291, 3292, 3283,
3935     3274, 3300, 3304, 3277, 3281, 3283, 3284, 3295, 3285, 3287,
3936     3301, 3294, 3289, 3291, 3292, 3296, 3294, 3305, 3303, 3299,
3937     3296, 3300, 3303, 3295, 3307, 3305, 3308, 3302, 3301, 3304,
3938     3309, 3310, 3311, 3313, 3315, 3316, 3322, 3301, 3309, 3308,
3939     3310, 3315, 3317, 3320, 3305, 3303, 3321, 3321, 3320, 3323,
3940
3941     3307, 3307, 3326, 3308, 3324, 3325, 3327, 3309, 3310, 3311,
3942     3328, 3315, 3325, 3322, 3317, 3313, 3324, 3316, 3329, 3317,
3943     3320, 3326, 3327, 3321, 3330, 3329, 3323, 3331, 3328, 3326,
3944     3334, 3324, 3325, 3327, 3332, 3331, 3333, 3328, 3335,    0,
3945     3336, 3345, 3337, 3333, 3338, 3329, 3343, 3342, 3326, 3332,
3946     3335, 3344, 3346, 3343, 3331, 3347, 3330, 3334, 3350, 3351,
3947     3354, 3332, 3342, 3333, 3336, 3335, 3337, 3336, 3345, 3337,
3948     3338, 3338, 3348, 3343, 3342, 3352, 3346, 3356, 3358, 3346,
3949     3350, 3348, 3353, 3344, 3362, 3350, 3351, 3347, 3355, 3355,
3950     3353, 3359, 3354, 3358, 3360, 3365, 3360, 3352, 3355, 3348,
3951
3952     3359, 3364, 3352, 3361, 3356, 3358, 3363, 3367, 3368, 3353,
3953     3369, 3362, 3364, 3365, 3363, 3355, 3355, 3361, 3359, 3370,
3954     3372, 3360, 3365, 3371, 3373, 3374, 3375, 3376, 3364, 3377,
3955     3361, 3379, 3379, 3363, 3367, 3368, 3371, 3369, 3381, 3380,
3956     3384, 3370, 3372, 3378,    0, 3376, 3370, 3372, 3385, 3387,
3957     3371, 3373, 3374, 3375, 3376, 3388, 3377, 3378, 3379, 3385,
3958     3381, 3391, 3399, 3393, 3411, 3381, 3395, 3384, 3393, 3391,
3959     3378, 3380, 3394, 3396, 3395, 3385, 3387, 3394, 3396, 3397,
3960     3400, 3400, 3388, 3401, 3402, 3404, 3405, 3406, 3391, 3399,
3961     3393, 3401, 3404, 3395, 3407, 3408, 3411, 3402, 3414, 3394,
3962
3963     3396, 3419, 3412,    0, 3405, 3397, 3397, 3400, 3410, 3412,
3964     3401, 3402, 3404, 3405, 3406, 3413, 3415, 3410, 3408, 3421,
3965     3414, 3407, 3408, 3413, 3418, 3414, 3422, 3423, 3419, 3412,
3966     3418, 3424, 3425, 3426, 3427, 3410,    0,    0, 3415,    0,
3967     3423, 3430, 3413, 3415, 3428, 3431, 3421, 3425, 3422, 3432,
3968     3433, 3418, 3426, 3422, 3423, 3435, 3432, 3433, 3434, 3425,
3969     3426, 3427, 3436, 3424, 3430, 3438, 3428, 3431, 3430, 3443,
3970     3435, 3428, 3431, 3439,    0,    0, 3432, 3433, 3443, 3440,
3971     3434, 3439, 3435, 3436, 3438, 3434, 3440, 3441, 3444, 3436,
3972     3447, 3449, 3438, 3460, 3441, 3446, 3443, 3445, 3445, 3444,
3973
3974     3439, 3446, 3450, 3451, 3452, 3456, 3440, 3445,    0, 3450,
3975     3455, 3461, 3447, 3449, 3441, 3444, 3454, 3447, 3449, 3456,
3976     3460, 3462, 3446, 3454, 3445, 3445, 3452, 3466, 3468, 3450,
3977     3469, 3452, 3456, 3470, 3455, 3451, 3471, 3455, 3461, 3466,
3978     3476, 3470, 3479, 3454, 3462, 3481, 3473,    0, 3462, 3477,
3979     3477,    0, 3469, 3483, 3466, 3468, 3484, 3469, 3473, 3485,
3980     3470, 3478, 3478, 3471, 3480, 3480,    0, 3476, 3481, 3479,
3981     3486, 3487, 3481, 3473, 3484, 3483, 3490, 3494, 3477, 3486,
3982     3483, 3491, 3492, 3484, 3487, 3493, 3485, 3495, 3497, 3492,
3983     3478, 3496, 3493, 3480, 3500, 3497, 3500, 3486, 3487, 3494,
3984
3985     3496, 3502, 3501, 3490, 3494, 3503,    0, 3491, 3491, 3492,
3986     3506, 3507, 3493, 3504, 3495, 3497, 3508, 3509, 3496, 3506,
3987     3510, 3500, 3501, 3503, 3502, 3504, 3511, 3512, 3502, 3501,
3988     3513,    0, 3503, 3507, 3514, 3509, 3516, 3506, 3507, 3517,
3989     3504, 3516, 3513, 3508, 3509, 3515, 3510, 3510, 3515, 3518,
3990     3519, 3518, 3520, 3511, 3512,    0, 3514, 3513, 3520, 3521,
3991     3522, 3514, 3519, 3515, 3524, 3523, 3525, 3526, 3516, 3527,
3992     3528, 3517, 3515, 3523, 3533, 3515, 3518, 3519, 3529, 3520,
3993     3530, 3521, 3522, 3536, 3541, 3537, 3521, 3522, 3526, 3542,
3994     3529, 3524, 3523, 3534, 3526, 3539, 3527, 3528, 3525, 3543,
3995
3996     3544, 3533, 3530, 3537, 3539, 3529, 3534, 3530, 3546, 3547,
3997     3536, 3541, 3537, 3548, 3549, 3552, 3542, 3550, 3550, 3553,
3998     3534, 3555, 3539, 3557, 3558, 3556, 3543, 3544, 3561, 3563,
3999        0, 3558, 3567, 3552, 3568, 3546, 3547, 3560, 3557, 3562,
4000     3548, 3549, 3552, 3556, 3550, 3564, 3553, 3562, 3555, 3560,
4001     3557, 3558, 3556, 3565, 3566, 3561, 3563, 3564, 3567, 3567,
4002     3571, 3568, 3570, 3583, 3560, 3577, 3562, 3565, 3574, 3566,
4003     3575, 3582, 3564, 3578, 3570, 3576, 3576, 3574, 3581, 3580,
4004     3565, 3566, 3578,    0, 3582, 3583, 3588, 3571, 3584, 3570,
4005     3583, 3577, 3577, 3586, 3575, 3574, 3584, 3575, 3582, 3585,
4006
4007     3578, 3589, 3576, 3580, 3586,    0, 3580, 3588, 3585, 3592,
4008     3581, 3593, 3607, 3588, 3595, 3584, 3597, 3597, 3598, 3589,
4009     3586, 3611, 3608, 3593, 3612, 3598, 3585, 3613, 3589, 3614,
4010     3616, 3626, 3592, 3618, 3607, 3611, 3592, 3618, 3593, 3607,
4011     3595, 3595, 3620, 3597, 3619, 3598, 3608, 3626, 3611, 3608,
4012     3623, 3612, 3621, 3627, 3613, 3629, 3614, 3616, 3626, 3621,
4013     3618, 3628, 3619, 3623, 3625, 3620, 3630, 3629, 3625, 3620,
4014     3631, 3619,    0, 3632, 3633, 3627, 3634, 3623, 3636, 3621,
4015     3627, 3632, 3629, 3633, 3631,    0, 3628, 3634, 3628, 3637,
4016     3636, 3625, 3630, 3630, 3635, 3638, 3635, 3631, 3639, 3641,
4017
4018     3632, 3633, 3640, 3634, 3643, 3636, 3642, 3637, 3640, 3644,
4019     3638, 3645, 3643, 3646, 3641, 3653, 3637, 3651, 3645, 3654,
4020     3639, 3635, 3638, 3655, 3657, 3639, 3641, 3652, 3642, 3640,
4021     3651, 3643, 3656, 3642, 3652, 3646, 3644, 3654, 3645, 3658,
4022     3646, 3659, 3653, 3661, 3651, 3660, 3654, 3662,    0, 3659,
4023     3655, 3657, 3660, 3663, 3652, 3664, 3668, 3664, 3656, 3656,
4024     3666, 3665, 3669, 3667, 3670, 3690, 3658, 3661, 3659, 3662,
4025     3661, 3668, 3660, 3665, 3662, 3663, 3667, 3672, 3671, 3673,
4026     3663, 3674, 3664, 3668, 3669, 3671, 3676, 3677, 3665, 3669,
4027     3667, 3670, 3666, 3678, 3679, 3681, 3686, 3690, 3687, 3677,
4028
4029     3683, 3678, 3691, 3689, 3672, 3671, 3673, 3681, 3674, 3683,
4030     3688, 3689, 3693, 3676, 3677, 3692, 3695, 3696, 3698,    0,
4031     3678, 3679, 3681, 3686, 3687, 3687, 3693, 3683, 3692, 3688,
4032     3689, 3707, 3694,    0, 3691, 3703, 3706, 3688, 3695, 3693,
4033     3694, 3703, 3692, 3695, 3696, 3698, 3704, 3710, 3709, 3706,
4034     3712, 3713, 3711, 3704, 3707, 3709,    0, 3717, 3707, 3694,
4035     3711, 3715, 3703, 3706, 3712, 3713, 3723, 3716, 3714, 3710,
4036     3724, 3725, 3721, 3704, 3710, 3709, 3714, 3712, 3713, 3711,
4037     3720, 3721, 3722, 3715, 3717, 3726, 3727, 3720, 3715, 3716,
4038     3722,    0, 3724, 3723, 3716, 3714, 3728, 3724, 3729, 3721,
4039
4040     3731, 3733, 3730, 3725, 3734,    0, 3735, 3720, 3727, 3722,
4041     3730, 3726, 3726, 3727, 3737, 3739, 3738,    0, 3728, 3740,
4042     3729, 3742, 3741, 3728, 3738, 3729, 3734, 3740, 3733, 3730,
4043     3741, 3734, 3731, 3735, 3744, 3739, 3743, 3737, 3746, 3748,
4044     3750, 3737, 3739, 3738, 3743, 3753, 3740, 3751, 3744, 3741,
4045     3752, 3749,    0, 3742, 3749, 3751, 3754, 3755, 3752, 3753,
4046     3759, 3744, 3750, 3743, 3746, 3746, 3748, 3750, 3761, 3749,
4047     3762, 3756, 3753, 3764, 3751, 3758, 3758, 3752, 3749, 3755,
4048     3760, 3749, 3754, 3754, 3755, 3756, 3759, 3759, 3760, 3763,
4049     3766, 3765, 3767, 3764, 3761, 3761, 3762, 3762, 3756, 3765,
4050
4051     3764, 3768, 3758, 3769, 3770, 3771, 3776, 3760,    0, 3785,
4052        0, 3763, 3772, 3773, 3767, 3774, 3763, 3766, 3765, 3767,
4053     3772, 3777, 3779, 3774, 3770, 3771, 3768, 3783, 3768, 3777,
4054     3769, 3770, 3771, 3776, 3780, 3773, 3785, 3781, 3782, 3772,
4055     3773, 3788, 3774, 3786, 3779, 3781, 3782, 3787, 3777, 3779,
4056     3789, 3786, 3790, 3783, 3783, 3787, 3780, 3792, 3793, 3796,
4057     3794, 3780, 3802, 3800, 3781, 3782, 3799, 3788, 3788, 3803,
4058     3786, 3800, 3790,    0, 3787, 3801,    0, 3789,    0, 3790,
4059     3794, 3796,    0, 3801, 3792, 3793, 3796, 3794, 3799, 3802,
4060     3800,    0,    0, 3799,    0,    0, 3803,    0,    0,    0,
4061
4062        0,    0, 3801, 3807, 3807, 3807, 3807, 3807, 3807, 3807,
4063     3808, 3808, 3808, 3808, 3808, 3808, 3808, 3809, 3809, 3809,
4064     3809, 3809, 3809, 3809, 3810, 3810, 3810, 3810, 3810, 3810,
4065     3810, 3811, 3811, 3811, 3811, 3811, 3811, 3811, 3812, 3812,
4066     3812, 3812, 3812, 3812, 3812, 3813, 3813, 3813, 3813, 3813,
4067     3813, 3813, 3815, 3815,    0, 3815, 3815, 3815, 3815, 3816,
4068     3816,    0,    0,    0, 3816, 3816, 3817, 3817,    0,    0,
4069     3817,    0, 3817, 3818,    0,    0,    0,    0,    0, 3818,
4070     3819, 3819,    0,    0,    0, 3819, 3819, 3820,    0,    0,
4071        0,    0,    0, 3820, 3821, 3821,    0, 3821, 3821, 3821,
4072
4073     3821, 3822,    0,    0,    0,    0,    0, 3822, 3823, 3823,
4074        0,    0,    0, 3823, 3823, 3824, 3824,    0, 3824, 3824,
4075     3824, 3824, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
4076     3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
4077     3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
4078     3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
4079     3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
4080     3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806,
4081     3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806, 3806
4082    } ;
4083
4084static yy_state_type yy_last_accepting_state;
4085static char *yy_last_accepting_cpos;
4086
4087extern int yy_flex_debug;
4088int yy_flex_debug = 0;
4089
4090/* The intent behind this definition is that it'll catch
4091 * any uses of REJECT which flex missed.
4092 */
4093#define REJECT reject_used_but_not_detected
4094static int yy_more_flag = 0;
4095static int yy_more_len = 0;
4096#define yymore() ((yy_more_flag) = 1)
4097#define YY_MORE_ADJ (yy_more_len)
4098#define YY_RESTORE_YY_MORE_OFFSET
4099char *yytext;
4100#line 1 "util/configlexer.lex"
4101#line 2 "util/configlexer.lex"
4102/*
4103 * configlexer.lex - lexical analyzer for unbound config file
4104 *
4105 * Copyright (c) 2001-2006, NLnet Labs. All rights reserved
4106 *
4107 * See LICENSE for the license.
4108 *
4109 */
4110
4111/* because flex keeps having sign-unsigned compare problems that are unfixed*/
4112#if defined(__clang__)||(defined(__GNUC__)&&((__GNUC__ >4)||(defined(__GNUC_MINOR__)&&(__GNUC__ ==4)&&(__GNUC_MINOR__ >=2))))
4113#pragma GCC diagnostic ignored "-Wsign-compare"
4114#endif
4115
4116#include <ctype.h>
4117#include <strings.h>
4118#ifdef HAVE_GLOB_H
4119# include <glob.h>
4120#endif
4121
4122#include "util/config_file.h"
4123#include "util/configparser.h"
4124void ub_c_error(const char *message);
4125
4126#if 0
4127#define LEXOUT(s)  printf s /* used ONLY when debugging */
4128#else
4129#define LEXOUT(s)
4130#endif
4131
4132/** avoid warning in about fwrite return value */
4133#define ECHO ub_c_error_msg("syntax error at text: %s", yytext)
4134
4135/** A parser variable, this is a statement in the config file which is
4136 * of the form variable: value1 value2 ...  nargs is the number of values. */
4137#define YDVAR(nargs, var) \
4138	num_args=(nargs); \
4139	LEXOUT(("v(%s%d) ", yytext, num_args)); \
4140	if(num_args > 0) { BEGIN(val); } \
4141	return (var);
4142
4143struct inc_state {
4144	char* filename;
4145	int line;
4146	YY_BUFFER_STATE buffer;
4147	struct inc_state* next;
4148	int inc_toplevel;
4149};
4150static struct inc_state* config_include_stack = NULL;
4151static int inc_depth = 0;
4152static int inc_prev = 0;
4153static int num_args = 0;
4154static int inc_toplevel = 0;
4155
4156void init_cfg_parse(void)
4157{
4158	config_include_stack = NULL;
4159	inc_depth = 0;
4160	inc_prev = 0;
4161	num_args = 0;
4162	inc_toplevel = 0;
4163}
4164
4165static void config_start_include(const char* filename, int toplevel)
4166{
4167	FILE *input;
4168	struct inc_state* s;
4169	char* nm;
4170	if(inc_depth+1 > 100000) {
4171		ub_c_error_msg("too many include files");
4172		return;
4173	}
4174	if(*filename == '\0') {
4175		ub_c_error_msg("empty include file name");
4176		return;
4177	}
4178	s = (struct inc_state*)malloc(sizeof(*s));
4179	if(!s) {
4180		ub_c_error_msg("include %s: malloc failure", filename);
4181		return;
4182	}
4183	if(cfg_parser->chroot && strncmp(filename, cfg_parser->chroot,
4184		strlen(cfg_parser->chroot)) == 0) {
4185		filename += strlen(cfg_parser->chroot);
4186	}
4187	nm = strdup(filename);
4188	if(!nm) {
4189		ub_c_error_msg("include %s: strdup failure", filename);
4190		free(s);
4191		return;
4192	}
4193	input = fopen(filename, "r");
4194	if(!input) {
4195		ub_c_error_msg("cannot open include file '%s': %s",
4196			filename, strerror(errno));
4197		free(s);
4198		free(nm);
4199		return;
4200	}
4201	LEXOUT(("switch_to_include_file(%s)\n", filename));
4202	inc_depth++;
4203	s->filename = cfg_parser->filename;
4204	s->line = cfg_parser->line;
4205	s->buffer = YY_CURRENT_BUFFER;
4206	s->inc_toplevel = inc_toplevel;
4207	s->next = config_include_stack;
4208	config_include_stack = s;
4209	cfg_parser->filename = nm;
4210	cfg_parser->line = 1;
4211	inc_toplevel = toplevel;
4212	yy_switch_to_buffer(yy_create_buffer(input, YY_BUF_SIZE));
4213}
4214
4215static void config_start_include_glob(const char* filename, int toplevel)
4216{
4217
4218	/* check for wildcards */
4219#ifdef HAVE_GLOB
4220	glob_t g;
4221	int i, r, flags;
4222	if(!(!strchr(filename, '*') && !strchr(filename, '?') && !strchr(filename, '[') &&
4223		!strchr(filename, '{') && !strchr(filename, '~'))) {
4224		flags = 0
4225#ifdef GLOB_ERR
4226			| GLOB_ERR
4227#endif
4228			 /* do not set GLOB_NOSORT so the results are sorted
4229			    and in a predictable order. */
4230#ifdef GLOB_BRACE
4231			| GLOB_BRACE
4232#endif
4233#ifdef GLOB_TILDE
4234			| GLOB_TILDE
4235#endif
4236		;
4237		memset(&g, 0, sizeof(g));
4238		if(cfg_parser->chroot && strncmp(filename, cfg_parser->chroot,
4239			strlen(cfg_parser->chroot)) == 0) {
4240			filename += strlen(cfg_parser->chroot);
4241		}
4242		r = glob(filename, flags, NULL, &g);
4243		if(r) {
4244			/* some error */
4245			globfree(&g);
4246			if(r == GLOB_NOMATCH)
4247				return; /* no matches for pattern */
4248			config_start_include(filename, toplevel); /* let original deal with it */
4249			return;
4250		}
4251		/* process files found, if any */
4252		for(i=(int)g.gl_pathc-1; i>=0; i--) {
4253			config_start_include(g.gl_pathv[i], toplevel);
4254		}
4255		globfree(&g);
4256		return;
4257	}
4258#endif /* HAVE_GLOB */
4259
4260	config_start_include(filename, toplevel);
4261}
4262
4263static void config_end_include(void)
4264{
4265	struct inc_state* s = config_include_stack;
4266	--inc_depth;
4267	if(!s) return;
4268	free(cfg_parser->filename);
4269	cfg_parser->filename = s->filename;
4270	cfg_parser->line = s->line;
4271	yy_delete_buffer(YY_CURRENT_BUFFER);
4272	yy_switch_to_buffer(s->buffer);
4273	config_include_stack = s->next;
4274	inc_toplevel = s->inc_toplevel;
4275	free(s);
4276}
4277
4278#ifndef yy_set_bol /* compat definition, for flex 2.4.6 */
4279#define yy_set_bol(at_bol) \
4280        { \
4281	        if ( ! yy_current_buffer ) \
4282	                yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
4283	        yy_current_buffer->yy_ch_buf[0] = ((at_bol)?'\n':' '); \
4284        }
4285#endif
4286
4287#line 4285 "<stdout>"
4288#define YY_NO_INPUT 1
4289#line 191 "util/configlexer.lex"
4290#ifndef YY_NO_UNPUT
4291#define YY_NO_UNPUT 1
4292#endif
4293#ifndef YY_NO_INPUT
4294#define YY_NO_INPUT 1
4295#endif
4296#line 4294 "<stdout>"
4297
4298#line 4296 "<stdout>"
4299
4300#define INITIAL 0
4301#define quotedstring 1
4302#define singlequotedstr 2
4303#define include 3
4304#define include_quoted 4
4305#define val 5
4306#define include_toplevel 6
4307#define include_toplevel_quoted 7
4308
4309#ifndef YY_NO_UNISTD_H
4310/* Special case for "unistd.h", since it is non-ANSI. We include it way
4311 * down here because we want the user's section 1 to have been scanned first.
4312 * The user has a chance to override it with an option.
4313 */
4314#include <unistd.h>
4315#endif
4316
4317#ifndef YY_EXTRA_TYPE
4318#define YY_EXTRA_TYPE void *
4319#endif
4320
4321static int yy_init_globals ( void );
4322
4323/* Accessor methods to globals.
4324   These are made visible to non-reentrant scanners for convenience. */
4325
4326int yylex_destroy ( void );
4327
4328int yyget_debug ( void );
4329
4330void yyset_debug ( int debug_flag  );
4331
4332YY_EXTRA_TYPE yyget_extra ( void );
4333
4334void yyset_extra ( YY_EXTRA_TYPE user_defined  );
4335
4336FILE *yyget_in ( void );
4337
4338void yyset_in  ( FILE * _in_str  );
4339
4340FILE *yyget_out ( void );
4341
4342void yyset_out  ( FILE * _out_str  );
4343
4344			int yyget_leng ( void );
4345
4346char *yyget_text ( void );
4347
4348int yyget_lineno ( void );
4349
4350void yyset_lineno ( int _line_number  );
4351
4352/* Macros after this point can all be overridden by user definitions in
4353 * section 1.
4354 */
4355
4356#ifndef YY_SKIP_YYWRAP
4357#ifdef __cplusplus
4358extern "C" int yywrap ( void );
4359#else
4360extern int yywrap ( void );
4361#endif
4362#endif
4363
4364#ifndef YY_NO_UNPUT
4365
4366#endif
4367
4368#ifndef yytext_ptr
4369static void yy_flex_strncpy ( char *, const char *, int );
4370#endif
4371
4372#ifdef YY_NEED_STRLEN
4373static int yy_flex_strlen ( const char * );
4374#endif
4375
4376#ifndef YY_NO_INPUT
4377#ifdef __cplusplus
4378static int yyinput ( void );
4379#else
4380static int input ( void );
4381#endif
4382
4383#endif
4384
4385/* Amount of stuff to slurp up with each read. */
4386#ifndef YY_READ_BUF_SIZE
4387#ifdef __ia64__
4388/* On IA-64, the buffer size is 16k, not 8k */
4389#define YY_READ_BUF_SIZE 16384
4390#else
4391#define YY_READ_BUF_SIZE 8192
4392#endif /* __ia64__ */
4393#endif
4394
4395/* Copy whatever the last rule matched to the standard output. */
4396#ifndef ECHO
4397/* This used to be an fputs(), but since the string might contain NUL's,
4398 * we now use fwrite().
4399 */
4400#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
4401#endif
4402
4403/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
4404 * is returned in "result".
4405 */
4406#ifndef YY_INPUT
4407#define YY_INPUT(buf,result,max_size) \
4408	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
4409		{ \
4410		int c = '*'; \
4411		int n; \
4412		for ( n = 0; n < max_size && \
4413			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
4414			buf[n] = (char) c; \
4415		if ( c == '\n' ) \
4416			buf[n++] = (char) c; \
4417		if ( c == EOF && ferror( yyin ) ) \
4418			YY_FATAL_ERROR( "input in flex scanner failed" ); \
4419		result = n; \
4420		} \
4421	else \
4422		{ \
4423		errno=0; \
4424		while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
4425			{ \
4426			if( errno != EINTR) \
4427				{ \
4428				YY_FATAL_ERROR( "input in flex scanner failed" ); \
4429				break; \
4430				} \
4431			errno=0; \
4432			clearerr(yyin); \
4433			} \
4434		}\
4435\
4436
4437#endif
4438
4439/* No semi-colon after return; correct usage is to write "yyterminate();" -
4440 * we don't want an extra ';' after the "return" because that will cause
4441 * some compilers to complain about unreachable statements.
4442 */
4443#ifndef yyterminate
4444#define yyterminate() return YY_NULL
4445#endif
4446
4447/* Number of entries by which start-condition stack grows. */
4448#ifndef YY_START_STACK_INCR
4449#define YY_START_STACK_INCR 25
4450#endif
4451
4452/* Report a fatal error. */
4453#ifndef YY_FATAL_ERROR
4454#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
4455#endif
4456
4457/* end tables serialization structures and prototypes */
4458
4459/* Default declaration of generated scanner - a define so the user can
4460 * easily add parameters.
4461 */
4462#ifndef YY_DECL
4463#define YY_DECL_IS_OURS 1
4464
4465extern int yylex (void);
4466
4467#define YY_DECL int yylex (void)
4468#endif /* !YY_DECL */
4469
4470/* Code executed at the beginning of each rule, after yytext and yyleng
4471 * have been set up.
4472 */
4473#ifndef YY_USER_ACTION
4474#define YY_USER_ACTION
4475#endif
4476
4477/* Code executed at the end of each rule. */
4478#ifndef YY_BREAK
4479#define YY_BREAK /*LINTED*/break;
4480#endif
4481
4482#define YY_RULE_SETUP \
4483	YY_USER_ACTION
4484
4485/** The main scanner function which does all the work.
4486 */
4487YY_DECL
4488{
4489	yy_state_type yy_current_state;
4490	char *yy_cp, *yy_bp;
4491	int yy_act;
4492
4493	if ( !(yy_init) )
4494		{
4495		(yy_init) = 1;
4496
4497#ifdef YY_USER_INIT
4498		YY_USER_INIT;
4499#endif
4500
4501		if ( ! (yy_start) )
4502			(yy_start) = 1;	/* first start state */
4503
4504		if ( ! yyin )
4505			yyin = stdin;
4506
4507		if ( ! yyout )
4508			yyout = stdout;
4509
4510		if ( ! YY_CURRENT_BUFFER ) {
4511			yyensure_buffer_stack ();
4512			YY_CURRENT_BUFFER_LVALUE =
4513				yy_create_buffer( yyin, YY_BUF_SIZE );
4514		}
4515
4516		yy_load_buffer_state(  );
4517		}
4518
4519	{
4520#line 211 "util/configlexer.lex"
4521
4522#line 4520 "<stdout>"
4523
4524	while ( /*CONSTCOND*/1 )		/* loops until end-of-file is reached */
4525		{
4526		(yy_more_len) = 0;
4527		if ( (yy_more_flag) )
4528			{
4529			(yy_more_len) = (int) ((yy_c_buf_p) - (yytext_ptr));
4530			(yy_more_flag) = 0;
4531			}
4532		yy_cp = (yy_c_buf_p);
4533
4534		/* Support of yytext. */
4535		*yy_cp = (yy_hold_char);
4536
4537		/* yy_bp points to the position in yy_ch_buf of the start of
4538		 * the current run.
4539		 */
4540		yy_bp = yy_cp;
4541
4542		yy_current_state = (yy_start);
4543yy_match:
4544		do
4545			{
4546			YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
4547			if ( yy_accept[yy_current_state] )
4548				{
4549				(yy_last_accepting_state) = yy_current_state;
4550				(yy_last_accepting_cpos) = yy_cp;
4551				}
4552			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4553				{
4554				yy_current_state = (int) yy_def[yy_current_state];
4555				if ( yy_current_state >= 3807 )
4556					yy_c = yy_meta[yy_c];
4557				}
4558			yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4559			++yy_cp;
4560			}
4561		while ( yy_base[yy_current_state] != 10823 );
4562
4563yy_find_action:
4564		yy_act = yy_accept[yy_current_state];
4565		if ( yy_act == 0 )
4566			{ /* have to back up */
4567			yy_cp = (yy_last_accepting_cpos);
4568			yy_current_state = (yy_last_accepting_state);
4569			yy_act = yy_accept[yy_current_state];
4570			}
4571
4572		YY_DO_BEFORE_ACTION;
4573
4574do_action:	/* This label is used only to access EOF actions. */
4575
4576		switch ( yy_act )
4577	{ /* beginning of action switch */
4578			case 0: /* must back up */
4579			/* undo the effects of YY_DO_BEFORE_ACTION */
4580			*yy_cp = (yy_hold_char);
4581			yy_cp = (yy_last_accepting_cpos);
4582			yy_current_state = (yy_last_accepting_state);
4583			goto yy_find_action;
4584
4585case 1:
4586YY_RULE_SETUP
4587#line 212 "util/configlexer.lex"
4588{
4589	LEXOUT(("SP ")); /* ignore */ }
4590	YY_BREAK
4591case 2:
4592YY_RULE_SETUP
4593#line 214 "util/configlexer.lex"
4594{
4595	/* note that flex makes the longest match and '.' is any but not nl */
4596	LEXOUT(("comment(%s) ", yytext)); /* ignore */ }
4597	YY_BREAK
4598case 3:
4599YY_RULE_SETUP
4600#line 217 "util/configlexer.lex"
4601{ YDVAR(0, VAR_SERVER) }
4602	YY_BREAK
4603case 4:
4604YY_RULE_SETUP
4605#line 218 "util/configlexer.lex"
4606{ YDVAR(1, VAR_QNAME_MINIMISATION) }
4607	YY_BREAK
4608case 5:
4609YY_RULE_SETUP
4610#line 219 "util/configlexer.lex"
4611{ YDVAR(1, VAR_QNAME_MINIMISATION_STRICT) }
4612	YY_BREAK
4613case 6:
4614YY_RULE_SETUP
4615#line 220 "util/configlexer.lex"
4616{ YDVAR(1, VAR_NUM_THREADS) }
4617	YY_BREAK
4618case 7:
4619YY_RULE_SETUP
4620#line 221 "util/configlexer.lex"
4621{ YDVAR(1, VAR_VERBOSITY) }
4622	YY_BREAK
4623case 8:
4624YY_RULE_SETUP
4625#line 222 "util/configlexer.lex"
4626{ YDVAR(1, VAR_PORT) }
4627	YY_BREAK
4628case 9:
4629YY_RULE_SETUP
4630#line 223 "util/configlexer.lex"
4631{ YDVAR(1, VAR_OUTGOING_RANGE) }
4632	YY_BREAK
4633case 10:
4634YY_RULE_SETUP
4635#line 224 "util/configlexer.lex"
4636{ YDVAR(1, VAR_OUTGOING_PORT_PERMIT) }
4637	YY_BREAK
4638case 11:
4639YY_RULE_SETUP
4640#line 225 "util/configlexer.lex"
4641{ YDVAR(1, VAR_OUTGOING_PORT_AVOID) }
4642	YY_BREAK
4643case 12:
4644YY_RULE_SETUP
4645#line 226 "util/configlexer.lex"
4646{ YDVAR(1, VAR_OUTGOING_NUM_TCP) }
4647	YY_BREAK
4648case 13:
4649YY_RULE_SETUP
4650#line 227 "util/configlexer.lex"
4651{ YDVAR(1, VAR_INCOMING_NUM_TCP) }
4652	YY_BREAK
4653case 14:
4654YY_RULE_SETUP
4655#line 228 "util/configlexer.lex"
4656{ YDVAR(1, VAR_DO_IP4) }
4657	YY_BREAK
4658case 15:
4659YY_RULE_SETUP
4660#line 229 "util/configlexer.lex"
4661{ YDVAR(1, VAR_DO_IP6) }
4662	YY_BREAK
4663case 16:
4664YY_RULE_SETUP
4665#line 230 "util/configlexer.lex"
4666{ YDVAR(1, VAR_DO_NAT64) }
4667	YY_BREAK
4668case 17:
4669YY_RULE_SETUP
4670#line 231 "util/configlexer.lex"
4671{ YDVAR(1, VAR_PREFER_IP4) }
4672	YY_BREAK
4673case 18:
4674YY_RULE_SETUP
4675#line 232 "util/configlexer.lex"
4676{ YDVAR(1, VAR_PREFER_IP6) }
4677	YY_BREAK
4678case 19:
4679YY_RULE_SETUP
4680#line 233 "util/configlexer.lex"
4681{ YDVAR(1, VAR_DO_UDP) }
4682	YY_BREAK
4683case 20:
4684YY_RULE_SETUP
4685#line 234 "util/configlexer.lex"
4686{ YDVAR(1, VAR_DO_TCP) }
4687	YY_BREAK
4688case 21:
4689YY_RULE_SETUP
4690#line 235 "util/configlexer.lex"
4691{ YDVAR(1, VAR_TCP_UPSTREAM) }
4692	YY_BREAK
4693case 22:
4694YY_RULE_SETUP
4695#line 236 "util/configlexer.lex"
4696{ YDVAR(1, VAR_TCP_MSS) }
4697	YY_BREAK
4698case 23:
4699YY_RULE_SETUP
4700#line 237 "util/configlexer.lex"
4701{ YDVAR(1, VAR_OUTGOING_TCP_MSS) }
4702	YY_BREAK
4703case 24:
4704YY_RULE_SETUP
4705#line 238 "util/configlexer.lex"
4706{ YDVAR(1, VAR_TCP_IDLE_TIMEOUT) }
4707	YY_BREAK
4708case 25:
4709YY_RULE_SETUP
4710#line 239 "util/configlexer.lex"
4711{ YDVAR(1, VAR_MAX_REUSE_TCP_QUERIES) }
4712	YY_BREAK
4713case 26:
4714YY_RULE_SETUP
4715#line 240 "util/configlexer.lex"
4716{ YDVAR(1, VAR_TCP_REUSE_TIMEOUT) }
4717	YY_BREAK
4718case 27:
4719YY_RULE_SETUP
4720#line 241 "util/configlexer.lex"
4721{ YDVAR(1, VAR_TCP_AUTH_QUERY_TIMEOUT) }
4722	YY_BREAK
4723case 28:
4724YY_RULE_SETUP
4725#line 242 "util/configlexer.lex"
4726{ YDVAR(1, VAR_EDNS_TCP_KEEPALIVE) }
4727	YY_BREAK
4728case 29:
4729YY_RULE_SETUP
4730#line 243 "util/configlexer.lex"
4731{ YDVAR(1, VAR_EDNS_TCP_KEEPALIVE_TIMEOUT) }
4732	YY_BREAK
4733case 30:
4734YY_RULE_SETUP
4735#line 244 "util/configlexer.lex"
4736{ YDVAR(1, VAR_SOCK_QUEUE_TIMEOUT) }
4737	YY_BREAK
4738case 31:
4739YY_RULE_SETUP
4740#line 245 "util/configlexer.lex"
4741{ YDVAR(1, VAR_SSL_UPSTREAM) }
4742	YY_BREAK
4743case 32:
4744YY_RULE_SETUP
4745#line 246 "util/configlexer.lex"
4746{ YDVAR(1, VAR_SSL_UPSTREAM) }
4747	YY_BREAK
4748case 33:
4749YY_RULE_SETUP
4750#line 247 "util/configlexer.lex"
4751{ YDVAR(1, VAR_SSL_SERVICE_KEY) }
4752	YY_BREAK
4753case 34:
4754YY_RULE_SETUP
4755#line 248 "util/configlexer.lex"
4756{ YDVAR(1, VAR_SSL_SERVICE_KEY) }
4757	YY_BREAK
4758case 35:
4759YY_RULE_SETUP
4760#line 249 "util/configlexer.lex"
4761{ YDVAR(1, VAR_SSL_SERVICE_PEM) }
4762	YY_BREAK
4763case 36:
4764YY_RULE_SETUP
4765#line 250 "util/configlexer.lex"
4766{ YDVAR(1, VAR_SSL_SERVICE_PEM) }
4767	YY_BREAK
4768case 37:
4769YY_RULE_SETUP
4770#line 251 "util/configlexer.lex"
4771{ YDVAR(1, VAR_SSL_PORT) }
4772	YY_BREAK
4773case 38:
4774YY_RULE_SETUP
4775#line 252 "util/configlexer.lex"
4776{ YDVAR(1, VAR_SSL_PORT) }
4777	YY_BREAK
4778case 39:
4779YY_RULE_SETUP
4780#line 253 "util/configlexer.lex"
4781{ YDVAR(1, VAR_TLS_CERT_BUNDLE) }
4782	YY_BREAK
4783case 40:
4784YY_RULE_SETUP
4785#line 254 "util/configlexer.lex"
4786{ YDVAR(1, VAR_TLS_CERT_BUNDLE) }
4787	YY_BREAK
4788case 41:
4789YY_RULE_SETUP
4790#line 255 "util/configlexer.lex"
4791{ YDVAR(1, VAR_TLS_WIN_CERT) }
4792	YY_BREAK
4793case 42:
4794YY_RULE_SETUP
4795#line 256 "util/configlexer.lex"
4796{ YDVAR(1, VAR_TLS_WIN_CERT) }
4797	YY_BREAK
4798case 43:
4799YY_RULE_SETUP
4800#line 257 "util/configlexer.lex"
4801{ YDVAR(1, VAR_TLS_ADDITIONAL_PORT) }
4802	YY_BREAK
4803case 44:
4804YY_RULE_SETUP
4805#line 258 "util/configlexer.lex"
4806{ YDVAR(1, VAR_TLS_ADDITIONAL_PORT) }
4807	YY_BREAK
4808case 45:
4809YY_RULE_SETUP
4810#line 259 "util/configlexer.lex"
4811{ YDVAR(1, VAR_TLS_ADDITIONAL_PORT) }
4812	YY_BREAK
4813case 46:
4814YY_RULE_SETUP
4815#line 260 "util/configlexer.lex"
4816{ YDVAR(1, VAR_TLS_ADDITIONAL_PORT) }
4817	YY_BREAK
4818case 47:
4819YY_RULE_SETUP
4820#line 261 "util/configlexer.lex"
4821{ YDVAR(1, VAR_TLS_SESSION_TICKET_KEYS) }
4822	YY_BREAK
4823case 48:
4824YY_RULE_SETUP
4825#line 262 "util/configlexer.lex"
4826{ YDVAR(1, VAR_TLS_CIPHERS) }
4827	YY_BREAK
4828case 49:
4829YY_RULE_SETUP
4830#line 263 "util/configlexer.lex"
4831{ YDVAR(1, VAR_TLS_CIPHERSUITES) }
4832	YY_BREAK
4833case 50:
4834YY_RULE_SETUP
4835#line 264 "util/configlexer.lex"
4836{ YDVAR(1, VAR_TLS_USE_SNI) }
4837	YY_BREAK
4838case 51:
4839YY_RULE_SETUP
4840#line 265 "util/configlexer.lex"
4841{ YDVAR(1, VAR_HTTPS_PORT) }
4842	YY_BREAK
4843case 52:
4844YY_RULE_SETUP
4845#line 266 "util/configlexer.lex"
4846{ YDVAR(1, VAR_HTTP_ENDPOINT) }
4847	YY_BREAK
4848case 53:
4849YY_RULE_SETUP
4850#line 267 "util/configlexer.lex"
4851{ YDVAR(1, VAR_HTTP_MAX_STREAMS) }
4852	YY_BREAK
4853case 54:
4854YY_RULE_SETUP
4855#line 268 "util/configlexer.lex"
4856{ YDVAR(1, VAR_HTTP_QUERY_BUFFER_SIZE) }
4857	YY_BREAK
4858case 55:
4859YY_RULE_SETUP
4860#line 269 "util/configlexer.lex"
4861{ YDVAR(1, VAR_HTTP_RESPONSE_BUFFER_SIZE) }
4862	YY_BREAK
4863case 56:
4864YY_RULE_SETUP
4865#line 270 "util/configlexer.lex"
4866{ YDVAR(1, VAR_HTTP_NODELAY) }
4867	YY_BREAK
4868case 57:
4869YY_RULE_SETUP
4870#line 271 "util/configlexer.lex"
4871{ YDVAR(1, VAR_HTTP_NOTLS_DOWNSTREAM) }
4872	YY_BREAK
4873case 58:
4874YY_RULE_SETUP
4875#line 272 "util/configlexer.lex"
4876{ YDVAR(1, VAR_USE_SYSTEMD) }
4877	YY_BREAK
4878case 59:
4879YY_RULE_SETUP
4880#line 273 "util/configlexer.lex"
4881{ YDVAR(1, VAR_DO_DAEMONIZE) }
4882	YY_BREAK
4883case 60:
4884YY_RULE_SETUP
4885#line 274 "util/configlexer.lex"
4886{ YDVAR(1, VAR_INTERFACE) }
4887	YY_BREAK
4888case 61:
4889YY_RULE_SETUP
4890#line 275 "util/configlexer.lex"
4891{ YDVAR(1, VAR_INTERFACE) }
4892	YY_BREAK
4893case 62:
4894YY_RULE_SETUP
4895#line 276 "util/configlexer.lex"
4896{ YDVAR(1, VAR_OUTGOING_INTERFACE) }
4897	YY_BREAK
4898case 63:
4899YY_RULE_SETUP
4900#line 277 "util/configlexer.lex"
4901{ YDVAR(1, VAR_INTERFACE_AUTOMATIC) }
4902	YY_BREAK
4903case 64:
4904YY_RULE_SETUP
4905#line 278 "util/configlexer.lex"
4906{ YDVAR(1, VAR_INTERFACE_AUTOMATIC_PORTS) }
4907	YY_BREAK
4908case 65:
4909YY_RULE_SETUP
4910#line 279 "util/configlexer.lex"
4911{ YDVAR(1, VAR_SO_RCVBUF) }
4912	YY_BREAK
4913case 66:
4914YY_RULE_SETUP
4915#line 280 "util/configlexer.lex"
4916{ YDVAR(1, VAR_SO_SNDBUF) }
4917	YY_BREAK
4918case 67:
4919YY_RULE_SETUP
4920#line 281 "util/configlexer.lex"
4921{ YDVAR(1, VAR_SO_REUSEPORT) }
4922	YY_BREAK
4923case 68:
4924YY_RULE_SETUP
4925#line 282 "util/configlexer.lex"
4926{ YDVAR(1, VAR_IP_TRANSPARENT) }
4927	YY_BREAK
4928case 69:
4929YY_RULE_SETUP
4930#line 283 "util/configlexer.lex"
4931{ YDVAR(1, VAR_IP_FREEBIND) }
4932	YY_BREAK
4933case 70:
4934YY_RULE_SETUP
4935#line 284 "util/configlexer.lex"
4936{ YDVAR(1, VAR_IP_DSCP) }
4937	YY_BREAK
4938case 71:
4939YY_RULE_SETUP
4940#line 285 "util/configlexer.lex"
4941{ YDVAR(1, VAR_CHROOT) }
4942	YY_BREAK
4943case 72:
4944YY_RULE_SETUP
4945#line 286 "util/configlexer.lex"
4946{ YDVAR(1, VAR_USERNAME) }
4947	YY_BREAK
4948case 73:
4949YY_RULE_SETUP
4950#line 287 "util/configlexer.lex"
4951{ YDVAR(1, VAR_DIRECTORY) }
4952	YY_BREAK
4953case 74:
4954YY_RULE_SETUP
4955#line 288 "util/configlexer.lex"
4956{ YDVAR(1, VAR_LOGFILE) }
4957	YY_BREAK
4958case 75:
4959YY_RULE_SETUP
4960#line 289 "util/configlexer.lex"
4961{ YDVAR(1, VAR_PIDFILE) }
4962	YY_BREAK
4963case 76:
4964YY_RULE_SETUP
4965#line 290 "util/configlexer.lex"
4966{ YDVAR(1, VAR_ROOT_HINTS) }
4967	YY_BREAK
4968case 77:
4969YY_RULE_SETUP
4970#line 291 "util/configlexer.lex"
4971{ YDVAR(1, VAR_STREAM_WAIT_SIZE) }
4972	YY_BREAK
4973case 78:
4974YY_RULE_SETUP
4975#line 292 "util/configlexer.lex"
4976{ YDVAR(1, VAR_EDNS_BUFFER_SIZE) }
4977	YY_BREAK
4978case 79:
4979YY_RULE_SETUP
4980#line 293 "util/configlexer.lex"
4981{ YDVAR(1, VAR_MSG_BUFFER_SIZE) }
4982	YY_BREAK
4983case 80:
4984YY_RULE_SETUP
4985#line 294 "util/configlexer.lex"
4986{ YDVAR(1, VAR_MSG_CACHE_SIZE) }
4987	YY_BREAK
4988case 81:
4989YY_RULE_SETUP
4990#line 295 "util/configlexer.lex"
4991{ YDVAR(1, VAR_MSG_CACHE_SLABS) }
4992	YY_BREAK
4993case 82:
4994YY_RULE_SETUP
4995#line 296 "util/configlexer.lex"
4996{ YDVAR(1, VAR_RRSET_CACHE_SIZE) }
4997	YY_BREAK
4998case 83:
4999YY_RULE_SETUP
5000#line 297 "util/configlexer.lex"
5001{ YDVAR(1, VAR_RRSET_CACHE_SLABS) }
5002	YY_BREAK
5003case 84:
5004YY_RULE_SETUP
5005#line 298 "util/configlexer.lex"
5006{ YDVAR(1, VAR_CACHE_MAX_TTL) }
5007	YY_BREAK
5008case 85:
5009YY_RULE_SETUP
5010#line 299 "util/configlexer.lex"
5011{ YDVAR(1, VAR_CACHE_MAX_NEGATIVE_TTL) }
5012	YY_BREAK
5013case 86:
5014YY_RULE_SETUP
5015#line 300 "util/configlexer.lex"
5016{ YDVAR(1, VAR_CACHE_MIN_TTL) }
5017	YY_BREAK
5018case 87:
5019YY_RULE_SETUP
5020#line 301 "util/configlexer.lex"
5021{ YDVAR(1, VAR_INFRA_HOST_TTL) }
5022	YY_BREAK
5023case 88:
5024YY_RULE_SETUP
5025#line 302 "util/configlexer.lex"
5026{ YDVAR(1, VAR_INFRA_LAME_TTL) }
5027	YY_BREAK
5028case 89:
5029YY_RULE_SETUP
5030#line 303 "util/configlexer.lex"
5031{ YDVAR(1, VAR_INFRA_CACHE_SLABS) }
5032	YY_BREAK
5033case 90:
5034YY_RULE_SETUP
5035#line 304 "util/configlexer.lex"
5036{ YDVAR(1, VAR_INFRA_CACHE_NUMHOSTS) }
5037	YY_BREAK
5038case 91:
5039YY_RULE_SETUP
5040#line 305 "util/configlexer.lex"
5041{ YDVAR(1, VAR_INFRA_CACHE_LAME_SIZE) }
5042	YY_BREAK
5043case 92:
5044YY_RULE_SETUP
5045#line 306 "util/configlexer.lex"
5046{ YDVAR(1, VAR_INFRA_CACHE_MIN_RTT) }
5047	YY_BREAK
5048case 93:
5049YY_RULE_SETUP
5050#line 307 "util/configlexer.lex"
5051{ YDVAR(1, VAR_INFRA_CACHE_MAX_RTT) }
5052	YY_BREAK
5053case 94:
5054YY_RULE_SETUP
5055#line 308 "util/configlexer.lex"
5056{ YDVAR(1, VAR_INFRA_KEEP_PROBING) }
5057	YY_BREAK
5058case 95:
5059YY_RULE_SETUP
5060#line 309 "util/configlexer.lex"
5061{ YDVAR(1, VAR_NUM_QUERIES_PER_THREAD) }
5062	YY_BREAK
5063case 96:
5064YY_RULE_SETUP
5065#line 310 "util/configlexer.lex"
5066{ YDVAR(1, VAR_JOSTLE_TIMEOUT) }
5067	YY_BREAK
5068case 97:
5069YY_RULE_SETUP
5070#line 311 "util/configlexer.lex"
5071{ YDVAR(1, VAR_DELAY_CLOSE) }
5072	YY_BREAK
5073case 98:
5074YY_RULE_SETUP
5075#line 312 "util/configlexer.lex"
5076{ YDVAR(1, VAR_UDP_CONNECT) }
5077	YY_BREAK
5078case 99:
5079YY_RULE_SETUP
5080#line 313 "util/configlexer.lex"
5081{ YDVAR(1, VAR_TARGET_FETCH_POLICY) }
5082	YY_BREAK
5083case 100:
5084YY_RULE_SETUP
5085#line 314 "util/configlexer.lex"
5086{ YDVAR(1, VAR_HARDEN_SHORT_BUFSIZE) }
5087	YY_BREAK
5088case 101:
5089YY_RULE_SETUP
5090#line 315 "util/configlexer.lex"
5091{ YDVAR(1, VAR_HARDEN_LARGE_QUERIES) }
5092	YY_BREAK
5093case 102:
5094YY_RULE_SETUP
5095#line 316 "util/configlexer.lex"
5096{ YDVAR(1, VAR_HARDEN_GLUE) }
5097	YY_BREAK
5098case 103:
5099YY_RULE_SETUP
5100#line 317 "util/configlexer.lex"
5101{ YDVAR(1, VAR_HARDEN_DNSSEC_STRIPPED) }
5102	YY_BREAK
5103case 104:
5104YY_RULE_SETUP
5105#line 318 "util/configlexer.lex"
5106{ YDVAR(1, VAR_HARDEN_BELOW_NXDOMAIN) }
5107	YY_BREAK
5108case 105:
5109YY_RULE_SETUP
5110#line 319 "util/configlexer.lex"
5111{ YDVAR(1, VAR_HARDEN_REFERRAL_PATH) }
5112	YY_BREAK
5113case 106:
5114YY_RULE_SETUP
5115#line 320 "util/configlexer.lex"
5116{ YDVAR(1, VAR_HARDEN_ALGO_DOWNGRADE) }
5117	YY_BREAK
5118case 107:
5119YY_RULE_SETUP
5120#line 321 "util/configlexer.lex"
5121{ YDVAR(1, VAR_HARDEN_UNKNOWN_ADDITIONAL) }
5122	YY_BREAK
5123case 108:
5124YY_RULE_SETUP
5125#line 322 "util/configlexer.lex"
5126{ YDVAR(1, VAR_USE_CAPS_FOR_ID) }
5127	YY_BREAK
5128case 109:
5129YY_RULE_SETUP
5130#line 323 "util/configlexer.lex"
5131{ YDVAR(1, VAR_CAPS_WHITELIST) }
5132	YY_BREAK
5133case 110:
5134YY_RULE_SETUP
5135#line 324 "util/configlexer.lex"
5136{ YDVAR(1, VAR_CAPS_WHITELIST) }
5137	YY_BREAK
5138case 111:
5139YY_RULE_SETUP
5140#line 325 "util/configlexer.lex"
5141{ YDVAR(1, VAR_UNWANTED_REPLY_THRESHOLD) }
5142	YY_BREAK
5143case 112:
5144YY_RULE_SETUP
5145#line 326 "util/configlexer.lex"
5146{ YDVAR(1, VAR_PRIVATE_ADDRESS) }
5147	YY_BREAK
5148case 113:
5149YY_RULE_SETUP
5150#line 327 "util/configlexer.lex"
5151{ YDVAR(1, VAR_PRIVATE_DOMAIN) }
5152	YY_BREAK
5153case 114:
5154YY_RULE_SETUP
5155#line 328 "util/configlexer.lex"
5156{ YDVAR(1, VAR_PREFETCH_KEY) }
5157	YY_BREAK
5158case 115:
5159YY_RULE_SETUP
5160#line 329 "util/configlexer.lex"
5161{ YDVAR(1, VAR_PREFETCH) }
5162	YY_BREAK
5163case 116:
5164YY_RULE_SETUP
5165#line 330 "util/configlexer.lex"
5166{ YDVAR(1, VAR_DENY_ANY) }
5167	YY_BREAK
5168case 117:
5169YY_RULE_SETUP
5170#line 331 "util/configlexer.lex"
5171{ YDVAR(0, VAR_STUB_ZONE) }
5172	YY_BREAK
5173case 118:
5174YY_RULE_SETUP
5175#line 332 "util/configlexer.lex"
5176{ YDVAR(1, VAR_NAME) }
5177	YY_BREAK
5178case 119:
5179YY_RULE_SETUP
5180#line 333 "util/configlexer.lex"
5181{ YDVAR(1, VAR_STUB_ADDR) }
5182	YY_BREAK
5183case 120:
5184YY_RULE_SETUP
5185#line 334 "util/configlexer.lex"
5186{ YDVAR(1, VAR_STUB_HOST) }
5187	YY_BREAK
5188case 121:
5189YY_RULE_SETUP
5190#line 335 "util/configlexer.lex"
5191{ YDVAR(1, VAR_STUB_PRIME) }
5192	YY_BREAK
5193case 122:
5194YY_RULE_SETUP
5195#line 336 "util/configlexer.lex"
5196{ YDVAR(1, VAR_STUB_FIRST) }
5197	YY_BREAK
5198case 123:
5199YY_RULE_SETUP
5200#line 337 "util/configlexer.lex"
5201{ YDVAR(1, VAR_STUB_NO_CACHE) }
5202	YY_BREAK
5203case 124:
5204YY_RULE_SETUP
5205#line 338 "util/configlexer.lex"
5206{ YDVAR(1, VAR_STUB_SSL_UPSTREAM) }
5207	YY_BREAK
5208case 125:
5209YY_RULE_SETUP
5210#line 339 "util/configlexer.lex"
5211{ YDVAR(1, VAR_STUB_SSL_UPSTREAM) }
5212	YY_BREAK
5213case 126:
5214YY_RULE_SETUP
5215#line 340 "util/configlexer.lex"
5216{ YDVAR(1, VAR_STUB_TCP_UPSTREAM) }
5217	YY_BREAK
5218case 127:
5219YY_RULE_SETUP
5220#line 341 "util/configlexer.lex"
5221{ YDVAR(0, VAR_FORWARD_ZONE) }
5222	YY_BREAK
5223case 128:
5224YY_RULE_SETUP
5225#line 342 "util/configlexer.lex"
5226{ YDVAR(1, VAR_FORWARD_ADDR) }
5227	YY_BREAK
5228case 129:
5229YY_RULE_SETUP
5230#line 343 "util/configlexer.lex"
5231{ YDVAR(1, VAR_FORWARD_HOST) }
5232	YY_BREAK
5233case 130:
5234YY_RULE_SETUP
5235#line 344 "util/configlexer.lex"
5236{ YDVAR(1, VAR_FORWARD_FIRST) }
5237	YY_BREAK
5238case 131:
5239YY_RULE_SETUP
5240#line 345 "util/configlexer.lex"
5241{ YDVAR(1, VAR_FORWARD_NO_CACHE) }
5242	YY_BREAK
5243case 132:
5244YY_RULE_SETUP
5245#line 346 "util/configlexer.lex"
5246{ YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) }
5247	YY_BREAK
5248case 133:
5249YY_RULE_SETUP
5250#line 347 "util/configlexer.lex"
5251{ YDVAR(1, VAR_FORWARD_SSL_UPSTREAM) }
5252	YY_BREAK
5253case 134:
5254YY_RULE_SETUP
5255#line 348 "util/configlexer.lex"
5256{ YDVAR(1, VAR_FORWARD_TCP_UPSTREAM) }
5257	YY_BREAK
5258case 135:
5259YY_RULE_SETUP
5260#line 349 "util/configlexer.lex"
5261{ YDVAR(0, VAR_AUTH_ZONE) }
5262	YY_BREAK
5263case 136:
5264YY_RULE_SETUP
5265#line 350 "util/configlexer.lex"
5266{ YDVAR(0, VAR_RPZ) }
5267	YY_BREAK
5268case 137:
5269YY_RULE_SETUP
5270#line 351 "util/configlexer.lex"
5271{ YDVAR(1, VAR_TAGS) }
5272	YY_BREAK
5273case 138:
5274YY_RULE_SETUP
5275#line 352 "util/configlexer.lex"
5276{ YDVAR(1, VAR_RPZ_ACTION_OVERRIDE) }
5277	YY_BREAK
5278case 139:
5279YY_RULE_SETUP
5280#line 353 "util/configlexer.lex"
5281{ YDVAR(1, VAR_RPZ_CNAME_OVERRIDE) }
5282	YY_BREAK
5283case 140:
5284YY_RULE_SETUP
5285#line 354 "util/configlexer.lex"
5286{ YDVAR(1, VAR_RPZ_LOG) }
5287	YY_BREAK
5288case 141:
5289YY_RULE_SETUP
5290#line 355 "util/configlexer.lex"
5291{ YDVAR(1, VAR_RPZ_LOG_NAME) }
5292	YY_BREAK
5293case 142:
5294YY_RULE_SETUP
5295#line 356 "util/configlexer.lex"
5296{ YDVAR(1, VAR_RPZ_SIGNAL_NXDOMAIN_RA) }
5297	YY_BREAK
5298case 143:
5299YY_RULE_SETUP
5300#line 357 "util/configlexer.lex"
5301{ YDVAR(1, VAR_ZONEFILE) }
5302	YY_BREAK
5303case 144:
5304YY_RULE_SETUP
5305#line 358 "util/configlexer.lex"
5306{ YDVAR(1, VAR_MASTER) }
5307	YY_BREAK
5308case 145:
5309YY_RULE_SETUP
5310#line 359 "util/configlexer.lex"
5311{ YDVAR(1, VAR_MASTER) }
5312	YY_BREAK
5313case 146:
5314YY_RULE_SETUP
5315#line 360 "util/configlexer.lex"
5316{ YDVAR(1, VAR_URL) }
5317	YY_BREAK
5318case 147:
5319YY_RULE_SETUP
5320#line 361 "util/configlexer.lex"
5321{ YDVAR(1, VAR_ALLOW_NOTIFY) }
5322	YY_BREAK
5323case 148:
5324YY_RULE_SETUP
5325#line 362 "util/configlexer.lex"
5326{ YDVAR(1, VAR_FOR_DOWNSTREAM) }
5327	YY_BREAK
5328case 149:
5329YY_RULE_SETUP
5330#line 363 "util/configlexer.lex"
5331{ YDVAR(1, VAR_FOR_UPSTREAM) }
5332	YY_BREAK
5333case 150:
5334YY_RULE_SETUP
5335#line 364 "util/configlexer.lex"
5336{ YDVAR(1, VAR_FALLBACK_ENABLED) }
5337	YY_BREAK
5338case 151:
5339YY_RULE_SETUP
5340#line 365 "util/configlexer.lex"
5341{ YDVAR(0, VAR_VIEW) }
5342	YY_BREAK
5343case 152:
5344YY_RULE_SETUP
5345#line 366 "util/configlexer.lex"
5346{ YDVAR(1, VAR_VIEW_FIRST) }
5347	YY_BREAK
5348case 153:
5349YY_RULE_SETUP
5350#line 367 "util/configlexer.lex"
5351{ YDVAR(1, VAR_DO_NOT_QUERY_ADDRESS) }
5352	YY_BREAK
5353case 154:
5354YY_RULE_SETUP
5355#line 368 "util/configlexer.lex"
5356{ YDVAR(1, VAR_DO_NOT_QUERY_LOCALHOST) }
5357	YY_BREAK
5358case 155:
5359YY_RULE_SETUP
5360#line 369 "util/configlexer.lex"
5361{ YDVAR(2, VAR_ACCESS_CONTROL) }
5362	YY_BREAK
5363case 156:
5364YY_RULE_SETUP
5365#line 370 "util/configlexer.lex"
5366{ YDVAR(2, VAR_INTERFACE_ACTION) }
5367	YY_BREAK
5368case 157:
5369YY_RULE_SETUP
5370#line 371 "util/configlexer.lex"
5371{ YDVAR(1, VAR_SEND_CLIENT_SUBNET) }
5372	YY_BREAK
5373case 158:
5374YY_RULE_SETUP
5375#line 372 "util/configlexer.lex"
5376{ YDVAR(1, VAR_CLIENT_SUBNET_ZONE) }
5377	YY_BREAK
5378case 159:
5379YY_RULE_SETUP
5380#line 373 "util/configlexer.lex"
5381{ YDVAR(1, VAR_CLIENT_SUBNET_ALWAYS_FORWARD) }
5382	YY_BREAK
5383case 160:
5384YY_RULE_SETUP
5385#line 374 "util/configlexer.lex"
5386{ YDVAR(1, VAR_CLIENT_SUBNET_OPCODE) }
5387	YY_BREAK
5388case 161:
5389YY_RULE_SETUP
5390#line 375 "util/configlexer.lex"
5391{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV4) }
5392	YY_BREAK
5393case 162:
5394YY_RULE_SETUP
5395#line 376 "util/configlexer.lex"
5396{ YDVAR(1, VAR_MAX_CLIENT_SUBNET_IPV6) }
5397	YY_BREAK
5398case 163:
5399YY_RULE_SETUP
5400#line 377 "util/configlexer.lex"
5401{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV4) }
5402	YY_BREAK
5403case 164:
5404YY_RULE_SETUP
5405#line 378 "util/configlexer.lex"
5406{ YDVAR(1, VAR_MIN_CLIENT_SUBNET_IPV6) }
5407	YY_BREAK
5408case 165:
5409YY_RULE_SETUP
5410#line 379 "util/configlexer.lex"
5411{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV4) }
5412	YY_BREAK
5413case 166:
5414YY_RULE_SETUP
5415#line 380 "util/configlexer.lex"
5416{ YDVAR(1, VAR_MAX_ECS_TREE_SIZE_IPV6) }
5417	YY_BREAK
5418case 167:
5419YY_RULE_SETUP
5420#line 381 "util/configlexer.lex"
5421{ YDVAR(1, VAR_HIDE_IDENTITY) }
5422	YY_BREAK
5423case 168:
5424YY_RULE_SETUP
5425#line 382 "util/configlexer.lex"
5426{ YDVAR(1, VAR_HIDE_VERSION) }
5427	YY_BREAK
5428case 169:
5429YY_RULE_SETUP
5430#line 383 "util/configlexer.lex"
5431{ YDVAR(1, VAR_HIDE_TRUSTANCHOR) }
5432	YY_BREAK
5433case 170:
5434YY_RULE_SETUP
5435#line 384 "util/configlexer.lex"
5436{ YDVAR(1, VAR_HIDE_HTTP_USER_AGENT) }
5437	YY_BREAK
5438case 171:
5439YY_RULE_SETUP
5440#line 385 "util/configlexer.lex"
5441{ YDVAR(1, VAR_IDENTITY) }
5442	YY_BREAK
5443case 172:
5444YY_RULE_SETUP
5445#line 386 "util/configlexer.lex"
5446{ YDVAR(1, VAR_VERSION) }
5447	YY_BREAK
5448case 173:
5449YY_RULE_SETUP
5450#line 387 "util/configlexer.lex"
5451{ YDVAR(1, VAR_HTTP_USER_AGENT) }
5452	YY_BREAK
5453case 174:
5454YY_RULE_SETUP
5455#line 388 "util/configlexer.lex"
5456{ YDVAR(1, VAR_MODULE_CONF) }
5457	YY_BREAK
5458case 175:
5459YY_RULE_SETUP
5460#line 389 "util/configlexer.lex"
5461{ YDVAR(1, VAR_DLV_ANCHOR) }
5462	YY_BREAK
5463case 176:
5464YY_RULE_SETUP
5465#line 390 "util/configlexer.lex"
5466{ YDVAR(1, VAR_DLV_ANCHOR_FILE) }
5467	YY_BREAK
5468case 177:
5469YY_RULE_SETUP
5470#line 391 "util/configlexer.lex"
5471{ YDVAR(1, VAR_TRUST_ANCHOR_FILE) }
5472	YY_BREAK
5473case 178:
5474YY_RULE_SETUP
5475#line 392 "util/configlexer.lex"
5476{ YDVAR(1, VAR_AUTO_TRUST_ANCHOR_FILE) }
5477	YY_BREAK
5478case 179:
5479YY_RULE_SETUP
5480#line 393 "util/configlexer.lex"
5481{ YDVAR(1, VAR_TRUSTED_KEYS_FILE) }
5482	YY_BREAK
5483case 180:
5484YY_RULE_SETUP
5485#line 394 "util/configlexer.lex"
5486{ YDVAR(1, VAR_TRUST_ANCHOR) }
5487	YY_BREAK
5488case 181:
5489YY_RULE_SETUP
5490#line 395 "util/configlexer.lex"
5491{ YDVAR(1, VAR_TRUST_ANCHOR_SIGNALING) }
5492	YY_BREAK
5493case 182:
5494YY_RULE_SETUP
5495#line 396 "util/configlexer.lex"
5496{ YDVAR(1, VAR_ROOT_KEY_SENTINEL) }
5497	YY_BREAK
5498case 183:
5499YY_RULE_SETUP
5500#line 397 "util/configlexer.lex"
5501{ YDVAR(1, VAR_VAL_OVERRIDE_DATE) }
5502	YY_BREAK
5503case 184:
5504YY_RULE_SETUP
5505#line 398 "util/configlexer.lex"
5506{ YDVAR(1, VAR_VAL_SIG_SKEW_MIN) }
5507	YY_BREAK
5508case 185:
5509YY_RULE_SETUP
5510#line 399 "util/configlexer.lex"
5511{ YDVAR(1, VAR_VAL_SIG_SKEW_MAX) }
5512	YY_BREAK
5513case 186:
5514YY_RULE_SETUP
5515#line 400 "util/configlexer.lex"
5516{ YDVAR(1, VAR_VAL_MAX_RESTART) }
5517	YY_BREAK
5518case 187:
5519YY_RULE_SETUP
5520#line 401 "util/configlexer.lex"
5521{ YDVAR(1, VAR_BOGUS_TTL) }
5522	YY_BREAK
5523case 188:
5524YY_RULE_SETUP
5525#line 402 "util/configlexer.lex"
5526{ YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) }
5527	YY_BREAK
5528case 189:
5529YY_RULE_SETUP
5530#line 403 "util/configlexer.lex"
5531{ YDVAR(1, VAR_VAL_PERMISSIVE_MODE) }
5532	YY_BREAK
5533case 190:
5534YY_RULE_SETUP
5535#line 404 "util/configlexer.lex"
5536{ YDVAR(1, VAR_AGGRESSIVE_NSEC) }
5537	YY_BREAK
5538case 191:
5539YY_RULE_SETUP
5540#line 405 "util/configlexer.lex"
5541{ YDVAR(1, VAR_IGNORE_CD_FLAG) }
5542	YY_BREAK
5543case 192:
5544YY_RULE_SETUP
5545#line 406 "util/configlexer.lex"
5546{ YDVAR(1, VAR_DISABLE_EDNS_DO) }
5547	YY_BREAK
5548case 193:
5549YY_RULE_SETUP
5550#line 407 "util/configlexer.lex"
5551{ YDVAR(1, VAR_SERVE_EXPIRED) }
5552	YY_BREAK
5553case 194:
5554YY_RULE_SETUP
5555#line 408 "util/configlexer.lex"
5556{ YDVAR(1, VAR_SERVE_EXPIRED_TTL) }
5557	YY_BREAK
5558case 195:
5559YY_RULE_SETUP
5560#line 409 "util/configlexer.lex"
5561{ YDVAR(1, VAR_SERVE_EXPIRED_TTL_RESET) }
5562	YY_BREAK
5563case 196:
5564YY_RULE_SETUP
5565#line 410 "util/configlexer.lex"
5566{ YDVAR(1, VAR_SERVE_EXPIRED_REPLY_TTL) }
5567	YY_BREAK
5568case 197:
5569YY_RULE_SETUP
5570#line 411 "util/configlexer.lex"
5571{ YDVAR(1, VAR_SERVE_EXPIRED_CLIENT_TIMEOUT) }
5572	YY_BREAK
5573case 198:
5574YY_RULE_SETUP
5575#line 412 "util/configlexer.lex"
5576{ YDVAR(1, VAR_EDE_SERVE_EXPIRED) }
5577	YY_BREAK
5578case 199:
5579YY_RULE_SETUP
5580#line 413 "util/configlexer.lex"
5581{ YDVAR(1, VAR_SERVE_ORIGINAL_TTL) }
5582	YY_BREAK
5583case 200:
5584YY_RULE_SETUP
5585#line 414 "util/configlexer.lex"
5586{ YDVAR(1, VAR_FAKE_DSA) }
5587	YY_BREAK
5588case 201:
5589YY_RULE_SETUP
5590#line 415 "util/configlexer.lex"
5591{ YDVAR(1, VAR_FAKE_SHA1) }
5592	YY_BREAK
5593case 202:
5594YY_RULE_SETUP
5595#line 416 "util/configlexer.lex"
5596{ YDVAR(1, VAR_VAL_LOG_LEVEL) }
5597	YY_BREAK
5598case 203:
5599YY_RULE_SETUP
5600#line 417 "util/configlexer.lex"
5601{ YDVAR(1, VAR_KEY_CACHE_SIZE) }
5602	YY_BREAK
5603case 204:
5604YY_RULE_SETUP
5605#line 418 "util/configlexer.lex"
5606{ YDVAR(1, VAR_KEY_CACHE_SLABS) }
5607	YY_BREAK
5608case 205:
5609YY_RULE_SETUP
5610#line 419 "util/configlexer.lex"
5611{ YDVAR(1, VAR_NEG_CACHE_SIZE) }
5612	YY_BREAK
5613case 206:
5614YY_RULE_SETUP
5615#line 420 "util/configlexer.lex"
5616{
5617				  YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) }
5618	YY_BREAK
5619case 207:
5620YY_RULE_SETUP
5621#line 422 "util/configlexer.lex"
5622{ YDVAR(1, VAR_ZONEMD_PERMISSIVE_MODE) }
5623	YY_BREAK
5624case 208:
5625YY_RULE_SETUP
5626#line 423 "util/configlexer.lex"
5627{ YDVAR(1, VAR_ZONEMD_CHECK) }
5628	YY_BREAK
5629case 209:
5630YY_RULE_SETUP
5631#line 424 "util/configlexer.lex"
5632{ YDVAR(1, VAR_ZONEMD_REJECT_ABSENCE) }
5633	YY_BREAK
5634case 210:
5635YY_RULE_SETUP
5636#line 425 "util/configlexer.lex"
5637{ YDVAR(1, VAR_ADD_HOLDDOWN) }
5638	YY_BREAK
5639case 211:
5640YY_RULE_SETUP
5641#line 426 "util/configlexer.lex"
5642{ YDVAR(1, VAR_DEL_HOLDDOWN) }
5643	YY_BREAK
5644case 212:
5645YY_RULE_SETUP
5646#line 427 "util/configlexer.lex"
5647{ YDVAR(1, VAR_KEEP_MISSING) }
5648	YY_BREAK
5649case 213:
5650YY_RULE_SETUP
5651#line 428 "util/configlexer.lex"
5652{ YDVAR(1, VAR_PERMIT_SMALL_HOLDDOWN) }
5653	YY_BREAK
5654case 214:
5655YY_RULE_SETUP
5656#line 429 "util/configlexer.lex"
5657{ YDVAR(1, VAR_USE_SYSLOG) }
5658	YY_BREAK
5659case 215:
5660YY_RULE_SETUP
5661#line 430 "util/configlexer.lex"
5662{ YDVAR(1, VAR_LOG_IDENTITY) }
5663	YY_BREAK
5664case 216:
5665YY_RULE_SETUP
5666#line 431 "util/configlexer.lex"
5667{ YDVAR(1, VAR_LOG_TIME_ASCII) }
5668	YY_BREAK
5669case 217:
5670YY_RULE_SETUP
5671#line 432 "util/configlexer.lex"
5672{ YDVAR(1, VAR_LOG_QUERIES) }
5673	YY_BREAK
5674case 218:
5675YY_RULE_SETUP
5676#line 433 "util/configlexer.lex"
5677{ YDVAR(1, VAR_LOG_REPLIES) }
5678	YY_BREAK
5679case 219:
5680YY_RULE_SETUP
5681#line 434 "util/configlexer.lex"
5682{ YDVAR(1, VAR_LOG_TAG_QUERYREPLY) }
5683	YY_BREAK
5684case 220:
5685YY_RULE_SETUP
5686#line 435 "util/configlexer.lex"
5687{ YDVAR(1, VAR_LOG_LOCAL_ACTIONS) }
5688	YY_BREAK
5689case 221:
5690YY_RULE_SETUP
5691#line 436 "util/configlexer.lex"
5692{ YDVAR(1, VAR_LOG_SERVFAIL) }
5693	YY_BREAK
5694case 222:
5695YY_RULE_SETUP
5696#line 437 "util/configlexer.lex"
5697{ YDVAR(2, VAR_LOCAL_ZONE) }
5698	YY_BREAK
5699case 223:
5700YY_RULE_SETUP
5701#line 438 "util/configlexer.lex"
5702{ YDVAR(1, VAR_LOCAL_DATA) }
5703	YY_BREAK
5704case 224:
5705YY_RULE_SETUP
5706#line 439 "util/configlexer.lex"
5707{ YDVAR(1, VAR_LOCAL_DATA_PTR) }
5708	YY_BREAK
5709case 225:
5710YY_RULE_SETUP
5711#line 440 "util/configlexer.lex"
5712{ YDVAR(1, VAR_UNBLOCK_LAN_ZONES) }
5713	YY_BREAK
5714case 226:
5715YY_RULE_SETUP
5716#line 441 "util/configlexer.lex"
5717{ YDVAR(1, VAR_INSECURE_LAN_ZONES) }
5718	YY_BREAK
5719case 227:
5720YY_RULE_SETUP
5721#line 442 "util/configlexer.lex"
5722{ YDVAR(1, VAR_STATISTICS_INTERVAL) }
5723	YY_BREAK
5724case 228:
5725YY_RULE_SETUP
5726#line 443 "util/configlexer.lex"
5727{ YDVAR(1, VAR_STATISTICS_CUMULATIVE) }
5728	YY_BREAK
5729case 229:
5730YY_RULE_SETUP
5731#line 444 "util/configlexer.lex"
5732{ YDVAR(1, VAR_EXTENDED_STATISTICS) }
5733	YY_BREAK
5734case 230:
5735YY_RULE_SETUP
5736#line 445 "util/configlexer.lex"
5737{ YDVAR(1, VAR_STATISTICS_INHIBIT_ZERO) }
5738	YY_BREAK
5739case 231:
5740YY_RULE_SETUP
5741#line 446 "util/configlexer.lex"
5742{ YDVAR(1, VAR_SHM_ENABLE) }
5743	YY_BREAK
5744case 232:
5745YY_RULE_SETUP
5746#line 447 "util/configlexer.lex"
5747{ YDVAR(1, VAR_SHM_KEY) }
5748	YY_BREAK
5749case 233:
5750YY_RULE_SETUP
5751#line 448 "util/configlexer.lex"
5752{ YDVAR(0, VAR_REMOTE_CONTROL) }
5753	YY_BREAK
5754case 234:
5755YY_RULE_SETUP
5756#line 449 "util/configlexer.lex"
5757{ YDVAR(1, VAR_CONTROL_ENABLE) }
5758	YY_BREAK
5759case 235:
5760YY_RULE_SETUP
5761#line 450 "util/configlexer.lex"
5762{ YDVAR(1, VAR_CONTROL_INTERFACE) }
5763	YY_BREAK
5764case 236:
5765YY_RULE_SETUP
5766#line 451 "util/configlexer.lex"
5767{ YDVAR(1, VAR_CONTROL_PORT) }
5768	YY_BREAK
5769case 237:
5770YY_RULE_SETUP
5771#line 452 "util/configlexer.lex"
5772{ YDVAR(1, VAR_CONTROL_USE_CERT) }
5773	YY_BREAK
5774case 238:
5775YY_RULE_SETUP
5776#line 453 "util/configlexer.lex"
5777{ YDVAR(1, VAR_SERVER_KEY_FILE) }
5778	YY_BREAK
5779case 239:
5780YY_RULE_SETUP
5781#line 454 "util/configlexer.lex"
5782{ YDVAR(1, VAR_SERVER_CERT_FILE) }
5783	YY_BREAK
5784case 240:
5785YY_RULE_SETUP
5786#line 455 "util/configlexer.lex"
5787{ YDVAR(1, VAR_CONTROL_KEY_FILE) }
5788	YY_BREAK
5789case 241:
5790YY_RULE_SETUP
5791#line 456 "util/configlexer.lex"
5792{ YDVAR(1, VAR_CONTROL_CERT_FILE) }
5793	YY_BREAK
5794case 242:
5795YY_RULE_SETUP
5796#line 457 "util/configlexer.lex"
5797{ YDVAR(1, VAR_PYTHON_SCRIPT) }
5798	YY_BREAK
5799case 243:
5800YY_RULE_SETUP
5801#line 458 "util/configlexer.lex"
5802{ YDVAR(0, VAR_PYTHON) }
5803	YY_BREAK
5804case 244:
5805YY_RULE_SETUP
5806#line 459 "util/configlexer.lex"
5807{ YDVAR(1, VAR_DYNLIB_FILE) }
5808	YY_BREAK
5809case 245:
5810YY_RULE_SETUP
5811#line 460 "util/configlexer.lex"
5812{ YDVAR(0, VAR_DYNLIB) }
5813	YY_BREAK
5814case 246:
5815YY_RULE_SETUP
5816#line 461 "util/configlexer.lex"
5817{ YDVAR(1, VAR_DOMAIN_INSECURE) }
5818	YY_BREAK
5819case 247:
5820YY_RULE_SETUP
5821#line 462 "util/configlexer.lex"
5822{ YDVAR(1, VAR_MINIMAL_RESPONSES) }
5823	YY_BREAK
5824case 248:
5825YY_RULE_SETUP
5826#line 463 "util/configlexer.lex"
5827{ YDVAR(1, VAR_RRSET_ROUNDROBIN) }
5828	YY_BREAK
5829case 249:
5830YY_RULE_SETUP
5831#line 464 "util/configlexer.lex"
5832{ YDVAR(1, VAR_UNKNOWN_SERVER_TIME_LIMIT) }
5833	YY_BREAK
5834case 250:
5835YY_RULE_SETUP
5836#line 465 "util/configlexer.lex"
5837{ YDVAR(1, VAR_MAX_UDP_SIZE) }
5838	YY_BREAK
5839case 251:
5840YY_RULE_SETUP
5841#line 466 "util/configlexer.lex"
5842{ YDVAR(1, VAR_DNS64_PREFIX) }
5843	YY_BREAK
5844case 252:
5845YY_RULE_SETUP
5846#line 467 "util/configlexer.lex"
5847{ YDVAR(1, VAR_DNS64_SYNTHALL) }
5848	YY_BREAK
5849case 253:
5850YY_RULE_SETUP
5851#line 468 "util/configlexer.lex"
5852{ YDVAR(1, VAR_DNS64_IGNORE_AAAA) }
5853	YY_BREAK
5854case 254:
5855YY_RULE_SETUP
5856#line 469 "util/configlexer.lex"
5857{ YDVAR(1, VAR_NAT64_PREFIX) }
5858	YY_BREAK
5859case 255:
5860YY_RULE_SETUP
5861#line 470 "util/configlexer.lex"
5862{ YDVAR(1, VAR_DEFINE_TAG) }
5863	YY_BREAK
5864case 256:
5865YY_RULE_SETUP
5866#line 471 "util/configlexer.lex"
5867{ YDVAR(2, VAR_LOCAL_ZONE_TAG) }
5868	YY_BREAK
5869case 257:
5870YY_RULE_SETUP
5871#line 472 "util/configlexer.lex"
5872{ YDVAR(2, VAR_ACCESS_CONTROL_TAG) }
5873	YY_BREAK
5874case 258:
5875YY_RULE_SETUP
5876#line 473 "util/configlexer.lex"
5877{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_ACTION) }
5878	YY_BREAK
5879case 259:
5880YY_RULE_SETUP
5881#line 474 "util/configlexer.lex"
5882{ YDVAR(3, VAR_ACCESS_CONTROL_TAG_DATA) }
5883	YY_BREAK
5884case 260:
5885YY_RULE_SETUP
5886#line 475 "util/configlexer.lex"
5887{ YDVAR(2, VAR_ACCESS_CONTROL_VIEW) }
5888	YY_BREAK
5889case 261:
5890YY_RULE_SETUP
5891#line 476 "util/configlexer.lex"
5892{ YDVAR(2, VAR_INTERFACE_TAG) }
5893	YY_BREAK
5894case 262:
5895YY_RULE_SETUP
5896#line 477 "util/configlexer.lex"
5897{ YDVAR(3, VAR_INTERFACE_TAG_ACTION) }
5898	YY_BREAK
5899case 263:
5900YY_RULE_SETUP
5901#line 478 "util/configlexer.lex"
5902{ YDVAR(3, VAR_INTERFACE_TAG_DATA) }
5903	YY_BREAK
5904case 264:
5905YY_RULE_SETUP
5906#line 479 "util/configlexer.lex"
5907{ YDVAR(2, VAR_INTERFACE_VIEW) }
5908	YY_BREAK
5909case 265:
5910YY_RULE_SETUP
5911#line 480 "util/configlexer.lex"
5912{ YDVAR(3, VAR_LOCAL_ZONE_OVERRIDE) }
5913	YY_BREAK
5914case 266:
5915YY_RULE_SETUP
5916#line 481 "util/configlexer.lex"
5917{ YDVAR(0, VAR_DNSTAP) }
5918	YY_BREAK
5919case 267:
5920YY_RULE_SETUP
5921#line 482 "util/configlexer.lex"
5922{ YDVAR(1, VAR_DNSTAP_ENABLE) }
5923	YY_BREAK
5924case 268:
5925YY_RULE_SETUP
5926#line 483 "util/configlexer.lex"
5927{ YDVAR(1, VAR_DNSTAP_BIDIRECTIONAL) }
5928	YY_BREAK
5929case 269:
5930YY_RULE_SETUP
5931#line 484 "util/configlexer.lex"
5932{ YDVAR(1, VAR_DNSTAP_SOCKET_PATH) }
5933	YY_BREAK
5934case 270:
5935YY_RULE_SETUP
5936#line 485 "util/configlexer.lex"
5937{ YDVAR(1, VAR_DNSTAP_IP) }
5938	YY_BREAK
5939case 271:
5940YY_RULE_SETUP
5941#line 486 "util/configlexer.lex"
5942{ YDVAR(1, VAR_DNSTAP_TLS) }
5943	YY_BREAK
5944case 272:
5945YY_RULE_SETUP
5946#line 487 "util/configlexer.lex"
5947{ YDVAR(1, VAR_DNSTAP_TLS_SERVER_NAME) }
5948	YY_BREAK
5949case 273:
5950YY_RULE_SETUP
5951#line 488 "util/configlexer.lex"
5952{ YDVAR(1, VAR_DNSTAP_TLS_CERT_BUNDLE) }
5953	YY_BREAK
5954case 274:
5955YY_RULE_SETUP
5956#line 489 "util/configlexer.lex"
5957{
5958		YDVAR(1, VAR_DNSTAP_TLS_CLIENT_KEY_FILE) }
5959	YY_BREAK
5960case 275:
5961YY_RULE_SETUP
5962#line 491 "util/configlexer.lex"
5963{
5964		YDVAR(1, VAR_DNSTAP_TLS_CLIENT_CERT_FILE) }
5965	YY_BREAK
5966case 276:
5967YY_RULE_SETUP
5968#line 493 "util/configlexer.lex"
5969{ YDVAR(1, VAR_DNSTAP_SEND_IDENTITY) }
5970	YY_BREAK
5971case 277:
5972YY_RULE_SETUP
5973#line 494 "util/configlexer.lex"
5974{ YDVAR(1, VAR_DNSTAP_SEND_VERSION) }
5975	YY_BREAK
5976case 278:
5977YY_RULE_SETUP
5978#line 495 "util/configlexer.lex"
5979{ YDVAR(1, VAR_DNSTAP_IDENTITY) }
5980	YY_BREAK
5981case 279:
5982YY_RULE_SETUP
5983#line 496 "util/configlexer.lex"
5984{ YDVAR(1, VAR_DNSTAP_VERSION) }
5985	YY_BREAK
5986case 280:
5987YY_RULE_SETUP
5988#line 497 "util/configlexer.lex"
5989{
5990		YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_QUERY_MESSAGES) }
5991	YY_BREAK
5992case 281:
5993YY_RULE_SETUP
5994#line 499 "util/configlexer.lex"
5995{
5996		YDVAR(1, VAR_DNSTAP_LOG_RESOLVER_RESPONSE_MESSAGES) }
5997	YY_BREAK
5998case 282:
5999YY_RULE_SETUP
6000#line 501 "util/configlexer.lex"
6001{
6002		YDVAR(1, VAR_DNSTAP_LOG_CLIENT_QUERY_MESSAGES) }
6003	YY_BREAK
6004case 283:
6005YY_RULE_SETUP
6006#line 503 "util/configlexer.lex"
6007{
6008		YDVAR(1, VAR_DNSTAP_LOG_CLIENT_RESPONSE_MESSAGES) }
6009	YY_BREAK
6010case 284:
6011YY_RULE_SETUP
6012#line 505 "util/configlexer.lex"
6013{
6014		YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_QUERY_MESSAGES) }
6015	YY_BREAK
6016case 285:
6017YY_RULE_SETUP
6018#line 507 "util/configlexer.lex"
6019{
6020		YDVAR(1, VAR_DNSTAP_LOG_FORWARDER_RESPONSE_MESSAGES) }
6021	YY_BREAK
6022case 286:
6023YY_RULE_SETUP
6024#line 509 "util/configlexer.lex"
6025{ YDVAR(1, VAR_DISABLE_DNSSEC_LAME_CHECK) }
6026	YY_BREAK
6027case 287:
6028YY_RULE_SETUP
6029#line 510 "util/configlexer.lex"
6030{ YDVAR(1, VAR_IP_RATELIMIT) }
6031	YY_BREAK
6032case 288:
6033YY_RULE_SETUP
6034#line 511 "util/configlexer.lex"
6035{ YDVAR(1, VAR_IP_RATELIMIT_COOKIE) }
6036	YY_BREAK
6037case 289:
6038YY_RULE_SETUP
6039#line 512 "util/configlexer.lex"
6040{ YDVAR(1, VAR_RATELIMIT) }
6041	YY_BREAK
6042case 290:
6043YY_RULE_SETUP
6044#line 513 "util/configlexer.lex"
6045{ YDVAR(1, VAR_IP_RATELIMIT_SLABS) }
6046	YY_BREAK
6047case 291:
6048YY_RULE_SETUP
6049#line 514 "util/configlexer.lex"
6050{ YDVAR(1, VAR_RATELIMIT_SLABS) }
6051	YY_BREAK
6052case 292:
6053YY_RULE_SETUP
6054#line 515 "util/configlexer.lex"
6055{ YDVAR(1, VAR_IP_RATELIMIT_SIZE) }
6056	YY_BREAK
6057case 293:
6058YY_RULE_SETUP
6059#line 516 "util/configlexer.lex"
6060{ YDVAR(1, VAR_RATELIMIT_SIZE) }
6061	YY_BREAK
6062case 294:
6063YY_RULE_SETUP
6064#line 517 "util/configlexer.lex"
6065{ YDVAR(2, VAR_RATELIMIT_FOR_DOMAIN) }
6066	YY_BREAK
6067case 295:
6068YY_RULE_SETUP
6069#line 518 "util/configlexer.lex"
6070{ YDVAR(2, VAR_RATELIMIT_BELOW_DOMAIN) }
6071	YY_BREAK
6072case 296:
6073YY_RULE_SETUP
6074#line 519 "util/configlexer.lex"
6075{ YDVAR(1, VAR_IP_RATELIMIT_FACTOR) }
6076	YY_BREAK
6077case 297:
6078YY_RULE_SETUP
6079#line 520 "util/configlexer.lex"
6080{ YDVAR(1, VAR_RATELIMIT_FACTOR) }
6081	YY_BREAK
6082case 298:
6083YY_RULE_SETUP
6084#line 521 "util/configlexer.lex"
6085{ YDVAR(1, VAR_IP_RATELIMIT_BACKOFF) }
6086	YY_BREAK
6087case 299:
6088YY_RULE_SETUP
6089#line 522 "util/configlexer.lex"
6090{ YDVAR(1, VAR_RATELIMIT_BACKOFF) }
6091	YY_BREAK
6092case 300:
6093YY_RULE_SETUP
6094#line 523 "util/configlexer.lex"
6095{ YDVAR(1, VAR_OUTBOUND_MSG_RETRY) }
6096	YY_BREAK
6097case 301:
6098YY_RULE_SETUP
6099#line 524 "util/configlexer.lex"
6100{ YDVAR(1, VAR_MAX_SENT_COUNT) }
6101	YY_BREAK
6102case 302:
6103YY_RULE_SETUP
6104#line 525 "util/configlexer.lex"
6105{ YDVAR(1, VAR_MAX_QUERY_RESTARTS) }
6106	YY_BREAK
6107case 303:
6108YY_RULE_SETUP
6109#line 526 "util/configlexer.lex"
6110{ YDVAR(1, VAR_LOW_RTT) }
6111	YY_BREAK
6112case 304:
6113YY_RULE_SETUP
6114#line 527 "util/configlexer.lex"
6115{ YDVAR(1, VAR_FAST_SERVER_NUM) }
6116	YY_BREAK
6117case 305:
6118YY_RULE_SETUP
6119#line 528 "util/configlexer.lex"
6120{ YDVAR(1, VAR_FAST_SERVER_PERMIL) }
6121	YY_BREAK
6122case 306:
6123YY_RULE_SETUP
6124#line 529 "util/configlexer.lex"
6125{ YDVAR(1, VAR_FAST_SERVER_PERMIL) }
6126	YY_BREAK
6127case 307:
6128YY_RULE_SETUP
6129#line 530 "util/configlexer.lex"
6130{ YDVAR(1, VAR_FAST_SERVER_PERMIL) }
6131	YY_BREAK
6132case 308:
6133YY_RULE_SETUP
6134#line 531 "util/configlexer.lex"
6135{ YDVAR(2, VAR_RESPONSE_IP_TAG) }
6136	YY_BREAK
6137case 309:
6138YY_RULE_SETUP
6139#line 532 "util/configlexer.lex"
6140{ YDVAR(2, VAR_RESPONSE_IP) }
6141	YY_BREAK
6142case 310:
6143YY_RULE_SETUP
6144#line 533 "util/configlexer.lex"
6145{ YDVAR(2, VAR_RESPONSE_IP_DATA) }
6146	YY_BREAK
6147case 311:
6148YY_RULE_SETUP
6149#line 534 "util/configlexer.lex"
6150{ YDVAR(0, VAR_DNSCRYPT) }
6151	YY_BREAK
6152case 312:
6153YY_RULE_SETUP
6154#line 535 "util/configlexer.lex"
6155{ YDVAR(1, VAR_DNSCRYPT_ENABLE) }
6156	YY_BREAK
6157case 313:
6158YY_RULE_SETUP
6159#line 536 "util/configlexer.lex"
6160{ YDVAR(1, VAR_DNSCRYPT_PORT) }
6161	YY_BREAK
6162case 314:
6163YY_RULE_SETUP
6164#line 537 "util/configlexer.lex"
6165{ YDVAR(1, VAR_DNSCRYPT_PROVIDER) }
6166	YY_BREAK
6167case 315:
6168YY_RULE_SETUP
6169#line 538 "util/configlexer.lex"
6170{ YDVAR(1, VAR_DNSCRYPT_SECRET_KEY) }
6171	YY_BREAK
6172case 316:
6173YY_RULE_SETUP
6174#line 539 "util/configlexer.lex"
6175{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT) }
6176	YY_BREAK
6177case 317:
6178YY_RULE_SETUP
6179#line 540 "util/configlexer.lex"
6180{ YDVAR(1, VAR_DNSCRYPT_PROVIDER_CERT_ROTATED) }
6181	YY_BREAK
6182case 318:
6183YY_RULE_SETUP
6184#line 541 "util/configlexer.lex"
6185{
6186		YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SIZE) }
6187	YY_BREAK
6188case 319:
6189YY_RULE_SETUP
6190#line 543 "util/configlexer.lex"
6191{
6192		YDVAR(1, VAR_DNSCRYPT_SHARED_SECRET_CACHE_SLABS) }
6193	YY_BREAK
6194case 320:
6195YY_RULE_SETUP
6196#line 545 "util/configlexer.lex"
6197{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SIZE) }
6198	YY_BREAK
6199case 321:
6200YY_RULE_SETUP
6201#line 546 "util/configlexer.lex"
6202{ YDVAR(1, VAR_DNSCRYPT_NONCE_CACHE_SLABS) }
6203	YY_BREAK
6204case 322:
6205YY_RULE_SETUP
6206#line 547 "util/configlexer.lex"
6207{ YDVAR(1, VAR_PAD_RESPONSES) }
6208	YY_BREAK
6209case 323:
6210YY_RULE_SETUP
6211#line 548 "util/configlexer.lex"
6212{ YDVAR(1, VAR_PAD_RESPONSES_BLOCK_SIZE) }
6213	YY_BREAK
6214case 324:
6215YY_RULE_SETUP
6216#line 549 "util/configlexer.lex"
6217{ YDVAR(1, VAR_PAD_QUERIES) }
6218	YY_BREAK
6219case 325:
6220YY_RULE_SETUP
6221#line 550 "util/configlexer.lex"
6222{ YDVAR(1, VAR_PAD_QUERIES_BLOCK_SIZE) }
6223	YY_BREAK
6224case 326:
6225YY_RULE_SETUP
6226#line 551 "util/configlexer.lex"
6227{ YDVAR(1, VAR_IPSECMOD_ENABLED) }
6228	YY_BREAK
6229case 327:
6230YY_RULE_SETUP
6231#line 552 "util/configlexer.lex"
6232{ YDVAR(1, VAR_IPSECMOD_IGNORE_BOGUS) }
6233	YY_BREAK
6234case 328:
6235YY_RULE_SETUP
6236#line 553 "util/configlexer.lex"
6237{ YDVAR(1, VAR_IPSECMOD_HOOK) }
6238	YY_BREAK
6239case 329:
6240YY_RULE_SETUP
6241#line 554 "util/configlexer.lex"
6242{ YDVAR(1, VAR_IPSECMOD_MAX_TTL) }
6243	YY_BREAK
6244case 330:
6245YY_RULE_SETUP
6246#line 555 "util/configlexer.lex"
6247{ YDVAR(1, VAR_IPSECMOD_WHITELIST) }
6248	YY_BREAK
6249case 331:
6250YY_RULE_SETUP
6251#line 556 "util/configlexer.lex"
6252{ YDVAR(1, VAR_IPSECMOD_WHITELIST) }
6253	YY_BREAK
6254case 332:
6255YY_RULE_SETUP
6256#line 557 "util/configlexer.lex"
6257{ YDVAR(1, VAR_IPSECMOD_STRICT) }
6258	YY_BREAK
6259case 333:
6260YY_RULE_SETUP
6261#line 558 "util/configlexer.lex"
6262{ YDVAR(0, VAR_CACHEDB) }
6263	YY_BREAK
6264case 334:
6265YY_RULE_SETUP
6266#line 559 "util/configlexer.lex"
6267{ YDVAR(1, VAR_CACHEDB_BACKEND) }
6268	YY_BREAK
6269case 335:
6270YY_RULE_SETUP
6271#line 560 "util/configlexer.lex"
6272{ YDVAR(1, VAR_CACHEDB_SECRETSEED) }
6273	YY_BREAK
6274case 336:
6275YY_RULE_SETUP
6276#line 561 "util/configlexer.lex"
6277{ YDVAR(1, VAR_CACHEDB_NO_STORE) }
6278	YY_BREAK
6279case 337:
6280YY_RULE_SETUP
6281#line 562 "util/configlexer.lex"
6282{ YDVAR(1, VAR_CACHEDB_REDISHOST) }
6283	YY_BREAK
6284case 338:
6285YY_RULE_SETUP
6286#line 563 "util/configlexer.lex"
6287{ YDVAR(1, VAR_CACHEDB_REDISPORT) }
6288	YY_BREAK
6289case 339:
6290YY_RULE_SETUP
6291#line 564 "util/configlexer.lex"
6292{ YDVAR(1, VAR_CACHEDB_REDISPATH) }
6293	YY_BREAK
6294case 340:
6295YY_RULE_SETUP
6296#line 565 "util/configlexer.lex"
6297{ YDVAR(1, VAR_CACHEDB_REDISPASSWORD) }
6298	YY_BREAK
6299case 341:
6300YY_RULE_SETUP
6301#line 566 "util/configlexer.lex"
6302{ YDVAR(1, VAR_CACHEDB_REDISTIMEOUT) }
6303	YY_BREAK
6304case 342:
6305YY_RULE_SETUP
6306#line 567 "util/configlexer.lex"
6307{ YDVAR(1, VAR_CACHEDB_REDISEXPIRERECORDS) }
6308	YY_BREAK
6309case 343:
6310YY_RULE_SETUP
6311#line 568 "util/configlexer.lex"
6312{ YDVAR(1, VAR_CACHEDB_REDISLOGICALDB) }
6313	YY_BREAK
6314case 344:
6315YY_RULE_SETUP
6316#line 569 "util/configlexer.lex"
6317{ YDVAR(0, VAR_IPSET) }
6318	YY_BREAK
6319case 345:
6320YY_RULE_SETUP
6321#line 570 "util/configlexer.lex"
6322{ YDVAR(1, VAR_IPSET_NAME_V4) }
6323	YY_BREAK
6324case 346:
6325YY_RULE_SETUP
6326#line 571 "util/configlexer.lex"
6327{ YDVAR(1, VAR_IPSET_NAME_V6) }
6328	YY_BREAK
6329case 347:
6330YY_RULE_SETUP
6331#line 572 "util/configlexer.lex"
6332{ YDVAR(1, VAR_UDP_UPSTREAM_WITHOUT_DOWNSTREAM) }
6333	YY_BREAK
6334case 348:
6335YY_RULE_SETUP
6336#line 573 "util/configlexer.lex"
6337{ YDVAR(2, VAR_TCP_CONNECTION_LIMIT) }
6338	YY_BREAK
6339case 349:
6340YY_RULE_SETUP
6341#line 574 "util/configlexer.lex"
6342{ YDVAR(1, VAR_ANSWER_COOKIE ) }
6343	YY_BREAK
6344case 350:
6345YY_RULE_SETUP
6346#line 575 "util/configlexer.lex"
6347{ YDVAR(1, VAR_COOKIE_SECRET) }
6348	YY_BREAK
6349case 351:
6350YY_RULE_SETUP
6351#line 576 "util/configlexer.lex"
6352{ YDVAR(2, VAR_EDNS_CLIENT_STRING) }
6353	YY_BREAK
6354case 352:
6355YY_RULE_SETUP
6356#line 577 "util/configlexer.lex"
6357{ YDVAR(1, VAR_EDNS_CLIENT_STRING_OPCODE) }
6358	YY_BREAK
6359case 353:
6360YY_RULE_SETUP
6361#line 578 "util/configlexer.lex"
6362{ YDVAR(1, VAR_NSID ) }
6363	YY_BREAK
6364case 354:
6365YY_RULE_SETUP
6366#line 579 "util/configlexer.lex"
6367{ YDVAR(1, VAR_EDE ) }
6368	YY_BREAK
6369case 355:
6370YY_RULE_SETUP
6371#line 580 "util/configlexer.lex"
6372{ YDVAR(1, VAR_PROXY_PROTOCOL_PORT) }
6373	YY_BREAK
6374case 356:
6375/* rule 356 can match eol */
6376YY_RULE_SETUP
6377#line 581 "util/configlexer.lex"
6378{ LEXOUT(("NL\n")); cfg_parser->line++; }
6379	YY_BREAK
6380/* Quoted strings. Strip leading and ending quotes */
6381case 357:
6382YY_RULE_SETUP
6383#line 584 "util/configlexer.lex"
6384{ BEGIN(quotedstring); LEXOUT(("QS ")); }
6385	YY_BREAK
6386case YY_STATE_EOF(quotedstring):
6387#line 585 "util/configlexer.lex"
6388{
6389        yyerror("EOF inside quoted string");
6390	if(--num_args == 0) { BEGIN(INITIAL); }
6391	else		    { BEGIN(val); }
6392}
6393	YY_BREAK
6394case 358:
6395YY_RULE_SETUP
6396#line 590 "util/configlexer.lex"
6397{ LEXOUT(("STR(%s) ", yytext)); yymore(); }
6398	YY_BREAK
6399case 359:
6400/* rule 359 can match eol */
6401YY_RULE_SETUP
6402#line 591 "util/configlexer.lex"
6403{ yyerror("newline inside quoted string, no end \"");
6404			  cfg_parser->line++; BEGIN(INITIAL); }
6405	YY_BREAK
6406case 360:
6407YY_RULE_SETUP
6408#line 593 "util/configlexer.lex"
6409{
6410        LEXOUT(("QE "));
6411	if(--num_args == 0) { BEGIN(INITIAL); }
6412	else		    { BEGIN(val); }
6413        yytext[yyleng - 1] = '\0';
6414	yylval.str = strdup(yytext);
6415	if(!yylval.str)
6416		yyerror("out of memory");
6417        return STRING_ARG;
6418}
6419	YY_BREAK
6420/* Single Quoted strings. Strip leading and ending quotes */
6421case 361:
6422YY_RULE_SETUP
6423#line 605 "util/configlexer.lex"
6424{ BEGIN(singlequotedstr); LEXOUT(("SQS ")); }
6425	YY_BREAK
6426case YY_STATE_EOF(singlequotedstr):
6427#line 606 "util/configlexer.lex"
6428{
6429        yyerror("EOF inside quoted string");
6430	if(--num_args == 0) { BEGIN(INITIAL); }
6431	else		    { BEGIN(val); }
6432}
6433	YY_BREAK
6434case 362:
6435YY_RULE_SETUP
6436#line 611 "util/configlexer.lex"
6437{ LEXOUT(("STR(%s) ", yytext)); yymore(); }
6438	YY_BREAK
6439case 363:
6440/* rule 363 can match eol */
6441YY_RULE_SETUP
6442#line 612 "util/configlexer.lex"
6443{ yyerror("newline inside quoted string, no end '");
6444			     cfg_parser->line++; BEGIN(INITIAL); }
6445	YY_BREAK
6446case 364:
6447YY_RULE_SETUP
6448#line 614 "util/configlexer.lex"
6449{
6450        LEXOUT(("SQE "));
6451	if(--num_args == 0) { BEGIN(INITIAL); }
6452	else		    { BEGIN(val); }
6453        yytext[yyleng - 1] = '\0';
6454	yylval.str = strdup(yytext);
6455	if(!yylval.str)
6456		yyerror("out of memory");
6457        return STRING_ARG;
6458}
6459	YY_BREAK
6460/* include: directive */
6461case 365:
6462YY_RULE_SETUP
6463#line 626 "util/configlexer.lex"
6464{
6465	LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); }
6466	YY_BREAK
6467case YY_STATE_EOF(include):
6468#line 628 "util/configlexer.lex"
6469{
6470        yyerror("EOF inside include directive");
6471        BEGIN(inc_prev);
6472}
6473	YY_BREAK
6474case 366:
6475YY_RULE_SETUP
6476#line 632 "util/configlexer.lex"
6477{ LEXOUT(("ISP ")); /* ignore */ }
6478	YY_BREAK
6479case 367:
6480/* rule 367 can match eol */
6481YY_RULE_SETUP
6482#line 633 "util/configlexer.lex"
6483{ LEXOUT(("NL\n")); cfg_parser->line++;}
6484	YY_BREAK
6485case 368:
6486YY_RULE_SETUP
6487#line 634 "util/configlexer.lex"
6488{ LEXOUT(("IQS ")); BEGIN(include_quoted); }
6489	YY_BREAK
6490case 369:
6491YY_RULE_SETUP
6492#line 635 "util/configlexer.lex"
6493{
6494	LEXOUT(("Iunquotedstr(%s) ", yytext));
6495	config_start_include_glob(yytext, 0);
6496	BEGIN(inc_prev);
6497}
6498	YY_BREAK
6499case YY_STATE_EOF(include_quoted):
6500#line 640 "util/configlexer.lex"
6501{
6502        yyerror("EOF inside quoted string");
6503        BEGIN(inc_prev);
6504}
6505	YY_BREAK
6506case 370:
6507YY_RULE_SETUP
6508#line 644 "util/configlexer.lex"
6509{ LEXOUT(("ISTR(%s) ", yytext)); yymore(); }
6510	YY_BREAK
6511case 371:
6512/* rule 371 can match eol */
6513YY_RULE_SETUP
6514#line 645 "util/configlexer.lex"
6515{ yyerror("newline before \" in include name");
6516				  cfg_parser->line++; BEGIN(inc_prev); }
6517	YY_BREAK
6518case 372:
6519YY_RULE_SETUP
6520#line 647 "util/configlexer.lex"
6521{
6522	LEXOUT(("IQE "));
6523	yytext[yyleng - 1] = '\0';
6524	config_start_include_glob(yytext, 0);
6525	BEGIN(inc_prev);
6526}
6527	YY_BREAK
6528case YY_STATE_EOF(INITIAL):
6529case YY_STATE_EOF(val):
6530#line 653 "util/configlexer.lex"
6531{
6532	LEXOUT(("LEXEOF "));
6533	yy_set_bol(1); /* Set beginning of line, so "^" rules match.  */
6534	if (!config_include_stack) {
6535		yyterminate();
6536	} else {
6537		int prev_toplevel = inc_toplevel;
6538		fclose(yyin);
6539		config_end_include();
6540		if(prev_toplevel) return (VAR_FORCE_TOPLEVEL);
6541	}
6542}
6543	YY_BREAK
6544/* include-toplevel: directive */
6545case 373:
6546YY_RULE_SETUP
6547#line 667 "util/configlexer.lex"
6548{
6549	LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include_toplevel);
6550}
6551	YY_BREAK
6552case YY_STATE_EOF(include_toplevel):
6553#line 670 "util/configlexer.lex"
6554{
6555	yyerror("EOF inside include_toplevel directive");
6556	BEGIN(inc_prev);
6557}
6558	YY_BREAK
6559case 374:
6560YY_RULE_SETUP
6561#line 674 "util/configlexer.lex"
6562{ LEXOUT(("ITSP ")); /* ignore */ }
6563	YY_BREAK
6564case 375:
6565/* rule 375 can match eol */
6566YY_RULE_SETUP
6567#line 675 "util/configlexer.lex"
6568{ LEXOUT(("NL\n")); cfg_parser->line++; }
6569	YY_BREAK
6570case 376:
6571YY_RULE_SETUP
6572#line 676 "util/configlexer.lex"
6573{ LEXOUT(("ITQS ")); BEGIN(include_toplevel_quoted); }
6574	YY_BREAK
6575case 377:
6576YY_RULE_SETUP
6577#line 677 "util/configlexer.lex"
6578{
6579	LEXOUT(("ITunquotedstr(%s) ", yytext));
6580	config_start_include_glob(yytext, 1);
6581	BEGIN(inc_prev);
6582	return (VAR_FORCE_TOPLEVEL);
6583}
6584	YY_BREAK
6585case YY_STATE_EOF(include_toplevel_quoted):
6586#line 683 "util/configlexer.lex"
6587{
6588	yyerror("EOF inside quoted string");
6589	BEGIN(inc_prev);
6590}
6591	YY_BREAK
6592case 378:
6593YY_RULE_SETUP
6594#line 687 "util/configlexer.lex"
6595{ LEXOUT(("ITSTR(%s) ", yytext)); yymore(); }
6596	YY_BREAK
6597case 379:
6598/* rule 379 can match eol */
6599YY_RULE_SETUP
6600#line 688 "util/configlexer.lex"
6601{
6602	yyerror("newline before \" in include name");
6603	cfg_parser->line++; BEGIN(inc_prev);
6604}
6605	YY_BREAK
6606case 380:
6607YY_RULE_SETUP
6608#line 692 "util/configlexer.lex"
6609{
6610	LEXOUT(("ITQE "));
6611	yytext[yyleng - 1] = '\0';
6612	config_start_include_glob(yytext, 1);
6613	BEGIN(inc_prev);
6614	return (VAR_FORCE_TOPLEVEL);
6615}
6616	YY_BREAK
6617case 381:
6618YY_RULE_SETUP
6619#line 700 "util/configlexer.lex"
6620{ LEXOUT(("unquotedstr(%s) ", yytext));
6621			if(--num_args == 0) { BEGIN(INITIAL); }
6622			yylval.str = strdup(yytext); return STRING_ARG; }
6623	YY_BREAK
6624case 382:
6625YY_RULE_SETUP
6626#line 704 "util/configlexer.lex"
6627{
6628	ub_c_error_msg("unknown keyword '%s'", yytext);
6629	}
6630	YY_BREAK
6631case 383:
6632YY_RULE_SETUP
6633#line 708 "util/configlexer.lex"
6634{
6635	ub_c_error_msg("stray '%s'", yytext);
6636	}
6637	YY_BREAK
6638case 384:
6639YY_RULE_SETUP
6640#line 712 "util/configlexer.lex"
6641ECHO;
6642	YY_BREAK
6643#line 6641 "<stdout>"
6644
6645	case YY_END_OF_BUFFER:
6646		{
6647		/* Amount of text matched not including the EOB char. */
6648		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
6649
6650		/* Undo the effects of YY_DO_BEFORE_ACTION. */
6651		*yy_cp = (yy_hold_char);
6652		YY_RESTORE_YY_MORE_OFFSET
6653
6654		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
6655			{
6656			/* We're scanning a new file or input source.  It's
6657			 * possible that this happened because the user
6658			 * just pointed yyin at a new source and called
6659			 * yylex().  If so, then we have to assure
6660			 * consistency between YY_CURRENT_BUFFER and our
6661			 * globals.  Here is the right place to do so, because
6662			 * this is the first action (other than possibly a
6663			 * back-up) that will match for the new input source.
6664			 */
6665			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6666			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
6667			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
6668			}
6669
6670		/* Note that here we test for yy_c_buf_p "<=" to the position
6671		 * of the first EOB in the buffer, since yy_c_buf_p will
6672		 * already have been incremented past the NUL character
6673		 * (since all states make transitions on EOB to the
6674		 * end-of-buffer state).  Contrast this with the test
6675		 * in input().
6676		 */
6677		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6678			{ /* This was really a NUL. */
6679			yy_state_type yy_next_state;
6680
6681			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
6682
6683			yy_current_state = yy_get_previous_state(  );
6684
6685			/* Okay, we're now positioned to make the NUL
6686			 * transition.  We couldn't have
6687			 * yy_get_previous_state() go ahead and do it
6688			 * for us because it doesn't know how to deal
6689			 * with the possibility of jamming (and we don't
6690			 * want to build jamming into it because then it
6691			 * will run more slowly).
6692			 */
6693
6694			yy_next_state = yy_try_NUL_trans( yy_current_state );
6695
6696			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6697
6698			if ( yy_next_state )
6699				{
6700				/* Consume the NUL. */
6701				yy_cp = ++(yy_c_buf_p);
6702				yy_current_state = yy_next_state;
6703				goto yy_match;
6704				}
6705
6706			else
6707				{
6708				yy_cp = (yy_c_buf_p);
6709				goto yy_find_action;
6710				}
6711			}
6712
6713		else switch ( yy_get_next_buffer(  ) )
6714			{
6715			case EOB_ACT_END_OF_FILE:
6716				{
6717				(yy_did_buffer_switch_on_eof) = 0;
6718
6719				if ( yywrap(  ) )
6720					{
6721					/* Note: because we've taken care in
6722					 * yy_get_next_buffer() to have set up
6723					 * yytext, we can now set up
6724					 * yy_c_buf_p so that if some total
6725					 * hoser (like flex itself) wants to
6726					 * call the scanner after we return the
6727					 * YY_NULL, it'll still work - another
6728					 * YY_NULL will get returned.
6729					 */
6730					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
6731
6732					yy_act = YY_STATE_EOF(YY_START);
6733					goto do_action;
6734					}
6735
6736				else
6737					{
6738					if ( ! (yy_did_buffer_switch_on_eof) )
6739						YY_NEW_FILE;
6740					}
6741				break;
6742				}
6743
6744			case EOB_ACT_CONTINUE_SCAN:
6745				(yy_c_buf_p) =
6746					(yytext_ptr) + yy_amount_of_matched_text;
6747
6748				yy_current_state = yy_get_previous_state(  );
6749
6750				yy_cp = (yy_c_buf_p);
6751				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6752				goto yy_match;
6753
6754			case EOB_ACT_LAST_MATCH:
6755				(yy_c_buf_p) =
6756				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
6757
6758				yy_current_state = yy_get_previous_state(  );
6759
6760				yy_cp = (yy_c_buf_p);
6761				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
6762				goto yy_find_action;
6763			}
6764		break;
6765		}
6766
6767	default:
6768		YY_FATAL_ERROR(
6769			"fatal flex scanner internal error--no action found" );
6770	} /* end of action switch */
6771		} /* end of scanning one token */
6772	} /* end of user's declarations */
6773} /* end of yylex */
6774
6775/* yy_get_next_buffer - try to read in a new buffer
6776 *
6777 * Returns a code representing an action:
6778 *	EOB_ACT_LAST_MATCH -
6779 *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
6780 *	EOB_ACT_END_OF_FILE - end of file
6781 */
6782static int yy_get_next_buffer (void)
6783{
6784    	char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
6785	char *source = (yytext_ptr);
6786	int number_to_move, i;
6787	int ret_val;
6788
6789	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
6790		YY_FATAL_ERROR(
6791		"fatal flex scanner internal error--end of buffer missed" );
6792
6793	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
6794		{ /* Don't try to fill the buffer, so this is an EOF. */
6795		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
6796			{
6797			/* We matched a single character, the EOB, so
6798			 * treat this as a final EOF.
6799			 */
6800			return EOB_ACT_END_OF_FILE;
6801			}
6802
6803		else
6804			{
6805			/* We matched some text prior to the EOB, first
6806			 * process it.
6807			 */
6808			return EOB_ACT_LAST_MATCH;
6809			}
6810		}
6811
6812	/* Try to read more data. */
6813
6814	/* First move last chars to start of buffer. */
6815	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
6816
6817	for ( i = 0; i < number_to_move; ++i )
6818		*(dest++) = *(source++);
6819
6820	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
6821		/* don't do the read, it's not guaranteed to return an EOF,
6822		 * just force an EOF
6823		 */
6824		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
6825
6826	else
6827		{
6828			int num_to_read =
6829			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
6830
6831		while ( num_to_read <= 0 )
6832			{ /* Not enough room in the buffer - grow it. */
6833
6834			/* just a shorter name for the current buffer */
6835			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
6836
6837			int yy_c_buf_p_offset =
6838				(int) ((yy_c_buf_p) - b->yy_ch_buf);
6839
6840			if ( b->yy_is_our_buffer )
6841				{
6842				int new_size = b->yy_buf_size * 2;
6843
6844				if ( new_size <= 0 )
6845					b->yy_buf_size += b->yy_buf_size / 8;
6846				else
6847					b->yy_buf_size *= 2;
6848
6849				b->yy_ch_buf = (char *)
6850					/* Include room in for 2 EOB chars. */
6851					yyrealloc( (void *) b->yy_ch_buf,
6852							 (yy_size_t) (b->yy_buf_size + 2)  );
6853				}
6854			else
6855				/* Can't grow it, we don't own it. */
6856				b->yy_ch_buf = NULL;
6857
6858			if ( ! b->yy_ch_buf )
6859				YY_FATAL_ERROR(
6860				"fatal error - scanner input buffer overflow" );
6861
6862			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
6863
6864			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
6865						number_to_move - 1;
6866
6867			}
6868
6869		if ( num_to_read > YY_READ_BUF_SIZE )
6870			num_to_read = YY_READ_BUF_SIZE;
6871
6872		/* Read in more data. */
6873		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
6874			(yy_n_chars), num_to_read );
6875
6876		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6877		}
6878
6879	if ( (yy_n_chars) == 0 )
6880		{
6881		if ( number_to_move == YY_MORE_ADJ )
6882			{
6883			ret_val = EOB_ACT_END_OF_FILE;
6884			yyrestart( yyin  );
6885			}
6886
6887		else
6888			{
6889			ret_val = EOB_ACT_LAST_MATCH;
6890			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
6891				YY_BUFFER_EOF_PENDING;
6892			}
6893		}
6894
6895	else
6896		ret_val = EOB_ACT_CONTINUE_SCAN;
6897
6898	if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
6899		/* Extend the array by 50%, plus the number we really need. */
6900		int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
6901		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
6902			(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
6903		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6904			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
6905		/* "- 2" to take care of EOB's */
6906		YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
6907	}
6908
6909	(yy_n_chars) += number_to_move;
6910	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
6911	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
6912
6913	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
6914
6915	return ret_val;
6916}
6917
6918/* yy_get_previous_state - get the state just before the EOB char was reached */
6919
6920    static yy_state_type yy_get_previous_state (void)
6921{
6922	yy_state_type yy_current_state;
6923	char *yy_cp;
6924
6925	yy_current_state = (yy_start);
6926
6927	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
6928		{
6929		YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
6930		if ( yy_accept[yy_current_state] )
6931			{
6932			(yy_last_accepting_state) = yy_current_state;
6933			(yy_last_accepting_cpos) = yy_cp;
6934			}
6935		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6936			{
6937			yy_current_state = (int) yy_def[yy_current_state];
6938			if ( yy_current_state >= 3807 )
6939				yy_c = yy_meta[yy_c];
6940			}
6941		yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
6942		}
6943
6944	return yy_current_state;
6945}
6946
6947/* yy_try_NUL_trans - try to make a transition on the NUL character
6948 *
6949 * synopsis
6950 *	next_state = yy_try_NUL_trans( current_state );
6951 */
6952    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
6953{
6954	int yy_is_jam;
6955    	char *yy_cp = (yy_c_buf_p);
6956
6957	YY_CHAR yy_c = 1;
6958	if ( yy_accept[yy_current_state] )
6959		{
6960		(yy_last_accepting_state) = yy_current_state;
6961		(yy_last_accepting_cpos) = yy_cp;
6962		}
6963	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6964		{
6965		yy_current_state = (int) yy_def[yy_current_state];
6966		if ( yy_current_state >= 3807 )
6967			yy_c = yy_meta[yy_c];
6968		}
6969	yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
6970	yy_is_jam = (yy_current_state == 3806);
6971
6972		return yy_is_jam ? 0 : yy_current_state;
6973}
6974
6975#ifndef YY_NO_UNPUT
6976
6977#endif
6978
6979#ifndef YY_NO_INPUT
6980#ifdef __cplusplus
6981    static int yyinput (void)
6982#else
6983    static int input  (void)
6984#endif
6985
6986{
6987	int c;
6988
6989	*(yy_c_buf_p) = (yy_hold_char);
6990
6991	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6992		{
6993		/* yy_c_buf_p now points to the character we want to return.
6994		 * If this occurs *before* the EOB characters, then it's a
6995		 * valid NUL; if not, then we've hit the end of the buffer.
6996		 */
6997		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6998			/* This was really a NUL. */
6999			*(yy_c_buf_p) = '\0';
7000
7001		else
7002			{ /* need more input */
7003			int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
7004			++(yy_c_buf_p);
7005
7006			switch ( yy_get_next_buffer(  ) )
7007				{
7008				case EOB_ACT_LAST_MATCH:
7009					/* This happens because yy_g_n_b()
7010					 * sees that we've accumulated a
7011					 * token and flags that we need to
7012					 * try matching the token before
7013					 * proceeding.  But for input(),
7014					 * there's no matching to consider.
7015					 * So convert the EOB_ACT_LAST_MATCH
7016					 * to EOB_ACT_END_OF_FILE.
7017					 */
7018
7019					/* Reset buffer status. */
7020					yyrestart( yyin );
7021
7022					/*FALLTHROUGH*/
7023
7024				case EOB_ACT_END_OF_FILE:
7025					{
7026					if ( yywrap(  ) )
7027						return 0;
7028
7029					if ( ! (yy_did_buffer_switch_on_eof) )
7030						YY_NEW_FILE;
7031#ifdef __cplusplus
7032					return yyinput();
7033#else
7034					return input();
7035#endif
7036					}
7037
7038				case EOB_ACT_CONTINUE_SCAN:
7039					(yy_c_buf_p) = (yytext_ptr) + offset;
7040					break;
7041				}
7042			}
7043		}
7044
7045	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
7046	*(yy_c_buf_p) = '\0';	/* preserve yytext */
7047	(yy_hold_char) = *++(yy_c_buf_p);
7048
7049	return c;
7050}
7051#endif	/* ifndef YY_NO_INPUT */
7052
7053/** Immediately switch to a different input stream.
7054 * @param input_file A readable stream.
7055 *
7056 * @note This function does not reset the start condition to @c INITIAL .
7057 */
7058    void yyrestart  (FILE * input_file )
7059{
7060
7061	if ( ! YY_CURRENT_BUFFER ){
7062        yyensure_buffer_stack ();
7063		YY_CURRENT_BUFFER_LVALUE =
7064            yy_create_buffer( yyin, YY_BUF_SIZE );
7065	}
7066
7067	yy_init_buffer( YY_CURRENT_BUFFER, input_file );
7068	yy_load_buffer_state(  );
7069}
7070
7071/** Switch to a different input buffer.
7072 * @param new_buffer The new input buffer.
7073 *
7074 */
7075    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
7076{
7077
7078	/* TODO. We should be able to replace this entire function body
7079	 * with
7080	 *		yypop_buffer_state();
7081	 *		yypush_buffer_state(new_buffer);
7082     */
7083	yyensure_buffer_stack ();
7084	if ( YY_CURRENT_BUFFER == new_buffer )
7085		return;
7086
7087	if ( YY_CURRENT_BUFFER )
7088		{
7089		/* Flush out information for old buffer. */
7090		*(yy_c_buf_p) = (yy_hold_char);
7091		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7092		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7093		}
7094
7095	YY_CURRENT_BUFFER_LVALUE = new_buffer;
7096	yy_load_buffer_state(  );
7097
7098	/* We don't actually know whether we did this switch during
7099	 * EOF (yywrap()) processing, but the only time this flag
7100	 * is looked at is after yywrap() is called, so it's safe
7101	 * to go ahead and always set it.
7102	 */
7103	(yy_did_buffer_switch_on_eof) = 1;
7104}
7105
7106static void yy_load_buffer_state  (void)
7107{
7108    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
7109	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
7110	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
7111	(yy_hold_char) = *(yy_c_buf_p);
7112}
7113
7114/** Allocate and initialize an input buffer state.
7115 * @param file A readable stream.
7116 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
7117 *
7118 * @return the allocated buffer state.
7119 */
7120    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
7121{
7122	YY_BUFFER_STATE b;
7123
7124	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
7125	if ( ! b )
7126		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
7127
7128	b->yy_buf_size = size;
7129
7130	/* yy_ch_buf has to be 2 characters longer than the size given because
7131	 * we need to put in 2 end-of-buffer characters.
7132	 */
7133	b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
7134	if ( ! b->yy_ch_buf )
7135		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
7136
7137	b->yy_is_our_buffer = 1;
7138
7139	yy_init_buffer( b, file );
7140
7141	return b;
7142}
7143
7144/** Destroy the buffer.
7145 * @param b a buffer created with yy_create_buffer()
7146 *
7147 */
7148    void yy_delete_buffer (YY_BUFFER_STATE  b )
7149{
7150
7151	if ( ! b )
7152		return;
7153
7154	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
7155		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
7156
7157	if ( b->yy_is_our_buffer )
7158		yyfree( (void *) b->yy_ch_buf  );
7159
7160	yyfree( (void *) b  );
7161}
7162
7163/* Initializes or reinitializes a buffer.
7164 * This function is sometimes called more than once on the same buffer,
7165 * such as during a yyrestart() or at EOF.
7166 */
7167    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
7168
7169{
7170	int oerrno = errno;
7171
7172	yy_flush_buffer( b );
7173
7174	b->yy_input_file = file;
7175	b->yy_fill_buffer = 1;
7176
7177    /* If b is the current buffer, then yy_init_buffer was _probably_
7178     * called from yyrestart() or through yy_get_next_buffer.
7179     * In that case, we don't want to reset the lineno or column.
7180     */
7181    if (b != YY_CURRENT_BUFFER){
7182        b->yy_bs_lineno = 1;
7183        b->yy_bs_column = 0;
7184    }
7185
7186        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
7187
7188	errno = oerrno;
7189}
7190
7191/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
7192 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
7193 *
7194 */
7195    void yy_flush_buffer (YY_BUFFER_STATE  b )
7196{
7197    	if ( ! b )
7198		return;
7199
7200	b->yy_n_chars = 0;
7201
7202	/* We always need two end-of-buffer characters.  The first causes
7203	 * a transition to the end-of-buffer state.  The second causes
7204	 * a jam in that state.
7205	 */
7206	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
7207	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
7208
7209	b->yy_buf_pos = &b->yy_ch_buf[0];
7210
7211	b->yy_at_bol = 1;
7212	b->yy_buffer_status = YY_BUFFER_NEW;
7213
7214	if ( b == YY_CURRENT_BUFFER )
7215		yy_load_buffer_state(  );
7216}
7217
7218/** Pushes the new state onto the stack. The new state becomes
7219 *  the current state. This function will allocate the stack
7220 *  if necessary.
7221 *  @param new_buffer The new state.
7222 *
7223 */
7224void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
7225{
7226    	if (new_buffer == NULL)
7227		return;
7228
7229	yyensure_buffer_stack();
7230
7231	/* This block is copied from yy_switch_to_buffer. */
7232	if ( YY_CURRENT_BUFFER )
7233		{
7234		/* Flush out information for old buffer. */
7235		*(yy_c_buf_p) = (yy_hold_char);
7236		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
7237		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
7238		}
7239
7240	/* Only push if top exists. Otherwise, replace top. */
7241	if (YY_CURRENT_BUFFER)
7242		(yy_buffer_stack_top)++;
7243	YY_CURRENT_BUFFER_LVALUE = new_buffer;
7244
7245	/* copied from yy_switch_to_buffer. */
7246	yy_load_buffer_state(  );
7247	(yy_did_buffer_switch_on_eof) = 1;
7248}
7249
7250/** Removes and deletes the top of the stack, if present.
7251 *  The next element becomes the new top.
7252 *
7253 */
7254void yypop_buffer_state (void)
7255{
7256    	if (!YY_CURRENT_BUFFER)
7257		return;
7258
7259	yy_delete_buffer(YY_CURRENT_BUFFER );
7260	YY_CURRENT_BUFFER_LVALUE = NULL;
7261	if ((yy_buffer_stack_top) > 0)
7262		--(yy_buffer_stack_top);
7263
7264	if (YY_CURRENT_BUFFER) {
7265		yy_load_buffer_state(  );
7266		(yy_did_buffer_switch_on_eof) = 1;
7267	}
7268}
7269
7270/* Allocates the stack if it does not exist.
7271 *  Guarantees space for at least one push.
7272 */
7273static void yyensure_buffer_stack (void)
7274{
7275	yy_size_t num_to_alloc;
7276
7277	if (!(yy_buffer_stack)) {
7278
7279		/* First allocation is just for 2 elements, since we don't know if this
7280		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
7281		 * immediate realloc on the next call.
7282         */
7283      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
7284		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
7285								(num_to_alloc * sizeof(struct yy_buffer_state*)
7286								);
7287		if ( ! (yy_buffer_stack) )
7288			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
7289
7290		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
7291
7292		(yy_buffer_stack_max) = num_to_alloc;
7293		(yy_buffer_stack_top) = 0;
7294		return;
7295	}
7296
7297	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
7298
7299		/* Increase the buffer to prepare for a possible push. */
7300		yy_size_t grow_size = 8 /* arbitrary grow size */;
7301
7302		num_to_alloc = (yy_buffer_stack_max) + grow_size;
7303		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
7304								((yy_buffer_stack),
7305								num_to_alloc * sizeof(struct yy_buffer_state*)
7306								);
7307		if ( ! (yy_buffer_stack) )
7308			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
7309
7310		/* zero only the new slots.*/
7311		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
7312		(yy_buffer_stack_max) = num_to_alloc;
7313	}
7314}
7315
7316/** Setup the input buffer state to scan directly from a user-specified character buffer.
7317 * @param base the character buffer
7318 * @param size the size in bytes of the character buffer
7319 *
7320 * @return the newly allocated buffer state object.
7321 */
7322YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
7323{
7324	YY_BUFFER_STATE b;
7325
7326	if ( size < 2 ||
7327	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
7328	     base[size-1] != YY_END_OF_BUFFER_CHAR )
7329		/* They forgot to leave room for the EOB's. */
7330		return NULL;
7331
7332	b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
7333	if ( ! b )
7334		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
7335
7336	b->yy_buf_size = (int) (size - 2);	/* "- 2" to take care of EOB's */
7337	b->yy_buf_pos = b->yy_ch_buf = base;
7338	b->yy_is_our_buffer = 0;
7339	b->yy_input_file = NULL;
7340	b->yy_n_chars = b->yy_buf_size;
7341	b->yy_is_interactive = 0;
7342	b->yy_at_bol = 1;
7343	b->yy_fill_buffer = 0;
7344	b->yy_buffer_status = YY_BUFFER_NEW;
7345
7346	yy_switch_to_buffer( b  );
7347
7348	return b;
7349}
7350
7351/** Setup the input buffer state to scan a string. The next call to yylex() will
7352 * scan from a @e copy of @a str.
7353 * @param yystr a NUL-terminated string to scan
7354 *
7355 * @return the newly allocated buffer state object.
7356 * @note If you want to scan bytes that may contain NUL values, then use
7357 *       yy_scan_bytes() instead.
7358 */
7359YY_BUFFER_STATE yy_scan_string (const char * yystr )
7360{
7361
7362	return yy_scan_bytes( yystr, (int) strlen(yystr) );
7363}
7364
7365/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
7366 * scan from a @e copy of @a bytes.
7367 * @param yybytes the byte buffer to scan
7368 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
7369 *
7370 * @return the newly allocated buffer state object.
7371 */
7372YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
7373{
7374	YY_BUFFER_STATE b;
7375	char *buf;
7376	yy_size_t n;
7377	int i;
7378
7379	/* Get memory for full buffer, including space for trailing EOB's. */
7380	n = (yy_size_t) (_yybytes_len + 2);
7381	buf = (char *) yyalloc( n  );
7382	if ( ! buf )
7383		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
7384
7385	for ( i = 0; i < _yybytes_len; ++i )
7386		buf[i] = yybytes[i];
7387
7388	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
7389
7390	b = yy_scan_buffer( buf, n );
7391	if ( ! b )
7392		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
7393
7394	/* It's okay to grow etc. this buffer, and we should throw it
7395	 * away when we're done.
7396	 */
7397	b->yy_is_our_buffer = 1;
7398
7399	return b;
7400}
7401
7402#ifndef YY_EXIT_FAILURE
7403#define YY_EXIT_FAILURE 2
7404#endif
7405
7406static void yynoreturn yy_fatal_error (const char* msg )
7407{
7408			fprintf( stderr, "%s\n", msg );
7409	exit( YY_EXIT_FAILURE );
7410}
7411
7412/* Redefine yyless() so it works in section 3 code. */
7413
7414#undef yyless
7415#define yyless(n) \
7416	do \
7417		{ \
7418		/* Undo effects of setting up yytext. */ \
7419        int yyless_macro_arg = (n); \
7420        YY_LESS_LINENO(yyless_macro_arg);\
7421		yytext[yyleng] = (yy_hold_char); \
7422		(yy_c_buf_p) = yytext + yyless_macro_arg; \
7423		(yy_hold_char) = *(yy_c_buf_p); \
7424		*(yy_c_buf_p) = '\0'; \
7425		yyleng = yyless_macro_arg; \
7426		} \
7427	while ( 0 )
7428
7429/* Accessor  methods (get/set functions) to struct members. */
7430
7431/** Get the current line number.
7432 *
7433 */
7434int yyget_lineno  (void)
7435{
7436
7437    return yylineno;
7438}
7439
7440/** Get the input stream.
7441 *
7442 */
7443FILE *yyget_in  (void)
7444{
7445        return yyin;
7446}
7447
7448/** Get the output stream.
7449 *
7450 */
7451FILE *yyget_out  (void)
7452{
7453        return yyout;
7454}
7455
7456/** Get the length of the current token.
7457 *
7458 */
7459int yyget_leng  (void)
7460{
7461        return yyleng;
7462}
7463
7464/** Get the current token.
7465 *
7466 */
7467
7468char *yyget_text  (void)
7469{
7470        return yytext;
7471}
7472
7473/** Set the current line number.
7474 * @param _line_number line number
7475 *
7476 */
7477void yyset_lineno (int  _line_number )
7478{
7479
7480    yylineno = _line_number;
7481}
7482
7483/** Set the input stream. This does not discard the current
7484 * input buffer.
7485 * @param _in_str A readable stream.
7486 *
7487 * @see yy_switch_to_buffer
7488 */
7489void yyset_in (FILE *  _in_str )
7490{
7491        yyin = _in_str ;
7492}
7493
7494void yyset_out (FILE *  _out_str )
7495{
7496        yyout = _out_str ;
7497}
7498
7499int yyget_debug  (void)
7500{
7501        return yy_flex_debug;
7502}
7503
7504void yyset_debug (int  _bdebug )
7505{
7506        yy_flex_debug = _bdebug ;
7507}
7508
7509static int yy_init_globals (void)
7510{
7511        /* Initialization is the same as for the non-reentrant scanner.
7512     * This function is called from yylex_destroy(), so don't allocate here.
7513     */
7514
7515    (yy_buffer_stack) = NULL;
7516    (yy_buffer_stack_top) = 0;
7517    (yy_buffer_stack_max) = 0;
7518    (yy_c_buf_p) = NULL;
7519    (yy_init) = 0;
7520    (yy_start) = 0;
7521
7522/* Defined in main.c */
7523#ifdef YY_STDINIT
7524    yyin = stdin;
7525    yyout = stdout;
7526#else
7527    yyin = NULL;
7528    yyout = NULL;
7529#endif
7530
7531    /* For future reference: Set errno on error, since we are called by
7532     * yylex_init()
7533     */
7534    return 0;
7535}
7536
7537/* yylex_destroy is for both reentrant and non-reentrant scanners. */
7538int yylex_destroy  (void)
7539{
7540
7541    /* Pop the buffer stack, destroying each element. */
7542	while(YY_CURRENT_BUFFER){
7543		yy_delete_buffer( YY_CURRENT_BUFFER  );
7544		YY_CURRENT_BUFFER_LVALUE = NULL;
7545		yypop_buffer_state();
7546	}
7547
7548	/* Destroy the stack itself. */
7549	yyfree((yy_buffer_stack) );
7550	(yy_buffer_stack) = NULL;
7551
7552    /* Reset the globals. This is important in a non-reentrant scanner so the next time
7553     * yylex() is called, initialization will occur. */
7554    yy_init_globals( );
7555
7556    return 0;
7557}
7558
7559/*
7560 * Internal utility routines.
7561 */
7562
7563#ifndef yytext_ptr
7564static void yy_flex_strncpy (char* s1, const char * s2, int n )
7565{
7566
7567	int i;
7568	for ( i = 0; i < n; ++i )
7569		s1[i] = s2[i];
7570}
7571#endif
7572
7573#ifdef YY_NEED_STRLEN
7574static int yy_flex_strlen (const char * s )
7575{
7576	int n;
7577	for ( n = 0; s[n]; ++n )
7578		;
7579
7580	return n;
7581}
7582#endif
7583
7584void *yyalloc (yy_size_t  size )
7585{
7586			return malloc(size);
7587}
7588
7589void *yyrealloc  (void * ptr, yy_size_t  size )
7590{
7591
7592	/* The cast to (char *) in the following accommodates both
7593	 * implementations that use char* generic pointers, and those
7594	 * that use void* generic pointers.  It works with the latter
7595	 * because both ANSI C and C++ allow castless assignment from
7596	 * any pointer type to void*, and deal with argument conversions
7597	 * as though doing an assignment.
7598	 */
7599	return realloc(ptr, size);
7600}
7601
7602void yyfree (void * ptr )
7603{
7604			free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
7605}
7606
7607#define YYTABLES_NAME "yytables"
7608
7609#line 712 "util/configlexer.lex"
7610
7611
7612