Kea 2.7.6
dhcp6_lexer.cc
Go to the documentation of this file.
1#line 2 "dhcp6_lexer.cc"
2
3#line 4 "dhcp6_lexer.cc"
4
5#define YY_INT_ALIGNED short int
6
7/* A lexical scanner generated by flex */
8
9/* %not-for-header */
10/* %if-c-only */
11/* %if-not-reentrant */
12#define yy_create_buffer parser6__create_buffer
13#define yy_delete_buffer parser6__delete_buffer
14#define yy_scan_buffer parser6__scan_buffer
15#define yy_scan_string parser6__scan_string
16#define yy_scan_bytes parser6__scan_bytes
17#define yy_init_buffer parser6__init_buffer
18#define yy_flush_buffer parser6__flush_buffer
19#define yy_load_buffer_state parser6__load_buffer_state
20#define yy_switch_to_buffer parser6__switch_to_buffer
21#define yypush_buffer_state parser6_push_buffer_state
22#define yypop_buffer_state parser6_pop_buffer_state
23#define yyensure_buffer_stack parser6_ensure_buffer_stack
24#define yy_flex_debug parser6__flex_debug
25#define yyin parser6_in
26#define yyleng parser6_leng
27#define yylex parser6_lex
28#define yylineno parser6_lineno
29#define yyout parser6_out
30#define yyrestart parser6_restart
31#define yytext parser6_text
32#define yywrap parser6_wrap
33#define yyalloc parser6_alloc
34#define yyrealloc parser6_realloc
35#define yyfree parser6_free
36
37/* %endif */
38/* %endif */
39/* %ok-for-header */
40
41#define FLEX_SCANNER
42#define YY_FLEX_MAJOR_VERSION 2
43#define YY_FLEX_MINOR_VERSION 6
44#define YY_FLEX_SUBMINOR_VERSION 4
45#if YY_FLEX_SUBMINOR_VERSION > 0
46#define FLEX_BETA
47#endif
48
49/* %if-c++-only */
50/* %endif */
51
52/* %if-c-only */
53#ifdef yy_create_buffer
54#define parser6__create_buffer_ALREADY_DEFINED
55#else
56#define yy_create_buffer parser6__create_buffer
57#endif
58
59#ifdef yy_delete_buffer
60#define parser6__delete_buffer_ALREADY_DEFINED
61#else
62#define yy_delete_buffer parser6__delete_buffer
63#endif
64
65#ifdef yy_scan_buffer
66#define parser6__scan_buffer_ALREADY_DEFINED
67#else
68#define yy_scan_buffer parser6__scan_buffer
69#endif
70
71#ifdef yy_scan_string
72#define parser6__scan_string_ALREADY_DEFINED
73#else
74#define yy_scan_string parser6__scan_string
75#endif
76
77#ifdef yy_scan_bytes
78#define parser6__scan_bytes_ALREADY_DEFINED
79#else
80#define yy_scan_bytes parser6__scan_bytes
81#endif
82
83#ifdef yy_init_buffer
84#define parser6__init_buffer_ALREADY_DEFINED
85#else
86#define yy_init_buffer parser6__init_buffer
87#endif
88
89#ifdef yy_flush_buffer
90#define parser6__flush_buffer_ALREADY_DEFINED
91#else
92#define yy_flush_buffer parser6__flush_buffer
93#endif
94
95#ifdef yy_load_buffer_state
96#define parser6__load_buffer_state_ALREADY_DEFINED
97#else
98#define yy_load_buffer_state parser6__load_buffer_state
99#endif
100
101#ifdef yy_switch_to_buffer
102#define parser6__switch_to_buffer_ALREADY_DEFINED
103#else
104#define yy_switch_to_buffer parser6__switch_to_buffer
105#endif
106
107#ifdef yypush_buffer_state
108#define parser6_push_buffer_state_ALREADY_DEFINED
109#else
110#define yypush_buffer_state parser6_push_buffer_state
111#endif
112
113#ifdef yypop_buffer_state
114#define parser6_pop_buffer_state_ALREADY_DEFINED
115#else
116#define yypop_buffer_state parser6_pop_buffer_state
117#endif
118
119#ifdef yyensure_buffer_stack
120#define parser6_ensure_buffer_stack_ALREADY_DEFINED
121#else
122#define yyensure_buffer_stack parser6_ensure_buffer_stack
123#endif
124
125#ifdef yylex
126#define parser6_lex_ALREADY_DEFINED
127#else
128#define yylex parser6_lex
129#endif
130
131#ifdef yyrestart
132#define parser6_restart_ALREADY_DEFINED
133#else
134#define yyrestart parser6_restart
135#endif
136
137#ifdef yylex_init
138#define parser6_lex_init_ALREADY_DEFINED
139#else
140#define yylex_init parser6_lex_init
141#endif
142
143#ifdef yylex_init_extra
144#define parser6_lex_init_extra_ALREADY_DEFINED
145#else
146#define yylex_init_extra parser6_lex_init_extra
147#endif
148
149#ifdef yylex_destroy
150#define parser6_lex_destroy_ALREADY_DEFINED
151#else
152#define yylex_destroy parser6_lex_destroy
153#endif
154
155#ifdef yyget_debug
156#define parser6_get_debug_ALREADY_DEFINED
157#else
158#define yyget_debug parser6_get_debug
159#endif
160
161#ifdef yyset_debug
162#define parser6_set_debug_ALREADY_DEFINED
163#else
164#define yyset_debug parser6_set_debug
165#endif
166
167#ifdef yyget_extra
168#define parser6_get_extra_ALREADY_DEFINED
169#else
170#define yyget_extra parser6_get_extra
171#endif
172
173#ifdef yyset_extra
174#define parser6_set_extra_ALREADY_DEFINED
175#else
176#define yyset_extra parser6_set_extra
177#endif
178
179#ifdef yyget_in
180#define parser6_get_in_ALREADY_DEFINED
181#else
182#define yyget_in parser6_get_in
183#endif
184
185#ifdef yyset_in
186#define parser6_set_in_ALREADY_DEFINED
187#else
188#define yyset_in parser6_set_in
189#endif
190
191#ifdef yyget_out
192#define parser6_get_out_ALREADY_DEFINED
193#else
194#define yyget_out parser6_get_out
195#endif
196
197#ifdef yyset_out
198#define parser6_set_out_ALREADY_DEFINED
199#else
200#define yyset_out parser6_set_out
201#endif
202
203#ifdef yyget_leng
204#define parser6_get_leng_ALREADY_DEFINED
205#else
206#define yyget_leng parser6_get_leng
207#endif
208
209#ifdef yyget_text
210#define parser6_get_text_ALREADY_DEFINED
211#else
212#define yyget_text parser6_get_text
213#endif
214
215#ifdef yyget_lineno
216#define parser6_get_lineno_ALREADY_DEFINED
217#else
218#define yyget_lineno parser6_get_lineno
219#endif
220
221#ifdef yyset_lineno
222#define parser6_set_lineno_ALREADY_DEFINED
223#else
224#define yyset_lineno parser6_set_lineno
225#endif
226
227#ifdef yywrap
228#define parser6_wrap_ALREADY_DEFINED
229#else
230#define yywrap parser6_wrap
231#endif
232
233/* %endif */
234
235#ifdef yyalloc
236#define parser6_alloc_ALREADY_DEFINED
237#else
238#define yyalloc parser6_alloc
239#endif
240
241#ifdef yyrealloc
242#define parser6_realloc_ALREADY_DEFINED
243#else
244#define yyrealloc parser6_realloc
245#endif
246
247#ifdef yyfree
248#define parser6_free_ALREADY_DEFINED
249#else
250#define yyfree parser6_free
251#endif
252
253/* %if-c-only */
254
255#ifdef yytext
256#define parser6_text_ALREADY_DEFINED
257#else
258#define yytext parser6_text
259#endif
260
261#ifdef yyleng
262#define parser6_leng_ALREADY_DEFINED
263#else
264#define yyleng parser6_leng
265#endif
266
267#ifdef yyin
268#define parser6_in_ALREADY_DEFINED
269#else
270#define yyin parser6_in
271#endif
272
273#ifdef yyout
274#define parser6_out_ALREADY_DEFINED
275#else
276#define yyout parser6_out
277#endif
278
279#ifdef yy_flex_debug
280#define parser6__flex_debug_ALREADY_DEFINED
281#else
282#define yy_flex_debug parser6__flex_debug
283#endif
284
285#ifdef yylineno
286#define parser6_lineno_ALREADY_DEFINED
287#else
288#define yylineno parser6_lineno
289#endif
290
291/* %endif */
292
293/* First, we deal with platform-specific or compiler-specific issues. */
294
295/* begin standard C headers. */
296/* %if-c-only */
297#include <stdio.h>
298#include <string.h>
299#include <errno.h>
300#include <stdlib.h>
301/* %endif */
302
303/* %if-tables-serialization */
304/* %endif */
305/* end standard C headers. */
306
307/* %if-c-or-c++ */
308/* flex integer type definitions */
309
310#ifndef FLEXINT_H
311#define FLEXINT_H
312
313/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
314
315#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
316
317/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
318 * if you want the limit (max/min) macros for int types.
319 */
320#ifndef __STDC_LIMIT_MACROS
321#define __STDC_LIMIT_MACROS 1
322#endif
323
324#include <inttypes.h>
325typedef int8_t flex_int8_t;
326typedef uint8_t flex_uint8_t;
327typedef int16_t flex_int16_t;
328typedef uint16_t flex_uint16_t;
329typedef int32_t flex_int32_t;
330typedef uint32_t flex_uint32_t;
331#else
332typedef signed char flex_int8_t;
333typedef short int flex_int16_t;
334typedef int flex_int32_t;
335typedef unsigned char flex_uint8_t;
336typedef unsigned short int flex_uint16_t;
337typedef unsigned int flex_uint32_t;
338
339/* Limits of integral types. */
340#ifndef INT8_MIN
341#define INT8_MIN (-128)
342#endif
343#ifndef INT16_MIN
344#define INT16_MIN (-32767-1)
345#endif
346#ifndef INT32_MIN
347#define INT32_MIN (-2147483647-1)
348#endif
349#ifndef INT8_MAX
350#define INT8_MAX (127)
351#endif
352#ifndef INT16_MAX
353#define INT16_MAX (32767)
354#endif
355#ifndef INT32_MAX
356#define INT32_MAX (2147483647)
357#endif
358#ifndef UINT8_MAX
359#define UINT8_MAX (255U)
360#endif
361#ifndef UINT16_MAX
362#define UINT16_MAX (65535U)
363#endif
364#ifndef UINT32_MAX
365#define UINT32_MAX (4294967295U)
366#endif
367
368#ifndef SIZE_MAX
369#define SIZE_MAX (~(size_t)0)
370#endif
371
372#endif /* ! C99 */
373
374#endif /* ! FLEXINT_H */
375
376/* %endif */
377
378/* begin standard C++ headers. */
379/* %if-c++-only */
380/* %endif */
381
382/* TODO: this is always defined, so inline it */
383#define yyconst const
384
385#if defined(__GNUC__) && __GNUC__ >= 3
386#define yynoreturn __attribute__((__noreturn__))
387#else
388#define yynoreturn
389#endif
390
391/* %not-for-header */
392/* Returned upon end-of-file. */
393#define YY_NULL 0
394/* %ok-for-header */
395
396/* %not-for-header */
397/* Promotes a possibly negative, possibly signed char to an
398 * integer in range [0..255] for use as an array index.
399 */
400#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
401/* %ok-for-header */
402
403/* %if-reentrant */
404/* %endif */
405
406/* %if-not-reentrant */
407
408/* %endif */
409
410/* Enter a start condition. This macro really ought to take a parameter,
411 * but we do it the disgusting crufty way forced on us by the ()-less
412 * definition of BEGIN.
413 */
414#define BEGIN (yy_start) = 1 + 2 *
415/* Translate the current start state into a value that can be later handed
416 * to BEGIN to return to the state. The YYSTATE alias is for lex
417 * compatibility.
418 */
419#define YY_START (((yy_start) - 1) / 2)
420#define YYSTATE YY_START
421/* Action number for EOF rule of a given start state. */
422#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
423/* Special action meaning "start processing a new file". */
424#define YY_NEW_FILE yyrestart( yyin )
425#define YY_END_OF_BUFFER_CHAR 0
426
427/* Size of default input buffer. */
428#ifndef YY_BUF_SIZE
429#ifdef __ia64__
430/* On IA-64, the buffer size is 16k, not 8k.
431 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
432 * Ditto for the __ia64__ case accordingly.
433 */
434#define YY_BUF_SIZE 32768
435#else
436#define YY_BUF_SIZE 16384
437#endif /* __ia64__ */
438#endif
439
440/* The state buf must be large enough to hold one state per character in the main buffer.
441 */
442#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
443
444#ifndef YY_TYPEDEF_YY_BUFFER_STATE
445#define YY_TYPEDEF_YY_BUFFER_STATE
447#endif
448
449#ifndef YY_TYPEDEF_YY_SIZE_T
450#define YY_TYPEDEF_YY_SIZE_T
451typedef size_t yy_size_t;
452#endif
453
454/* %if-not-reentrant */
455extern int yyleng;
456/* %endif */
457
458/* %if-c-only */
459/* %if-not-reentrant */
460extern FILE *yyin, *yyout;
461/* %endif */
462/* %endif */
463
464#define EOB_ACT_CONTINUE_SCAN 0
465#define EOB_ACT_END_OF_FILE 1
466#define EOB_ACT_LAST_MATCH 2
467
468 #define YY_LESS_LINENO(n)
469 #define YY_LINENO_REWIND_TO(ptr)
470
471/* Return all but the first "n" matched characters back to the input stream. */
472#define yyless(n) \
473 do \
474 { \
475 /* Undo effects of setting up yytext. */ \
476 int yyless_macro_arg = (n); \
477 YY_LESS_LINENO(yyless_macro_arg);\
478 *yy_cp = (yy_hold_char); \
479 YY_RESTORE_YY_MORE_OFFSET \
480 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
481 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
482 } \
483 while ( 0 )
484#define unput(c) yyunput( c, (yytext_ptr) )
485
486#ifndef YY_STRUCT_YY_BUFFER_STATE
487#define YY_STRUCT_YY_BUFFER_STATE
488struct yy_buffer_state
489 {
490/* %if-c-only */
491 FILE *yy_input_file;
492/* %endif */
493
494/* %if-c++-only */
495/* %endif */
496
497 char *yy_ch_buf; /* input buffer */
498 char *yy_buf_pos; /* current position in input buffer */
499
500 /* Size of input buffer in bytes, not including room for EOB
501 * characters.
502 */
503 int yy_buf_size;
504
505 /* Number of characters read into yy_ch_buf, not including EOB
506 * characters.
507 */
508 int yy_n_chars;
509
510 /* Whether we "own" the buffer - i.e., we know we created it,
511 * and can realloc() it to grow it, and should free() it to
512 * delete it.
513 */
515
516 /* Whether this is an "interactive" input source; if so, and
517 * if we're using stdio for input, then we want to use getc()
518 * instead of fread(), to make sure we stop fetching input after
519 * each newline.
520 */
522
523 /* Whether we're considered to be at the beginning of a line.
524 * If so, '^' rules will be active on the next match, otherwise
525 * not.
526 */
527 int yy_at_bol;
528
529 int yy_bs_lineno;
530 int yy_bs_column;
532 /* Whether to try to fill the input buffer when we reach the
533 * end of it.
534 */
535 int yy_fill_buffer;
536
538
539#define YY_BUFFER_NEW 0
540#define YY_BUFFER_NORMAL 1
541 /* When an EOF's been seen but there's still some text to process
542 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
543 * shouldn't try reading from the input source any more. We might
544 * still have a bunch of tokens to match, though, because of
545 * possible backing-up.
546 *
547 * When we actually see the EOF, we change the status to "new"
548 * (via yyrestart()), so that the user can continue scanning by
549 * just pointing yyin at a new input file.
550 */
551#define YY_BUFFER_EOF_PENDING 2
552
553 };
554#endif /* !YY_STRUCT_YY_BUFFER_STATE */
555
556/* %if-c-only Standard (non-C++) definition */
557/* %not-for-header */
558/* %if-not-reentrant */
559
560/* Stack of input buffers. */
561static size_t yy_buffer_stack_top = 0;
562static size_t yy_buffer_stack_max = 0;
563static YY_BUFFER_STATE * yy_buffer_stack = NULL;
564/* %endif */
565/* %ok-for-header */
566
567/* %endif */
568
569/* We provide macros for accessing buffer states in case in the
570 * future we want to put the buffer states in a more general
571 * "scanner state".
572 *
573 * Returns the top of the stack, or NULL.
574 */
575#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
576 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
577 : NULL)
578/* Same as previous macro, but useful when we know that the buffer stack is not
579 * NULL or when we need an lvalue. For internal use only.
580 */
581#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
582
583/* %if-c-only Standard (non-C++) definition */
584
585/* %if-not-reentrant */
586/* %not-for-header */
587/* yy_hold_char holds the character lost when yytext is formed. */
588static char yy_hold_char;
589static int yy_n_chars; /* number of characters read into yy_ch_buf */
591
592/* Points to current character in buffer. */
593static char *yy_c_buf_p = NULL;
594static int yy_init = 0; /* whether we need to initialize */
595static int yy_start = 0; /* start state number */
596
597/* Flag which is used to allow yywrap()'s to do buffer switches
598 * instead of setting up a fresh yyin. A bit of a hack ...
599 */
600static int yy_did_buffer_switch_on_eof;
601/* %ok-for-header */
602
603/* %endif */
604
605void yyrestart ( FILE *input_file );
606void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
607YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
610void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
611void yypop_buffer_state ( void );
612
613static void yyensure_buffer_stack ( void );
614static void yy_load_buffer_state ( void );
615static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
616#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
617
618YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
619YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
620YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
621
622/* %endif */
623
624void *yyalloc ( yy_size_t );
625void *yyrealloc ( void *, yy_size_t );
626void yyfree ( void * );
627
628#define yy_new_buffer yy_create_buffer
629#define yy_set_interactive(is_interactive) \
630 { \
631 if ( ! YY_CURRENT_BUFFER ){ \
632 yyensure_buffer_stack (); \
633 YY_CURRENT_BUFFER_LVALUE = \
634 yy_create_buffer( yyin, YY_BUF_SIZE ); \
635 } \
636 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
637 }
638#define yy_set_bol(at_bol) \
639 { \
640 if ( ! YY_CURRENT_BUFFER ){\
641 yyensure_buffer_stack (); \
642 YY_CURRENT_BUFFER_LVALUE = \
643 yy_create_buffer( yyin, YY_BUF_SIZE ); \
644 } \
645 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
646 }
647#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
648
649/* %% [1.0] yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here */
650/* Begin user sect3 */
651
652#define parser6_wrap() (/*CONSTCOND*/1)
653#define YY_SKIP_YYWRAP
654
655#define FLEX_DEBUG
656typedef flex_uint8_t YY_CHAR;
657
658FILE *yyin = NULL, *yyout = NULL;
659
660typedef int yy_state_type;
661
662extern int yylineno;
663int yylineno = 1;
664
665extern char *yytext;
666#ifdef yytext_ptr
667#undef yytext_ptr
668#endif
669#define yytext_ptr yytext
670
671/* %% [1.5] DFA */
672
673/* %if-c-only Standard (non-C++) definition */
674
675static yy_state_type yy_get_previous_state ( void );
676static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
677static int yy_get_next_buffer ( void );
678static void yynoreturn yy_fatal_error ( const char* msg );
679
680/* %endif */
681
682/* Done after the current pattern has been matched and before the
683 * corresponding action - sets up yytext.
684 */
685#define YY_DO_BEFORE_ACTION \
686 (yytext_ptr) = yy_bp; \
687/* %% [2.0] code to fiddle yytext and yyleng for yymore() goes here \ */\
688 yyleng = (int) (yy_cp - yy_bp); \
689 (yy_hold_char) = *yy_cp; \
690 *yy_cp = '\0'; \
691/* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\
692 (yy_c_buf_p) = yy_cp;
693/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
694#define YY_NUM_RULES 245
695#define YY_END_OF_BUFFER 246
696/* This struct is not used in this scanner,
697 but its presence is necessary. */
698struct yy_trans_info
699 {
702 };
703static const flex_int16_t yy_accept[2326] =
704 { 0,
705 238, 238, 0, 0, 0, 0, 0, 0, 0, 0,
706 246, 244, 10, 11, 244, 1, 238, 235, 238, 238,
707 244, 237, 236, 244, 244, 244, 244, 244, 231, 232,
708 244, 244, 244, 233, 234, 5, 5, 5, 244, 244,
709 244, 10, 11, 0, 0, 226, 0, 0, 0, 0,
710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
712 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
713 238, 238, 0, 237, 238, 3, 2, 6, 0, 238,
714 0, 0, 0, 0, 0, 0, 4, 0, 0, 9,
715
716 0, 227, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 0, 0, 0, 0, 0, 0, 229, 0, 0,
718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
724 0, 0, 0, 0, 0, 0, 0, 2, 0, 0,
725 0, 0, 0, 0, 0, 8, 0, 0, 0, 179,
726
727 0, 0, 180, 0, 0, 0, 0, 0, 0, 0,
728 0, 228, 230, 0, 0, 0, 0, 0, 0, 0,
729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
732 0, 0, 0, 128, 0, 0, 0, 0, 0, 0,
733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
737
738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
739 0, 0, 0, 0, 0, 0, 0, 0, 0, 243,
740 241, 0, 240, 239, 0, 0, 0, 0, 0, 0,
741 178, 0, 0, 23, 0, 22, 0, 0, 0, 0,
742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
748
749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
754 0, 0, 0, 242, 239, 0, 0, 0, 0, 0,
755 24, 0, 0, 26, 0, 0, 0, 0, 0, 0,
756 0, 0, 0, 0, 0, 0, 0, 133, 0, 0,
757 0, 0, 0, 0, 111, 0, 0, 0, 0, 0,
758 0, 0, 0, 164, 0, 0, 0, 0, 0, 0,
759
760 0, 0, 0, 0, 0, 0, 53, 0, 0, 0,
761 201, 0, 0, 0, 0, 0, 0, 0, 0, 0,
762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
763 0, 0, 0, 0, 0, 110, 0, 0, 0, 0,
764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
765 0, 121, 0, 0, 54, 0, 0, 0, 0, 0,
766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
768 0, 0, 0, 0, 0, 0, 0, 0, 156, 0,
769 183, 0, 50, 200, 0, 51, 0, 0, 0, 0,
770
771 0, 0, 0, 32, 29, 28, 0, 0, 0, 0,
772 0, 172, 0, 207, 0, 0, 0, 0, 0, 0,
773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
776 0, 0, 146, 0, 0, 0, 0, 0, 0, 0,
777 202, 182, 0, 0, 0, 0, 0, 0, 0, 0,
778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
779 0, 0, 0, 0, 0, 0, 27, 0, 0, 0,
780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
781
782 0, 114, 0, 0, 0, 0, 0, 0, 0, 208,
783 0, 0, 0, 0, 173, 0, 0, 0, 0, 0,
784 0, 0, 0, 0, 0, 0, 0, 0, 168, 0,
785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
786 0, 0, 0, 215, 0, 7, 30, 0, 0, 0,
787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
788 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
792
793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
795 0, 0, 148, 0, 0, 0, 0, 0, 0, 0,
796 0, 0, 0, 145, 0, 0, 0, 0, 0, 0,
797 0, 0, 0, 0, 0, 0, 116, 0, 0, 0,
798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
800 0, 0, 0, 0, 125, 0, 0, 0, 0, 0,
801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
803
804 0, 0, 0, 210, 124, 0, 0, 0, 0, 0,
805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
807 0, 0, 0, 0, 0, 0, 0, 0, 0, 167,
808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
809 0, 0, 0, 0, 0, 0, 0, 176, 142, 0,
810 0, 0, 0, 0, 0, 0, 147, 0, 0, 0,
811 0, 0, 0, 62, 0, 0, 0, 0, 0, 0,
812 0, 0, 0, 149, 0, 0, 55, 122, 0, 0,
813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
814
815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
817 0, 0, 105, 0, 0, 0, 0, 0, 0, 0,
818 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
819 0, 0, 0, 0, 0, 219, 0, 0, 0, 0,
820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
821 0, 0, 0, 0, 102, 0, 0, 0, 0, 0,
822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
823 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
824 0, 0, 0, 0, 0, 0, 0, 0, 71, 0,
825
826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
828 0, 0, 0, 0, 0, 52, 0, 0, 115, 0,
829 0, 162, 0, 0, 0, 0, 49, 0, 0, 0,
830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
831 0, 0, 0, 0, 0, 151, 0, 0, 0, 0,
832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
834 84, 0, 0, 0, 0, 0, 70, 0, 0, 0,
835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
836
837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
838 0, 220, 0, 0, 209, 0, 0, 0, 0, 0,
839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
840 0, 0, 0, 0, 126, 0, 0, 0, 0, 0,
841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
844 0, 36, 0, 0, 0, 0, 0, 0, 0, 0,
845 0, 0, 0, 15, 0, 0, 177, 13, 0, 0,
846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
847
848 0, 0, 0, 0, 0, 0, 0, 211, 0, 0,
849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
850 0, 0, 0, 0, 0, 0, 0, 0, 0, 169,
851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
852 0, 0, 150, 0, 0, 0, 0, 0, 0, 0,
853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
854 0, 0, 0, 0, 165, 181, 0, 35, 0, 0,
855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
856 0, 0, 0, 0, 0, 19, 0, 113, 0, 0,
857 0, 108, 0, 0, 0, 175, 0, 0, 0, 0,
858
859 117, 218, 0, 0, 0, 0, 0, 0, 0, 0,
860 0, 0, 0, 0, 0, 0, 0, 82, 0, 0,
861 0, 0, 0, 0, 0, 0, 0, 138, 139, 0,
862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
863 0, 0, 112, 0, 0, 0, 0, 0, 72, 0,
864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
866 0, 0, 0, 0, 0, 0, 171, 0, 0, 0,
867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
868 0, 0, 0, 0, 0, 0, 0, 134, 0, 0,
869
870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
871 109, 0, 0, 0, 0, 0, 0, 0, 0, 0,
872 0, 0, 0, 0, 0, 79, 0, 0, 0, 0,
873 16, 0, 14, 0, 0, 0, 203, 205, 199, 0,
874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
875 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,
876 155, 0, 0, 0, 0, 0, 0, 0, 0, 0,
877 0, 0, 0, 0, 0, 104, 103, 0, 0, 0,
878 0, 0, 0, 192, 0, 0, 217, 0, 0, 0,
879 0, 0, 0, 0, 0, 0, 0, 0, 0, 214,
880
881 127, 0, 161, 0, 41, 0, 0, 56, 0, 0,
882 0, 0, 0, 0, 0, 0, 0, 0, 18, 0,
883 0, 0, 0, 0, 0, 0, 85, 0, 129, 58,
884 80, 0, 0, 170, 0, 0, 160, 0, 0, 0,
885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
886 0, 69, 0, 123, 0, 0, 0, 0, 0, 0,
887 0, 0, 141, 0, 0, 213, 0, 224, 0, 0,
888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
889 0, 0, 0, 0, 120, 0, 0, 0, 0, 184,
890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
891
892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
894 212, 0, 0, 0, 0, 0, 0, 0, 0, 0,
895 0, 40, 0, 0, 0, 0, 0, 0, 0, 0,
896 0, 157, 0, 0, 0, 59, 0, 0, 0, 0,
897 0, 206, 0, 0, 152, 46, 0, 0, 0, 197,
898 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
899 0, 0, 0, 0, 0, 0, 12, 0, 0, 0,
900 0, 0, 0, 0, 0, 0, 0, 44, 0, 0,
901 0, 43, 0, 0, 17, 0, 0, 0, 68, 0,
902
903 0, 0, 0, 0, 0, 144, 143, 0, 0, 0,
904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
905 0, 0, 0, 204, 0, 0, 0, 0, 0, 0,
906 76, 0, 0, 0, 0, 0, 140, 0, 0, 0,
907 57, 198, 0, 0, 0, 0, 0, 0, 0, 0,
908 0, 0, 0, 0, 0, 0, 0, 118, 0, 0,
909 0, 0, 0, 0, 174, 0, 0, 0, 45, 0,
910 0, 0, 0, 0, 0, 0, 0, 0, 0, 193,
911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
912 0, 0, 0, 0, 0, 0, 0, 107, 0, 63,
913
914 0, 0, 0, 0, 0, 97, 0, 0, 31, 0,
915 47, 0, 0, 0, 0, 0, 0, 0, 0, 101,
916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
918 0, 190, 0, 0, 0, 0, 158, 0, 0, 0,
919 0, 0, 0, 0, 0, 0, 0, 0, 0, 66,
920 0, 64, 0, 0, 0, 0, 60, 195, 0, 0,
921 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
922 88, 0, 0, 0, 0, 0, 0, 0, 0, 163,
923 0, 0, 0, 0, 0, 0, 20, 34, 0, 0,
924
925 0, 0, 0, 0, 0, 0, 0, 196, 0, 0,
926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
928 0, 0, 0, 0, 0, 0, 0, 0, 216, 0,
929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
930 0, 0, 189, 0, 78, 0, 77, 0, 0, 73,
931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
932 0, 0, 0, 0, 0, 0, 98, 0, 137, 0,
933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
934 0, 0, 119, 0, 0, 0, 188, 0, 0, 0,
935
936 0, 0, 67, 0, 0, 83, 0, 61, 0, 0,
937 130, 0, 0, 0, 0, 0, 0, 0, 0, 106,
938 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
939 94, 0, 0, 0, 0, 0, 0, 42, 0, 0,
940 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
941 0, 0, 65, 0, 0, 0, 0, 0, 0, 0,
942 0, 0, 92, 0, 0, 0, 0, 0, 0, 0,
943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
944 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
945 0, 0, 0, 100, 48, 0, 0, 0, 93, 0,
946
947 0, 0, 0, 194, 0, 0, 0, 0, 0, 222,
948 225, 75, 74, 0, 0, 135, 153, 131, 0, 0,
949 0, 0, 0, 0, 0, 99, 0, 0, 89, 0,
950 0, 0, 0, 0, 0, 0, 0, 0, 159, 186,
951 0, 0, 0, 0, 0, 0, 191, 0, 0, 91,
952 0, 81, 0, 0, 0, 0, 0, 0, 0, 132,
953 0, 0, 0, 0, 0, 0, 0, 0, 0, 185,
954 0, 0, 21, 223, 0, 0, 0, 0, 0, 0,
955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
956 0, 0, 90, 0, 0, 154, 0, 0, 39, 37,
957
958 0, 0, 0, 0, 95, 0, 0, 136, 0, 87,
959 0, 96, 0, 0, 0, 0, 0, 0, 0, 86,
960 0, 187, 38, 221, 0
961 } ;
962
963static const YY_CHAR yy_ec[256] =
964 { 0,
965 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
966 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
967 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
968 1, 4, 5, 6, 7, 5, 5, 5, 5, 5,
969 5, 8, 9, 10, 11, 12, 13, 14, 15, 16,
970 14, 17, 14, 18, 14, 14, 14, 19, 5, 20,
971 5, 21, 22, 5, 23, 24, 25, 26, 27, 28,
972 5, 29, 30, 31, 32, 33, 5, 34, 35, 36,
973 5, 37, 38, 39, 40, 41, 42, 43, 44, 5,
974 45, 46, 47, 5, 48, 5, 49, 50, 51, 52,
975
976 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
977 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
978 73, 74, 75, 5, 76, 5, 5, 5, 5, 5,
979 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
980 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
981 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
982 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
983 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
984 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
985 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
986
987 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
988 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
989 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
990 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
991 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
992 5, 5, 5, 5, 5
993 } ;
994
995static const YY_CHAR yy_meta[77] =
996 { 0,
997 1, 1, 2, 1, 1, 3, 1, 1, 1, 1,
998 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
999 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1000 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1001 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1002 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1003 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1004 1, 1, 1, 1, 1, 1
1005 } ;
1006
1007static const flex_int16_t yy_base[2334] =
1008 { 0,
1009 0, 75, 21, 28, 39, 47, 53, 61, 95, 103,
1010 2775, 2776, 31, 2771, 151, 0, 216, 2776, 223, 230,
1011 13, 237, 2776, 2751, 124, 17, 4, 34, 2776, 2776,
1012 23, 43, 64, 2776, 2776, 2776, 56, 2759, 2709, 0,
1013 2749, 106, 2766, 2, 268, 2776, 85, 90, 2712, 2733,
1014 98, 77, 2733, 235, 231, 97, 207, 298, 240, 2716,
1015 294, 306, 62, 243, 204, 222, 2711, 224, 296, 341,
1016 196, 320, 2694, 21, 332, 362, 345, 2713, 350, 0,
1017 406, 422, 436, 446, 451, 2776, 0, 2776, 298, 465,
1018 349, 351, 202, 365, 369, 301, 2776, 2710, 2754, 2776,
1019
1020 334, 2776, 464, 332, 232, 2708, 2752, 372, 17, 350,
1021 373, 2746, 225, 377, 391, 252, 2750, 0, 528, 414,
1022 2689, 2686, 2686, 433, 2686, 2687, 2693, 434, 2679, 2680,
1023 2685, 76, 2695, 2679, 2687, 2677, 342, 2693, 380, 373,
1024 427, 403, 2730, 16, 2672, 2728, 2665, 439, 2686, 2686,
1025 2680, 440, 2672, 2673, 2671, 2665, 451, 397, 2662, 2661,
1026 449, 2717, 2661, 50, 2673, 2672, 2660, 498, 2661, 436,
1027 2673, 2670, 2671, 440, 2669, 2707, 2706, 471, 444, 2650,
1028 2654, 468, 2650, 456, 2660, 2652, 2654, 0, 490, 490,
1029 509, 500, 508, 532, 2650, 2776, 538, 539, 2645, 2776,
1030
1031 502, 536, 2776, 2702, 544, 548, 2701, 547, 2700, 541,
1032 2699, 2776, 2776, 590, 2641, 553, 2654, 2646, 2644, 2644,
1033 2648, 2649, 2629, 2640, 2642, 2641, 285, 557, 2682, 2643,
1034 2624, 2621, 2629, 2635, 2623, 2633, 2633, 2624, 2633, 2633,
1035 2628, 2620, 2619, 2621, 2624, 2604, 2608, 2622, 2614, 2604,
1036 2607, 2606, 2620, 2776, 2606, 2614, 82, 2655, 2598, 2607,
1037 2652, 2596, 2606, 2649, 561, 2648, 2590, 2604, 2645, 556,
1038 2601, 2581, 2596, 2588, 2592, 470, 2583, 2581, 475, 2581,
1039 2587, 2578, 2591, 2575, 2586, 2590, 532, 2584, 462, 2591,
1040 2586, 2569, 2584, 2570, 2578, 2582, 2563, 2579, 2565, 2571,
1041
1042 2578, 2560, 522, 2565, 2562, 2561, 583, 2560, 2555, 2569,
1043 2568, 568, 2567, 2547, 2569, 2551, 553, 2548, 574, 2776,
1044 2776, 585, 2776, 2776, 2546, 547, 564, 2596, 597, 2607,
1045 2776, 589, 600, 2776, 2606, 2776, 2600, 643, 2559, 589,
1046 2536, 2555, 2556, 2553, 2536, 2553, 2592, 2549, 2539, 2594,
1047 2546, 2549, 2540, 2543, 2529, 2540, 626, 2582, 2537, 2534,
1048 2535, 619, 2538, 2582, 2514, 2526, 2521, 2518, 2514, 2513,
1049 2515, 2518, 2568, 2522, 2566, 2509, 640, 641, 2522, 2522,
1050 2505, 2506, 2519, 2517, 2515, 2515, 2514, 2509, 2516, 2511,
1051 2496, 608, 2505, 2508, 584, 2503, 2553, 599, 638, 2509,
1052
1053 2546, 2493, 2486, 2501, 2492, 2499, 2480, 2497, 2489, 2485,
1054 2490, 670, 2540, 592, 2492, 2492, 2490, 623, 2481, 2479,
1055 2491, 617, 2466, 2467, 2480, 2470, 2462, 2466, 2480, 627,
1056 2466, 2478, 2477, 2476, 2471, 2516, 2473, 2472, 2471, 2470,
1057 2453, 2461, 2514, 2470, 2512, 2449, 2510, 2509, 2448, 671,
1058 2461, 2459, 2458, 2776, 2776, 2458, 647, 2498, 2502, 2501,
1059 2776, 2500, 637, 2776, 653, 724, 2456, 653, 2498, 2441,
1060 2496, 2490, 2440, 2442, 634, 2432, 2429, 2776, 2434, 2427,
1061 2439, 2442, 2429, 2428, 2776, 2438, 658, 2429, 2426, 2438,
1062 646, 2423, 2417, 2776, 2473, 2430, 2415, 2417, 2431, 2427,
1063
1064 2425, 2425, 2419, 695, 2409, 2463, 2776, 2407, 2423, 2460,
1065 2776, 2414, 2463, 2462, 2415, 2409, 2411, 2412, 2396, 2405,
1066 2450, 2398, 2397, 2392, 2391, 2393, 2389, 2385, 659, 2404,
1067 2378, 2385, 2384, 2400, 2437, 2776, 2384, 2380, 699, 2388,
1068 2387, 2381, 2374, 2373, 2387, 2387, 2375, 2371, 2376, 2372,
1069 2367, 2776, 2376, 2426, 2776, 2365, 2358, 2418, 2417, 2359,
1070 2358, 2363, 2418, 2371, 2365, 2359, 2368, 722, 2408, 2352,
1071 2347, 2405, 2342, 2348, 688, 2362, 2355, 2359, 2342, 2403,
1072 2341, 2341, 2395, 2337, 2338, 2337, 2335, 2352, 2776, 2348,
1073 2776, 2388, 2776, 2776, 2336, 2776, 665, 2386, 2390, 2384,
1074
1075 2341, 2387, 716, 2776, 2776, 2776, 678, 683, 693, 2324,
1076 725, 2776, 2323, 2776, 692, 2341, 2321, 2331, 2334, 2375,
1077 721, 2317, 2327, 2372, 2314, 2321, 2314, 2322, 2315, 2324,
1078 2306, 2306, 2321, 2320, 2304, 697, 2318, 2317, 2301, 2316,
1079 2298, 2348, 2302, 2309, 2352, 2293, 2295, 2292, 2306, 2306,
1080 2304, 2304, 2776, 2289, 2301, 2293, 2299, 2290, 2298, 2296,
1081 2776, 2776, 2282, 2293, 2297, 2279, 2291, 2283, 683, 2274,
1082 2273, 2267, 2272, 2269, 2284, 2283, 2284, 2263, 2273, 2279,
1083 2325, 2277, 2269, 2260, 2261, 2263, 2776, 2258, 2264, 701,
1084 2312, 751, 2311, 2253, 2309, 2253, 2256, 2254, 2256, 2247,
1085
1086 2262, 2776, 2247, 759, 2244, 2260, 2257, 2252, 2248, 2776,
1087 2296, 2245, 2252, 2293, 2776, 2236, 2234, 2248, 2251, 2236,
1088 2287, 2286, 2230, 2284, 2241, 2225, 2281, 2280, 2776, 2222,
1089 2236, 2235, 738, 2236, 2235, 2232, 2216, 2272, 2233, 2228,
1090 2217, 2222, 2218, 2776, 2205, 2776, 2776, 723, 715, 735,
1091 729, 752, 166, 213, 285, 381, 385, 404, 447, 471,
1092 528, 605, 720, 774, 775, 732, 732, 774, 778, 729,
1093 725, 730, 731, 743, 749, 736, 739, 742, 751, 751,
1094 736, 796, 755, 747, 757, 800, 747, 754, 754, 756,
1095 760, 765, 768, 810, 770, 818, 772, 775, 770, 761,
1096
1097 776, 781, 782, 779, 776, 783, 782, 770, 784, 782,
1098 790, 829, 788, 836, 837, 778, 791, 777, 787, 837,
1099 792, 845, 2776, 798, 796, 798, 794, 788, 804, 852,
1100 848, 849, 809, 2776, 799, 800, 799, 812, 802, 815,
1101 862, 818, 803, 865, 866, 820, 2776, 814, 808, 803,
1102 814, 827, 818, 807, 813, 871, 832, 816, 816, 829,
1103 876, 820, 827, 839, 834, 839, 836, 883, 822, 834,
1104 848, 842, 833, 830, 2776, 897, 852, 853, 841, 855,
1105 845, 849, 861, 852, 855, 860, 861, 889, 881, 910,
1106 911, 885, 858, 872, 875, 855, 862, 876, 924, 878,
1107
1108 863, 876, 874, 2776, 2776, 878, 873, 888, 885, 871,
1109 873, 892, 889, 889, 891, 879, 887, 888, 898, 945,
1110 904, 943, 902, 893, 906, 892, 891, 897, 889, 900,
1111 895, 896, 902, 918, 901, 958, 959, 911, 961, 2776,
1112 922, 914, 925, 923, 971, 910, 927, 913, 928, 930,
1113 917, 915, 980, 934, 920, 926, 924, 2776, 2776, 940,
1114 939, 940, 945, 933, 943, 945, 2776, 945, 947, 934,
1115 952, 939, 941, 2776, 938, 956, 957, 943, 944, 940,
1116 945, 963, 1007, 2776, 965, 1009, 2776, 2776, 964, 964,
1117 1013, 956, 960, 954, 970, 1018, 968, 958, 959, 955,
1118
1119 965, 969, 980, 975, 1022, 978, 971, 973, 969, 986,
1120 976, 991, 974, 1036, 990, 992, 996, 983, 974, 997,
1121 983, 983, 2776, 990, 991, 1043, 1044, 993, 1006, 1047,
1122 991, 1007, 1007, 1001, 1025, 1035, 1023, 1031, 1043, 1060,
1123 1006, 1020, 1060, 1019, 1062, 2776, 1068, 1018, 1009, 1028,
1124 1018, 1017, 1012, 1013, 1025, 1020, 1016, 1034, 1026, 1021,
1125 1022, 1032, 1041, 1082, 2776, 1036, 1030, 1048, 1041, 1036,
1126 1092, 1098, 1052, 1043, 1101, 1058, 1049, 1057, 1059, 1044,
1127 1060, 1065, 1051, 1063, 1060, 1058, 1070, 1054, 1055, 2776,
1128 1071, 1074, 1071, 1058, 1060, 1121, 1061, 1080, 2776, 1079,
1129
1130 1082, 1069, 1064, 1082, 1070, 1126, 1081, 1077, 1074, 1130,
1131 1076, 1132, 1091, 1077, 1095, 1095, 1095, 1097, 1082, 1097,
1132 1084, 1085, 1101, 1088, 1105, 2776, 1103, 1090, 2776, 1148,
1133 1098, 2776, 1108, 1101, 1157, 1101, 2776, 1104, 1109, 1156,
1134 1104, 1105, 1117, 1111, 1109, 1106, 1121, 1169, 1110, 1111,
1135 1172, 1173, 1114, 1126, 1119, 2776, 1115, 1132, 1124, 1120,
1136 1123, 1178, 1117, 1138, 1124, 1125, 1126, 1127, 1133, 1141,
1137 1132, 1146, 1194, 1148, 1149, 1164, 1193, 1176, 1168, 1173,
1138 2776, 1156, 1141, 1161, 1144, 1144, 2776, 1147, 1146, 1148,
1139 1159, 1149, 1169, 1168, 1159, 1170, 1216, 1155, 1167, 1176,
1140
1141 1169, 1173, 1177, 1160, 1181, 1178, 1183, 1174, 1233, 1177,
1142 1181, 2776, 1231, 1177, 2776, 1195, 1177, 1177, 1198, 1195,
1143 1238, 1198, 1185, 1203, 1191, 1205, 1198, 1207, 1187, 1202,
1144 1209, 1194, 1255, 1256, 2776, 1206, 1258, 1212, 1198, 1208,
1145 1218, 1202, 1222, 1205, 1207, 1207, 1214, 1223, 1211, 1218,
1146 1213, 1220, 1232, 1276, 1220, 1278, 1220, 1234, 1238, 1282,
1147 1232, 1233, 1222, 1286, 1234, 1237, 1232, 1236, 1291, 1292,
1148 1242, 2776, 1231, 1248, 1241, 1232, 1251, 1245, 1240, 1250,
1149 1246, 1241, 1259, 2776, 1243, 1239, 2776, 2776, 1245, 1308,
1150 1264, 1245, 1251, 1265, 1251, 1267, 1269, 1311, 1261, 1318,
1151
1152 1319, 1269, 1274, 1268, 1266, 1277, 1259, 2776, 1264, 1270,
1153 1296, 1309, 1297, 1311, 1298, 1333, 1283, 1286, 1286, 1290,
1154 1291, 1339, 1279, 1279, 1282, 1299, 1294, 1298, 1293, 2776,
1155 1290, 1303, 1287, 1304, 1284, 1305, 1295, 1288, 1300, 1301,
1156 1357, 1307, 2776, 1320, 1318, 1321, 1305, 1314, 1318, 1323,
1157 1309, 1372, 1322, 1328, 1328, 1315, 1329, 1327, 1324, 1320,
1158 1338, 1339, 1340, 1323, 2776, 2776, 1339, 2776, 1341, 1326,
1159 1337, 1328, 1347, 1340, 1338, 1393, 1347, 1344, 1391, 1352,
1160 1341, 1348, 1353, 1350, 1356, 2776, 1349, 2776, 1341, 1354,
1161 1406, 2776, 1350, 1351, 1362, 2776, 1363, 1357, 1352, 1362,
1162
1163 2776, 2776, 1352, 1353, 1356, 1370, 1375, 1358, 1369, 1421,
1164 1375, 1362, 1381, 1372, 1426, 1422, 1428, 2776, 1376, 1373,
1165 1384, 1432, 1433, 1434, 1388, 1389, 1391, 2776, 2776, 1383,
1166 1378, 1435, 1381, 1397, 1381, 1393, 1382, 1441, 1424, 1425,
1167 1417, 1450, 2776, 1394, 1405, 1396, 1407, 1409, 2776, 1456,
1168 1390, 1401, 1416, 1455, 1404, 1415, 1403, 1402, 1418, 1419,
1169 1416, 1463, 1423, 1470, 1471, 1427, 1416, 1428, 1434, 1423,
1170 1423, 1481, 1477, 1478, 1484, 1438, 2776, 1440, 1436, 1440,
1171 1442, 1433, 1436, 1445, 1442, 1432, 1435, 1435, 1497, 1498,
1172 1442, 1500, 1444, 1502, 1443, 1448, 1506, 2776, 1461, 1440,
1173
1174 1455, 1448, 1451, 1464, 1467, 1466, 1464, 1516, 1467, 1457,
1175 2776, 1464, 1465, 1517, 1461, 1477, 1525, 1478, 1527, 1528,
1176 1529, 1470, 1480, 1532, 1486, 2776, 1478, 1535, 1476, 1476,
1177 2776, 1494, 2776, 1491, 1482, 1482, 2776, 2776, 2776, 1496,
1178 1479, 1499, 1500, 1486, 1488, 1550, 1497, 1552, 1498, 1492,
1179 1519, 1537, 1552, 1538, 2776, 1502, 1560, 1507, 1557, 1563,
1180 2776, 1503, 1565, 1512, 1506, 1503, 1506, 1508, 1504, 1567,
1181 1527, 1569, 1519, 1531, 1534, 2776, 2776, 1531, 1523, 1526,
1182 1521, 1586, 1531, 2776, 1528, 1527, 2776, 1529, 1591, 1530,
1183 1542, 1533, 1590, 1549, 1551, 1551, 1548, 1595, 1554, 2776,
1184
1185 2776, 1546, 2776, 1547, 2776, 1557, 1549, 2776, 1601, 1560,
1186 1561, 1559, 1606, 1551, 1566, 1609, 1568, 1560, 2776, 1557,
1187 1567, 1558, 1559, 1560, 1617, 1623, 2776, 1577, 2776, 2776,
1188 2776, 1620, 1564, 2776, 1581, 1566, 2776, 1580, 1568, 1632,
1189 1576, 1569, 1574, 1585, 1578, 1597, 1590, 1596, 1586, 1644,
1190 1594, 2776, 1603, 2776, 1600, 1648, 1625, 1626, 1632, 1617,
1191 1625, 1654, 2776, 1609, 1594, 2776, 1657, 2776, 1658, 1612,
1192 1617, 1599, 1662, 1663, 1604, 1660, 1623, 1617, 1613, 1607,
1193 1614, 1666, 1621, 1622, 2776, 1612, 1628, 1632, 1683, 2776,
1194 1633, 1619, 1681, 1642, 1642, 1684, 1629, 1634, 1632, 1694,
1195
1196 1647, 1635, 1697, 1693, 1645, 1700, 1658, 1647, 1641, 1704,
1197 1643, 1652, 1645, 1659, 1662, 1653, 1711, 1712, 1662, 1660,
1198 2776, 1653, 1651, 1712, 1713, 1714, 1666, 1665, 1665, 1661,
1199 1662, 2776, 1670, 1676, 1667, 1668, 1730, 1668, 1670, 1728,
1200 1671, 2776, 1667, 1685, 1737, 2776, 1705, 1719, 1718, 1707,
1201 1709, 2776, 1743, 1693, 2776, 2776, 1684, 1695, 1747, 2776,
1202 1748, 2776, 1702, 1692, 1697, 1695, 1748, 1703, 1709, 1695,
1203 1698, 1714, 1703, 1701, 1701, 1703, 2776, 1707, 1770, 1708,
1204 1722, 1768, 1712, 1776, 1721, 1731, 1732, 2776, 1780, 1730,
1205 1777, 2776, 1725, 1733, 2776, 1724, 1739, 1727, 2776, 1737,
1206
1207 1738, 1739, 1791, 1746, 1737, 2776, 2776, 1726, 1744, 1745,
1208 1754, 1736, 1742, 1755, 1744, 1797, 1746, 1742, 1747, 1744,
1209 1745, 1803, 1809, 2776, 1756, 1811, 1761, 1751, 1767, 1760,
1210 2776, 1793, 1818, 1800, 1815, 1821, 2776, 1767, 1823, 1762,
1211 2776, 2776, 1764, 1766, 1776, 1823, 1768, 1783, 1770, 1832,
1212 1786, 1772, 1779, 1779, 1790, 1791, 1783, 2776, 1786, 1780,
1213 1782, 1797, 1784, 1796, 2776, 1843, 1791, 1788, 2776, 1802,
1214 1789, 1810, 1806, 1808, 1856, 1806, 1803, 1811, 1805, 2776,
1215 1861, 1819, 1816, 1809, 1810, 1815, 1816, 1810, 1815, 1826,
1216 1810, 1819, 1868, 1874, 1824, 1876, 1822, 2776, 1816, 2776,
1217
1218 1823, 1880, 1881, 1878, 1879, 2776, 1861, 1867, 2776, 1839,
1219 2776, 1883, 1832, 1843, 1844, 1829, 1830, 1838, 1895, 2776,
1220 1840, 1892, 1893, 1845, 1840, 1858, 1859, 1856, 1904, 1848,
1221 1861, 1856, 1853, 1858, 1856, 1911, 1914, 1859, 1856, 1870,
1222 1857, 2776, 1872, 1873, 1874, 1875, 2776, 1869, 1924, 1874,
1223 1879, 1865, 1873, 1867, 1887, 1888, 1869, 1870, 1877, 2776,
1224 1879, 2776, 1893, 1890, 1933, 1891, 2776, 2776, 1895, 1921,
1225 1922, 1920, 1883, 1883, 1892, 1899, 1892, 1891, 1902, 1889,
1226 2776, 1905, 1893, 1896, 1955, 1892, 1911, 1904, 1903, 2776,
1227 1915, 1908, 1907, 1916, 1918, 1922, 2776, 2776, 1915, 1908,
1228
1229 1909, 1972, 1912, 1974, 1913, 1976, 1972, 2776, 1916, 1979,
1230 1975, 1934, 1931, 1922, 1930, 1941, 1928, 1939, 1925, 1923,
1231 1931, 1930, 1935, 1927, 1972, 1996, 1978, 1998, 1948, 1937,
1232 1950, 1940, 1957, 1956, 2000, 1941, 1960, 1961, 2776, 1966,
1233 1959, 2006, 2012, 1966, 1953, 1968, 2016, 1970, 1973, 1960,
1234 1969, 1970, 2776, 2024, 2776, 1974, 2776, 1972, 2027, 2776,
1235 1966, 2029, 1973, 1970, 2032, 1977, 2029, 2030, 1989, 2032,
1236 1975, 1979, 1997, 2041, 1997, 2024, 2776, 2020, 2776, 1990,
1237 1984, 1981, 2043, 2006, 1999, 1995, 2052, 1992, 1994, 1993,
1238 2000, 2012, 2776, 1997, 2059, 2000, 2776, 2005, 2015, 2000,
1239
1240 2008, 2010, 2776, 2011, 2016, 2776, 2017, 2776, 2014, 2025,
1241 2776, 2026, 2026, 2017, 2076, 2017, 2027, 2012, 2025, 2776,
1242 2027, 2058, 2064, 2036, 2034, 2086, 2024, 2026, 2023, 2047,
1243 2776, 2034, 2041, 2042, 2045, 2041, 2035, 2776, 2092, 2036,
1244 2044, 2053, 2052, 2055, 2056, 2043, 2050, 2045, 2046, 2046,
1245 2060, 2055, 2776, 2066, 2054, 2110, 2058, 2070, 2098, 2119,
1246 2120, 2064, 2776, 2064, 2076, 2124, 2070, 2072, 2070, 2071,
1247 2129, 2087, 2080, 2067, 2082, 2087, 2135, 2136, 2137, 2138,
1248 2077, 2093, 2141, 2142, 2143, 2085, 2089, 2085, 2101, 2084,
1249 2096, 2090, 2152, 2776, 2776, 2097, 2108, 2155, 2776, 2109,
1250
1251 2094, 2112, 2103, 2776, 2099, 2105, 2119, 2115, 2108, 2776,
1252 2776, 2776, 2776, 2165, 2166, 2776, 2776, 2776, 2106, 2114,
1253 2109, 2165, 2128, 2125, 2173, 2776, 2169, 2132, 2776, 2176,
1254 2115, 2178, 2118, 2119, 2132, 2131, 2132, 2122, 2776, 2776,
1255 2123, 2186, 2136, 2145, 2138, 2185, 2776, 2136, 2130, 2776,
1256 2142, 2776, 2189, 2148, 2196, 2135, 2151, 2199, 2200, 2776,
1257 2154, 2148, 2141, 2161, 2148, 2160, 2151, 2155, 2149, 2776,
1258 2206, 2152, 2776, 2776, 2152, 2160, 2210, 2167, 2160, 2172,
1259 2219, 2164, 2164, 2222, 2161, 2163, 2225, 2226, 2165, 2181,
1260 2166, 2183, 2776, 2231, 2175, 2776, 2182, 2234, 2776, 2776,
1261
1262 2184, 2236, 2181, 2238, 2776, 2186, 2185, 2776, 2186, 2776,
1263 2180, 2776, 2180, 2197, 2198, 2246, 2189, 2248, 2249, 2776,
1264 2250, 2776, 2776, 2776, 2776, 2256, 2259, 2262, 2263, 2265,
1265 2268, 2271, 2274
1266 } ;
1267
1268static const flex_int16_t yy_def[2334] =
1269 { 0,
1270 2326, 2326, 2327, 2327, 2326, 2326, 2326, 2326, 2326, 2326,
1271 2325, 2325, 2325, 2325, 2325, 2328, 2325, 2325, 2325, 2325,
1272 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325,
1273 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2329,
1274 2325, 2325, 2325, 2330, 15, 2325, 45, 45, 45, 45,
1275 45, 45, 45, 45, 45, 45, 45, 2331, 45, 45,
1276 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1277 45, 45, 45, 45, 45, 45, 45, 45, 45, 2328,
1278 2325, 2325, 2325, 2325, 2325, 2325, 2332, 2325, 2325, 2325,
1279 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2329, 2325,
1280
1281 2330, 2325, 2325, 45, 45, 45, 45, 45, 45, 45,
1282 45, 45, 45, 45, 45, 45, 2333, 45, 2331, 45,
1283 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1284 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1285 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1286 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1287 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1288 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1289 45, 45, 45, 45, 45, 45, 45, 2332, 2325, 2325,
1290 2325, 2325, 2325, 2325, 2325, 2325, 45, 45, 45, 2325,
1291
1292 45, 45, 2325, 45, 45, 45, 45, 45, 45, 45,
1293 2333, 2325, 2325, 119, 45, 45, 45, 45, 45, 45,
1294 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1295 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1296 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1297 45, 45, 45, 2325, 45, 45, 45, 45, 45, 45,
1298 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1299 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1300 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1301 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1302
1303 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1304 45, 45, 45, 45, 45, 45, 45, 45, 2325, 2325,
1305 2325, 2325, 2325, 2325, 2325, 45, 45, 45, 45, 45,
1306 2325, 45, 45, 2325, 45, 2325, 45, 119, 45, 45,
1307 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1308 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1309 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1310 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1311 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1312 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1313
1314 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1315 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1316 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1317 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1318 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1319 45, 45, 45, 2325, 2325, 2325, 45, 45, 45, 45,
1320 2325, 45, 45, 2325, 45, 119, 45, 45, 45, 45,
1321 45, 45, 45, 45, 45, 45, 45, 2325, 45, 45,
1322 45, 45, 45, 45, 2325, 45, 45, 45, 45, 45,
1323 45, 45, 45, 2325, 45, 45, 45, 45, 45, 45,
1324
1325 45, 45, 45, 45, 45, 45, 2325, 45, 45, 45,
1326 2325, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1327 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1328 45, 45, 45, 45, 45, 2325, 45, 45, 45, 45,
1329 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1330 45, 2325, 45, 45, 2325, 45, 45, 45, 45, 45,
1331 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1332 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1333 45, 45, 45, 45, 45, 45, 45, 45, 2325, 45,
1334 2325, 45, 2325, 2325, 45, 2325, 45, 45, 45, 45,
1335
1336 2325, 45, 45, 2325, 2325, 2325, 45, 45, 45, 45,
1337 45, 2325, 45, 2325, 45, 45, 45, 45, 45, 45,
1338 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1339 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1340 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1341 45, 45, 2325, 45, 45, 45, 45, 45, 45, 45,
1342 2325, 2325, 45, 45, 45, 45, 45, 45, 45, 45,
1343 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1344 45, 45, 45, 45, 45, 45, 2325, 45, 45, 45,
1345 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1346
1347 45, 2325, 45, 45, 45, 45, 45, 45, 45, 2325,
1348 45, 45, 45, 45, 2325, 45, 45, 45, 45, 45,
1349 45, 45, 45, 45, 45, 45, 45, 45, 2325, 45,
1350 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1351 45, 45, 45, 2325, 45, 2325, 2325, 45, 45, 45,
1352 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1353 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1354 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1355 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1356 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1357
1358 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1359 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1360 45, 45, 2325, 45, 45, 45, 45, 45, 45, 45,
1361 45, 45, 45, 2325, 45, 45, 45, 45, 45, 45,
1362 45, 45, 45, 45, 45, 45, 2325, 45, 45, 45,
1363 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1364 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1365 45, 45, 45, 45, 2325, 45, 45, 45, 45, 45,
1366 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1367 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1368
1369 45, 45, 45, 2325, 2325, 45, 45, 45, 45, 45,
1370 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1371 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1372 45, 45, 45, 45, 45, 45, 45, 45, 45, 2325,
1373 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1374 45, 45, 45, 45, 45, 45, 45, 2325, 2325, 45,
1375 45, 45, 45, 45, 45, 45, 2325, 45, 45, 45,
1376 45, 45, 45, 2325, 45, 45, 45, 45, 45, 45,
1377 45, 45, 45, 2325, 45, 45, 2325, 2325, 45, 45,
1378 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1379
1380 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1381 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1382 45, 45, 2325, 45, 45, 45, 45, 45, 45, 45,
1383 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1384 45, 45, 45, 45, 45, 2325, 45, 45, 45, 45,
1385 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1386 45, 45, 45, 45, 2325, 45, 45, 45, 45, 45,
1387 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1388 45, 45, 45, 45, 45, 45, 45, 45, 45, 2325,
1389 45, 45, 45, 45, 45, 45, 45, 45, 2325, 45,
1390
1391 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1392 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1393 45, 45, 45, 45, 45, 2325, 45, 45, 2325, 45,
1394 45, 2325, 45, 45, 45, 45, 2325, 45, 45, 45,
1395 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1396 45, 45, 45, 45, 45, 2325, 45, 45, 45, 45,
1397 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1398 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1399 2325, 45, 45, 45, 45, 45, 2325, 45, 45, 45,
1400 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1401
1402 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1403 45, 2325, 45, 45, 2325, 45, 45, 45, 45, 45,
1404 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1405 45, 45, 45, 45, 2325, 45, 45, 45, 45, 45,
1406 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1407 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1408 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1409 45, 2325, 45, 45, 45, 45, 45, 45, 45, 45,
1410 45, 45, 45, 2325, 45, 45, 2325, 2325, 45, 45,
1411 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1412
1413 45, 45, 45, 45, 45, 45, 45, 2325, 45, 45,
1414 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1415 45, 45, 45, 45, 45, 45, 45, 45, 45, 2325,
1416 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1417 45, 45, 2325, 45, 45, 45, 45, 45, 45, 45,
1418 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1419 45, 45, 45, 45, 2325, 2325, 45, 2325, 45, 45,
1420 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1421 45, 45, 45, 45, 45, 2325, 45, 2325, 45, 45,
1422 45, 2325, 45, 45, 45, 2325, 45, 45, 45, 45,
1423
1424 2325, 2325, 45, 45, 45, 45, 45, 45, 45, 45,
1425 45, 45, 45, 45, 45, 45, 45, 2325, 45, 45,
1426 45, 45, 45, 45, 45, 45, 45, 2325, 2325, 45,
1427 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1428 45, 45, 2325, 45, 45, 45, 45, 45, 2325, 45,
1429 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1430 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1431 45, 45, 45, 45, 45, 45, 2325, 45, 45, 45,
1432 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1433 45, 45, 45, 45, 45, 45, 45, 2325, 45, 45,
1434
1435 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1436 2325, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1437 45, 45, 45, 45, 45, 2325, 45, 45, 45, 45,
1438 2325, 45, 2325, 45, 45, 45, 2325, 2325, 2325, 45,
1439 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1440 45, 45, 45, 45, 2325, 45, 45, 45, 45, 45,
1441 2325, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1442 45, 45, 45, 45, 45, 2325, 2325, 45, 45, 45,
1443 45, 45, 45, 2325, 45, 45, 2325, 45, 45, 45,
1444 45, 45, 45, 45, 45, 45, 45, 45, 45, 2325,
1445
1446 2325, 45, 2325, 45, 2325, 45, 45, 2325, 45, 45,
1447 45, 45, 45, 45, 45, 45, 45, 45, 2325, 45,
1448 45, 45, 45, 45, 45, 45, 2325, 45, 2325, 2325,
1449 2325, 45, 45, 2325, 45, 45, 2325, 45, 45, 45,
1450 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1451 45, 2325, 45, 2325, 45, 45, 45, 45, 45, 45,
1452 45, 45, 2325, 45, 45, 2325, 45, 2325, 45, 45,
1453 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1454 45, 45, 45, 45, 2325, 45, 45, 45, 45, 2325,
1455 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1456
1457 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1458 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1459 2325, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1460 45, 2325, 45, 45, 45, 45, 45, 45, 45, 45,
1461 45, 2325, 45, 45, 45, 2325, 45, 45, 45, 45,
1462 45, 2325, 45, 45, 2325, 2325, 45, 45, 45, 2325,
1463 45, 2325, 45, 45, 45, 45, 45, 45, 45, 45,
1464 45, 45, 45, 45, 45, 45, 2325, 45, 45, 45,
1465 45, 45, 45, 45, 45, 45, 45, 2325, 45, 45,
1466 45, 2325, 45, 45, 2325, 45, 45, 45, 2325, 45,
1467
1468 45, 45, 45, 45, 45, 2325, 2325, 45, 45, 45,
1469 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1470 45, 45, 45, 2325, 45, 45, 45, 45, 45, 45,
1471 2325, 45, 45, 45, 45, 45, 2325, 45, 45, 45,
1472 2325, 2325, 45, 45, 45, 45, 45, 45, 45, 45,
1473 45, 45, 45, 45, 45, 45, 45, 2325, 45, 45,
1474 45, 45, 45, 45, 2325, 45, 45, 45, 2325, 45,
1475 45, 45, 45, 45, 45, 45, 45, 45, 45, 2325,
1476 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1477 45, 45, 45, 45, 45, 45, 45, 2325, 45, 2325,
1478
1479 45, 45, 45, 45, 45, 2325, 45, 45, 2325, 45,
1480 2325, 45, 45, 45, 45, 45, 45, 45, 45, 2325,
1481 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1482 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1483 45, 2325, 45, 45, 45, 45, 2325, 45, 45, 45,
1484 45, 45, 45, 45, 45, 45, 45, 45, 45, 2325,
1485 45, 2325, 45, 45, 45, 45, 2325, 2325, 45, 45,
1486 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1487 2325, 45, 45, 45, 45, 45, 45, 45, 45, 2325,
1488 45, 45, 45, 45, 45, 45, 2325, 2325, 45, 45,
1489
1490 45, 45, 45, 45, 45, 45, 45, 2325, 45, 45,
1491 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1492 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1493 45, 45, 45, 45, 45, 45, 45, 45, 2325, 45,
1494 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1495 45, 45, 2325, 45, 2325, 45, 2325, 45, 45, 2325,
1496 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1497 45, 45, 45, 45, 45, 45, 2325, 45, 2325, 45,
1498 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1499 45, 45, 2325, 45, 45, 45, 2325, 45, 45, 45,
1500
1501 45, 45, 2325, 45, 45, 2325, 45, 2325, 45, 45,
1502 2325, 45, 45, 45, 45, 45, 45, 45, 45, 2325,
1503 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1504 2325, 45, 45, 45, 45, 45, 45, 2325, 45, 45,
1505 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1506 45, 45, 2325, 45, 45, 45, 45, 45, 45, 45,
1507 45, 45, 2325, 45, 45, 45, 45, 45, 45, 45,
1508 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1509 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1510 45, 45, 45, 2325, 2325, 45, 45, 45, 2325, 45,
1511
1512 45, 45, 45, 2325, 45, 45, 45, 45, 45, 2325,
1513 2325, 2325, 2325, 45, 45, 2325, 2325, 2325, 45, 45,
1514 45, 45, 45, 45, 45, 2325, 45, 45, 2325, 45,
1515 45, 45, 45, 45, 45, 45, 45, 45, 2325, 2325,
1516 45, 45, 45, 45, 45, 45, 2325, 45, 45, 2325,
1517 45, 2325, 45, 45, 45, 45, 45, 45, 45, 2325,
1518 45, 45, 45, 45, 45, 45, 45, 45, 45, 2325,
1519 45, 45, 2325, 2325, 45, 45, 45, 45, 45, 45,
1520 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1521 45, 45, 2325, 45, 45, 2325, 45, 45, 2325, 2325,
1522
1523 45, 45, 45, 45, 2325, 45, 45, 2325, 45, 2325,
1524 45, 2325, 45, 45, 45, 45, 45, 45, 45, 2325,
1525 45, 2325, 2325, 2325, 0, 2325, 2325, 2325, 2325, 2325,
1526 2325, 2325, 2325
1527 } ;
1528
1529static const flex_int16_t yy_nxt[2853] =
1530 { 0,
1531 2325, 13, 14, 13, 2325, 15, 16, 102, 17, 18,
1532 19, 20, 21, 22, 22, 22, 22, 22, 23, 24,
1533 86, 254, 37, 14, 37, 87, 25, 26, 38, 37,
1534 14, 37, 42, 27, 42, 38, 2325, 2325, 28, 91,
1535 13, 14, 13, 92, 29, 91, 30, 103, 13, 14,
1536 13, 202, 25, 31, 13, 14, 13, 42, 40, 42,
1537 2325, 32, 13, 14, 13, 91, 40, 33, 255, 167,
1538 93, 94, 92, 168, 34, 35, 13, 14, 13, 202,
1539 15, 16, 92, 17, 18, 19, 20, 21, 22, 22,
1540 22, 22, 22, 23, 24, 39, 13, 14, 13, 93,
1541
1542 93, 25, 26, 39, 13, 14, 13, 42, 27, 42,
1543 136, 95, 281, 28, 109, 282, 41, 104, 105, 29,
1544 108, 30, 115, 137, 41, 232, 233, 25, 31, 96,
1545 383, 138, 89, 139, 89, 234, 32, 90, 90, 90,
1546 90, 90, 33, 109, 104, 105, 108, 384, 115, 34,
1547 35, 44, 44, 44, 45, 45, 46, 45, 45, 45,
1548 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1549 45, 45, 45, 47, 45, 48, 49, 50, 51, 45,
1550 45, 52, 45, 53, 54, 45, 45, 45, 45, 55,
1551 56, 45, 57, 45, 45, 45, 58, 45, 45, 59,
1552
1553 60, 61, 62, 63, 64, 45, 65, 66, 52, 67,
1554 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1555 78, 79, 45, 45, 45, 45, 45, 81, 893, 82,
1556 82, 82, 82, 82, 81, 116, 84, 84, 84, 84,
1557 84, 191, 83, 85, 85, 85, 85, 85, 81, 83,
1558 84, 84, 84, 84, 84, 113, 83, 158, 198, 159,
1559 207, 111, 116, 83, 160, 108, 141, 114, 83, 112,
1560 191, 142, 104, 144, 143, 83, 148, 149, 210, 894,
1561 150, 113, 83, 145, 198, 146, 151, 111, 207, 83,
1562 45, 108, 45, 45, 45, 45, 114, 112, 45, 120,
1563
1564 45, 45, 140, 118, 210, 121, 45, 45, 122, 45,
1565 45, 90, 90, 90, 90, 90, 45, 45, 45, 45,
1566 45, 45, 105, 45, 45, 45, 45, 45, 45, 45,
1567 45, 45, 45, 45, 45, 45, 45, 45, 45, 102,
1568 191, 895, 124, 45, 152, 351, 125, 45, 352, 105,
1569 126, 45, 153, 127, 130, 203, 128, 131, 132, 45,
1570 129, 133, 134, 45, 154, 45, 119, 111, 161, 194,
1571 115, 162, 163, 197, 135, 112, 176, 177, 116, 103,
1572 169, 189, 164, 190, 170, 165, 113, 171, 204, 155,
1573 239, 156, 240, 157, 172, 173, 115, 189, 114, 174,
1574
1575 175, 190, 197, 112, 201, 116, 184, 271, 189, 241,
1576 190, 185, 178, 205, 179, 187, 208, 180, 181, 85,
1577 85, 85, 85, 85, 192, 246, 209, 182, 193, 896,
1578 243, 201, 83, 81, 183, 82, 82, 82, 82, 82,
1579 897, 247, 205, 244, 89, 208, 89, 245, 83, 90,
1580 90, 90, 90, 90, 209, 197, 272, 81, 83, 84,
1581 84, 84, 84, 84, 85, 85, 85, 85, 85, 101,
1582 251, 898, 83, 215, 83, 252, 101, 83, 90, 90,
1583 90, 90, 90, 220, 216, 226, 248, 259, 302, 249,
1584 264, 205, 221, 250, 227, 228, 222, 296, 83, 275,
1585
1586 260, 297, 303, 83, 308, 298, 207, 208, 286, 101,
1587 309, 265, 314, 101, 276, 277, 278, 101, 405, 899,
1588 270, 421, 320, 409, 422, 101, 315, 319, 406, 101,
1589 900, 101, 101, 213, 307, 321, 312, 319, 410, 329,
1590 320, 214, 214, 214, 214, 214, 287, 288, 289, 320,
1591 214, 214, 214, 214, 214, 214, 319, 290, 321, 291,
1592 326, 321, 292, 327, 293, 294, 322, 323, 329, 330,
1593 332, 392, 333, 335, 337, 326, 214, 214, 214, 214,
1594 214, 214, 332, 418, 324, 436, 326, 437, 334, 327,
1595 457, 419, 901, 441, 335, 458, 332, 330, 333, 335,
1596
1597 454, 340, 337, 338, 338, 338, 338, 338, 399, 451,
1598 353, 454, 338, 338, 338, 338, 338, 338, 354, 457,
1599 335, 452, 458, 460, 355, 462, 454, 393, 463, 491,
1600 394, 485, 457, 561, 446, 492, 486, 455, 338, 338,
1601 338, 338, 338, 338, 556, 507, 511, 533, 557, 460,
1602 508, 512, 537, 534, 462, 463, 466, 466, 466, 466,
1603 466, 468, 538, 607, 902, 466, 466, 466, 466, 466,
1604 466, 527, 528, 529, 462, 552, 596, 530, 566, 575,
1605 553, 597, 567, 576, 602, 562, 608, 618, 609, 607,
1606 602, 466, 466, 466, 466, 466, 466, 640, 723, 619,
1607
1608 653, 509, 750, 539, 687, 654, 510, 513, 629, 688,
1609 641, 677, 630, 602, 608, 741, 609, 751, 742, 611,
1610 631, 678, 632, 633, 634, 635, 636, 715, 750, 752,
1611 747, 763, 716, 810, 811, 754, 554, 45, 45, 45,
1612 45, 45, 748, 875, 889, 751, 45, 45, 45, 45,
1613 45, 45, 756, 724, 831, 876, 834, 749, 752, 757,
1614 779, 835, 832, 780, 847, 888, 890, 891, 748, 848,
1615 903, 889, 45, 45, 45, 45, 45, 45, 892, 904,
1616 905, 906, 907, 908, 910, 909, 749, 764, 911, 912,
1617 913, 914, 915, 890, 888, 916, 891, 917, 836, 918,
1618
1619 919, 920, 921, 922, 892, 923, 924, 925, 926, 927,
1620 928, 849, 929, 930, 931, 934, 935, 936, 932, 937,
1621 938, 939, 933, 940, 941, 942, 943, 944, 945, 946,
1622 947, 948, 949, 950, 951, 952, 953, 954, 955, 956,
1623 957, 958, 959, 960, 961, 962, 963, 965, 966, 964,
1624 967, 968, 969, 970, 971, 972, 973, 974, 975, 976,
1625 977, 978, 979, 980, 981, 982, 983, 984, 985, 986,
1626 987, 988, 989, 990, 991, 992, 993, 994, 995, 996,
1627 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006,
1628 1007, 1009, 1010, 1013, 1014, 1015, 1016, 1008, 1020, 1011,
1629
1630 1021, 1022, 1023, 1012, 1024, 1025, 1026, 1027, 1028, 1017,
1631 1029, 1018, 1030, 1031, 1032, 1019, 1033, 1034, 1035, 1036,
1632 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046,
1633 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056,
1634 1057, 1058, 1059, 1060, 1061, 1035, 1062, 1063, 1036, 1064,
1635 1065, 1039, 1067, 1068, 1069, 1066, 1070, 1071, 1072, 1073,
1636 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083,
1637 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1092, 1093, 1094,
1638 1095, 1091, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103,
1639 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113,
1640
1641 1114, 1115, 1116, 1117, 1118, 1119, 1121, 1122, 1123, 1120,
1642 1124, 1125, 1126, 1128, 1129, 1130, 1131, 1127, 1132, 1133,
1643 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143,
1644 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1153, 1154,
1645 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1152,
1646 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173,
1647 1174, 1175, 1176, 1177, 1178, 1181, 1179, 1182, 1183, 1180,
1648 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193,
1649 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203,
1650 1177, 1176, 1204, 1178, 1179, 1180, 1205, 1207, 1208, 1206,
1651
1652 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218,
1653 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228,
1654 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1238, 1239, 1240,
1655 1241, 1236, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249,
1656 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259,
1657 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269,
1658 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279,
1659 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289,
1660 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1237, 1297, 1298,
1661 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308,
1662
1663 1309, 1310, 1311, 1312, 1314, 1313, 1315, 1316, 1317, 1318,
1664 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328,
1665 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338,
1666 1340, 1311, 1313, 1314, 1315, 1341, 1342, 1339, 1343, 1344,
1667 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354,
1668 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364,
1669 1365, 1366, 1367, 1368, 1370, 1371, 1372, 1373, 1369, 1374,
1670 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384,
1671 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394,
1672 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404,
1673
1674 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414,
1675 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424,
1676 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434,
1677 1435, 1436, 1437, 1438, 1439, 1440, 1442, 1441, 1443, 1444,
1678 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454,
1679 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464,
1680 1439, 1465, 1438, 1441, 1440, 1442, 1466, 1467, 1468, 1469,
1681 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479,
1682 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489,
1683 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499,
1684
1685 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509,
1686 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519,
1687 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529,
1688 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539,
1689 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549,
1690 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559,
1691 1560, 1561, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570,
1692 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1552,
1693 1553, 1580, 1581, 1554, 1582, 1583, 1584, 1585, 1586, 1587,
1694 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597,
1695
1696 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1562, 1606,
1697 1607, 1608, 1609, 1610, 1611, 1613, 1614, 1615, 1616, 1617,
1698 1618, 1619, 1612, 1620, 1621, 1622, 1623, 1624, 1625, 1626,
1699 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636,
1700 1637, 1639, 1640, 1643, 1641, 1638, 1642, 1644, 1645, 1646,
1701 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656,
1702 1657, 1658, 1659, 1662, 1661, 1663, 1664, 1665, 1666, 1667,
1703 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677,
1704 1678, 1679, 1680, 1681, 1682, 1683, 1660, 1658, 1684, 1657,
1705 1661, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693,
1706
1707 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703,
1708 1704, 1705, 1706, 1707, 1660, 1708, 1709, 1710, 1711, 1712,
1709 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722,
1710 1723, 1724, 1725, 1726, 1727, 1731, 1728, 1732, 1733, 1729,
1711 1734, 1735, 1730, 1736, 1737, 1738, 1739, 1740, 1741, 1742,
1712 1743, 1744, 1745, 1746, 1747, 1748, 1750, 1749, 1751, 1752,
1713 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1762, 1763,
1714 1764, 1767, 1768, 1765, 1769, 1770, 1771, 1772, 1773, 1774,
1715 1775, 1747, 1748, 1749, 1766, 1750, 1751, 1776, 1777, 1778,
1716 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788,
1717
1718 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799,
1719 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809,
1720 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1761, 1818,
1721 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828,
1722 1829, 1830, 1831, 1832, 1833, 1835, 1834, 1836, 1837, 1838,
1723 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848,
1724 1789, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857,
1725 1833, 1861, 1832, 1834, 1835, 1858, 1836, 1862, 1863, 1864,
1726 1859, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873,
1727 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883,
1728
1729 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893,
1730 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903,
1731 1904, 1905, 1860, 1906, 1907, 1908, 1909, 1910, 1911, 1912,
1732 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922,
1733 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1905, 1931,
1734 1907, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940,
1735 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950,
1736 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960,
1737 1961, 1962, 1963, 1965, 1966, 1967, 1968, 1964, 1969, 1970,
1738 1971, 1973, 1972, 1974, 1975, 1976, 1977, 1978, 1979, 1980,
1739
1740 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990,
1741 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1971, 1972, 1998,
1742 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
1743 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018,
1744 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028,
1745 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038,
1746 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048,
1747 2049, 2050, 2025, 2026, 2051, 2027, 2052, 2053, 2054, 2055,
1748 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065,
1749 2066, 2067, 2068, 2069, 2070, 2071, 2073, 2074, 2072, 2075,
1750
1751 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085,
1752 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095,
1753 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2076, 2078, 2103,
1754 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113,
1755 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123,
1756 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133,
1757 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143,
1758 2144, 2145, 2146, 2147, 2122, 2148, 2123, 2149, 2150, 2151,
1759 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2161, 2160,
1760 2162, 2163, 2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171,
1761
1762 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181,
1763 2182, 2183, 2184, 2185, 2159, 2160, 2186, 2187, 2188, 2189,
1764 2190, 2191, 2192, 2193, 2194, 2195, 2196, 2197, 2198, 2199,
1765 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209,
1766 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2193,
1767 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228,
1768 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238,
1769 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248,
1770 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258,
1771 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268,
1772
1773 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278,
1774 2280, 2279, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288,
1775 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298,
1776 2299, 2300, 2301, 2302, 2303, 2304, 2305, 2306, 2307, 2308,
1777 2309, 2310, 2311, 2312, 2313, 2314, 2315, 2316, 2317, 2318,
1778 2319, 2320, 2321, 2322, 2323, 2324, 12, 12, 12, 36,
1779 36, 36, 80, 99, 80, 101, 101, 101, 117, 117,
1780 117, 188, 887, 188, 211, 211, 211, 886, 885, 884,
1781 883, 882, 881, 880, 879, 878, 877, 874, 873, 872,
1782 871, 870, 869, 868, 867, 866, 865, 864, 863, 862,
1783
1784 861, 860, 859, 858, 857, 856, 855, 854, 853, 852,
1785 851, 850, 846, 845, 844, 843, 842, 841, 840, 839,
1786 838, 837, 833, 830, 829, 828, 827, 826, 825, 824,
1787 823, 822, 821, 820, 819, 818, 817, 816, 815, 814,
1788 813, 812, 809, 808, 807, 806, 805, 804, 803, 802,
1789 801, 800, 799, 798, 797, 796, 795, 794, 793, 792,
1790 791, 790, 789, 788, 787, 786, 785, 784, 783, 782,
1791 781, 778, 777, 776, 775, 774, 773, 772, 771, 770,
1792 769, 768, 767, 766, 765, 762, 761, 760, 759, 758,
1793 755, 753, 747, 746, 745, 744, 743, 740, 739, 738,
1794
1795 737, 736, 735, 734, 733, 732, 731, 730, 729, 728,
1796 727, 726, 725, 722, 721, 720, 719, 718, 717, 714,
1797 713, 712, 711, 710, 709, 708, 707, 706, 705, 704,
1798 703, 702, 701, 700, 699, 698, 697, 696, 695, 694,
1799 693, 692, 691, 690, 689, 686, 685, 684, 683, 682,
1800 681, 680, 679, 676, 675, 674, 673, 672, 671, 670,
1801 669, 668, 667, 666, 665, 664, 663, 662, 661, 660,
1802 659, 658, 657, 656, 655, 652, 651, 650, 649, 648,
1803 647, 646, 645, 644, 643, 642, 639, 638, 637, 628,
1804 627, 626, 625, 624, 623, 622, 621, 620, 617, 616,
1805
1806 615, 614, 613, 612, 610, 606, 605, 604, 603, 601,
1807 600, 599, 598, 595, 594, 593, 592, 591, 590, 589,
1808 588, 587, 586, 585, 584, 583, 582, 581, 580, 579,
1809 578, 577, 574, 573, 572, 571, 570, 569, 568, 565,
1810 564, 563, 560, 559, 558, 555, 551, 550, 549, 548,
1811 547, 546, 545, 544, 543, 542, 541, 540, 536, 535,
1812 532, 531, 526, 525, 524, 523, 522, 521, 520, 519,
1813 518, 517, 516, 515, 514, 506, 505, 504, 503, 502,
1814 501, 500, 499, 498, 497, 496, 495, 494, 493, 490,
1815 489, 488, 487, 484, 483, 482, 481, 480, 479, 478,
1816
1817 477, 476, 475, 474, 473, 472, 471, 470, 469, 467,
1818 465, 464, 461, 459, 456, 453, 450, 449, 448, 447,
1819 445, 444, 443, 442, 440, 439, 438, 435, 434, 433,
1820 432, 431, 430, 429, 428, 427, 426, 425, 424, 423,
1821 420, 417, 416, 415, 414, 413, 412, 411, 408, 407,
1822 404, 403, 402, 401, 400, 398, 397, 396, 395, 391,
1823 390, 389, 388, 387, 386, 385, 382, 381, 380, 379,
1824 378, 377, 376, 375, 374, 373, 372, 371, 370, 369,
1825 368, 367, 366, 365, 364, 363, 362, 361, 360, 359,
1826 358, 357, 356, 350, 349, 348, 347, 346, 345, 344,
1827
1828 343, 342, 341, 339, 212, 336, 334, 331, 328, 325,
1829 318, 317, 316, 313, 311, 310, 306, 305, 304, 301,
1830 300, 299, 295, 285, 284, 283, 280, 279, 274, 273,
1831 269, 268, 267, 266, 263, 262, 261, 258, 257, 256,
1832 253, 242, 238, 237, 236, 235, 231, 230, 229, 225,
1833 224, 223, 219, 218, 217, 212, 206, 200, 199, 196,
1834 195, 186, 166, 147, 123, 110, 107, 106, 43, 100,
1835 98, 97, 88, 43, 2325, 11, 2325, 2325, 2325, 2325,
1836 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325,
1837 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325,
1838
1839 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325,
1840 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325,
1841 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325,
1842 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325,
1843 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325,
1844 2325, 2325
1845 } ;
1846
1847static const flex_int16_t yy_chk[2853] =
1848 { 0,
1849 0, 1, 1, 1, 0, 1, 1, 44, 1, 1,
1850 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1851 21, 144, 3, 3, 3, 21, 1, 1, 3, 4,
1852 4, 4, 13, 1, 13, 4, 0, 0, 1, 26,
1853 5, 5, 5, 27, 1, 31, 1, 44, 6, 6,
1854 6, 109, 1, 1, 7, 7, 7, 37, 7, 37,
1855 0, 1, 8, 8, 8, 26, 8, 1, 144, 74,
1856 28, 31, 27, 74, 1, 1, 2, 2, 2, 109,
1857 2, 2, 32, 2, 2, 2, 2, 2, 2, 2,
1858 2, 2, 2, 2, 2, 5, 9, 9, 9, 28,
1859
1860 33, 2, 2, 6, 10, 10, 10, 42, 2, 42,
1861 63, 32, 164, 2, 52, 164, 9, 47, 48, 2,
1862 51, 2, 56, 63, 10, 132, 132, 2, 2, 33,
1863 257, 63, 25, 63, 25, 132, 2, 25, 25, 25,
1864 25, 25, 2, 52, 47, 48, 51, 257, 56, 2,
1865 2, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1866 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1867 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1868 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1869 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1870
1871 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1872 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1873 15, 15, 15, 15, 15, 15, 15, 17, 753, 17,
1874 17, 17, 17, 17, 19, 57, 19, 19, 19, 19,
1875 19, 93, 17, 20, 20, 20, 20, 20, 22, 19,
1876 22, 22, 22, 22, 22, 55, 20, 71, 105, 71,
1877 113, 54, 57, 22, 71, 64, 65, 55, 17, 54,
1878 93, 65, 59, 66, 65, 19, 68, 68, 116, 754,
1879 68, 55, 20, 66, 105, 66, 68, 54, 113, 22,
1880 45, 64, 45, 45, 45, 45, 55, 54, 45, 59,
1881
1882 45, 45, 64, 58, 116, 59, 45, 45, 59, 45,
1883 58, 89, 89, 89, 89, 89, 45, 45, 45, 45,
1884 45, 45, 61, 45, 45, 45, 45, 45, 45, 45,
1885 45, 45, 45, 45, 45, 45, 45, 45, 45, 101,
1886 96, 755, 61, 58, 69, 227, 61, 58, 227, 61,
1887 61, 58, 69, 61, 62, 110, 61, 62, 62, 58,
1888 61, 62, 62, 58, 69, 58, 58, 70, 72, 96,
1889 77, 72, 72, 104, 62, 70, 76, 76, 79, 101,
1890 75, 91, 72, 92, 75, 72, 76, 75, 110, 70,
1891 137, 70, 137, 70, 75, 75, 77, 94, 76, 75,
1892
1893 75, 95, 104, 70, 108, 79, 77, 158, 91, 137,
1894 92, 77, 76, 111, 76, 79, 114, 76, 76, 81,
1895 81, 81, 81, 81, 94, 140, 115, 76, 95, 756,
1896 139, 108, 81, 82, 76, 82, 82, 82, 82, 82,
1897 757, 140, 111, 139, 83, 114, 83, 139, 82, 83,
1898 83, 83, 83, 83, 115, 120, 158, 84, 81, 84,
1899 84, 84, 84, 84, 85, 85, 85, 85, 85, 103,
1900 142, 758, 84, 120, 82, 142, 103, 85, 90, 90,
1901 90, 90, 90, 124, 120, 128, 141, 148, 174, 141,
1902 152, 157, 124, 141, 128, 128, 124, 170, 84, 161,
1903
1904 148, 170, 174, 85, 179, 170, 178, 182, 168, 103,
1905 179, 152, 184, 103, 161, 161, 161, 103, 276, 759,
1906 157, 289, 190, 279, 289, 103, 184, 189, 276, 103,
1907 760, 103, 103, 119, 178, 191, 182, 192, 279, 201,
1908 193, 119, 119, 119, 119, 119, 168, 168, 168, 190,
1909 119, 119, 119, 119, 119, 119, 189, 168, 194, 168,
1910 197, 191, 168, 198, 168, 168, 192, 193, 201, 202,
1911 205, 265, 206, 208, 210, 216, 119, 119, 119, 119,
1912 119, 119, 270, 287, 194, 303, 197, 303, 307, 198,
1913 326, 287, 761, 307, 312, 327, 205, 202, 206, 208,
1914
1915 319, 216, 210, 214, 214, 214, 214, 214, 270, 317,
1916 228, 322, 214, 214, 214, 214, 214, 214, 228, 326,
1917 312, 317, 327, 329, 228, 332, 319, 265, 333, 362,
1918 265, 357, 340, 418, 312, 362, 357, 322, 214, 214,
1919 214, 214, 214, 214, 414, 377, 378, 395, 414, 329,
1920 377, 378, 398, 395, 332, 333, 338, 338, 338, 338,
1921 338, 340, 398, 463, 762, 338, 338, 338, 338, 338,
1922 338, 392, 392, 392, 399, 412, 450, 392, 422, 430,
1923 412, 450, 422, 430, 457, 418, 465, 475, 465, 463,
1924 468, 338, 338, 338, 338, 338, 338, 491, 575, 475,
1925
1926 504, 377, 607, 399, 539, 504, 377, 378, 487, 539,
1927 491, 529, 487, 457, 465, 597, 465, 608, 597, 468,
1928 487, 529, 487, 487, 487, 487, 487, 568, 607, 609,
1929 611, 621, 568, 669, 669, 611, 412, 466, 466, 466,
1930 466, 466, 603, 733, 749, 608, 466, 466, 466, 466,
1931 466, 466, 615, 575, 690, 733, 692, 603, 609, 615,
1932 636, 692, 690, 636, 704, 748, 750, 751, 603, 704,
1933 763, 749, 466, 466, 466, 466, 466, 466, 752, 764,
1934 765, 766, 767, 767, 768, 767, 603, 621, 769, 770,
1935 771, 772, 773, 750, 748, 774, 751, 775, 692, 776,
1936
1937 777, 778, 779, 780, 752, 781, 782, 783, 784, 785,
1938 786, 704, 787, 788, 789, 790, 791, 792, 789, 793,
1939 794, 795, 789, 796, 797, 798, 799, 800, 801, 802,
1940 803, 804, 805, 806, 807, 808, 809, 810, 811, 812,
1941 813, 814, 815, 816, 817, 818, 819, 820, 821, 819,
1942 822, 824, 825, 826, 827, 828, 829, 830, 831, 832,
1943 833, 835, 836, 837, 838, 839, 840, 841, 842, 843,
1944 844, 845, 846, 848, 849, 850, 851, 852, 853, 854,
1945 855, 856, 857, 858, 859, 860, 861, 862, 863, 864,
1946 865, 866, 867, 868, 869, 870, 871, 865, 872, 867,
1947
1948 873, 874, 876, 867, 877, 878, 879, 880, 881, 871,
1949 882, 871, 883, 884, 885, 871, 886, 887, 888, 889,
1950 890, 891, 892, 893, 894, 895, 896, 897, 898, 899,
1951 900, 901, 902, 903, 906, 907, 908, 909, 910, 911,
1952 912, 913, 914, 915, 916, 888, 917, 918, 889, 919,
1953 920, 892, 921, 922, 923, 920, 924, 925, 926, 927,
1954 928, 929, 930, 931, 932, 933, 934, 935, 936, 937,
1955 938, 939, 941, 942, 943, 944, 945, 946, 947, 948,
1956 949, 945, 950, 951, 952, 953, 954, 955, 956, 957,
1957 960, 961, 962, 963, 964, 965, 966, 968, 969, 970,
1958
1959 971, 972, 973, 975, 976, 977, 978, 979, 980, 977,
1960 981, 982, 983, 985, 986, 989, 990, 983, 991, 992,
1961 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002,
1962 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012,
1963 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1010,
1964 1022, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032,
1965 1033, 1034, 1035, 1036, 1037, 1040, 1038, 1041, 1042, 1039,
1966 1043, 1044, 1045, 1047, 1048, 1049, 1050, 1051, 1052, 1053,
1967 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063,
1968 1036, 1035, 1064, 1037, 1038, 1039, 1066, 1067, 1068, 1066,
1969
1970 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078,
1971 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088,
1972 1089, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1100,
1973 1101, 1096, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109,
1974 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119,
1975 1120, 1121, 1122, 1123, 1124, 1125, 1127, 1128, 1130, 1131,
1976 1133, 1134, 1135, 1136, 1138, 1139, 1140, 1141, 1142, 1143,
1977 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153,
1978 1154, 1155, 1157, 1158, 1159, 1160, 1161, 1096, 1162, 1163,
1979 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173,
1980
1981 1174, 1175, 1176, 1177, 1179, 1178, 1180, 1182, 1183, 1184,
1982 1185, 1186, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195,
1983 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205,
1984 1206, 1176, 1178, 1179, 1180, 1207, 1208, 1205, 1209, 1210,
1985 1211, 1213, 1214, 1216, 1217, 1218, 1219, 1220, 1221, 1222,
1986 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232,
1987 1233, 1234, 1236, 1237, 1238, 1239, 1240, 1241, 1237, 1242,
1988 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252,
1989 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262,
1990 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1273,
1991
1992 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283,
1993 1285, 1286, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296,
1994 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306,
1995 1307, 1309, 1310, 1311, 1312, 1313, 1315, 1314, 1316, 1317,
1996 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327,
1997 1328, 1329, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338,
1998 1312, 1339, 1311, 1314, 1313, 1315, 1340, 1341, 1342, 1344,
1999 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354,
2000 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364,
2001 1367, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377,
2002
2003 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1387, 1389,
2004 1390, 1391, 1393, 1394, 1395, 1397, 1398, 1399, 1400, 1403,
2005 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413,
2006 1414, 1415, 1416, 1417, 1419, 1420, 1421, 1422, 1423, 1424,
2007 1425, 1426, 1427, 1430, 1431, 1432, 1433, 1434, 1435, 1436,
2008 1437, 1438, 1439, 1440, 1441, 1442, 1444, 1445, 1446, 1447,
2009 1448, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458,
2010 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1439,
2011 1440, 1468, 1469, 1441, 1470, 1471, 1472, 1473, 1474, 1475,
2012 1476, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486,
2013
2014 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1450, 1495,
2015 1496, 1497, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506,
2016 1507, 1508, 1501, 1509, 1510, 1512, 1513, 1514, 1515, 1516,
2017 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1527,
2018 1528, 1529, 1530, 1534, 1532, 1528, 1532, 1535, 1536, 1540,
2019 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550,
2020 1551, 1552, 1553, 1556, 1554, 1557, 1558, 1559, 1560, 1562,
2021 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572,
2022 1573, 1574, 1575, 1578, 1579, 1580, 1553, 1552, 1581, 1551,
2023 1554, 1582, 1583, 1585, 1586, 1588, 1589, 1590, 1591, 1592,
2024
2025 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1602, 1604, 1606,
2026 1607, 1609, 1610, 1611, 1553, 1612, 1613, 1614, 1615, 1616,
2027 1617, 1618, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1628,
2028 1632, 1633, 1635, 1636, 1638, 1639, 1638, 1640, 1641, 1638,
2029 1642, 1643, 1638, 1644, 1645, 1646, 1647, 1648, 1649, 1650,
2030 1651, 1653, 1655, 1656, 1657, 1658, 1660, 1659, 1661, 1662,
2031 1664, 1665, 1667, 1669, 1670, 1671, 1672, 1673, 1674, 1675,
2032 1676, 1678, 1679, 1677, 1680, 1681, 1682, 1683, 1684, 1686,
2033 1687, 1657, 1658, 1659, 1677, 1660, 1661, 1688, 1689, 1691,
2034 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1699, 1700,
2035
2036 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710,
2037 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720,
2038 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1673, 1730,
2039 1731, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741,
2040 1743, 1744, 1745, 1747, 1748, 1750, 1749, 1751, 1753, 1754,
2041 1757, 1758, 1759, 1761, 1763, 1764, 1765, 1766, 1767, 1768,
2042 1700, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1778,
2043 1748, 1780, 1747, 1749, 1750, 1779, 1751, 1781, 1782, 1783,
2044 1779, 1784, 1785, 1786, 1787, 1789, 1790, 1791, 1793, 1794,
2045 1796, 1797, 1798, 1800, 1801, 1802, 1803, 1804, 1805, 1808,
2046
2047 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818,
2048 1819, 1820, 1821, 1822, 1823, 1825, 1826, 1827, 1828, 1829,
2049 1830, 1832, 1779, 1833, 1834, 1835, 1836, 1838, 1839, 1840,
2050 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852,
2051 1853, 1854, 1855, 1856, 1857, 1859, 1860, 1861, 1832, 1862,
2052 1834, 1863, 1864, 1866, 1867, 1868, 1870, 1871, 1872, 1873,
2053 1874, 1875, 1876, 1877, 1878, 1879, 1881, 1882, 1883, 1884,
2054 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894,
2055 1895, 1896, 1897, 1899, 1901, 1902, 1903, 1897, 1904, 1905,
2056 1907, 1910, 1908, 1912, 1913, 1914, 1915, 1916, 1917, 1918,
2057
2058 1919, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929,
2059 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1907, 1908, 1937,
2060 1938, 1939, 1940, 1941, 1943, 1944, 1945, 1946, 1948, 1949,
2061 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959,
2062 1961, 1963, 1964, 1965, 1966, 1969, 1970, 1971, 1972, 1973,
2063 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1982, 1983, 1984,
2064 1985, 1986, 1987, 1988, 1989, 1991, 1992, 1993, 1994, 1995,
2065 1996, 1999, 1970, 1971, 2000, 1972, 2001, 2002, 2003, 2004,
2066 2005, 2006, 2007, 2009, 2010, 2011, 2012, 2013, 2014, 2015,
2067 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2021, 2024,
2068
2069 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034,
2070 2035, 2036, 2037, 2038, 2040, 2041, 2042, 2043, 2044, 2045,
2071 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2025, 2027, 2054,
2072 2056, 2058, 2059, 2061, 2062, 2063, 2064, 2065, 2066, 2067,
2073 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2078,
2074 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089,
2075 2090, 2091, 2092, 2094, 2095, 2096, 2098, 2099, 2100, 2101,
2076 2102, 2104, 2105, 2107, 2076, 2109, 2078, 2110, 2112, 2113,
2077 2114, 2115, 2116, 2117, 2118, 2119, 2121, 2122, 2124, 2123,
2078 2125, 2126, 2127, 2128, 2129, 2130, 2132, 2133, 2134, 2135,
2079
2080 2136, 2137, 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146,
2081 2147, 2148, 2149, 2150, 2122, 2123, 2151, 2152, 2154, 2155,
2082 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2164, 2165, 2166,
2083 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176,
2084 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2159,
2085 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2196, 2197,
2086 2198, 2200, 2201, 2202, 2203, 2205, 2206, 2207, 2208, 2209,
2087 2214, 2215, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2227,
2088 2228, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238,
2089 2241, 2242, 2243, 2244, 2245, 2246, 2248, 2249, 2251, 2253,
2090
2091 2254, 2255, 2256, 2257, 2258, 2259, 2261, 2262, 2263, 2264,
2092 2265, 2264, 2266, 2267, 2268, 2269, 2271, 2272, 2275, 2276,
2093 2277, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286,
2094 2287, 2288, 2289, 2290, 2291, 2292, 2294, 2295, 2297, 2298,
2095 2301, 2302, 2303, 2304, 2306, 2307, 2309, 2311, 2313, 2314,
2096 2315, 2316, 2317, 2318, 2319, 2321, 2326, 2326, 2326, 2327,
2097 2327, 2327, 2328, 2329, 2328, 2330, 2330, 2330, 2331, 2331,
2098 2331, 2332, 745, 2332, 2333, 2333, 2333, 743, 742, 741,
2099 740, 739, 738, 737, 736, 735, 734, 732, 731, 730,
2100 728, 727, 726, 725, 724, 723, 722, 721, 720, 719,
2101
2102 718, 717, 716, 714, 713, 712, 711, 709, 708, 707,
2103 706, 705, 703, 701, 700, 699, 698, 697, 696, 695,
2104 694, 693, 691, 689, 688, 686, 685, 684, 683, 682,
2105 681, 680, 679, 678, 677, 676, 675, 674, 673, 672,
2106 671, 670, 668, 667, 666, 665, 664, 663, 660, 659,
2107 658, 657, 656, 655, 654, 652, 651, 650, 649, 648,
2108 647, 646, 645, 644, 643, 642, 641, 640, 639, 638,
2109 637, 635, 634, 633, 632, 631, 630, 629, 628, 627,
2110 626, 625, 624, 623, 622, 620, 619, 618, 617, 616,
2111 613, 610, 602, 601, 600, 599, 598, 595, 592, 590,
2112
2113 588, 587, 586, 585, 584, 583, 582, 581, 580, 579,
2114 578, 577, 576, 574, 573, 572, 571, 570, 569, 567,
2115 566, 565, 564, 563, 562, 561, 560, 559, 558, 557,
2116 556, 554, 553, 551, 550, 549, 548, 547, 546, 545,
2117 544, 543, 542, 541, 540, 538, 537, 535, 534, 533,
2118 532, 531, 530, 528, 527, 526, 525, 524, 523, 522,
2119 521, 520, 519, 518, 517, 516, 515, 514, 513, 512,
2120 510, 509, 508, 506, 505, 503, 502, 501, 500, 499,
2121 498, 497, 496, 495, 493, 492, 490, 489, 488, 486,
2122 484, 483, 482, 481, 480, 479, 477, 476, 474, 473,
2123
2124 472, 471, 470, 469, 467, 462, 460, 459, 458, 456,
2125 453, 452, 451, 449, 448, 447, 446, 445, 444, 443,
2126 442, 441, 440, 439, 438, 437, 436, 435, 434, 433,
2127 432, 431, 429, 428, 427, 426, 425, 424, 423, 421,
2128 420, 419, 417, 416, 415, 413, 411, 410, 409, 408,
2129 407, 406, 405, 404, 403, 402, 401, 400, 397, 396,
2130 394, 393, 391, 390, 389, 388, 387, 386, 385, 384,
2131 383, 382, 381, 380, 379, 376, 375, 374, 373, 372,
2132 371, 370, 369, 368, 367, 366, 365, 364, 363, 361,
2133 360, 359, 358, 356, 355, 354, 353, 352, 351, 350,
2134
2135 349, 348, 347, 346, 345, 344, 343, 342, 341, 339,
2136 337, 335, 330, 328, 325, 318, 316, 315, 314, 313,
2137 311, 310, 309, 308, 306, 305, 304, 302, 301, 300,
2138 299, 298, 297, 296, 295, 294, 293, 292, 291, 290,
2139 288, 286, 285, 284, 283, 282, 281, 280, 278, 277,
2140 275, 274, 273, 272, 271, 269, 268, 267, 266, 264,
2141 263, 262, 261, 260, 259, 258, 256, 255, 253, 252,
2142 251, 250, 249, 248, 247, 246, 245, 244, 243, 242,
2143 241, 240, 239, 238, 237, 236, 235, 234, 233, 232,
2144 231, 230, 229, 226, 225, 224, 223, 222, 221, 220,
2145
2146 219, 218, 217, 215, 211, 209, 207, 204, 199, 195,
2147 187, 186, 185, 183, 181, 180, 177, 176, 175, 173,
2148 172, 171, 169, 167, 166, 165, 163, 162, 160, 159,
2149 156, 155, 154, 153, 151, 150, 149, 147, 146, 145,
2150 143, 138, 136, 135, 134, 133, 131, 130, 129, 127,
2151 126, 125, 123, 122, 121, 117, 112, 107, 106, 99,
2152 98, 78, 73, 67, 60, 53, 50, 49, 43, 41,
2153 39, 38, 24, 14, 11, 2325, 2325, 2325, 2325, 2325,
2154 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325,
2155 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325,
2156
2157 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325,
2158 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325,
2159 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325,
2160 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325,
2161 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325, 2325,
2162 2325, 2325
2163 } ;
2164
2165static yy_state_type yy_last_accepting_state;
2166static char *yy_last_accepting_cpos;
2167
2168extern int yy_flex_debug;
2170
2171static const flex_int16_t yy_rule_linenum[245] =
2172 { 0,
2173 149, 151, 153, 158, 159, 164, 165, 166, 178, 180,
2174 185, 191, 200, 209, 218, 227, 236, 245, 254, 263,
2175 275, 287, 297, 307, 317, 327, 337, 346, 356, 366,
2176 376, 386, 395, 404, 413, 422, 431, 440, 449, 458,
2177 467, 476, 485, 494, 503, 512, 521, 530, 539, 548,
2178 562, 574, 586, 597, 608, 620, 631, 642, 653, 664,
2179 675, 686, 697, 706, 715, 724, 735, 746, 755, 767,
2180 779, 791, 802, 814, 826, 838, 850, 862, 874, 885,
2181 896, 905, 914, 923, 934, 945, 954, 963, 975, 987,
2182 999, 1011, 1023, 1035, 1047, 1058, 1070, 1079, 1088, 1097,
2183
2184 1106, 1118, 1130, 1142, 1154, 1164, 1175, 1184, 1193, 1208,
2185 1225, 1234, 1243, 1252, 1261, 1270, 1279, 1288, 1297, 1306,
2186 1315, 1324, 1334, 1361, 1388, 1397, 1407, 1417, 1426, 1436,
2187 1447, 1458, 1469, 1479, 1488, 1497, 1506, 1517, 1528, 1539,
2188 1550, 1561, 1570, 1579, 1588, 1597, 1606, 1615, 1624, 1633,
2189 1642, 1651, 1666, 1678, 1690, 1703, 1712, 1721, 1730, 1739,
2190 1749, 1759, 1768, 1777, 1788, 1798, 1807, 1817, 1827, 1836,
2191 1845, 1854, 1863, 1873, 1882, 1891, 1900, 1909, 1918, 1927,
2192 1936, 1945, 1954, 1963, 1972, 1981, 1990, 1999, 2008, 2017,
2193 2026, 2035, 2044, 2053, 2062, 2071, 2080, 2089, 2098, 2107,
2194
2195 2116, 2125, 2134, 2143, 2152, 2161, 2170, 2179, 2188, 2197,
2196 2206, 2215, 2224, 2233, 2242, 2251, 2260, 2269, 2278, 2287,
2197 2296, 2305, 2314, 2323, 2332, 2341, 2442, 2458, 2507, 2515,
2198 2530, 2531, 2532, 2533, 2534, 2535, 2537, 2555, 2568, 2573,
2199 2577, 2579, 2581, 2583
2200 } ;
2201
2202/* The intent behind this definition is that it'll catch
2203 * any uses of REJECT which flex missed.
2204 */
2205#define REJECT reject_used_but_not_detected
2206#define yymore() yymore_used_but_not_detected
2207#define YY_MORE_ADJ 0
2208#define YY_RESTORE_YY_MORE_OFFSET
2210#line 1 "dhcp6_lexer.ll"
2211/* Copyright (C) 2016-2025 Internet Systems Consortium, Inc. ("ISC")
2212
2213 This Source Code Form is subject to the terms of the Mozilla Public
2214 License, v. 2.0. If a copy of the MPL was not distributed with this
2215 file, You can obtain one at http://mozilla.org/MPL/2.0/. */
2216#line 8 "dhcp6_lexer.ll"
2217
2218/* Generated files do not make clang static analyser so happy */
2219#ifndef __clang_analyzer__
2220
2221#include <cctype>
2222#include <cerrno>
2223#include <climits>
2224#include <cstdint>
2225#include <cstdlib>
2226#include <string>
2227#include <dhcp6/parser_context.h>
2228#include <asiolink/io_address.h>
2229#include <boost/lexical_cast.hpp>
2230#include <exceptions/exceptions.h>
2231
2232/* Please avoid C++ style comments (// ... eol) as they break flex 2.6.2 */
2233
2234/* Work around an incompatibility in flex (at least versions
2235 2.5.31 through 2.5.33): it generates code that does
2236 not conform to C89. See Debian bug 333231
2237 <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=333231>. */
2238# undef yywrap
2239# define yywrap() 1
2240
2241namespace {
2242
2243bool start_token_flag = false;
2244
2246unsigned int comment_start_line = 0;
2247
2248using namespace isc::dhcp;
2249
2250};
2251
2252/* To avoid the call to exit... oops! */
2253#define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg)
2254#line 2255 "dhcp6_lexer.cc"
2255/* noyywrap disables automatic rewinding for the next file to parse. Since we
2256 always parse only a single string, there's no need to do any wraps. And
2257 using yywrap requires linking with -lfl, which provides the default yywrap
2258 implementation that always returns 1 anyway. */
2259/* nounput simplifies the lexer, by removing support for putting a character
2260 back into the input stream. We never use such capability anyway. */
2261/* batch means that we'll never use the generated lexer interactively. */
2262/* avoid to get static global variables to remain with C++. */
2263/* in last resort %option reentrant */
2264/* Enables debug mode. To see the debug messages, one needs to also set
2265 yy_flex_debug to 1, then the debug messages will be printed on stderr. */
2266/* I have no idea what this option does, except it was specified in the bison
2267 examples and Postgres folks added it to remove gcc 4.3 warnings. Let's
2268 be on the safe side and keep it. */
2269#define YY_NO_INPUT 1
2270
2271/* These are not token expressions yet, just convenience expressions that
2272 can be used during actual token definitions. Note some can match
2273 incorrect inputs (e.g., IP addresses) which must be checked. */
2274/* for errors */
2275#line 96 "dhcp6_lexer.ll"
2276/* This code run each time a pattern is matched. It updates the location
2277 by moving it ahead by yyleng bytes. yyleng specifies the length of the
2278 currently matched token. */
2279#define YY_USER_ACTION driver.loc_.columns(yyleng);
2280#line 2281 "dhcp6_lexer.cc"
2281#line 2282 "dhcp6_lexer.cc"
2282
2283#define INITIAL 0
2284#define COMMENT 1
2285#define DIR_ENTER 2
2286#define DIR_INCLUDE 3
2287#define DIR_EXIT 4
2288
2289#ifndef YY_NO_UNISTD_H
2290/* Special case for "unistd.h", since it is non-ANSI. We include it way
2291 * down here because we want the user's section 1 to have been scanned first.
2292 * The user has a chance to override it with an option.
2293 */
2294/* %if-c-only */
2295#include <unistd.h>
2296/* %endif */
2297/* %if-c++-only */
2298/* %endif */
2299#endif
2300
2301#ifndef YY_EXTRA_TYPE
2302#define YY_EXTRA_TYPE void *
2303#endif
2304
2305/* %if-c-only Reentrant structure and macros (non-C++). */
2306/* %if-reentrant */
2307/* %if-c-only */
2308
2309static int yy_init_globals ( void );
2310
2311/* %endif */
2312/* %if-reentrant */
2313/* %endif */
2314/* %endif End reentrant structures and macros. */
2315
2316/* Accessor methods to globals.
2317 These are made visible to non-reentrant scanners for convenience. */
2318
2319int yylex_destroy ( void );
2320
2321int yyget_debug ( void );
2322
2323void yyset_debug ( int debug_flag );
2324
2325YY_EXTRA_TYPE yyget_extra ( void );
2326
2327void yyset_extra ( YY_EXTRA_TYPE user_defined );
2328
2329FILE *yyget_in ( void );
2330
2331void yyset_in ( FILE * _in_str );
2332
2333FILE *yyget_out ( void );
2334
2335void yyset_out ( FILE * _out_str );
2336
2337 int yyget_leng ( void );
2338
2339char *yyget_text ( void );
2340
2341int yyget_lineno ( void );
2342
2343void yyset_lineno ( int _line_number );
2344
2345/* %if-bison-bridge */
2346/* %endif */
2347
2348/* Macros after this point can all be overridden by user definitions in
2349 * section 1.
2350 */
2351
2352#ifndef YY_SKIP_YYWRAP
2353#ifdef __cplusplus
2354extern "C" int yywrap ( void );
2355#else
2356extern int yywrap ( void );
2357#endif
2358#endif
2359
2360/* %not-for-header */
2361#ifndef YY_NO_UNPUT
2362
2363#endif
2364/* %ok-for-header */
2365
2366/* %endif */
2367
2368#ifndef yytext_ptr
2369static void yy_flex_strncpy ( char *, const char *, int );
2370#endif
2371
2372#ifdef YY_NEED_STRLEN
2373static int yy_flex_strlen ( const char * );
2374#endif
2375
2376#ifndef YY_NO_INPUT
2377/* %if-c-only Standard (non-C++) definition */
2378/* %not-for-header */
2379#ifdef __cplusplus
2380static int yyinput ( void );
2381#else
2382static int input ( void );
2383#endif
2384/* %ok-for-header */
2385
2386/* %endif */
2387#endif
2388
2389/* %if-c-only */
2390
2391/* %endif */
2392
2393/* Amount of stuff to slurp up with each read. */
2394#ifndef YY_READ_BUF_SIZE
2395#ifdef __ia64__
2396/* On IA-64, the buffer size is 16k, not 8k */
2397#define YY_READ_BUF_SIZE 16384
2398#else
2399#define YY_READ_BUF_SIZE 8192
2400#endif /* __ia64__ */
2401#endif
2402
2403/* Copy whatever the last rule matched to the standard output. */
2404#ifndef ECHO
2405/* %if-c-only Standard (non-C++) definition */
2406/* This used to be an fputs(), but since the string might contain NUL's,
2407 * we now use fwrite().
2408 */
2409#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2410/* %endif */
2411/* %if-c++-only C++ definition */
2412/* %endif */
2413#endif
2414
2415/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2416 * is returned in "result".
2417 */
2418#ifndef YY_INPUT
2419#define YY_INPUT(buf,result,max_size) \
2420/* %% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \ */\
2421 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2422 { \
2423 int c = '*'; \
2424 int n; \
2425 for ( n = 0; n < max_size && \
2426 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2427 buf[n] = (char) c; \
2428 if ( c == '\n' ) \
2429 buf[n++] = (char) c; \
2430 if ( c == EOF && ferror( yyin ) ) \
2431 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2432 result = n; \
2433 } \
2434 else \
2435 { \
2436 errno=0; \
2437 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2438 { \
2439 if( errno != EINTR) \
2440 { \
2441 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2442 break; \
2443 } \
2444 errno=0; \
2445 clearerr(yyin); \
2446 } \
2447 }\
2448\
2449/* %if-c++-only C++ definition \ */\
2450/* %endif */
2451
2452#endif
2453
2454/* No semi-colon after return; correct usage is to write "yyterminate();" -
2455 * we don't want an extra ';' after the "return" because that will cause
2456 * some compilers to complain about unreachable statements.
2457 */
2458#ifndef yyterminate
2459#define yyterminate() return YY_NULL
2460#endif
2461
2462/* Number of entries by which start-condition stack grows. */
2463#ifndef YY_START_STACK_INCR
2464#define YY_START_STACK_INCR 25
2465#endif
2466
2467/* Report a fatal error. */
2468#ifndef YY_FATAL_ERROR
2469/* %if-c-only */
2470#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2471/* %endif */
2472/* %if-c++-only */
2473/* %endif */
2474#endif
2475
2476/* %if-tables-serialization structures and prototypes */
2477/* %not-for-header */
2478/* %ok-for-header */
2479
2480/* %not-for-header */
2481/* %tables-yydmap generated elements */
2482/* %endif */
2483/* end tables serialization structures and prototypes */
2484
2485/* %ok-for-header */
2486
2487/* Default declaration of generated scanner - a define so the user can
2488 * easily add parameters.
2489 */
2490#ifndef YY_DECL
2491#define YY_DECL_IS_OURS 1
2492/* %if-c-only Standard (non-C++) definition */
2493
2494extern int yylex (void);
2495
2496#define YY_DECL int yylex (void)
2497/* %endif */
2498/* %if-c++-only C++ definition */
2499/* %endif */
2500#endif /* !YY_DECL */
2501
2502/* Code executed at the beginning of each rule, after yytext and yyleng
2503 * have been set up.
2504 */
2505#ifndef YY_USER_ACTION
2506#define YY_USER_ACTION
2507#endif
2508
2509/* Code executed at the end of each rule. */
2510#ifndef YY_BREAK
2511#define YY_BREAK /*LINTED*/break;
2512#endif
2513
2514/* %% [6.0] YY_RULE_SETUP definition goes here */
2515#define YY_RULE_SETUP \
2516 YY_USER_ACTION
2517
2518/* %not-for-header */
2522{
2523 yy_state_type yy_current_state;
2524 char *yy_cp, *yy_bp;
2526
2527 if ( !(yy_init) )
2528 {
2529 (yy_init) = 1;
2530
2531#ifdef YY_USER_INIT
2532 YY_USER_INIT;
2533#endif
2534
2535 if ( ! (yy_start) )
2536 (yy_start) = 1; /* first start state */
2537
2538 if ( ! yyin )
2539/* %if-c-only */
2540 yyin = stdin;
2541/* %endif */
2542/* %if-c++-only */
2543/* %endif */
2544
2545 if ( ! yyout )
2546/* %if-c-only */
2547 yyout = stdout;
2548/* %endif */
2549/* %if-c++-only */
2550/* %endif */
2551
2552 if ( ! YY_CURRENT_BUFFER ) {
2556 }
2557
2559 }
2560
2561 {
2562/* %% [7.0] user's declarations go here */
2563#line 102 "dhcp6_lexer.ll"
2564
2565
2566
2567#line 106 "dhcp6_lexer.ll"
2568 /* This part of the code is copied over to the verbatim to the top
2569 of the generated yylex function. Explanation:
2570 http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html */
2571
2572 /* Code run each time yylex is called. */
2573 driver.loc_.step();
2574
2575 if (start_token_flag) {
2576 start_token_flag = false;
2577 switch (start_token_value) {
2579 default:
2584 return isc::dhcp::Dhcp6Parser::make_SUB_DHCP6(driver.loc_);
2588 return isc::dhcp::Dhcp6Parser::make_SUB_SUBNET6(driver.loc_);
2590 return isc::dhcp::Dhcp6Parser::make_SUB_POOL6(driver.loc_);
2592 return isc::dhcp::Dhcp6Parser::make_SUB_PD_POOL(driver.loc_);
2607 }
2608 }
2609
2610
2611#line 2612 "dhcp6_lexer.cc"
2612
2613 while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
2614 {
2615/* %% [8.0] yymore()-related code goes here */
2616 yy_cp = (yy_c_buf_p);
2617
2618 /* Support of yytext. */
2619 *yy_cp = (yy_hold_char);
2620
2621 /* yy_bp points to the position in yy_ch_buf of the start of
2622 * the current run.
2623 */
2624 yy_bp = yy_cp;
2625
2626/* %% [9.0] code to set up and find next match goes here */
2627 yy_current_state = (yy_start);
2628yy_match:
2629 do
2630 {
2631 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2632 if ( yy_accept[yy_current_state] )
2633 {
2634 (yy_last_accepting_state) = yy_current_state;
2635 (yy_last_accepting_cpos) = yy_cp;
2636 }
2637 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2638 {
2639 yy_current_state = (int) yy_def[yy_current_state];
2640 if ( yy_current_state >= 2326 )
2641 yy_c = yy_meta[yy_c];
2642 }
2643 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2644 ++yy_cp;
2645 }
2646 while ( yy_current_state != 2325 );
2647 yy_cp = (yy_last_accepting_cpos);
2648 yy_current_state = (yy_last_accepting_state);
2649
2650yy_find_action:
2651/* %% [10.0] code to find the action number goes here */
2652 yy_act = yy_accept[yy_current_state];
2653
2655
2656/* %% [11.0] code for yylineno update goes here */
2657
2658do_action: /* This label is used only to access EOF actions. */
2659
2660/* %% [12.0] debug code goes here */
2661 if ( yy_flex_debug )
2662 {
2663 if ( yy_act == 0 )
2664 fprintf( stderr, "--scanner backing up\n" );
2665 else if ( yy_act < 245 )
2666 fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
2667 (long)yy_rule_linenum[yy_act], yytext );
2668 else if ( yy_act == 245 )
2669 fprintf( stderr, "--accepting default rule (\"%s\")\n",
2670 yytext );
2671 else if ( yy_act == 246 )
2672 fprintf( stderr, "--(end of buffer or a NUL)\n" );
2673 else
2674 fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
2675 }
2676
2677 switch ( yy_act )
2678 { /* beginning of action switch */
2679/* %% [13.0] actions go here */
2680 case 0: /* must back up */
2681 /* undo the effects of YY_DO_BEFORE_ACTION */
2682 *yy_cp = (yy_hold_char);
2683 yy_cp = (yy_last_accepting_cpos);
2684 yy_current_state = (yy_last_accepting_state);
2685 goto yy_find_action;
2686
2687case 1:
2689#line 149 "dhcp6_lexer.ll"
2690;
2691 YY_BREAK
2692case 2:
2694#line 151 "dhcp6_lexer.ll"
2695;
2696 YY_BREAK
2697case 3:
2699#line 153 "dhcp6_lexer.ll"
2700{
2701 BEGIN(COMMENT);
2702 comment_start_line = driver.loc_.end.line;;
2703}
2704 YY_BREAK
2705case 4:
2707#line 158 "dhcp6_lexer.ll"
2708BEGIN(INITIAL);
2709 YY_BREAK
2710case 5:
2712#line 159 "dhcp6_lexer.ll"
2713;
2714 YY_BREAK
2715case YY_STATE_EOF(COMMENT):
2716#line 160 "dhcp6_lexer.ll"
2717{
2718 isc_throw(Dhcp6ParseError, "Comment not closed. (/* in line " << comment_start_line);
2719}
2720 YY_BREAK
2721case 6:
2723#line 164 "dhcp6_lexer.ll"
2725 YY_BREAK
2726case 7:
2728#line 165 "dhcp6_lexer.ll"
2730 YY_BREAK
2731case 8:
2733#line 166 "dhcp6_lexer.ll"
2734{
2735 /* Include directive. */
2736
2737 /* Extract the filename. */
2738 std::string tmp(yytext+1);
2739 tmp.resize(tmp.size() - 1);
2740
2741 driver.includeFile(tmp);
2742}
2743 YY_BREAK
2747#line 175 "dhcp6_lexer.ll"
2748{
2749 isc_throw(Dhcp6ParseError, "Directive not closed.");
2750}
2751 YY_BREAK
2752case 9:
2754#line 178 "dhcp6_lexer.ll"
2755BEGIN(INITIAL);
2756 YY_BREAK
2757case 10:
2759#line 180 "dhcp6_lexer.ll"
2760{
2761 /* Ok, we found a with space. Let's ignore it and update loc variable. */
2762 driver.loc_.step();
2763}
2764 YY_BREAK
2765case 11:
2766/* rule 11 can match eol */
2768#line 185 "dhcp6_lexer.ll"
2769{
2770 /* Newline found. Let's update the location and continue. */
2771 driver.loc_.lines(yyleng);
2772 driver.loc_.step();
2773}
2774 YY_BREAK
2775case 12:
2777#line 191 "dhcp6_lexer.ll"
2778{
2779 switch(driver.ctx_) {
2782 default:
2783 return isc::dhcp::Dhcp6Parser::make_STRING("enable-updates", driver.loc_);
2784 }
2785}
2786 YY_BREAK
2787case 13:
2789#line 200 "dhcp6_lexer.ll"
2790{
2791 switch(driver.ctx_) {
2793 return isc::dhcp::Dhcp6Parser::make_SERVER_IP(driver.loc_);
2794 default:
2795 return isc::dhcp::Dhcp6Parser::make_STRING("server-ip", driver.loc_);
2796 }
2797}
2798 YY_BREAK
2799case 14:
2801#line 209 "dhcp6_lexer.ll"
2802{
2803 switch(driver.ctx_) {
2805 return isc::dhcp::Dhcp6Parser::make_SERVER_PORT(driver.loc_);
2806 default:
2807 return isc::dhcp::Dhcp6Parser::make_STRING("server-port", driver.loc_);
2808 }
2809}
2810 YY_BREAK
2811case 15:
2813#line 218 "dhcp6_lexer.ll"
2814{
2815 switch(driver.ctx_) {
2817 return isc::dhcp::Dhcp6Parser::make_SENDER_IP(driver.loc_);
2818 default:
2819 return isc::dhcp::Dhcp6Parser::make_STRING("sender-ip", driver.loc_);
2820 }
2821}
2822 YY_BREAK
2823case 16:
2825#line 227 "dhcp6_lexer.ll"
2826{
2827 switch(driver.ctx_) {
2829 return isc::dhcp::Dhcp6Parser::make_SENDER_PORT(driver.loc_);
2830 default:
2831 return isc::dhcp::Dhcp6Parser::make_STRING("sender-port", driver.loc_);
2832 }
2833}
2834 YY_BREAK
2835case 17:
2837#line 236 "dhcp6_lexer.ll"
2838{
2839 switch(driver.ctx_) {
2842 default:
2843 return isc::dhcp::Dhcp6Parser::make_STRING("max-queue-size", driver.loc_);
2844 }
2845}
2846 YY_BREAK
2847case 18:
2849#line 245 "dhcp6_lexer.ll"
2850{
2851 switch(driver.ctx_) {
2854 default:
2855 return isc::dhcp::Dhcp6Parser::make_STRING("ncr-protocol", driver.loc_);
2856 }
2857}
2858 YY_BREAK
2859case 19:
2861#line 254 "dhcp6_lexer.ll"
2862{
2863 switch(driver.ctx_) {
2865 return isc::dhcp::Dhcp6Parser::make_NCR_FORMAT(driver.loc_);
2866 default:
2867 return isc::dhcp::Dhcp6Parser::make_STRING("ncr-format", driver.loc_);
2868 }
2869}
2870 YY_BREAK
2871case 20:
2873#line 263 "dhcp6_lexer.ll"
2874{
2875 switch(driver.ctx_) {
2881 default:
2882 return isc::dhcp::Dhcp6Parser::make_STRING("hostname-char-set", driver.loc_);
2883 }
2884}
2885 YY_BREAK
2886case 21:
2888#line 275 "dhcp6_lexer.ll"
2889{
2890 switch(driver.ctx_) {
2896 default:
2897 return isc::dhcp::Dhcp6Parser::make_STRING("hostname-char-replacement", driver.loc_);
2898 }
2899}
2900 YY_BREAK
2901case 22:
2903#line 287 "dhcp6_lexer.ll"
2904{
2905 /* dhcp-ddns value keywords are case insensitive */
2906 if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) {
2907 return isc::dhcp::Dhcp6Parser::make_UDP(driver.loc_);
2908 }
2909 std::string tmp(yytext+1);
2910 tmp.resize(tmp.size() - 1);
2911 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
2912}
2913 YY_BREAK
2914case 23:
2916#line 297 "dhcp6_lexer.ll"
2917{
2918 /* dhcp-ddns value keywords are case insensitive */
2919 if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) {
2920 return isc::dhcp::Dhcp6Parser::make_TCP(driver.loc_);
2921 }
2922 std::string tmp(yytext+1);
2923 tmp.resize(tmp.size() - 1);
2924 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
2925}
2926 YY_BREAK
2927case 24:
2929#line 307 "dhcp6_lexer.ll"
2930{
2931 /* dhcp-ddns value keywords are case insensitive */
2932 if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_FORMAT) {
2933 return isc::dhcp::Dhcp6Parser::make_JSON(driver.loc_);
2934 }
2935 std::string tmp(yytext+1);
2936 tmp.resize(tmp.size() - 1);
2937 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
2938}
2939 YY_BREAK
2940case 25:
2942#line 317 "dhcp6_lexer.ll"
2943{
2944 /* dhcp-ddns value keywords are case insensitive */
2947 }
2948 std::string tmp(yytext+1);
2949 tmp.resize(tmp.size() - 1);
2950 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
2951}
2952 YY_BREAK
2953case 26:
2955#line 327 "dhcp6_lexer.ll"
2956{
2957 /* dhcp-ddns value keywords are case insensitive */
2960 }
2961 std::string tmp(yytext+1);
2962 tmp.resize(tmp.size() - 1);
2963 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
2964}
2965 YY_BREAK
2966case 27:
2968#line 337 "dhcp6_lexer.ll"
2969{
2970 switch(driver.ctx_) {
2972 return isc::dhcp::Dhcp6Parser::make_NEVER(driver.loc_);
2973 default:
2974 return isc::dhcp::Dhcp6Parser::make_STRING("never", driver.loc_);
2975 }
2976}
2977 YY_BREAK
2978case 28:
2980#line 346 "dhcp6_lexer.ll"
2981{
2982 /* dhcp-ddns value keywords are case insensitive */
2984 return isc::dhcp::Dhcp6Parser::make_NEVER(driver.loc_);
2985 }
2986 std::string tmp(yytext+1);
2987 tmp.resize(tmp.size() - 1);
2988 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
2989}
2990 YY_BREAK
2991case 29:
2993#line 356 "dhcp6_lexer.ll"
2994{
2995 /* dhcp-ddns value keywords are case insensitive */
2997 return isc::dhcp::Dhcp6Parser::make_NEVER(driver.loc_);
2998 }
2999 std::string tmp(yytext+1);
3000 tmp.resize(tmp.size() - 1);
3001 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
3002}
3003 YY_BREAK
3004case 30:
3006#line 366 "dhcp6_lexer.ll"
3007{
3008 /* dhcp-ddns value keywords are case insensitive */
3010 return isc::dhcp::Dhcp6Parser::make_ALWAYS(driver.loc_);
3011 }
3012 std::string tmp(yytext+1);
3013 tmp.resize(tmp.size() - 1);
3014 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
3015}
3016 YY_BREAK
3017case 31:
3019#line 376 "dhcp6_lexer.ll"
3020{
3021 /* dhcp-ddns value keywords are case insensitive */
3024 }
3025 std::string tmp(yytext+1);
3026 tmp.resize(tmp.size() - 1);
3027 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
3028}
3029 YY_BREAK
3030case 32:
3032#line 386 "dhcp6_lexer.ll"
3033{
3034 switch(driver.ctx_) {
3036 return isc::dhcp::Dhcp6Parser::make_DHCP6(driver.loc_);
3037 default:
3038 return isc::dhcp::Dhcp6Parser::make_STRING("Dhcp6", driver.loc_);
3039 }
3040}
3041 YY_BREAK
3042case 33:
3044#line 395 "dhcp6_lexer.ll"
3045{
3046 switch(driver.ctx_) {
3049 default:
3050 return isc::dhcp::Dhcp6Parser::make_STRING("data-directory", driver.loc_);
3051 }
3052}
3053 YY_BREAK
3054case 34:
3056#line 404 "dhcp6_lexer.ll"
3057{
3058 switch(driver.ctx_) {
3061 default:
3062 return isc::dhcp::Dhcp6Parser::make_STRING("interfaces-config", driver.loc_);
3063 }
3064}
3065 YY_BREAK
3066case 35:
3068#line 413 "dhcp6_lexer.ll"
3069{
3070 switch(driver.ctx_) {
3072 return isc::dhcp::Dhcp6Parser::make_INTERFACES(driver.loc_);
3073 default:
3074 return isc::dhcp::Dhcp6Parser::make_STRING("interfaces", driver.loc_);
3075 }
3076}
3077 YY_BREAK
3078case 36:
3080#line 422 "dhcp6_lexer.ll"
3081{
3082 switch(driver.ctx_) {
3084 return isc::dhcp::Dhcp6Parser::make_RE_DETECT(driver.loc_);
3085 default:
3086 return isc::dhcp::Dhcp6Parser::make_STRING("re-detect", driver.loc_);
3087 }
3088}
3089 YY_BREAK
3090case 37:
3092#line 431 "dhcp6_lexer.ll"
3093{
3094 switch(driver.ctx_) {
3097 default:
3098 return isc::dhcp::Dhcp6Parser::make_STRING("service-sockets-require-all", driver.loc_);
3099 }
3100}
3101 YY_BREAK
3102case 38:
3104#line 440 "dhcp6_lexer.ll"
3105{
3106 switch(driver.ctx_) {
3109 default:
3110 return isc::dhcp::Dhcp6Parser::make_STRING("service-sockets-retry-wait-time", driver.loc_);
3111 }
3112}
3113 YY_BREAK
3114case 39:
3116#line 449 "dhcp6_lexer.ll"
3117{
3118 switch(driver.ctx_) {
3121 default:
3122 return isc::dhcp::Dhcp6Parser::make_STRING("service-sockets-max-retries", driver.loc_);
3123 }
3124}
3125 YY_BREAK
3126case 40:
3128#line 458 "dhcp6_lexer.ll"
3129{
3130 switch(driver.ctx_) {
3133 default:
3134 return isc::dhcp::Dhcp6Parser::make_STRING("sanity-checks", driver.loc_);
3135 }
3136}
3137 YY_BREAK
3138case 41:
3140#line 467 "dhcp6_lexer.ll"
3141{
3142 switch(driver.ctx_) {
3145 default:
3146 return isc::dhcp::Dhcp6Parser::make_STRING("lease-checks", driver.loc_);
3147 }
3148}
3149 YY_BREAK
3150case 42:
3152#line 476 "dhcp6_lexer.ll"
3153{
3154 switch(driver.ctx_) {
3157 default:
3158 return isc::dhcp::Dhcp6Parser::make_STRING("extended-info-checks", driver.loc_);
3159 }
3160}
3161 YY_BREAK
3162case 43:
3164#line 485 "dhcp6_lexer.ll"
3165{
3166 switch(driver.ctx_) {
3169 default:
3170 return isc::dhcp::Dhcp6Parser::make_STRING("lease-database", driver.loc_);
3171 }
3172}
3173 YY_BREAK
3174case 44:
3176#line 494 "dhcp6_lexer.ll"
3177{
3178 switch(driver.ctx_) {
3181 default:
3182 return isc::dhcp::Dhcp6Parser::make_STRING("hosts-database", driver.loc_);
3183 }
3184}
3185 YY_BREAK
3186case 45:
3188#line 503 "dhcp6_lexer.ll"
3189{
3190 switch(driver.ctx_) {
3193 default:
3194 return isc::dhcp::Dhcp6Parser::make_STRING("hosts-databases", driver.loc_);
3195 }
3196}
3197 YY_BREAK
3198case 46:
3200#line 512 "dhcp6_lexer.ll"
3201{
3202 switch(driver.ctx_) {
3205 default:
3206 return isc::dhcp::Dhcp6Parser::make_STRING("config-control", driver.loc_);
3207 }
3208}
3209 YY_BREAK
3210case 47:
3212#line 521 "dhcp6_lexer.ll"
3213{
3214 switch(driver.ctx_) {
3217 default:
3218 return isc::dhcp::Dhcp6Parser::make_STRING("config-databases", driver.loc_);
3219 }
3220}
3221 YY_BREAK
3222case 48:
3224#line 530 "dhcp6_lexer.ll"
3225{
3226 switch(driver.ctx_) {
3229 default:
3230 return isc::dhcp::Dhcp6Parser::make_STRING("config-fetch-wait-time", driver.loc_);
3231 }
3232}
3233 YY_BREAK
3234case 49:
3236#line 539 "dhcp6_lexer.ll"
3237{
3238 switch(driver.ctx_) {
3240 return isc::dhcp::Dhcp6Parser::make_READONLY(driver.loc_);
3241 default:
3242 return isc::dhcp::Dhcp6Parser::make_STRING("readonly", driver.loc_);
3243 }
3244}
3245 YY_BREAK
3246case 50:
3248#line 548 "dhcp6_lexer.ll"
3249{
3250 switch(driver.ctx_) {
3257 return isc::dhcp::Dhcp6Parser::make_TYPE(driver.loc_);
3258 default:
3259 return isc::dhcp::Dhcp6Parser::make_STRING("type", driver.loc_);
3260 }
3261}
3262 YY_BREAK
3263case 51:
3265#line 562 "dhcp6_lexer.ll"
3266{
3267 switch(driver.ctx_) {
3272 return isc::dhcp::Dhcp6Parser::make_USER(driver.loc_);
3273 default:
3274 return isc::dhcp::Dhcp6Parser::make_STRING("user", driver.loc_);
3275 }
3276}
3277 YY_BREAK
3278case 52:
3280#line 574 "dhcp6_lexer.ll"
3281{
3282 switch(driver.ctx_) {
3287 return isc::dhcp::Dhcp6Parser::make_PASSWORD(driver.loc_);
3288 default:
3289 return isc::dhcp::Dhcp6Parser::make_STRING("password", driver.loc_);
3290 }
3291}
3292 YY_BREAK
3293case 53:
3295#line 586 "dhcp6_lexer.ll"
3296{
3297 switch(driver.ctx_) {
3301 return isc::dhcp::Dhcp6Parser::make_HOST(driver.loc_);
3302 default:
3303 return isc::dhcp::Dhcp6Parser::make_STRING("host", driver.loc_);
3304 }
3305}
3306 YY_BREAK
3307case 54:
3309#line 597 "dhcp6_lexer.ll"
3310{
3311 switch(driver.ctx_) {
3315 return isc::dhcp::Dhcp6Parser::make_PORT(driver.loc_);
3316 default:
3317 return isc::dhcp::Dhcp6Parser::make_STRING("port", driver.loc_);
3318 }
3319}
3320 YY_BREAK
3321case 55:
3323#line 608 "dhcp6_lexer.ll"
3324{
3325 switch(driver.ctx_) {
3330 return isc::dhcp::Dhcp6Parser::make_PERSIST(driver.loc_);
3331 default:
3332 return isc::dhcp::Dhcp6Parser::make_STRING("persist", driver.loc_);
3333 }
3334}
3335 YY_BREAK
3336case 56:
3338#line 620 "dhcp6_lexer.ll"
3339{
3340 switch(driver.ctx_) {
3345 default:
3346 return isc::dhcp::Dhcp6Parser::make_STRING("lfc-interval", driver.loc_);
3347 }
3348}
3349 YY_BREAK
3350case 57:
3352#line 631 "dhcp6_lexer.ll"
3353{
3354 switch(driver.ctx_) {
3359 default:
3360 return isc::dhcp::Dhcp6Parser::make_STRING("connect-timeout", driver.loc_);
3361 }
3362}
3363 YY_BREAK
3364case 58:
3366#line 642 "dhcp6_lexer.ll"
3367{
3368 switch(driver.ctx_) {
3373 default:
3374 return isc::dhcp::Dhcp6Parser::make_STRING("read-timeout", driver.loc_);
3375 }
3376}
3377 YY_BREAK
3378case 59:
3380#line 653 "dhcp6_lexer.ll"
3381{
3382 switch(driver.ctx_) {
3387 default:
3388 return isc::dhcp::Dhcp6Parser::make_STRING("write-timeout", driver.loc_);
3389 }
3390}
3391 YY_BREAK
3392case 60:
3394#line 664 "dhcp6_lexer.ll"
3395{
3396 switch(driver.ctx_) {
3401 default:
3402 return isc::dhcp::Dhcp6Parser::make_STRING("tcp-user-timeout", driver.loc_);
3403 }
3404}
3405 YY_BREAK
3406case 61:
3408#line 675 "dhcp6_lexer.ll"
3409{
3410 switch(driver.ctx_) {
3415 default:
3416 return isc::dhcp::Dhcp6Parser::make_STRING("reconnect-wait-time", driver.loc_);
3417 }
3418}
3419 YY_BREAK
3420case 62:
3422#line 686 "dhcp6_lexer.ll"
3423{
3424 switch(driver.ctx_) {
3428 return isc::dhcp::Dhcp6Parser::make_ON_FAIL(driver.loc_);
3429 default:
3430 return isc::dhcp::Dhcp6Parser::make_STRING("on-fail", driver.loc_);
3431 }
3432}
3433 YY_BREAK
3434case 63:
3436#line 697 "dhcp6_lexer.ll"
3437{
3438 switch(driver.ctx_) {
3441 default:
3442 return isc::dhcp::Dhcp6Parser::make_STRING("stop-retry-exit", driver.loc_);
3443 }
3444}
3445 YY_BREAK
3446case 64:
3448#line 706 "dhcp6_lexer.ll"
3449{
3450 switch(driver.ctx_) {
3453 default:
3454 return isc::dhcp::Dhcp6Parser::make_STRING("serve-retry-exit", driver.loc_);
3455 }
3456}
3457 YY_BREAK
3458case 65:
3460#line 715 "dhcp6_lexer.ll"
3461{
3462 switch(driver.ctx_) {
3465 default:
3466 return isc::dhcp::Dhcp6Parser::make_STRING("serve-retry-continue", driver.loc_);
3467 }
3468}
3469 YY_BREAK
3470case 66:
3472#line 724 "dhcp6_lexer.ll"
3473{
3474 switch(driver.ctx_) {
3479 default:
3480 return isc::dhcp::Dhcp6Parser::make_STRING("retry-on-startup", driver.loc_);
3481 }
3482}
3483 YY_BREAK
3484case 67:
3486#line 735 "dhcp6_lexer.ll"
3487{
3488 switch(driver.ctx_) {
3493 default:
3494 return isc::dhcp::Dhcp6Parser::make_STRING("max-reconnect-tries", driver.loc_);
3495 }
3496}
3497 YY_BREAK
3498case 68:
3500#line 746 "dhcp6_lexer.ll"
3501{
3502 switch(driver.ctx_) {
3505 default:
3506 return isc::dhcp::Dhcp6Parser::make_STRING("max-row-errors", driver.loc_);
3507 }
3508}
3509 YY_BREAK
3510case 69:
3512#line 755 "dhcp6_lexer.ll"
3513{
3514 switch(driver.ctx_) {
3520 default:
3521 return isc::dhcp::Dhcp6Parser::make_STRING("trust-anchor", driver.loc_);
3522 }
3523}
3524 YY_BREAK
3525case 70:
3527#line 767 "dhcp6_lexer.ll"
3528{
3529 switch(driver.ctx_) {
3534 return isc::dhcp::Dhcp6Parser::make_CERT_FILE(driver.loc_);
3535 default:
3536 return isc::dhcp::Dhcp6Parser::make_STRING("cert-file", driver.loc_);
3537 }
3538}
3539 YY_BREAK
3540case 71:
3542#line 779 "dhcp6_lexer.ll"
3543{
3544 switch(driver.ctx_) {
3549 return isc::dhcp::Dhcp6Parser::make_KEY_FILE(driver.loc_);
3550 default:
3551 return isc::dhcp::Dhcp6Parser::make_STRING("key-file", driver.loc_);
3552 }
3553}
3554 YY_BREAK
3555case 72:
3557#line 791 "dhcp6_lexer.ll"
3558{
3559 switch(driver.ctx_) {
3563 return isc::dhcp::Dhcp6Parser::make_CIPHER_LIST(driver.loc_);
3564 default:
3565 return isc::dhcp::Dhcp6Parser::make_STRING("cipher-list", driver.loc_);
3566 }
3567}
3568 YY_BREAK
3569case 73:
3571#line 802 "dhcp6_lexer.ll"
3572{
3573 switch(driver.ctx_) {
3579 default:
3580 return isc::dhcp::Dhcp6Parser::make_STRING("preferred-lifetime", driver.loc_);
3581 }
3582}
3583 YY_BREAK
3584case 74:
3586#line 814 "dhcp6_lexer.ll"
3587{
3588 switch(driver.ctx_) {
3594 default:
3595 return isc::dhcp::Dhcp6Parser::make_STRING("min-preferred-lifetime", driver.loc_);
3596 }
3597}
3598 YY_BREAK
3599case 75:
3601#line 826 "dhcp6_lexer.ll"
3602{
3603 switch(driver.ctx_) {
3609 default:
3610 return isc::dhcp::Dhcp6Parser::make_STRING("max-preferred-lifetime", driver.loc_);
3611 }
3612}
3613 YY_BREAK
3614case 76:
3616#line 838 "dhcp6_lexer.ll"
3617{
3618 switch(driver.ctx_) {
3624 default:
3625 return isc::dhcp::Dhcp6Parser::make_STRING("valid-lifetime", driver.loc_);
3626 }
3627}
3628 YY_BREAK
3629case 77:
3631#line 850 "dhcp6_lexer.ll"
3632{
3633 switch(driver.ctx_) {
3639 default:
3640 return isc::dhcp::Dhcp6Parser::make_STRING("min-valid-lifetime", driver.loc_);
3641 }
3642}
3643 YY_BREAK
3644case 78:
3646#line 862 "dhcp6_lexer.ll"
3647{
3648 switch(driver.ctx_) {
3654 default:
3655 return isc::dhcp::Dhcp6Parser::make_STRING("max-valid-lifetime", driver.loc_);
3656 }
3657}
3658 YY_BREAK
3659case 79:
3661#line 874 "dhcp6_lexer.ll"
3662{
3663 switch(driver.ctx_) {
3667 return isc::dhcp::Dhcp6Parser::make_RENEW_TIMER(driver.loc_);
3668 default:
3669 return isc::dhcp::Dhcp6Parser::make_STRING("renew-timer", driver.loc_);
3670 }
3671}
3672 YY_BREAK
3673case 80:
3675#line 885 "dhcp6_lexer.ll"
3676{
3677 switch(driver.ctx_) {
3682 default:
3683 return isc::dhcp::Dhcp6Parser::make_STRING("rebind-timer", driver.loc_);
3684 }
3685}
3686 YY_BREAK
3687case 81:
3689#line 896 "dhcp6_lexer.ll"
3690{
3691 switch(driver.ctx_) {
3694 default:
3695 return isc::dhcp::Dhcp6Parser::make_STRING("decline-probation-period", driver.loc_);
3696 }
3697}
3698 YY_BREAK
3699case 82:
3701#line 905 "dhcp6_lexer.ll"
3702{
3703 switch(driver.ctx_) {
3705 return isc::dhcp::Dhcp6Parser::make_SERVER_TAG(driver.loc_);
3706 default:
3707 return isc::dhcp::Dhcp6Parser::make_STRING("server-tag", driver.loc_);
3708 }
3709}
3710 YY_BREAK
3711case 83:
3713#line 914 "dhcp6_lexer.ll"
3714{
3715 switch(driver.ctx_) {
3718 default:
3719 return isc::dhcp::Dhcp6Parser::make_STRING("parked-packet-limit", driver.loc_);
3720 }
3721}
3722 YY_BREAK
3723case 84:
3725#line 923 "dhcp6_lexer.ll"
3726{
3727 switch(driver.ctx_) {
3731 return isc::dhcp::Dhcp6Parser::make_ALLOCATOR(driver.loc_);
3732 default:
3733 return isc::dhcp::Dhcp6Parser::make_STRING("allocator", driver.loc_);
3734 }
3735}
3736 YY_BREAK
3737case 85:
3739#line 934 "dhcp6_lexer.ll"
3740{
3741 switch(driver.ctx_) {
3746 default:
3747 return isc::dhcp::Dhcp6Parser::make_STRING("pd-allocator", driver.loc_);
3748 }
3749}
3750 YY_BREAK
3751case 86:
3753#line 945 "dhcp6_lexer.ll"
3754{
3755 switch(driver.ctx_) {
3758 default:
3759 return isc::dhcp::Dhcp6Parser::make_STRING("statistic-default-sample-count", driver.loc_);
3760 }
3761}
3762 YY_BREAK
3763case 87:
3765#line 954 "dhcp6_lexer.ll"
3766{
3767 switch(driver.ctx_) {
3770 default:
3771 return isc::dhcp::Dhcp6Parser::make_STRING("statistic-default-sample-age", driver.loc_);
3772 }
3773}
3774 YY_BREAK
3775case 88:
3777#line 963 "dhcp6_lexer.ll"
3778{
3779 switch(driver.ctx_) {
3785 default:
3786 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-send-updates", driver.loc_);
3787 }
3788}
3789 YY_BREAK
3790case 89:
3792#line 975 "dhcp6_lexer.ll"
3793{
3794 switch(driver.ctx_) {
3800 default:
3801 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-override-no-update", driver.loc_);
3802 }
3803}
3804 YY_BREAK
3805case 90:
3807#line 987 "dhcp6_lexer.ll"
3808{
3809 switch(driver.ctx_) {
3815 default:
3816 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-override-client-update", driver.loc_);
3817 }
3818}
3819 YY_BREAK
3820case 91:
3822#line 999 "dhcp6_lexer.ll"
3823{
3824 switch(driver.ctx_) {
3830 default:
3831 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-replace-client-name", driver.loc_);
3832 }
3833}
3834 YY_BREAK
3835case 92:
3837#line 1011 "dhcp6_lexer.ll"
3838{
3839 switch(driver.ctx_) {
3845 default:
3846 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-generated-prefix", driver.loc_);
3847 }
3848}
3849 YY_BREAK
3850case 93:
3852#line 1023 "dhcp6_lexer.ll"
3853{
3854 switch(driver.ctx_) {
3860 default:
3861 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-qualifying-suffix", driver.loc_);
3862 }
3863}
3864 YY_BREAK
3865case 94:
3867#line 1035 "dhcp6_lexer.ll"
3868{
3869 switch(driver.ctx_) {
3875 default:
3876 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-update-on-renew", driver.loc_);
3877 }
3878}
3879 YY_BREAK
3880case 95:
3882#line 1047 "dhcp6_lexer.ll"
3883{
3884 switch(driver.ctx_) {
3889 default:
3890 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-use-conflict-resolution", driver.loc_);
3891 }
3892}
3893 YY_BREAK
3894case 96:
3896#line 1058 "dhcp6_lexer.ll"
3897{
3898 switch(driver.ctx_) {
3904 default:
3905 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-conflict-resolution-mode", driver.loc_);
3906 }
3907}
3908 YY_BREAK
3909case 97:
3911#line 1070 "dhcp6_lexer.ll"
3912{
3915 }
3916 std::string tmp(yytext+1);
3917 tmp.resize(tmp.size() - 1);
3918 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
3919}
3920 YY_BREAK
3921case 98:
3923#line 1079 "dhcp6_lexer.ll"
3924{
3927 }
3928 std::string tmp(yytext+1);
3929 tmp.resize(tmp.size() - 1);
3930 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
3931}
3932 YY_BREAK
3933case 99:
3935#line 1088 "dhcp6_lexer.ll"
3936{
3939 }
3940 std::string tmp(yytext+1);
3941 tmp.resize(tmp.size() - 1);
3942 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
3943}
3944 YY_BREAK
3945case 100:
3947#line 1097 "dhcp6_lexer.ll"
3948{
3951 }
3952 std::string tmp(yytext+1);
3953 tmp.resize(tmp.size() - 1);
3954 return isc::dhcp::Dhcp6Parser::make_STRING(tmp, driver.loc_);
3955}
3956 YY_BREAK
3957case 101:
3959#line 1106 "dhcp6_lexer.ll"
3960{
3961 switch(driver.ctx_) {
3967 default:
3968 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-ttl-percent", driver.loc_);
3969 }
3970}
3971 YY_BREAK
3972case 102:
3974#line 1118 "dhcp6_lexer.ll"
3975{
3976 switch(driver.ctx_) {
3981 return isc::dhcp::Dhcp6Parser::make_DDNS_TTL(driver.loc_);
3982 default:
3983 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-ttl", driver.loc_);
3984 }
3985}
3986 YY_BREAK
3987case 103:
3989#line 1130 "dhcp6_lexer.ll"
3990{
3991 switch(driver.ctx_) {
3997 default:
3998 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-ttl-min", driver.loc_);
3999 }
4000}
4001 YY_BREAK
4002case 104:
4004#line 1142 "dhcp6_lexer.ll"
4005{
4006 switch(driver.ctx_) {
4012 default:
4013 return isc::dhcp::Dhcp6Parser::make_STRING("ddns-ttl-max", driver.loc_);
4014 }
4015}
4016 YY_BREAK
4017case 105:
4019#line 1154 "dhcp6_lexer.ll"
4020{
4021 switch(driver.ctx_) {
4024 return isc::dhcp::Dhcp6Parser::make_SUBNET6(driver.loc_);
4025 default:
4026 return isc::dhcp::Dhcp6Parser::make_STRING("subnet6", driver.loc_);
4027 }
4028}
4029 YY_BREAK
4030case 106:
4032#line 1164 "dhcp6_lexer.ll"
4033{
4034 switch(driver.ctx_) {
4039 default:
4040 return isc::dhcp::Dhcp6Parser::make_STRING("store-extended-info", driver.loc_);
4041 }
4042}
4043 YY_BREAK
4044case 107:
4046#line 1175 "dhcp6_lexer.ll"
4047{
4048 switch (driver.ctx_) {
4050 return Dhcp6Parser::make_SHARED_NETWORKS(driver.loc_);
4051 default:
4052 return Dhcp6Parser::make_STRING("shared-networks", driver.loc_);
4053 }
4054}
4055 YY_BREAK
4056case 108:
4058#line 1184 "dhcp6_lexer.ll"
4059{
4060 switch(driver.ctx_) {
4062 return isc::dhcp::Dhcp6Parser::make_OPTION_DEF(driver.loc_);
4063 default:
4064 return isc::dhcp::Dhcp6Parser::make_STRING("option-def", driver.loc_);
4065 }
4066}
4067 YY_BREAK
4068case 109:
4070#line 1193 "dhcp6_lexer.ll"
4071{
4072 switch(driver.ctx_) {
4080 return isc::dhcp::Dhcp6Parser::make_OPTION_DATA(driver.loc_);
4081 default:
4082 return isc::dhcp::Dhcp6Parser::make_STRING("option-data", driver.loc_);
4083 }
4084}
4085 YY_BREAK
4086case 110:
4088#line 1208 "dhcp6_lexer.ll"
4089{
4090 switch(driver.ctx_) {
4100 return isc::dhcp::Dhcp6Parser::make_NAME(driver.loc_);
4101 default:
4102 return isc::dhcp::Dhcp6Parser::make_STRING("name", driver.loc_);
4103 }
4104}
4105 YY_BREAK
4106case 111:
4108#line 1225 "dhcp6_lexer.ll"
4109{
4110 switch(driver.ctx_) {
4112 return isc::dhcp::Dhcp6Parser::make_DATA(driver.loc_);
4113 default:
4114 return isc::dhcp::Dhcp6Parser::make_STRING("data", driver.loc_);
4115 }
4116}
4117 YY_BREAK
4118case 112:
4120#line 1234 "dhcp6_lexer.ll"
4121{
4122 switch(driver.ctx_) {
4124 return isc::dhcp::Dhcp6Parser::make_ALWAYS_SEND(driver.loc_);
4125 default:
4126 return isc::dhcp::Dhcp6Parser::make_STRING("always-send", driver.loc_);
4127 }
4128}
4129 YY_BREAK
4130case 113:
4132#line 1243 "dhcp6_lexer.ll"
4133{
4134 switch(driver.ctx_) {
4136 return isc::dhcp::Dhcp6Parser::make_NEVER_SEND(driver.loc_);
4137 default:
4138 return isc::dhcp::Dhcp6Parser::make_STRING("never-send", driver.loc_);
4139 }
4140}
4141 YY_BREAK
4142case 114:
4144#line 1252 "dhcp6_lexer.ll"
4145{
4146 switch(driver.ctx_) {
4148 return isc::dhcp::Dhcp6Parser::make_POOLS(driver.loc_);
4149 default:
4150 return isc::dhcp::Dhcp6Parser::make_STRING("pools", driver.loc_);
4151 }
4152}
4153 YY_BREAK
4154case 115:
4156#line 1261 "dhcp6_lexer.ll"
4157{
4158 switch(driver.ctx_) {
4160 return isc::dhcp::Dhcp6Parser::make_PD_POOLS(driver.loc_);
4161 default:
4162 return isc::dhcp::Dhcp6Parser::make_STRING("pd-pools", driver.loc_);
4163 }
4164}
4165 YY_BREAK
4166case 116:
4168#line 1270 "dhcp6_lexer.ll"
4169{
4170 switch(driver.ctx_) {
4172 return isc::dhcp::Dhcp6Parser::make_PREFIX(driver.loc_);
4173 default:
4174 return isc::dhcp::Dhcp6Parser::make_STRING("prefix", driver.loc_);
4175 }
4176}
4177 YY_BREAK
4178case 117:
4180#line 1279 "dhcp6_lexer.ll"
4181{
4182 switch(driver.ctx_) {
4184 return isc::dhcp::Dhcp6Parser::make_PREFIX_LEN(driver.loc_);
4185 default:
4186 return isc::dhcp::Dhcp6Parser::make_STRING("prefix-len", driver.loc_);
4187 }
4188}
4189 YY_BREAK
4190case 118:
4192#line 1288 "dhcp6_lexer.ll"
4193{
4194 switch(driver.ctx_) {
4197 default:
4198 return isc::dhcp::Dhcp6Parser::make_STRING("excluded-prefix", driver.loc_);
4199 }
4200}
4201 YY_BREAK
4202case 119:
4204#line 1297 "dhcp6_lexer.ll"
4205{
4206 switch(driver.ctx_) {
4209 default:
4210 return isc::dhcp::Dhcp6Parser::make_STRING("excluded-prefix-len", driver.loc_);
4211 }
4212}
4213 YY_BREAK
4214case 120:
4216#line 1306 "dhcp6_lexer.ll"
4217{
4218 switch(driver.ctx_) {
4221 default:
4222 return isc::dhcp::Dhcp6Parser::make_STRING("delegated-len", driver.loc_);
4223 }
4224}
4225 YY_BREAK
4226case 121:
4228#line 1315 "dhcp6_lexer.ll"
4229{
4230 switch(driver.ctx_) {
4232 return isc::dhcp::Dhcp6Parser::make_POOL(driver.loc_);
4233 default:
4234 return isc::dhcp::Dhcp6Parser::make_STRING("pool", driver.loc_);
4235 }
4236}
4237 YY_BREAK
4238case 122:
4240#line 1324 "dhcp6_lexer.ll"
4241{
4242 switch(driver.ctx_) {
4245 return isc::dhcp::Dhcp6Parser::make_POOL_ID(driver.loc_);
4246 default:
4247 return isc::dhcp::Dhcp6Parser::make_STRING("pool-id", driver.loc_);
4248 }
4249}
4250 YY_BREAK
4251case 123:
4253#line 1334 "dhcp6_lexer.ll"
4254{
4255 switch(driver.ctx_) {
4276 default:
4277 return isc::dhcp::Dhcp6Parser::make_STRING("user-context", driver.loc_);
4278 }
4279}
4280 YY_BREAK
4281case 124:
4283#line 1361 "dhcp6_lexer.ll"
4284{
4285 switch(driver.ctx_) {
4305 return isc::dhcp::Dhcp6Parser::make_COMMENT(driver.loc_);
4306 default:
4307 return isc::dhcp::Dhcp6Parser::make_STRING("comment", driver.loc_);
4308 }
4309}
4310 YY_BREAK
4311case 125:
4313#line 1388 "dhcp6_lexer.ll"
4314{
4315 switch(driver.ctx_) {
4317 return isc::dhcp::Dhcp6Parser::make_SUBNET(driver.loc_);
4318 default:
4319 return isc::dhcp::Dhcp6Parser::make_STRING("subnet", driver.loc_);
4320 }
4321}
4322 YY_BREAK
4323case 126:
4325#line 1397 "dhcp6_lexer.ll"
4326{
4327 switch(driver.ctx_) {
4330 return isc::dhcp::Dhcp6Parser::make_INTERFACE(driver.loc_);
4331 default:
4332 return isc::dhcp::Dhcp6Parser::make_STRING("interface", driver.loc_);
4333 }
4334}
4335 YY_BREAK
4336case 127:
4338#line 1407 "dhcp6_lexer.ll"
4339{
4340 switch(driver.ctx_) {
4344 default:
4345 return isc::dhcp::Dhcp6Parser::make_STRING("interface-id", driver.loc_);
4346 }
4347}
4348 YY_BREAK
4349case 128:
4351#line 1417 "dhcp6_lexer.ll"
4352{
4353 switch(driver.ctx_) {
4355 return isc::dhcp::Dhcp6Parser::make_ID(driver.loc_);
4356 default:
4357 return isc::dhcp::Dhcp6Parser::make_STRING("id", driver.loc_);
4358 }
4359}
4360 YY_BREAK
4361case 129:
4363#line 1426 "dhcp6_lexer.ll"
4364{
4365 switch(driver.ctx_) {
4369 default:
4370 return isc::dhcp::Dhcp6Parser::make_STRING("rapid-commit", driver.loc_);
4371 }
4372}
4373 YY_BREAK
4374case 130:
4376#line 1436 "dhcp6_lexer.ll"
4377{
4378 switch(driver.ctx_) {
4383 default:
4384 return isc::dhcp::Dhcp6Parser::make_STRING("reservations-global", driver.loc_);
4385 }
4386}
4387 YY_BREAK
4388case 131:
4390#line 1447 "dhcp6_lexer.ll"
4391{
4392 switch(driver.ctx_) {
4397 default:
4398 return isc::dhcp::Dhcp6Parser::make_STRING("reservations-in-subnet", driver.loc_);
4399 }
4400}
4401 YY_BREAK
4402case 132:
4404#line 1458 "dhcp6_lexer.ll"
4405{
4406 switch(driver.ctx_) {
4411 default:
4412 return isc::dhcp::Dhcp6Parser::make_STRING("reservations-out-of-pool", driver.loc_);
4413 }
4414}
4415 YY_BREAK
4416case 133:
4418#line 1469 "dhcp6_lexer.ll"
4419{
4420 switch(driver.ctx_) {
4423 return isc::dhcp::Dhcp6Parser::make_CODE(driver.loc_);
4424 default:
4425 return isc::dhcp::Dhcp6Parser::make_STRING("code", driver.loc_);
4426 }
4427}
4428 YY_BREAK
4429case 134:
4431#line 1479 "dhcp6_lexer.ll"
4432{
4433 switch(driver.ctx_) {
4435 return isc::dhcp::Dhcp6Parser::make_MAC_SOURCES(driver.loc_);
4436 default:
4437 return isc::dhcp::Dhcp6Parser::make_STRING("mac-sources", driver.loc_);
4438 }
4439}
4440 YY_BREAK
4441case 135:
4443#line 1488 "dhcp6_lexer.ll"
4444{
4445 switch(driver.ctx_) {
4448 default:
4449 return isc::dhcp::Dhcp6Parser::make_STRING("relay-supplied-options", driver.loc_);
4450 }
4451}
4452 YY_BREAK
4453case 136:
4455#line 1497 "dhcp6_lexer.ll"
4456{
4457 switch(driver.ctx_) {
4460 default:
4461 return isc::dhcp::Dhcp6Parser::make_STRING("host-reservation-identifiers", driver.loc_);
4462 }
4463}
4464 YY_BREAK
4465case 137:
4467#line 1506 "dhcp6_lexer.ll"
4468{
4469 switch(driver.ctx_) {
4474 default:
4475 return isc::dhcp::Dhcp6Parser::make_STRING("calculate-tee-times", driver.loc_);
4476 }
4477}
4478 YY_BREAK
4479case 138:
4481#line 1517 "dhcp6_lexer.ll"
4482{
4483 switch(driver.ctx_) {
4487 return isc::dhcp::Dhcp6Parser::make_T1_PERCENT(driver.loc_);
4488 default:
4489 return isc::dhcp::Dhcp6Parser::make_STRING("t1-percent", driver.loc_);
4490 }
4491}
4492 YY_BREAK
4493case 139:
4495#line 1528 "dhcp6_lexer.ll"
4496{
4497 switch(driver.ctx_) {
4501 return isc::dhcp::Dhcp6Parser::make_T2_PERCENT(driver.loc_);
4502 default:
4503 return isc::dhcp::Dhcp6Parser::make_STRING("t2-percent", driver.loc_);
4504 }
4505}
4506 YY_BREAK
4507case 140:
4509#line 1539 "dhcp6_lexer.ll"
4510{
4511 switch(driver.ctx_) {
4516 default:
4517 return isc::dhcp::Dhcp6Parser::make_STRING("cache-threshold", driver.loc_);
4518 }
4519}
4520 YY_BREAK
4521case 141:
4523#line 1550 "dhcp6_lexer.ll"
4524{
4525 switch(driver.ctx_) {
4530 default:
4531 return isc::dhcp::Dhcp6Parser::make_STRING("cache-max-age", driver.loc_);
4532 }
4533}
4534 YY_BREAK
4535case 142:
4537#line 1561 "dhcp6_lexer.ll"
4538{
4539 switch(driver.ctx_) {
4541 return isc::dhcp::Dhcp6Parser::make_LOGGERS(driver.loc_);
4542 default:
4543 return isc::dhcp::Dhcp6Parser::make_STRING("loggers", driver.loc_);
4544 }
4545}
4546 YY_BREAK
4547case 143:
4549#line 1570 "dhcp6_lexer.ll"
4550{
4551 switch(driver.ctx_) {
4554 default:
4555 return isc::dhcp::Dhcp6Parser::make_STRING("output_options", driver.loc_);
4556 }
4557}
4558 YY_BREAK
4559case 144:
4561#line 1579 "dhcp6_lexer.ll"
4562{
4563 switch(driver.ctx_) {
4566 default:
4567 return isc::dhcp::Dhcp6Parser::make_STRING("output-options", driver.loc_);
4568 }
4569}
4570 YY_BREAK
4571case 145:
4573#line 1588 "dhcp6_lexer.ll"
4574{
4575 switch(driver.ctx_) {
4577 return isc::dhcp::Dhcp6Parser::make_OUTPUT(driver.loc_);
4578 default:
4579 return isc::dhcp::Dhcp6Parser::make_STRING("output", driver.loc_);
4580 }
4581}
4582 YY_BREAK
4583case 146:
4585#line 1597 "dhcp6_lexer.ll"
4586{
4587 switch(driver.ctx_) {
4589 return isc::dhcp::Dhcp6Parser::make_FLUSH(driver.loc_);
4590 default:
4591 return isc::dhcp::Dhcp6Parser::make_STRING("flush", driver.loc_);
4592 }
4593}
4594 YY_BREAK
4595case 147:
4597#line 1606 "dhcp6_lexer.ll"
4598{
4599 switch(driver.ctx_) {
4601 return isc::dhcp::Dhcp6Parser::make_MAXSIZE(driver.loc_);
4602 default:
4603 return isc::dhcp::Dhcp6Parser::make_STRING("maxsize", driver.loc_);
4604 }
4605}
4606 YY_BREAK
4607case 148:
4609#line 1615 "dhcp6_lexer.ll"
4610{
4611 switch(driver.ctx_) {
4613 return isc::dhcp::Dhcp6Parser::make_MAXVER(driver.loc_);
4614 default:
4615 return isc::dhcp::Dhcp6Parser::make_STRING("maxver", driver.loc_);
4616 }
4617}
4618 YY_BREAK
4619case 149:
4621#line 1624 "dhcp6_lexer.ll"
4622{
4623 switch(driver.ctx_) {
4625 return isc::dhcp::Dhcp6Parser::make_PATTERN(driver.loc_);
4626 default:
4627 return isc::dhcp::Dhcp6Parser::make_STRING("pattern", driver.loc_);
4628 }
4629}
4630 YY_BREAK
4631case 150:
4633#line 1633 "dhcp6_lexer.ll"
4634{
4635 switch(driver.ctx_) {
4637 return isc::dhcp::Dhcp6Parser::make_DEBUGLEVEL(driver.loc_);
4638 default:
4639 return isc::dhcp::Dhcp6Parser::make_STRING("debuglevel", driver.loc_);
4640 }
4641}
4642 YY_BREAK
4643case 151:
4645#line 1642 "dhcp6_lexer.ll"
4646{
4647 switch(driver.ctx_) {
4649 return isc::dhcp::Dhcp6Parser::make_SEVERITY(driver.loc_);
4650 default:
4651 return isc::dhcp::Dhcp6Parser::make_STRING("severity", driver.loc_);
4652 }
4653}
4654 YY_BREAK
4655case 152:
4657#line 1651 "dhcp6_lexer.ll"
4658{
4659 switch(driver.ctx_) {
4668 default:
4669 return isc::dhcp::Dhcp6Parser::make_STRING("client-classes", driver.loc_);
4670 }
4671}
4672 YY_BREAK
4673case 153:
4675#line 1666 "dhcp6_lexer.ll"
4676{
4677 switch(driver.ctx_) {
4683 default:
4684 return isc::dhcp::Dhcp6Parser::make_STRING("require-client-classes", driver.loc_);
4685 }
4686}
4687 YY_BREAK
4688case 154:
4690#line 1678 "dhcp6_lexer.ll"
4691{
4692 switch(driver.ctx_) {
4698 default:
4699 return isc::dhcp::Dhcp6Parser::make_STRING("evaluate-additional-classes", driver.loc_);
4700 }
4701}
4702 YY_BREAK
4703case 155:
4705#line 1690 "dhcp6_lexer.ll"
4706{
4707 switch(driver.ctx_) {
4714 default:
4715 return isc::dhcp::Dhcp6Parser::make_STRING("client-class", driver.loc_);
4716 }
4717}
4718 YY_BREAK
4719case 156:
4721#line 1703 "dhcp6_lexer.ll"
4722{
4723 switch(driver.ctx_) {
4725 return isc::dhcp::Dhcp6Parser::make_TEST(driver.loc_);
4726 default:
4727 return isc::dhcp::Dhcp6Parser::make_STRING("test", driver.loc_);
4728 }
4729}
4730 YY_BREAK
4731case 157:
4733#line 1712 "dhcp6_lexer.ll"
4734{
4735 switch(driver.ctx_) {
4738 default:
4739 return isc::dhcp::Dhcp6Parser::make_STRING("template-test", driver.loc_);
4740 }
4741}
4742 YY_BREAK
4743case 158:
4745#line 1721 "dhcp6_lexer.ll"
4746{
4747 switch(driver.ctx_) {
4750 default:
4751 return isc::dhcp::Dhcp6Parser::make_STRING("only-if-required", driver.loc_);
4752 }
4753}
4754 YY_BREAK
4755case 159:
4757#line 1730 "dhcp6_lexer.ll"
4758{
4759 switch(driver.ctx_) {
4762 default:
4763 return isc::dhcp::Dhcp6Parser::make_STRING("only-in-additional-list", driver.loc_);
4764 }
4765}
4766 YY_BREAK
4767case 160:
4769#line 1739 "dhcp6_lexer.ll"
4770{
4771 switch(driver.ctx_) {
4775 default:
4776 return isc::dhcp::Dhcp6Parser::make_STRING("reservations", driver.loc_);
4777 }
4778}
4779 YY_BREAK
4780case 161:
4782#line 1749 "dhcp6_lexer.ll"
4783{
4784 switch(driver.ctx_) {
4788 default:
4789 return isc::dhcp::Dhcp6Parser::make_STRING("ip-addresses", driver.loc_);
4790 }
4791}
4792 YY_BREAK
4793case 162:
4795#line 1759 "dhcp6_lexer.ll"
4796{
4797 switch(driver.ctx_) {
4799 return isc::dhcp::Dhcp6Parser::make_PREFIXES(driver.loc_);
4800 default:
4801 return isc::dhcp::Dhcp6Parser::make_STRING("prefixes", driver.loc_);
4802 }
4803}
4804 YY_BREAK
4805case 163:
4807#line 1768 "dhcp6_lexer.ll"
4808{
4809 switch(driver.ctx_) {
4812 default:
4813 return isc::dhcp::Dhcp6Parser::make_STRING("excluded-prefixes", driver.loc_);
4814 }
4815}
4816 YY_BREAK
4817case 164:
4819#line 1777 "dhcp6_lexer.ll"
4820{
4821 switch(driver.ctx_) {
4825 return isc::dhcp::Dhcp6Parser::make_DUID(driver.loc_);
4826 default:
4827 return isc::dhcp::Dhcp6Parser::make_STRING("duid", driver.loc_);
4828 }
4829}
4830 YY_BREAK
4831case 165:
4833#line 1788 "dhcp6_lexer.ll"
4834{
4835 switch(driver.ctx_) {
4838 return isc::dhcp::Dhcp6Parser::make_HW_ADDRESS(driver.loc_);
4839 default:
4840 return isc::dhcp::Dhcp6Parser::make_STRING("hw-address", driver.loc_);
4841 }
4842}
4843 YY_BREAK
4844case 166:
4846#line 1798 "dhcp6_lexer.ll"
4847{
4848 switch(driver.ctx_) {
4850 return isc::dhcp::Dhcp6Parser::make_HOSTNAME(driver.loc_);
4851 default:
4852 return isc::dhcp::Dhcp6Parser::make_STRING("hostname", driver.loc_);
4853 }
4854}
4855 YY_BREAK
4856case 167:
4858#line 1807 "dhcp6_lexer.ll"
4859{
4860 switch(driver.ctx_) {
4863 return isc::dhcp::Dhcp6Parser::make_FLEX_ID(driver.loc_);
4864 default:
4865 return isc::dhcp::Dhcp6Parser::make_STRING("flex-id", driver.loc_);
4866 }
4867}
4868 YY_BREAK
4869case 168:
4871#line 1817 "dhcp6_lexer.ll"
4872{
4873 switch(driver.ctx_) {
4876 return isc::dhcp::Dhcp6Parser::make_SPACE(driver.loc_);
4877 default:
4878 return isc::dhcp::Dhcp6Parser::make_STRING("space", driver.loc_);
4879 }
4880}
4881 YY_BREAK
4882case 169:
4884#line 1827 "dhcp6_lexer.ll"
4885{
4886 switch(driver.ctx_) {
4888 return isc::dhcp::Dhcp6Parser::make_CSV_FORMAT(driver.loc_);
4889 default:
4890 return isc::dhcp::Dhcp6Parser::make_STRING("csv-format", driver.loc_);
4891 }
4892}
4893 YY_BREAK
4894case 170:
4896#line 1836 "dhcp6_lexer.ll"
4897{
4898 switch(driver.ctx_) {
4901 default:
4902 return isc::dhcp::Dhcp6Parser::make_STRING("record-types", driver.loc_);
4903 }
4904}
4905 YY_BREAK
4906case 171:
4908#line 1845 "dhcp6_lexer.ll"
4909{
4910 switch(driver.ctx_) {
4912 return isc::dhcp::Dhcp6Parser::make_ENCAPSULATE(driver.loc_);
4913 default:
4914 return isc::dhcp::Dhcp6Parser::make_STRING("encapsulate", driver.loc_);
4915 }
4916}
4917 YY_BREAK
4918case 172:
4920#line 1854 "dhcp6_lexer.ll"
4921{
4922 switch(driver.ctx_) {
4924 return isc::dhcp::Dhcp6Parser::make_ARRAY(driver.loc_);
4925 default:
4926 return isc::dhcp::Dhcp6Parser::make_STRING("array", driver.loc_);
4927 }
4928}
4929 YY_BREAK
4930case 173:
4932#line 1863 "dhcp6_lexer.ll"
4933{
4934 switch(driver.ctx_) {
4937 return isc::dhcp::Dhcp6Parser::make_RELAY(driver.loc_);
4938 default:
4939 return isc::dhcp::Dhcp6Parser::make_STRING("relay", driver.loc_);
4940 }
4941}
4942 YY_BREAK
4943case 174:
4945#line 1873 "dhcp6_lexer.ll"
4946{
4947 switch(driver.ctx_) {
4950 default:
4951 return isc::dhcp::Dhcp6Parser::make_STRING("hooks-libraries", driver.loc_);
4952 }
4953}
4954 YY_BREAK
4955case 175:
4957#line 1882 "dhcp6_lexer.ll"
4958{
4959 switch(driver.ctx_) {
4961 return isc::dhcp::Dhcp6Parser::make_PARAMETERS(driver.loc_);
4962 default:
4963 return isc::dhcp::Dhcp6Parser::make_STRING("parameters", driver.loc_);
4964 }
4965}
4966 YY_BREAK
4967case 176:
4969#line 1891 "dhcp6_lexer.ll"
4970{
4971 switch(driver.ctx_) {
4973 return isc::dhcp::Dhcp6Parser::make_LIBRARY(driver.loc_);
4974 default:
4975 return isc::dhcp::Dhcp6Parser::make_STRING("library", driver.loc_);
4976 }
4977}
4978 YY_BREAK
4979case 177:
4981#line 1900 "dhcp6_lexer.ll"
4982{
4983 switch(driver.ctx_) {
4985 return isc::dhcp::Dhcp6Parser::make_SERVER_ID(driver.loc_);
4986 default:
4987 return isc::dhcp::Dhcp6Parser::make_STRING("server-id", driver.loc_);
4988 }
4989}
4990 YY_BREAK
4991case 178:
4993#line 1909 "dhcp6_lexer.ll"
4994{
4995 switch(driver.ctx_) {
4997 return isc::dhcp::Dhcp6Parser::make_LLT(driver.loc_);
4998 default:
4999 return isc::dhcp::Dhcp6Parser::make_STRING("LLT", driver.loc_);
5000 }
5001}
5002 YY_BREAK
5003case 179:
5005#line 1918 "dhcp6_lexer.ll"
5006{
5007 switch(driver.ctx_) {
5009 return isc::dhcp::Dhcp6Parser::make_EN(driver.loc_);
5010 default:
5011 return isc::dhcp::Dhcp6Parser::make_STRING("EN", driver.loc_);
5012 }
5013}
5014 YY_BREAK
5015case 180:
5017#line 1927 "dhcp6_lexer.ll"
5018{
5019 switch(driver.ctx_) {
5021 return isc::dhcp::Dhcp6Parser::make_LL(driver.loc_);
5022 default:
5023 return isc::dhcp::Dhcp6Parser::make_STRING("LL", driver.loc_);
5024 }
5025}
5026 YY_BREAK
5027case 181:
5029#line 1936 "dhcp6_lexer.ll"
5030{
5031 switch(driver.ctx_) {
5033 return isc::dhcp::Dhcp6Parser::make_IDENTIFIER(driver.loc_);
5034 default:
5035 return isc::dhcp::Dhcp6Parser::make_STRING("identifier", driver.loc_);
5036 }
5037}
5038 YY_BREAK
5039case 182:
5041#line 1945 "dhcp6_lexer.ll"
5042{
5043 switch(driver.ctx_) {
5045 return isc::dhcp::Dhcp6Parser::make_HTYPE(driver.loc_);
5046 default:
5047 return isc::dhcp::Dhcp6Parser::make_STRING("htype", driver.loc_);
5048 }
5049}
5050 YY_BREAK
5051case 183:
5053#line 1954 "dhcp6_lexer.ll"
5054{
5055 switch(driver.ctx_) {
5057 return isc::dhcp::Dhcp6Parser::make_TIME(driver.loc_);
5058 default:
5059 return isc::dhcp::Dhcp6Parser::make_STRING("time", driver.loc_);
5060 }
5061}
5062 YY_BREAK
5063case 184:
5065#line 1963 "dhcp6_lexer.ll"
5066{
5067 switch(driver.ctx_) {
5070 default:
5071 return isc::dhcp::Dhcp6Parser::make_STRING("enterprise-id", driver.loc_);
5072 }
5073}
5074 YY_BREAK
5075case 185:
5077#line 1972 "dhcp6_lexer.ll"
5078{
5079 switch(driver.ctx_) {
5082 default:
5083 return isc::dhcp::Dhcp6Parser::make_STRING("expired-leases-processing", driver.loc_);
5084 }
5085}
5086 YY_BREAK
5087case 186:
5089#line 1981 "dhcp6_lexer.ll"
5090{
5091 switch(driver.ctx_) {
5094 default:
5095 return isc::dhcp::Dhcp6Parser::make_STRING("reclaim-timer-wait-time", driver.loc_);
5096 }
5097}
5098 YY_BREAK
5099case 187:
5101#line 1990 "dhcp6_lexer.ll"
5102{
5103 switch(driver.ctx_) {
5106 default:
5107 return isc::dhcp::Dhcp6Parser::make_STRING("flush-reclaimed-timer-wait-time", driver.loc_);
5108 }
5109}
5110 YY_BREAK
5111case 188:
5113#line 1999 "dhcp6_lexer.ll"
5114{
5115 switch(driver.ctx_) {
5118 default:
5119 return isc::dhcp::Dhcp6Parser::make_STRING("hold-reclaimed-time", driver.loc_);
5120 }
5121}
5122 YY_BREAK
5123case 189:
5125#line 2008 "dhcp6_lexer.ll"
5126{
5127 switch(driver.ctx_) {
5130 default:
5131 return isc::dhcp::Dhcp6Parser::make_STRING("max-reclaim-leases", driver.loc_);
5132 }
5133}
5134 YY_BREAK
5135case 190:
5137#line 2017 "dhcp6_lexer.ll"
5138{
5139 switch(driver.ctx_) {
5142 default:
5143 return isc::dhcp::Dhcp6Parser::make_STRING("max-reclaim-time", driver.loc_);
5144 }
5145}
5146 YY_BREAK
5147case 191:
5149#line 2026 "dhcp6_lexer.ll"
5150{
5151 switch(driver.ctx_) {
5154 default:
5155 return isc::dhcp::Dhcp6Parser::make_STRING("unwarned-reclaim-cycles", driver.loc_);
5156 }
5157}
5158 YY_BREAK
5159case 192:
5161#line 2035 "dhcp6_lexer.ll"
5162{
5163 switch(driver.ctx_) {
5166 default:
5167 return isc::dhcp::Dhcp6Parser::make_STRING("dhcp4o6-port", driver.loc_);
5168 }
5169}
5170 YY_BREAK
5171case 193:
5173#line 2044 "dhcp6_lexer.ll"
5174{
5175 switch(driver.ctx_) {
5178 default:
5179 return isc::dhcp::Dhcp6Parser::make_STRING("multi-threading", driver.loc_);
5180 }
5181}
5182 YY_BREAK
5183case 194:
5185#line 2053 "dhcp6_lexer.ll"
5186{
5187 switch(driver.ctx_) {
5190 default:
5191 return isc::dhcp::Dhcp6Parser::make_STRING("enable-multi-threading", driver.loc_);
5192 }
5193}
5194 YY_BREAK
5195case 195:
5197#line 2062 "dhcp6_lexer.ll"
5198{
5199 switch(driver.ctx_) {
5202 default:
5203 return isc::dhcp::Dhcp6Parser::make_STRING("thread-pool-size", driver.loc_);
5204 }
5205}
5206 YY_BREAK
5207case 196:
5209#line 2071 "dhcp6_lexer.ll"
5210{
5211 switch(driver.ctx_) {
5214 default:
5215 return isc::dhcp::Dhcp6Parser::make_STRING("packet-queue-size", driver.loc_);
5216 }
5217}
5218 YY_BREAK
5219case 197:
5221#line 2080 "dhcp6_lexer.ll"
5222{
5223 switch(driver.ctx_) {
5226 default:
5227 return isc::dhcp::Dhcp6Parser::make_STRING("control-socket", driver.loc_);
5228 }
5229}
5230 YY_BREAK
5231case 198:
5233#line 2089 "dhcp6_lexer.ll"
5234{
5235 switch(driver.ctx_) {
5238 default:
5239 return isc::dhcp::Dhcp6Parser::make_STRING("control-sockets", driver.loc_);
5240 }
5241}
5242 YY_BREAK
5243case 199:
5245#line 2098 "dhcp6_lexer.ll"
5246{
5247 switch(driver.ctx_) {
5249 return isc::dhcp::Dhcp6Parser::make_SOCKET_TYPE(driver.loc_);
5250 default:
5251 return isc::dhcp::Dhcp6Parser::make_STRING("socket-type", driver.loc_);
5252 }
5253}
5254 YY_BREAK
5255case 200:
5257#line 2107 "dhcp6_lexer.ll"
5258{
5259 switch(driver.ctx_) {
5261 return isc::dhcp::Dhcp6Parser::make_UNIX(driver.loc_);
5262 default:
5263 return isc::dhcp::Dhcp6Parser::make_STRING("unix", driver.loc_);
5264 }
5265}
5266 YY_BREAK
5267case 201:
5269#line 2116 "dhcp6_lexer.ll"
5270{
5271 switch(driver.ctx_) {
5273 return isc::dhcp::Dhcp6Parser::make_HTTP(driver.loc_);
5274 default:
5275 return isc::dhcp::Dhcp6Parser::make_STRING("http", driver.loc_);
5276 }
5277}
5278 YY_BREAK
5279case 202:
5281#line 2125 "dhcp6_lexer.ll"
5282{
5283 switch(driver.ctx_) {
5285 return isc::dhcp::Dhcp6Parser::make_HTTPS(driver.loc_);
5286 default:
5287 return isc::dhcp::Dhcp6Parser::make_STRING("https", driver.loc_);
5288 }
5289}
5290 YY_BREAK
5291case 203:
5293#line 2134 "dhcp6_lexer.ll"
5294{
5295 switch(driver.ctx_) {
5297 return isc::dhcp::Dhcp6Parser::make_SOCKET_NAME(driver.loc_);
5298 default:
5299 return isc::dhcp::Dhcp6Parser::make_STRING("socket-name", driver.loc_);
5300 }
5301}
5302 YY_BREAK
5303case 204:
5305#line 2143 "dhcp6_lexer.ll"
5306{
5307 switch(driver.ctx_) {
5310 default:
5311 return isc::dhcp::Dhcp6Parser::make_STRING("socket-address", driver.loc_);
5312 }
5313}
5314 YY_BREAK
5315case 205:
5317#line 2152 "dhcp6_lexer.ll"
5318{
5319 switch(driver.ctx_) {
5321 return isc::dhcp::Dhcp6Parser::make_SOCKET_PORT(driver.loc_);
5322 default:
5323 return isc::dhcp::Dhcp6Parser::make_STRING("socket-port", driver.loc_);
5324 }
5325}
5326 YY_BREAK
5327case 206:
5329#line 2161 "dhcp6_lexer.ll"
5330{
5331 switch(driver.ctx_) {
5334 default:
5335 return isc::dhcp::Dhcp6Parser::make_STRING("authentication", driver.loc_);
5336 }
5337}
5338 YY_BREAK
5339case 207:
5341#line 2170 "dhcp6_lexer.ll"
5342{
5343 switch(driver.ctx_) {
5345 return isc::dhcp::Dhcp6Parser::make_BASIC(driver.loc_);
5346 default:
5347 return isc::dhcp::Dhcp6Parser::make_STRING("basic", driver.loc_);
5348 }
5349}
5350 YY_BREAK
5351case 208:
5353#line 2179 "dhcp6_lexer.ll"
5354{
5355 switch(driver.ctx_) {
5357 return isc::dhcp::Dhcp6Parser::make_REALM(driver.loc_);
5358 default:
5359 return isc::dhcp::Dhcp6Parser::make_STRING("realm", driver.loc_);
5360 }
5361}
5362 YY_BREAK
5363case 209:
5365#line 2188 "dhcp6_lexer.ll"
5366{
5367 switch(driver.ctx_) {
5369 return isc::dhcp::Dhcp6Parser::make_DIRECTORY(driver.loc_);
5370 default:
5371 return isc::dhcp::Dhcp6Parser::make_STRING("directory", driver.loc_);
5372 }
5373}
5374 YY_BREAK
5375case 210:
5377#line 2197 "dhcp6_lexer.ll"
5378{
5379 switch(driver.ctx_) {
5381 return isc::dhcp::Dhcp6Parser::make_CLIENTS(driver.loc_);
5382 default:
5383 return isc::dhcp::Dhcp6Parser::make_STRING("clients", driver.loc_);
5384 }
5385}
5386 YY_BREAK
5387case 211:
5389#line 2206 "dhcp6_lexer.ll"
5390{
5391 switch(driver.ctx_) {
5393 return isc::dhcp::Dhcp6Parser::make_USER_FILE(driver.loc_);
5394 default:
5395 return isc::dhcp::Dhcp6Parser::make_STRING("user-file", driver.loc_);
5396 }
5397}
5398 YY_BREAK
5399case 212:
5401#line 2215 "dhcp6_lexer.ll"
5402{
5403 switch(driver.ctx_) {
5406 default:
5407 return isc::dhcp::Dhcp6Parser::make_STRING("password-file", driver.loc_);
5408 }
5409}
5410 YY_BREAK
5411case 213:
5413#line 2224 "dhcp6_lexer.ll"
5414{
5415 switch(driver.ctx_) {
5418 default:
5419 return isc::dhcp::Dhcp6Parser::make_STRING("cert-required", driver.loc_);
5420 }
5421}
5422 YY_BREAK
5423case 214:
5425#line 2233 "dhcp6_lexer.ll"
5426{
5427 switch(driver.ctx_) {
5430 default:
5431 return isc::dhcp::Dhcp6Parser::make_STRING("http-headers", driver.loc_);
5432 }
5433}
5434 YY_BREAK
5435case 215:
5437#line 2242 "dhcp6_lexer.ll"
5438{
5439 switch(driver.ctx_) {
5441 return isc::dhcp::Dhcp6Parser::make_VALUE(driver.loc_);
5442 default:
5443 return isc::dhcp::Dhcp6Parser::make_STRING("value", driver.loc_);
5444 }
5445}
5446 YY_BREAK
5447case 216:
5449#line 2251 "dhcp6_lexer.ll"
5450{
5451 switch(driver.ctx_) {
5454 default:
5455 return isc::dhcp::Dhcp6Parser::make_STRING("dhcp-queue-control", driver.loc_);
5456 }
5457}
5458 YY_BREAK
5459case 217:
5461#line 2260 "dhcp6_lexer.ll"
5462{
5463 switch(driver.ctx_) {
5466 default:
5467 return isc::dhcp::Dhcp6Parser::make_STRING("enable-queue", driver.loc_);
5468 }
5469}
5470 YY_BREAK
5471case 218:
5473#line 2269 "dhcp6_lexer.ll"
5474{
5475 switch(driver.ctx_) {
5477 return isc::dhcp::Dhcp6Parser::make_QUEUE_TYPE(driver.loc_);
5478 default:
5479 return isc::dhcp::Dhcp6Parser::make_STRING("queue-type", driver.loc_);
5480 }
5481}
5482 YY_BREAK
5483case 219:
5485#line 2278 "dhcp6_lexer.ll"
5486{
5487 switch(driver.ctx_) {
5489 return isc::dhcp::Dhcp6Parser::make_CAPACITY(driver.loc_);
5490 default:
5491 return isc::dhcp::Dhcp6Parser::make_STRING("capacity", driver.loc_);
5492 }
5493}
5494 YY_BREAK
5495case 220:
5497#line 2287 "dhcp6_lexer.ll"
5498{
5499 switch(driver.ctx_) {
5501 return isc::dhcp::Dhcp6Parser::make_DHCP_DDNS(driver.loc_);
5502 default:
5503 return isc::dhcp::Dhcp6Parser::make_STRING("dhcp-ddns", driver.loc_);
5504 }
5505}
5506 YY_BREAK
5507case 221:
5509#line 2296 "dhcp6_lexer.ll"
5510{
5511 switch(driver.ctx_) {
5514 default:
5515 return isc::dhcp::Dhcp6Parser::make_STRING("early-global-reservations-lookup", driver.loc_);
5516 }
5517}
5518 YY_BREAK
5519case 222:
5521#line 2305 "dhcp6_lexer.ll"
5522{
5523 switch(driver.ctx_) {
5526 default:
5527 return isc::dhcp::Dhcp6Parser::make_STRING("ip-reservations-unique", driver.loc_);
5528 }
5529}
5530 YY_BREAK
5531case 223:
5533#line 2314 "dhcp6_lexer.ll"
5534{
5535 switch(driver.ctx_) {
5538 default:
5539 return isc::dhcp::Dhcp6Parser::make_STRING("reservations-lookup-first", driver.loc_);
5540 }
5541}
5542 YY_BREAK
5543case 224:
5545#line 2323 "dhcp6_lexer.ll"
5546{
5547 switch(driver.ctx_) {
5550 default:
5551 return isc::dhcp::Dhcp6Parser::make_STRING("compatibility", driver.loc_);
5552 }
5553}
5554 YY_BREAK
5555case 225:
5557#line 2332 "dhcp6_lexer.ll"
5558{
5559 switch(driver.ctx_) {
5562 default:
5563 return isc::dhcp::Dhcp6Parser::make_STRING("lenient-option-parsing", driver.loc_);
5564 }
5565}
5566 YY_BREAK
5567case 226:
5569#line 2341 "dhcp6_lexer.ll"
5570{
5571 /* A string has been matched. It contains the actual string and single quotes.
5572 We need to get those quotes out of the way and just use its content, e.g.
5573 for 'foo' we should get foo */
5574 std::string raw(yytext+1);
5575 size_t len = raw.size() - 1;
5576 raw.resize(len);
5577 std::string decoded;
5578 decoded.reserve(len);
5579 for (size_t pos = 0; pos < len; ++pos) {
5580 int b = 0;
5581 char c = raw[pos];
5582 switch (c) {
5583 case '"':
5584 /* impossible condition */
5585 driver.error(driver.loc_, "Bad quote in \"" + raw + "\"");
5586 break;
5587 case '\\':
5588 ++pos;
5589 if (pos >= len) {
5590 /* impossible condition */
5591 driver.error(driver.loc_, "Overflow escape in \"" + raw + "\"");
5592 }
5593 c = raw[pos];
5594 switch (c) {
5595 case '"':
5596 case '\\':
5597 case '/':
5598 decoded.push_back(c);
5599 break;
5600 case 'b':
5601 decoded.push_back('\b');
5602 break;
5603 case 'f':
5604 decoded.push_back('\f');
5605 break;
5606 case 'n':
5607 decoded.push_back('\n');
5608 break;
5609 case 'r':
5610 decoded.push_back('\r');
5611 break;
5612 case 't':
5613 decoded.push_back('\t');
5614 break;
5615 case 'u':
5616 /* support only \u0000 to \u00ff */
5617 ++pos;
5618 if (pos + 4 > len) {
5619 /* impossible condition */
5620 driver.error(driver.loc_,
5621 "Overflow unicode escape in \"" + raw + "\"");
5622 }
5623 if ((raw[pos] != '0') || (raw[pos + 1] != '0')) {
5624 driver.error(driver.loc_,
5625 "Unsupported unicode escape in \"" + raw + "\"",
5626 pos + 1);
5627 }
5628 pos += 2;
5629 c = raw[pos];
5630 if ((c >= '0') && (c <= '9')) {
5631 b = (c - '0') << 4;
5632 } else if ((c >= 'A') && (c <= 'F')) {
5633 b = (c - 'A' + 10) << 4;
5634 } else if ((c >= 'a') && (c <= 'f')) {
5635 b = (c - 'a' + 10) << 4;
5636 } else {
5637 /* impossible condition */
5638 driver.error(driver.loc_, "Not hexadecimal in unicode escape in \"" + raw + "\"");
5639 }
5640 pos++;
5641 c = raw[pos];
5642 if ((c >= '0') && (c <= '9')) {
5643 b |= c - '0';
5644 } else if ((c >= 'A') && (c <= 'F')) {
5645 b |= c - 'A' + 10;
5646 } else if ((c >= 'a') && (c <= 'f')) {
5647 b |= c - 'a' + 10;
5648 } else {
5649 /* impossible condition */
5650 driver.error(driver.loc_, "Not hexadecimal in unicode escape in \"" + raw + "\"");
5651 }
5652 decoded.push_back(static_cast<char>(b & 0xff));
5653 break;
5654 default:
5655 /* impossible condition */
5656 driver.error(driver.loc_, "Bad escape in \"" + raw + "\"");
5657 }
5658 break;
5659 default:
5660 if ((c >= 0) && (c < 0x20)) {
5661 /* impossible condition */
5662 driver.error(driver.loc_, "Invalid control in \"" + raw + "\"");
5663 }
5664 decoded.push_back(c);
5665 }
5666 }
5667
5668 return isc::dhcp::Dhcp6Parser::make_STRING(decoded, driver.loc_);
5669}
5670 YY_BREAK
5671case 227:
5672/* rule 227 can match eol */
5674#line 2442 "dhcp6_lexer.ll"
5675{
5676 /* Bad string with a forbidden control character inside */
5677 std::string raw(yytext+1);
5678 size_t len = raw.size() - 1;
5679 size_t pos = 0;
5680 for (; pos < len; ++pos) {
5681 char c = raw[pos];
5682 if ((c >= 0) && (c < 0x20)) {
5683 break;
5684 }
5685 }
5686 driver.error(driver.loc_,
5687 "Invalid control in " + std::string(yytext),
5688 pos + 1);
5689}
5690 YY_BREAK
5691case 228:
5692/* rule 228 can match eol */
5694#line 2458 "dhcp6_lexer.ll"
5695{
5696 /* Bad string with a bad escape inside */
5697 std::string raw(yytext+1);
5698 size_t len = raw.size() - 1;
5699 size_t pos = 0;
5700 bool found = false;
5701 for (; pos < len; ++pos) {
5702 if (found) {
5703 break;
5704 }
5705 char c = raw[pos];
5706 if (c == '\\') {
5707 ++pos;
5708 c = raw[pos];
5709 switch (c) {
5710 case '"':
5711 case '\\':
5712 case '/':
5713 case 'b':
5714 case 'f':
5715 case 'n':
5716 case 'r':
5717 case 't':
5718 break;
5719 case 'u':
5720 if ((pos + 4 > len) ||
5721 !std::isxdigit(raw[pos + 1]) ||
5722 !std::isxdigit(raw[pos + 2]) ||
5723 !std::isxdigit(raw[pos + 3]) ||
5724 !std::isxdigit(raw[pos + 4])) {
5725 found = true;
5726 }
5727 break;
5728 default:
5729 found = true;
5730 break;
5731 }
5732 }
5733 }
5734 /* The rule stops on the first " including on \" so add ... in this case */
5735 std::string trailer = "";
5736 if (raw[len - 1] == '\\') {
5737 trailer = "...";
5738 }
5739 driver.error(driver.loc_,
5740 "Bad escape in " + std::string(yytext) + trailer,
5741 pos);
5742}
5743 YY_BREAK
5744case 229:
5746#line 2507 "dhcp6_lexer.ll"
5747{
5748 /* Bad string with an open escape at the end */
5749 std::string raw(yytext+1);
5750 driver.error(driver.loc_,
5751 "Overflow escape in " + std::string(yytext),
5752 raw.size() + 1);
5753}
5754 YY_BREAK
5755case 230:
5757#line 2515 "dhcp6_lexer.ll"
5758{
5759 /* Bad string with an open unicode escape at the end */
5760 std::string raw(yytext+1);
5761 size_t pos = raw.size() - 1;
5762 for (; pos > 0; --pos) {
5763 char c = raw[pos];
5764 if (c == 'u') {
5765 break;
5766 }
5767 }
5768 driver.error(driver.loc_,
5769 "Overflow unicode escape in " + std::string(yytext),
5770 pos + 1);
5771}
5772 YY_BREAK
5773case 231:
5775#line 2530 "dhcp6_lexer.ll"
5776{ return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); }
5777