1#line 1 "dhcp6_lexer.cc"
3#line 3 "dhcp6_lexer.cc"
5#define YY_INT_ALIGNED short int
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
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
53#ifdef yy_create_buffer
54#define parser6__create_buffer_ALREADY_DEFINED
56#define yy_create_buffer parser6__create_buffer
59#ifdef yy_delete_buffer
60#define parser6__delete_buffer_ALREADY_DEFINED
62#define yy_delete_buffer parser6__delete_buffer
66#define parser6__scan_buffer_ALREADY_DEFINED
68#define yy_scan_buffer parser6__scan_buffer
72#define parser6__scan_string_ALREADY_DEFINED
74#define yy_scan_string parser6__scan_string
78#define parser6__scan_bytes_ALREADY_DEFINED
80#define yy_scan_bytes parser6__scan_bytes
84#define parser6__init_buffer_ALREADY_DEFINED
86#define yy_init_buffer parser6__init_buffer
90#define parser6__flush_buffer_ALREADY_DEFINED
92#define yy_flush_buffer parser6__flush_buffer
95#ifdef yy_load_buffer_state
96#define parser6__load_buffer_state_ALREADY_DEFINED
98#define yy_load_buffer_state parser6__load_buffer_state
101#ifdef yy_switch_to_buffer
102#define parser6__switch_to_buffer_ALREADY_DEFINED
104#define yy_switch_to_buffer parser6__switch_to_buffer
107#ifdef yypush_buffer_state
108#define parser6_push_buffer_state_ALREADY_DEFINED
110#define yypush_buffer_state parser6_push_buffer_state
113#ifdef yypop_buffer_state
114#define parser6_pop_buffer_state_ALREADY_DEFINED
116#define yypop_buffer_state parser6_pop_buffer_state
119#ifdef yyensure_buffer_stack
120#define parser6_ensure_buffer_stack_ALREADY_DEFINED
122#define yyensure_buffer_stack parser6_ensure_buffer_stack
126#define parser6_lex_ALREADY_DEFINED
128#define yylex parser6_lex
132#define parser6_restart_ALREADY_DEFINED
134#define yyrestart parser6_restart
138#define parser6_lex_init_ALREADY_DEFINED
140#define yylex_init parser6_lex_init
143#ifdef yylex_init_extra
144#define parser6_lex_init_extra_ALREADY_DEFINED
146#define yylex_init_extra parser6_lex_init_extra
150#define parser6_lex_destroy_ALREADY_DEFINED
152#define yylex_destroy parser6_lex_destroy
156#define parser6_get_debug_ALREADY_DEFINED
158#define yyget_debug parser6_get_debug
162#define parser6_set_debug_ALREADY_DEFINED
164#define yyset_debug parser6_set_debug
168#define parser6_get_extra_ALREADY_DEFINED
170#define yyget_extra parser6_get_extra
174#define parser6_set_extra_ALREADY_DEFINED
176#define yyset_extra parser6_set_extra
180#define parser6_get_in_ALREADY_DEFINED
182#define yyget_in parser6_get_in
186#define parser6_set_in_ALREADY_DEFINED
188#define yyset_in parser6_set_in
192#define parser6_get_out_ALREADY_DEFINED
194#define yyget_out parser6_get_out
198#define parser6_set_out_ALREADY_DEFINED
200#define yyset_out parser6_set_out
204#define parser6_get_leng_ALREADY_DEFINED
206#define yyget_leng parser6_get_leng
210#define parser6_get_text_ALREADY_DEFINED
212#define yyget_text parser6_get_text
216#define parser6_get_lineno_ALREADY_DEFINED
218#define yyget_lineno parser6_get_lineno
222#define parser6_set_lineno_ALREADY_DEFINED
224#define yyset_lineno parser6_set_lineno
228#define parser6_wrap_ALREADY_DEFINED
230#define yywrap parser6_wrap
236#define parser6_alloc_ALREADY_DEFINED
238#define yyalloc parser6_alloc
242#define parser6_realloc_ALREADY_DEFINED
244#define yyrealloc parser6_realloc
248#define parser6_free_ALREADY_DEFINED
250#define yyfree parser6_free
256#define parser6_text_ALREADY_DEFINED
258#define yytext parser6_text
262#define parser6_leng_ALREADY_DEFINED
264#define yyleng parser6_leng
268#define parser6_in_ALREADY_DEFINED
270#define yyin parser6_in
274#define parser6_out_ALREADY_DEFINED
276#define yyout parser6_out
280#define parser6__flex_debug_ALREADY_DEFINED
282#define yy_flex_debug parser6__flex_debug
286#define parser6_lineno_ALREADY_DEFINED
288#define yylineno parser6_lineno
315#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
320#ifndef __STDC_LIMIT_MACROS
321#define __STDC_LIMIT_MACROS 1
341#define INT8_MIN (-128)
344#define INT16_MIN (-32767-1)
347#define INT32_MIN (-2147483647-1)
350#define INT8_MAX (127)
353#define INT16_MAX (32767)
356#define INT32_MAX (2147483647)
359#define UINT8_MAX (255U)
362#define UINT16_MAX (65535U)
365#define UINT32_MAX (4294967295U)
369#define SIZE_MAX (~(size_t)0)
385#if defined(__GNUC__) && __GNUC__ >= 3
386#define yynoreturn __attribute__((__noreturn__))
400#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
414#define BEGIN (yy_start) = 1 + 2 *
419#define YY_START (((yy_start) - 1) / 2)
420#define YYSTATE YY_START
422#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
424#define YY_NEW_FILE yyrestart( yyin )
425#define YY_END_OF_BUFFER_CHAR 0
434#define YY_BUF_SIZE 32768
436#define YY_BUF_SIZE 16384
442#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
444#ifndef YY_TYPEDEF_YY_BUFFER_STATE
445#define YY_TYPEDEF_YY_BUFFER_STATE
449#ifndef YY_TYPEDEF_YY_SIZE_T
450#define YY_TYPEDEF_YY_SIZE_T
464#define EOB_ACT_CONTINUE_SCAN 0
465#define EOB_ACT_END_OF_FILE 1
466#define EOB_ACT_LAST_MATCH 2
468 #define YY_LESS_LINENO(n)
469 #define YY_LINENO_REWIND_TO(ptr)
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; \
484#define unput(c) yyunput( c, (yytext_ptr) )
486#ifndef YY_STRUCT_YY_BUFFER_STATE
487#define YY_STRUCT_YY_BUFFER_STATE
539#define YY_BUFFER_NEW 0
540#define YY_BUFFER_NORMAL 1
551#define YY_BUFFER_EOF_PENDING 2
561static size_t yy_buffer_stack_top = 0;
562static size_t yy_buffer_stack_max = 0;
575#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
576 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
581#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
588static char yy_hold_char;
589static int yy_n_chars;
593static char *yy_c_buf_p = NULL;
594static int yy_init = 0;
595static int yy_start = 0;
600static int yy_did_buffer_switch_on_eof;
616#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
628#define yy_new_buffer yy_create_buffer
629#define yy_set_interactive(is_interactive) \
631 if ( ! YY_CURRENT_BUFFER ){ \
632 yyensure_buffer_stack (); \
633 YY_CURRENT_BUFFER_LVALUE = \
634 yy_create_buffer( yyin, YY_BUF_SIZE ); \
636 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
638#define yy_set_bol(at_bol) \
640 if ( ! YY_CURRENT_BUFFER ){\
641 yyensure_buffer_stack (); \
642 YY_CURRENT_BUFFER_LVALUE = \
643 yy_create_buffer( yyin, YY_BUF_SIZE ); \
645 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
647#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
652#define parser6_wrap() (1)
653#define YY_SKIP_YYWRAP
669#define yytext_ptr yytext
677static int yy_get_next_buffer (
void );
678static void yynoreturn yy_fatal_error (
const char* msg );
685#define YY_DO_BEFORE_ACTION \
686 (yytext_ptr) = yy_bp; \
688 yyleng = (int) (yy_cp - yy_bp); \
689 (yy_hold_char) = *yy_cp; \
692 (yy_c_buf_p) = yy_cp;
694#define YY_NUM_RULES 179
695#define YY_END_OF_BUFFER 180
705 172, 172, 0, 0, 0, 0, 0, 0, 0, 0,
706 180, 178, 10, 11, 178, 1, 172, 169, 172, 172,
707 178, 171, 170, 178, 178, 178, 178, 178, 165, 166,
708 178, 178, 178, 167, 168, 5, 5, 5, 178, 178,
709 178, 10, 11, 0, 0, 161, 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, 1, 172,
713 172, 0, 171, 172, 3, 2, 6, 0, 172, 0,
714 0, 0, 0, 0, 0, 4, 0, 0, 9, 0,
716 162, 0, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 0, 0, 0, 0, 0, 164, 0, 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, 2, 0, 0,
724 0, 0, 0, 0, 0, 8, 0, 0, 0, 0,
725 139, 0, 0, 140, 0, 0, 0, 0, 0, 0,
727 0, 0, 163, 0, 0, 0, 0, 0, 0, 0,
728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
730 0, 0, 0, 0, 94, 0, 0, 0, 0, 0,
731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
732 0, 0, 0, 0, 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 177, 175, 0, 174, 173, 0, 0, 0, 0, 0,
738 0, 0, 138, 0, 0, 28, 0, 27, 0, 0,
739 101, 0, 0, 0, 0, 0, 0, 0, 0, 53,
740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
741 0, 0, 0, 0, 0, 0, 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, 98,
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,
749 176, 173, 0, 0, 0, 0, 0, 0, 0, 0,
750 29, 0, 0, 31, 0, 0, 0, 0, 0, 102,
751 0, 0, 0, 0, 0, 0, 79, 0, 0, 0,
752 0, 0, 0, 123, 0, 0, 0, 0, 0, 0,
753 0, 0, 0, 0, 0, 56, 0, 0, 0, 0,
754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
755 0, 0, 0, 0, 0, 0, 78, 0, 0, 0,
756 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,
757 0, 57, 0, 0, 0, 0, 0, 0, 0, 0,
758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
760 0, 0, 0, 0, 0, 0, 0, 0, 0, 118,
761 143, 49, 0, 54, 0, 0, 0, 0, 0, 0,
762 158, 37, 0, 34, 0, 33, 0, 0, 0, 131,
763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
765 110, 0, 0, 0, 0, 0, 0, 0, 0, 142,
766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
767 0, 0, 0, 0, 0, 51, 0, 0, 32, 0,
768 0, 0, 0, 0, 0, 0, 0, 0, 81, 0,
769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
771 132, 0, 0, 0, 0, 0, 0, 0, 0, 0,
772 0, 0, 0, 127, 0, 0, 0, 0, 0, 0,
773 7, 35, 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 100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
778 112, 0, 0, 0, 0, 0, 0, 109, 0, 0,
779 0, 0, 0, 0, 0, 0, 83, 0, 0, 0,
780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
782 0, 0, 0, 0, 0, 0, 0, 0, 0, 91,
783 0, 0, 0, 0, 0, 0, 0, 0, 106, 0,
784 0, 0, 0, 90, 0, 0, 0, 0, 0, 0,
785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
786 0, 0, 126, 0, 0, 0, 0, 0, 0, 0,
787 0, 0, 0, 0, 0, 0, 0, 0, 136, 107,
788 0, 0, 0, 0, 111, 50, 0, 0, 0, 0,
789 0, 0, 0, 0, 0, 0, 58, 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,
793 0, 0, 0, 0, 0, 74, 0, 0, 0, 0,
794 0, 0, 159, 0, 0, 0, 0, 0, 0, 0,
795 0, 0, 0, 0, 0, 0, 0, 0, 0, 97,
796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
797 125, 0, 0, 0, 0, 0, 0, 61, 0, 0,
798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
799 0, 0, 0, 0, 55, 82, 0, 0, 0, 122,
800 0, 0, 0, 48, 0, 0, 0, 0, 0, 0,
801 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
802 0, 114, 0, 0, 0, 0, 0, 0, 0, 0,
804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
805 0, 0, 0, 0, 157, 0, 0, 0, 0, 0,
806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
807 0, 92, 0, 0, 0, 0, 0, 0, 0, 0,
808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
809 0, 0, 0, 0, 0, 0, 0, 40, 0, 0,
810 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
811 0, 137, 14, 0, 0, 0, 0, 0, 0, 0,
812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
813 0, 0, 0, 128, 113, 0, 0, 0, 0, 0,
815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
816 0, 124, 141, 0, 39, 0, 133, 0, 0, 0,
817 0, 0, 0, 0, 0, 20, 0, 0, 0, 76,
818 0, 0, 0, 0, 135, 52, 0, 84, 0, 0,
819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
820 0, 0, 0, 73, 0, 0, 0, 0, 0, 0,
821 0, 0, 0, 0, 0, 80, 0, 0, 0, 0,
822 0, 0, 0, 0, 0, 0, 0, 130, 0, 0,
823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
824 0, 0, 0, 0, 103, 0, 0, 0, 0, 0,
826 77, 99, 0, 0, 0, 0, 0, 0, 0, 0,
827 0, 0, 0, 70, 0, 0, 0, 0, 0, 0,
828 17, 15, 0, 155, 154, 0, 65, 0, 0, 0,
829 0, 0, 30, 117, 0, 0, 0, 0, 0, 0,
830 0, 0, 0, 152, 0, 0, 0, 0, 0, 0,
831 0, 0, 0, 0, 0, 93, 0, 121, 42, 0,
832 59, 0, 0, 0, 0, 19, 0, 0, 0, 0,
833 0, 0, 95, 71, 0, 0, 129, 0, 0, 0,
834 0, 0, 120, 0, 0, 0, 0, 89, 0, 160,
835 0, 0, 0, 0, 0, 0, 0, 0, 87, 0,
837 0, 144, 0, 0, 0, 0, 0, 0, 0, 0,
838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
840 41, 0, 64, 0, 0, 0, 115, 46, 0, 0,
841 66, 153, 0, 0, 12, 0, 0, 0, 0, 0,
842 0, 0, 0, 0, 44, 0, 0, 43, 18, 0,
843 0, 0, 0, 108, 0, 0, 0, 0, 0, 0,
844 0, 0, 0, 0, 0, 0, 0, 69, 0, 0,
845 60, 0, 0, 85, 0, 0, 0, 0, 0, 134,
846 0, 0, 0, 45, 0, 0, 0, 0, 0, 0,
848 0, 0, 0, 0, 0, 0, 0, 63, 0, 0,
849 75, 0, 36, 47, 0, 0, 0, 0, 0, 24,
850 0, 0, 0, 0, 0, 0, 150, 0, 119, 0,
851 0, 0, 0, 0, 0, 0, 0, 0, 96, 0,
852 0, 0, 0, 0, 0, 0, 0, 0, 25, 38,
853 0, 0, 0, 0, 0, 13, 0, 0, 0, 0,
854 0, 0, 0, 156, 0, 0, 0, 0, 0, 0,
855 149, 0, 0, 21, 68, 0, 0, 0, 0, 0,
856 0, 0, 86, 0, 0, 148, 0, 0, 67, 0,
857 0, 62, 0, 23, 0, 0, 0, 0, 0, 0,
859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
861 0, 22, 0, 104, 116, 0, 0, 0, 0, 0,
862 0, 146, 151, 72, 0, 0, 0, 0, 145, 0,
863 0, 26, 0, 0, 0, 0, 0, 105, 0, 0,
867static const YY_CHAR yy_ec[256] =
869 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
870 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
871 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
872 1, 4, 5, 6, 7, 5, 5, 5, 5, 5,
873 5, 8, 9, 10, 11, 12, 13, 14, 14, 14,
874 14, 15, 14, 16, 14, 14, 14, 17, 5, 18,
875 5, 19, 20, 5, 21, 22, 23, 24, 25, 26,
876 5, 27, 5, 28, 5, 29, 5, 30, 31, 32,
877 5, 33, 34, 35, 36, 37, 38, 5, 39, 5,
878 40, 41, 42, 5, 43, 5, 44, 45, 46, 47,
880 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
881 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
882 68, 69, 70, 5, 71, 5, 5, 5, 5, 5,
883 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
884 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
885 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
886 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
887 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
888 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
889 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
891 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
892 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
893 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
894 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
895 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
899static const YY_CHAR yy_meta[72] =
901 1, 1, 2, 3, 3, 4, 3, 3, 3, 3,
902 3, 3, 3, 5, 5, 5, 3, 3, 3, 3,
903 5, 5, 5, 5, 5, 5, 3, 3, 3, 3,
904 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
905 3, 3, 3, 5, 5, 5, 5, 5, 5, 3,
906 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
907 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
913 0, 70, 19, 29, 41, 49, 52, 58, 87, 95,
914 1817, 1818, 32, 1813, 141, 0, 201, 1818, 206, 88,
915 11, 213, 1818, 1795, 114, 25, 2, 6, 1818, 1818,
916 73, 11, 17, 1818, 1818, 1818, 104, 1801, 1756, 0,
917 1793, 107, 1808, 217, 241, 1818, 185, 1752, 1758, 1778,
918 93, 58, 190, 91, 211, 200, 14, 267, 213, 175,
919 269, 64, 231, 184, 187, 75, 1759, 274, 215, 290,
920 278, 297, 1742, 207, 302, 316, 316, 1761, 0, 355,
921 360, 372, 377, 380, 1818, 0, 1818, 295, 383, 227,
922 296, 283, 327, 361, 293, 1818, 1758, 1797, 1818, 237,
924 1818, 394, 363, 1745, 1755, 1794, 375, 321, 403, 1749,
925 369, 378, 376, 382, 388, 1792, 0, 445, 407, 1736,
926 1744, 364, 1740, 1729, 1730, 372, 1746, 1729, 1738, 387,
927 308, 378, 1732, 1730, 391, 1719, 1775, 416, 1722, 1773,
928 1715, 1738, 1735, 1735, 1729, 214, 1722, 1715, 1720, 1714,
929 382, 1725, 1718, 1709, 1708, 1722, 362, 1758, 1707, 414,
930 1719, 1722, 1706, 441, 1707, 417, 1719, 1716, 1717, 1715,
931 422, 1697, 1702, 1698, 1690, 1707, 1699, 0, 422, 450,
932 440, 446, 454, 470, 1698, 1818, 0, 476, 1689, 1692,
933 1818, 465, 447, 1818, 1744, 1699, 477, 1742, 481, 1741,
935 477, 1740, 1818, 521, 1739, 489, 1700, 1695, 1694, 1685,
936 465, 1734, 1728, 1694, 1673, 1681, 1687, 1675, 1689, 1685,
937 1686, 1686, 1681, 1673, 1675, 1659, 1663, 1676, 1678, 1675,
938 1667, 1657, 1660, 1674, 1818, 1660, 1668, 1671, 1652, 1651,
939 1701, 1650, 1660, 1698, 510, 1659, 1647, 1658, 1694, 490,
940 1698, 1635, 1650, 9, 1640, 1656, 1637, 1639, 1635, 1641,
941 1632, 1631, 1644, 1637, 1639, 1643, 1642, 1636, 80, 1643,
942 1638, 1630, 1620, 1635, 1630, 1634, 1615, 1631, 1617, 1623,
943 1630, 1618, 230, 1611, 1625, 1624, 1627, 1609, 1617, 491,
944 1818, 1818, 492, 1818, 1818, 1604, 0, 376, 1606, 508,
946 501, 1660, 1818, 1613, 480, 1818, 1658, 1818, 1652, 562,
947 1818, 480, 1594, 1604, 1654, 1611, 1606, 1609, 304, 1818,
948 1607, 1649, 1604, 1601, 1602, 303, 1606, 1644, 1594, 1589,
949 1586, 1582, 1584, 1633, 1592, 1581, 1597, 1629, 1577, 568,
950 1590, 1590, 1573, 1574, 1587, 1574, 1584, 1579, 1586, 1581,
951 1566, 451, 1575, 1578, 1573, 1569, 1617, 501, 497, 1818,
952 1611, 1563, 1562, 1555, 1557, 1561, 1550, 1557, 1562, 550,
953 1607, 1562, 503, 1559, 1563, 1561, 1550, 1550, 1562, 496,
954 1537, 1538, 1559, 511, 1541, 1538, 1552, 1551, 1537, 1549,
955 1548, 1547, 1546, 507, 1587, 1586, 1585, 1529, 583, 1542,
957 1818, 1818, 1541, 0, 518, 1529, 1580, 1579, 1537, 1577,
958 1818, 1525, 1575, 1818, 541, 617, 520, 1574, 1516, 1818,
959 1521, 1527, 1530, 1529, 1516, 1515, 1818, 1517, 1514, 1526,
960 543, 1511, 1513, 1818, 1519, 1504, 1506, 1517, 1515, 1510,
961 585, 1517, 1505, 1498, 1547, 1818, 1496, 1512, 1544, 1548,
962 1506, 1500, 1502, 1503, 1505, 1537, 1490, 1485, 1484, 1486,
963 1479, 1494, 1472, 1479, 1484, 1532, 1818, 1479, 1475, 1529,
964 1482, 1476, 1483, 1468, 1478, 1481, 1470, 1469, 1464, 1818,
965 1519, 1818, 1463, 1462, 1455, 1472, 1509, 1456, 1461, 1470,
966 1464, 1458, 1467, 586, 1502, 1466, 1449, 1449, 1444, 1440,
968 1446, 1445, 1453, 1457, 1440, 1496, 1438, 1452, 1441, 1818,
969 1818, 1818, 1441, 1818, 1451, 1485, 1447, 0, 1488, 1438,
970 1818, 1818, 1435, 1818, 1441, 1818, 562, 562, 593, 1818,
971 1479, 1426, 1477, 1424, 1423, 1430, 1423, 1435, 1434, 1418,
972 1433, 1415, 1462, 1429, 1465, 1411, 1413, 1425, 1425, 1424,
973 1818, 1409, 1406, 1462, 1419, 1411, 1417, 1408, 1416, 1818,
974 1401, 1412, 1416, 1398, 1412, 555, 1394, 1388, 1393, 1390,
975 1405, 1406, 1403, 1444, 1401, 1818, 1387, 1389, 1818, 1397,
976 1434, 1433, 575, 1396, 1379, 1380, 1385, 1376, 1818, 1390,
977 1376, 608, 1368, 1389, 1386, 1378, 1421, 1375, 1382, 1418,
979 1818, 1366, 1364, 1378, 1362, 1376, 1379, 1411, 1410, 1409,
980 1356, 1407, 1406, 1818, 599, 1368, 1368, 1366, 1355, 1357,
981 1818, 1818, 1400, 1348, 1403, 581, 588, 1346, 1361, 1400,
982 575, 1394, 1393, 1392, 1346, 1336, 1389, 1351, 1341, 1349,
983 1385, 1348, 1330, 1338, 1340, 1344, 1379, 1383, 1340, 1339,
984 1818, 1340, 1333, 1322, 1335, 1338, 1333, 1328, 1333, 1330,
985 1329, 1325, 1331, 1326, 1367, 1366, 1310, 1306, 569, 1363,
986 1818, 1362, 1311, 1303, 1354, 1317, 1304, 1818, 1304, 1313,
987 1312, 1312, 1296, 1351, 1294, 1307, 1818, 1299, 1291, 1300,
988 1293, 1304, 1281, 1285, 1336, 1300, 1282, 1280, 1291, 1331,
990 1330, 1329, 1276, 1292, 576, 594, 1269, 1279, 588, 1818,
991 1329, 1275, 1285, 1285, 1274, 1278, 1285, 1322, 1818, 1316,
992 592, 1278, 1270, 1818, 1266, 1279, 1259, 1262, 1258, 1275,
993 11, 65, 79, 184, 220, 300, 426, 389, 419, 469,
994 551, 562, 1818, 583, 587, 582, 602, 600, 644, 586,
995 590, 610, 611, 598, 661, 620, 606, 609, 1818, 1818,
996 625, 624, 629, 617, 1818, 1818, 631, 618, 616, 634,
997 621, 621, 670, 622, 678, 679, 1818, 626, 640, 640,
998 683, 633, 635, 629, 687, 642, 632, 633, 629, 639,
999 643, 654, 638, 656, 651, 653, 646, 648, 660, 650,
1001 665, 704, 663, 668, 645, 1818, 670, 660, 705, 654,
1002 669, 670, 1818, 689, 697, 666, 680, 668, 663, 675,
1003 670, 671, 667, 676, 671, 722, 728, 687, 678, 1818,
1004 690, 675, 691, 681, 693, 687, 732, 700, 685, 686,
1005 1818, 703, 706, 689, 691, 747, 692, 1818, 709, 712,
1006 692, 711, 749, 709, 705, 700, 718, 717, 703, 718,
1007 710, 706, 724, 709, 1818, 1818, 717, 762, 717, 1818,
1008 725, 720, 771, 1818, 722, 727, 769, 723, 724, 736,
1009 730, 734, 732, 730, 741, 784, 730, 786, 787, 733,
1010 745, 1818, 733, 741, 739, 744, 756, 740, 754, 755,
1012 756, 772, 777, 759, 746, 747, 767, 756, 761, 768,
1013 809, 810, 759, 763, 1818, 808, 759, 777, 774, 812,
1014 763, 781, 782, 768, 776, 785, 765, 780, 787, 829,
1015 830, 1818, 785, 832, 833, 786, 796, 798, 782, 783,
1016 790, 799, 842, 791, 790, 807, 846, 798, 802, 800,
1017 798, 851, 852, 804, 854, 850, 810, 1818, 815, 808,
1018 799, 818, 812, 807, 817, 814, 819, 815, 827, 1818,
1019 811, 1818, 1818, 812, 870, 811, 830, 831, 828, 814,
1020 835, 817, 822, 829, 862, 853, 883, 828, 830, 847,
1021 845, 837, 841, 1818, 1818, 851, 849, 852, 836, 837,
1023 895, 850, 855, 842, 853, 845, 851, 847, 865, 867,
1024 868, 1818, 1818, 866, 1818, 868, 1818, 853, 855, 874,
1025 864, 914, 869, 911, 877, 1818, 869, 861, 920, 1818,
1026 921, 870, 877, 919, 1818, 1818, 879, 1818, 870, 870,
1027 873, 887, 892, 875, 886, 933, 892, 893, 894, 932,
1028 890, 939, 940, 1818, 889, 942, 943, 885, 945, 906,
1029 890, 902, 892, 922, 951, 1818, 952, 901, 916, 903,
1030 899, 915, 920, 908, 908, 961, 920, 1818, 922, 921,
1031 923, 916, 925, 926, 923, 913, 916, 916, 973, 922,
1032 975, 976, 921, 979, 1818, 917, 932, 925, 983, 938,
1034 1818, 1818, 934, 944, 929, 947, 933, 992, 993, 940,
1035 950, 997, 956, 1818, 948, 948, 950, 952, 1003, 948,
1036 1818, 1818, 950, 1818, 1818, 964, 1818, 958, 1008, 959,
1037 1010, 992, 1818, 1818, 956, 964, 958, 957, 960, 960,
1038 961, 1019, 969, 1818, 965, 1022, 977, 968, 983, 983,
1039 986, 986, 983, 1025, 989, 1818, 981, 1818, 1818, 991,
1040 1818, 993, 994, 991, 1033, 1818, 984, 984, 990, 989,
1041 1001, 1001, 1818, 1818, 1040, 989, 1818, 1006, 991, 991,
1042 993, 999, 1818, 1052, 1005, 1054, 1017, 1818, 1014, 1818,
1043 1033, 1058, 1059, 1018, 1004, 1062, 1063, 1018, 1818, 1008,
1045 1066, 1818, 1006, 1063, 1028, 1024, 1066, 1016, 1021, 1019,
1046 1076, 1034, 1078, 1079, 1042, 1031, 1025, 1041, 1085, 1029,
1047 1046, 1031, 1046, 1030, 1086, 1087, 1088, 1037, 1090, 1055,
1048 1818, 1041, 1818, 1052, 1099, 1071, 1818, 1818, 1045, 1102,
1049 1818, 1818, 1051, 1049, 1818, 1105, 1053, 1102, 1047, 1052,
1050 1111, 1061, 1071, 1072, 1818, 1115, 1070, 1818, 1818, 1061,
1051 1076, 1064, 1079, 1818, 1116, 1084, 1077, 1078, 1087, 1069,
1052 1075, 1078, 1130, 1091, 1091, 1134, 1085, 1818, 1136, 1137,
1053 1818, 1087, 1087, 1818, 1091, 1086, 1085, 1143, 1098, 1818,
1054 1140, 1093, 1090, 1818, 1104, 1107, 1150, 1105, 1152, 1095,
1056 1097, 1105, 1095, 1111, 1112, 1106, 1122, 1818, 1112, 1162,
1057 1818, 1158, 1818, 1818, 1159, 1116, 1124, 1115, 1122, 1818,
1058 1119, 1124, 1122, 1172, 1173, 1118, 1818, 1133, 1818, 1123,
1059 1135, 1136, 1179, 1123, 1131, 1125, 1133, 1146, 1818, 1145,
1060 1133, 1187, 1137, 1149, 1140, 1149, 1151, 1155, 1818, 1818,
1061 1194, 1139, 1155, 1197, 1198, 1818, 1194, 1158, 1155, 1160,
1062 1147, 1142, 1163, 1818, 1206, 1165, 1166, 1209, 1168, 1171,
1063 1818, 1212, 1175, 1818, 1818, 1157, 1215, 1164, 1217, 1162,
1064 1179, 1165, 1818, 1165, 1167, 1818, 1172, 1182, 1818, 1168,
1065 1180, 1818, 1176, 1818, 1186, 1180, 1184, 1175, 1227, 1176,
1067 1184, 1193, 1186, 1181, 1182, 1197, 1188, 1195, 1182, 1197,
1068 1202, 1245, 1204, 1247, 1248, 1193, 1209, 1200, 1214, 1210,
1069 1203, 1818, 1255, 1818, 1818, 1256, 1257, 1214, 1213, 1214,
1070 1204, 1818, 1818, 1818, 1262, 1206, 1222, 1265, 1818, 1261,
1071 1212, 1818, 1211, 1213, 1224, 1271, 1222, 1818, 1231, 1274,
1072 1818, 1818, 1280, 1285, 1290, 1295, 1300, 1305, 1310, 1313,
1073 1287, 1292, 1294, 1307
1078 1453, 1453, 1454, 1454, 1453, 1453, 1453, 1453, 1453, 1453,
1079 1452, 1452, 1452, 1452, 1452, 1455, 1452, 1452, 1452, 1452,
1080 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452,
1081 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1456,
1082 1452, 1452, 1452, 1457, 15, 1452, 45, 45, 45, 45,
1083 45, 45, 45, 45, 45, 45, 45, 1458, 45, 45,
1084 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1085 45, 45, 45, 45, 45, 45, 45, 45, 1455, 1452,
1086 1452, 1452, 1452, 1452, 1452, 1459, 1452, 1452, 1452, 1452,
1087 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1456, 1452, 1457,
1089 1452, 1452, 45, 45, 45, 45, 45, 45, 45, 45,
1090 45, 45, 45, 45, 45, 1460, 45, 1458, 45, 45,
1091 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1092 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1093 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1094 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1095 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1096 45, 45, 45, 45, 45, 45, 45, 1459, 1452, 1452,
1097 1452, 1452, 1452, 1452, 1452, 1452, 1461, 45, 45, 45,
1098 1452, 45, 45, 1452, 45, 45, 45, 45, 45, 45,
1100 45, 1460, 1452, 1458, 45, 45, 45, 45, 45, 45,
1101 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1102 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1103 45, 45, 45, 45, 1452, 45, 45, 45, 45, 45,
1104 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1105 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1106 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1107 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1108 45, 45, 45, 45, 45, 45, 45, 45, 45, 1452,
1109 1452, 1452, 1452, 1452, 1452, 1452, 1462, 45, 45, 45,
1111 45, 45, 1452, 45, 45, 1452, 45, 1452, 45, 1458,
1112 1452, 45, 45, 45, 45, 45, 45, 45, 45, 1452,
1113 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1114 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1115 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1116 45, 45, 45, 45, 45, 45, 45, 45, 45, 1452,
1117 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1118 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1119 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1120 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1122 1452, 1452, 1452, 1463, 45, 45, 45, 45, 45, 45,
1123 1452, 45, 45, 1452, 45, 1458, 45, 45, 45, 1452,
1124 45, 45, 45, 45, 45, 45, 1452, 45, 45, 45,
1125 45, 45, 45, 1452, 45, 45, 45, 45, 45, 45,
1126 45, 45, 45, 45, 45, 1452, 45, 45, 45, 45,
1127 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1128 45, 45, 45, 45, 45, 45, 1452, 45, 45, 45,
1129 45, 45, 45, 45, 45, 45, 45, 45, 45, 1452,
1130 45, 1452, 45, 45, 45, 45, 45, 45, 45, 45,
1131 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1133 45, 45, 45, 45, 45, 45, 45, 45, 45, 1452,
1134 1452, 1452, 45, 1452, 45, 45, 1452, 1464, 45, 45,
1135 1452, 1452, 45, 1452, 45, 1452, 45, 45, 45, 1452,
1136 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1137 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1138 1452, 45, 45, 45, 45, 45, 45, 45, 45, 1452,
1139 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1140 45, 45, 45, 45, 45, 1452, 45, 45, 1452, 45,
1141 45, 45, 45, 45, 45, 45, 45, 45, 1452, 45,
1142 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1144 1452, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1145 45, 45, 45, 1452, 45, 45, 45, 45, 45, 45,
1146 1452, 1452, 45, 45, 45, 45, 45, 45, 45, 45,
1147 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1148 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1149 1452, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1150 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1151 1452, 45, 45, 45, 45, 45, 45, 1452, 45, 45,
1152 45, 45, 45, 45, 45, 45, 1452, 45, 45, 45,
1153 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1155 45, 45, 45, 45, 45, 45, 45, 45, 45, 1452,
1156 45, 45, 45, 45, 45, 45, 45, 45, 1452, 45,
1157 45, 45, 45, 1452, 45, 45, 45, 45, 45, 45,
1158 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1159 45, 45, 1452, 45, 45, 45, 45, 45, 45, 45,
1160 45, 45, 45, 45, 45, 45, 45, 45, 1452, 1452,
1161 45, 45, 45, 45, 1452, 1452, 45, 45, 45, 45,
1162 45, 45, 45, 45, 45, 45, 1452, 45, 45, 45,
1163 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1164 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1166 45, 45, 45, 45, 45, 1452, 45, 45, 45, 45,
1167 45, 45, 1452, 45, 45, 45, 45, 45, 45, 45,
1168 45, 45, 45, 45, 45, 45, 45, 45, 45, 1452,
1169 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1170 1452, 45, 45, 45, 45, 45, 45, 1452, 45, 45,
1171 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1172 45, 45, 45, 45, 1452, 1452, 45, 45, 45, 1452,
1173 45, 45, 45, 1452, 45, 45, 45, 45, 45, 45,
1174 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1175 45, 1452, 45, 45, 45, 45, 45, 45, 45, 45,
1177 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1178 45, 45, 45, 45, 1452, 45, 45, 45, 45, 45,
1179 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1180 45, 1452, 45, 45, 45, 45, 45, 45, 45, 45,
1181 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1182 45, 45, 45, 45, 45, 45, 45, 1452, 45, 45,
1183 45, 45, 45, 45, 45, 45, 45, 45, 45, 1452,
1184 45, 1452, 1452, 45, 45, 45, 45, 45, 45, 45,
1185 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1186 45, 45, 45, 1452, 1452, 45, 45, 45, 45, 45,
1188 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1189 45, 1452, 1452, 45, 1452, 45, 1452, 45, 45, 45,
1190 45, 45, 45, 45, 45, 1452, 45, 45, 45, 1452,
1191 45, 45, 45, 45, 1452, 1452, 45, 1452, 45, 45,
1192 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1193 45, 45, 45, 1452, 45, 45, 45, 45, 45, 45,
1194 45, 45, 45, 45, 45, 1452, 45, 45, 45, 45,
1195 45, 45, 45, 45, 45, 45, 45, 1452, 45, 45,
1196 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1197 45, 45, 45, 45, 1452, 45, 45, 45, 45, 45,
1199 1452, 1452, 45, 45, 45, 45, 45, 45, 45, 45,
1200 45, 45, 45, 1452, 45, 45, 45, 45, 45, 45,
1201 1452, 1452, 45, 1452, 1452, 45, 1452, 45, 45, 45,
1202 45, 45, 1452, 1452, 45, 45, 45, 45, 45, 45,
1203 45, 45, 45, 1452, 45, 45, 45, 45, 45, 45,
1204 45, 45, 45, 45, 45, 1452, 45, 1452, 1452, 45,
1205 1452, 45, 45, 45, 45, 1452, 45, 45, 45, 45,
1206 45, 45, 1452, 1452, 45, 45, 1452, 45, 45, 45,
1207 45, 45, 1452, 45, 45, 45, 45, 1452, 45, 1452,
1208 45, 45, 45, 45, 45, 45, 45, 45, 1452, 45,
1210 45, 1452, 45, 45, 45, 45, 45, 45, 45, 45,
1211 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1212 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1213 1452, 45, 1452, 45, 45, 45, 1452, 1452, 45, 45,
1214 1452, 1452, 45, 45, 1452, 45, 45, 45, 45, 45,
1215 45, 45, 45, 45, 1452, 45, 45, 1452, 1452, 45,
1216 45, 45, 45, 1452, 45, 45, 45, 45, 45, 45,
1217 45, 45, 45, 45, 45, 45, 45, 1452, 45, 45,
1218 1452, 45, 45, 1452, 45, 45, 45, 45, 45, 1452,
1219 45, 45, 45, 1452, 45, 45, 45, 45, 45, 45,
1221 45, 45, 45, 45, 45, 45, 45, 1452, 45, 45,
1222 1452, 45, 1452, 1452, 45, 45, 45, 45, 45, 1452,
1223 45, 45, 45, 45, 45, 45, 1452, 45, 1452, 45,
1224 45, 45, 45, 45, 45, 45, 45, 45, 1452, 45,
1225 45, 45, 45, 45, 45, 45, 45, 45, 1452, 1452,
1226 45, 45, 45, 45, 45, 1452, 45, 45, 45, 45,
1227 45, 45, 45, 1452, 45, 45, 45, 45, 45, 45,
1228 1452, 45, 45, 1452, 1452, 45, 45, 45, 45, 45,
1229 45, 45, 1452, 45, 45, 1452, 45, 45, 1452, 45,
1230 45, 1452, 45, 1452, 45, 45, 45, 45, 45, 45,
1232 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1233 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1234 45, 1452, 45, 1452, 1452, 45, 45, 45, 45, 45,
1235 45, 1452, 1452, 1452, 45, 45, 45, 45, 1452, 45,
1236 45, 1452, 45, 45, 45, 45, 45, 1452, 45, 45,
1237 1452, 0, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452,
1238 1452, 1452, 1452, 1452
1243 1452, 13, 14, 13, 1452, 15, 16, 1452, 17, 18,
1244 19, 20, 21, 22, 22, 22, 23, 24, 85, 363,
1245 37, 14, 37, 86, 25, 26, 38, 1452, 1452, 27,
1246 37, 14, 37, 42, 28, 42, 38, 91, 92, 29,
1247 115, 30, 13, 14, 13, 90, 91, 25, 31, 92,
1248 13, 14, 13, 13, 14, 13, 32, 40, 824, 13,
1249 14, 13, 33, 40, 115, 91, 92, 364, 90, 34,
1250 35, 13, 14, 13, 94, 15, 16, 95, 17, 18,
1251 19, 20, 21, 22, 22, 22, 23, 24, 13, 14,
1252 13, 108, 39, 90, 25, 26, 13, 14, 13, 27,
1254 39, 84, 84, 84, 28, 42, 41, 42, 42, 29,
1255 42, 30, 82, 107, 41, 111, 93, 25, 31, 108,
1256 130, 138, 88, 825, 88, 826, 32, 89, 89, 89,
1257 131, 139, 33, 140, 379, 82, 107, 380, 111, 34,
1258 35, 44, 44, 44, 45, 45, 46, 45, 45, 45,
1259 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1260 45, 47, 45, 48, 49, 50, 51, 45, 52, 53,
1261 54, 45, 45, 45, 45, 55, 56, 45, 57, 45,
1262 45, 58, 45, 45, 59, 45, 60, 61, 62, 63,
1263 64, 65, 66, 52, 67, 68, 69, 70, 71, 72,
1265 73, 74, 75, 76, 77, 78, 57, 45, 45, 45,
1266 45, 45, 80, 103, 81, 81, 81, 80, 109, 83,
1267 83, 83, 101, 114, 80, 82, 83, 83, 83, 121,
1268 82, 133, 122, 112, 123, 306, 124, 82, 134, 103,
1269 394, 103, 101, 113, 135, 827, 114, 110, 82, 136,
1270 163, 107, 137, 82, 164, 179, 112, 102, 146, 244,
1271 82, 45, 147, 45, 45, 45, 45, 119, 45, 45,
1272 45, 113, 117, 120, 107, 45, 45, 102, 45, 45,
1273 245, 179, 148, 828, 45, 132, 45, 45, 45, 45,
1274 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1276 45, 45, 45, 45, 45, 45, 45, 45, 89, 89,
1277 89, 45, 125, 431, 111, 45, 126, 432, 181, 127,
1278 128, 142, 143, 45, 180, 144, 152, 45, 181, 45,
1279 118, 145, 129, 149, 153, 150, 154, 151, 112, 114,
1280 157, 155, 156, 158, 159, 165, 181, 424, 113, 166,
1281 180, 193, 167, 224, 160, 179, 184, 161, 829, 168,
1282 169, 171, 114, 172, 425, 170, 225, 173, 84, 84,
1283 84, 80, 175, 81, 81, 81, 113, 176, 193, 82,
1284 88, 182, 88, 174, 82, 89, 89, 89, 80, 180,
1285 83, 83, 83, 84, 84, 84, 89, 89, 89, 100,
1287 188, 82, 82, 192, 82, 197, 100, 82, 194, 198,
1288 209, 199, 201, 200, 405, 183, 215, 216, 197, 210,
1289 211, 235, 256, 257, 82, 226, 217, 82, 188, 192,
1290 221, 830, 222, 197, 100, 201, 198, 195, 100, 199,
1291 200, 227, 100, 405, 188, 230, 250, 831, 231, 223,
1292 100, 266, 232, 198, 100, 290, 100, 187, 204, 204,
1293 204, 205, 832, 236, 292, 204, 204, 204, 204, 204,
1294 204, 260, 206, 276, 261, 262, 302, 277, 291, 290,
1295 283, 278, 291, 290, 267, 268, 269, 292, 204, 204,
1296 204, 204, 204, 204, 292, 270, 298, 271, 301, 272,
1298 273, 305, 274, 302, 291, 307, 309, 293, 294, 298,
1299 461, 462, 413, 317, 305, 401, 401, 295, 405, 298,
1300 352, 318, 407, 408, 305, 410, 301, 319, 307, 413,
1301 833, 409, 312, 309, 310, 310, 310, 359, 401, 402,
1302 413, 310, 310, 310, 310, 310, 310, 417, 410, 468,
1303 484, 519, 492, 519, 485, 480, 493, 470, 497, 469,
1304 508, 834, 498, 509, 310, 310, 310, 310, 310, 310,
1305 527, 353, 528, 446, 354, 416, 416, 416, 447, 519,
1306 678, 529, 416, 416, 416, 416, 416, 416, 514, 541,
1307 551, 601, 626, 515, 627, 552, 602, 527, 622, 528,
1309 662, 663, 542, 628, 710, 416, 416, 416, 416, 416,
1310 416, 481, 721, 687, 711, 720, 835, 679, 688, 626,
1311 725, 726, 627, 763, 448, 815, 764, 797, 836, 449,
1312 45, 45, 45, 837, 798, 721, 838, 45, 45, 45,
1313 45, 45, 45, 720, 804, 799, 839, 840, 843, 841,
1314 805, 844, 800, 815, 842, 689, 801, 845, 846, 847,
1315 45, 45, 45, 45, 45, 45, 848, 849, 850, 851,
1316 852, 853, 854, 855, 856, 857, 858, 859, 861, 862,
1317 863, 860, 864, 865, 866, 867, 868, 869, 870, 871,
1318 872, 873, 874, 875, 876, 877, 878, 879, 880, 881,
1320 882, 883, 884, 885, 886, 887, 888, 890, 891, 892,
1321 893, 894, 895, 896, 897, 898, 899, 900, 889, 901,
1322 902, 903, 904, 905, 906, 907, 908, 909, 910, 911,
1323 912, 913, 914, 915, 916, 917, 918, 919, 920, 921,
1324 922, 923, 924, 925, 903, 926, 927, 902, 928, 929,
1325 930, 931, 932, 935, 936, 937, 938, 933, 939, 940,
1326 941, 942, 943, 944, 945, 946, 947, 948, 949, 950,
1327 952, 953, 954, 955, 956, 957, 958, 959, 960, 961,
1328 951, 962, 963, 964, 965, 966, 967, 968, 969, 970,
1329 971, 972, 973, 974, 975, 976, 977, 978, 979, 980,
1331 981, 982, 983, 984, 985, 987, 986, 988, 934, 989,
1332 990, 991, 992, 993, 994, 995, 996, 997, 998, 999,
1333 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009,
1334 1010, 1011, 985, 986, 1012, 1013, 1014, 1015, 1017, 1019,
1335 1020, 1021, 1016, 1022, 1023, 1024, 1025, 1026, 1027, 1028,
1336 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038,
1337 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048,
1338 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058,
1339 1018, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067,
1340 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077,
1342 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1064,
1343 1087, 1088, 1089, 1090, 1091, 1065, 1092, 1093, 1094, 1095,
1344 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105,
1345 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115,
1346 1116, 1117, 1118, 1120, 1121, 1122, 1123, 1124, 1125, 1126,
1347 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1136, 1137,
1348 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147,
1349 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157,
1350 1158, 1159, 1160, 1132, 1161, 1162, 1163, 1165, 1166, 1167,
1351 1168, 1169, 1170, 1119, 1164, 1171, 1172, 1173, 1174, 1135,
1353 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184,
1354 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194,
1355 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204,
1356 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1191,
1357 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223,
1358 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233,
1359 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243,
1360 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253,
1361 1254, 1255, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1236,
1362 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273,
1364 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283,
1365 1284, 1286, 1287, 1288, 1289, 1285, 1290, 1291, 1292, 1293,
1366 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303,
1367 1304, 1305, 1306, 1279, 1307, 1308, 1309, 1256, 1310, 1311,
1368 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321,
1369 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331,
1370 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341,
1371 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351,
1372 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361,
1373 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371,
1375 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381,
1376 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391,
1377 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401,
1378 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411,
1379 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421,
1380 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431,
1381 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441,
1382 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451,
1383 12, 12, 12, 12, 12, 36, 36, 36, 36, 36,
1384 79, 297, 79, 79, 79, 98, 404, 98, 518, 98,
1386 100, 100, 100, 100, 100, 116, 116, 116, 116, 116,
1387 178, 100, 178, 178, 178, 202, 202, 202, 823, 822,
1388 821, 820, 819, 818, 817, 816, 814, 813, 812, 811,
1389 810, 809, 808, 807, 806, 803, 802, 796, 795, 794,
1390 793, 792, 791, 790, 789, 788, 787, 786, 785, 784,
1391 783, 782, 781, 780, 779, 778, 777, 776, 775, 774,
1392 773, 772, 771, 770, 769, 768, 767, 766, 765, 762,
1393 761, 760, 759, 758, 757, 756, 755, 754, 753, 752,
1394 751, 750, 749, 748, 747, 746, 745, 744, 743, 742,
1395 741, 740, 739, 738, 737, 736, 735, 734, 733, 732,
1397 731, 730, 729, 728, 727, 724, 723, 722, 719, 718,
1398 717, 716, 715, 714, 713, 712, 709, 708, 707, 706,
1399 705, 704, 703, 702, 701, 700, 699, 698, 697, 696,
1400 695, 694, 693, 692, 691, 690, 686, 685, 684, 683,
1401 682, 681, 680, 677, 676, 675, 674, 673, 672, 671,
1402 670, 669, 668, 667, 666, 665, 664, 661, 660, 659,
1403 658, 657, 656, 655, 654, 653, 652, 651, 650, 649,
1404 648, 647, 646, 645, 644, 643, 642, 641, 640, 639,
1405 638, 637, 636, 635, 634, 633, 632, 631, 630, 629,
1406 625, 624, 623, 622, 621, 620, 619, 618, 617, 616,
1408 615, 614, 613, 612, 611, 610, 609, 608, 607, 606,
1409 605, 604, 603, 600, 599, 598, 597, 596, 595, 594,
1410 593, 592, 591, 590, 589, 588, 587, 586, 585, 584,
1411 583, 582, 581, 580, 579, 578, 577, 576, 575, 574,
1412 573, 572, 571, 570, 569, 568, 567, 566, 565, 564,
1413 563, 562, 561, 560, 559, 558, 557, 556, 555, 554,
1414 553, 550, 549, 548, 547, 546, 545, 544, 543, 540,
1415 539, 538, 537, 536, 535, 534, 533, 532, 531, 530,
1416 526, 525, 524, 523, 522, 521, 520, 517, 516, 513,
1417 512, 511, 510, 507, 506, 505, 504, 503, 502, 501,
1419 500, 499, 496, 495, 494, 491, 490, 489, 488, 487,
1420 486, 483, 482, 479, 478, 477, 476, 475, 474, 473,
1421 472, 471, 467, 466, 465, 464, 463, 460, 459, 458,
1422 457, 456, 455, 454, 453, 452, 451, 450, 445, 444,
1423 443, 442, 441, 440, 439, 438, 437, 436, 435, 434,
1424 433, 430, 429, 428, 427, 426, 423, 422, 421, 420,
1425 419, 418, 415, 414, 412, 411, 406, 403, 400, 399,
1426 398, 397, 396, 395, 393, 392, 391, 390, 389, 388,
1427 387, 386, 385, 384, 383, 382, 381, 378, 377, 376,
1428 375, 374, 373, 372, 371, 370, 369, 368, 367, 366,
1430 365, 362, 361, 360, 358, 357, 356, 355, 351, 350,
1431 349, 348, 347, 346, 345, 344, 343, 342, 341, 340,
1432 339, 338, 337, 336, 335, 334, 333, 332, 331, 330,
1433 329, 328, 327, 326, 325, 324, 323, 322, 321, 320,
1434 316, 315, 314, 313, 311, 203, 308, 306, 304, 303,
1435 300, 299, 296, 289, 288, 287, 286, 285, 284, 282,
1436 281, 280, 279, 275, 265, 264, 263, 259, 258, 255,
1437 254, 253, 252, 251, 249, 248, 247, 246, 243, 242,
1438 241, 240, 239, 238, 237, 234, 233, 229, 228, 220,
1439 219, 218, 214, 213, 212, 208, 207, 203, 196, 191,
1441 190, 189, 186, 185, 177, 162, 141, 106, 105, 104,
1442 43, 99, 97, 96, 87, 43, 1452, 11, 1452, 1452,
1443 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452,
1444 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452,
1445 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452,
1446 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452,
1447 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452,
1448 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452,
1449 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452
1454 0, 1, 1, 1, 0, 1, 1, 0, 1, 1,
1455 1, 1, 1, 1, 1, 1, 1, 1, 21, 254,
1456 3, 3, 3, 21, 1, 1, 3, 0, 0, 1,
1457 4, 4, 4, 13, 1, 13, 4, 27, 28, 1,
1458 57, 1, 5, 5, 5, 26, 32, 1, 1, 33,
1459 6, 6, 6, 7, 7, 7, 1, 7, 731, 8,
1460 8, 8, 1, 8, 57, 27, 28, 254, 26, 1,
1461 1, 2, 2, 2, 32, 2, 2, 33, 2, 2,
1462 2, 2, 2, 2, 2, 2, 2, 2, 9, 9,
1463 9, 52, 5, 31, 2, 2, 10, 10, 10, 2,
1465 6, 20, 20, 20, 2, 37, 9, 37, 42, 2,
1466 42, 2, 20, 51, 10, 54, 31, 2, 2, 52,
1467 62, 66, 25, 732, 25, 733, 2, 25, 25, 25,
1468 62, 66, 2, 66, 269, 20, 51, 269, 54, 2,
1469 2, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1470 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1471 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1472 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1473 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1474 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1476 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1477 15, 15, 17, 47, 17, 17, 17, 19, 53, 19,
1478 19, 19, 44, 56, 22, 17, 22, 22, 22, 60,
1479 19, 64, 60, 55, 60, 283, 60, 22, 64, 47,
1480 283, 59, 100, 55, 65, 734, 56, 53, 17, 65,
1481 74, 63, 65, 19, 74, 90, 55, 44, 69, 146,
1482 22, 45, 69, 45, 45, 45, 45, 59, 45, 45,
1483 45, 55, 58, 59, 63, 45, 45, 100, 45, 58,
1484 146, 90, 69, 735, 45, 63, 45, 45, 45, 45,
1485 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1487 45, 45, 45, 45, 45, 45, 45, 58, 88, 88,
1488 88, 58, 61, 326, 70, 58, 61, 326, 92, 61,
1489 61, 68, 68, 58, 91, 68, 71, 58, 95, 58,
1490 58, 68, 61, 70, 71, 70, 71, 70, 76, 77,
1491 72, 71, 71, 72, 72, 75, 92, 319, 76, 75,
1492 91, 108, 75, 131, 72, 93, 95, 72, 736, 75,
1493 75, 76, 77, 76, 319, 75, 131, 76, 80, 80,
1494 80, 81, 77, 81, 81, 81, 76, 77, 108, 80,
1495 82, 93, 82, 76, 81, 82, 82, 82, 83, 94,
1496 83, 83, 83, 84, 84, 84, 89, 89, 89, 102,
1498 103, 83, 80, 107, 84, 111, 102, 81, 109, 112,
1499 122, 113, 115, 114, 298, 94, 126, 126, 151, 122,
1500 122, 138, 157, 157, 83, 132, 126, 84, 103, 107,
1501 130, 737, 130, 111, 102, 115, 112, 109, 102, 113,
1502 114, 132, 102, 298, 119, 135, 151, 738, 135, 130,
1503 102, 164, 135, 171, 102, 179, 102, 102, 118, 118,
1504 118, 119, 739, 138, 181, 118, 118, 118, 118, 118,
1505 118, 160, 119, 166, 160, 160, 193, 166, 180, 182,
1506 171, 166, 183, 179, 164, 164, 164, 181, 118, 118,
1507 118, 118, 118, 118, 184, 164, 188, 164, 192, 164,
1509 164, 197, 164, 193, 180, 199, 201, 182, 183, 206,
1510 352, 352, 305, 211, 250, 290, 293, 184, 312, 188,
1511 245, 211, 300, 300, 197, 301, 192, 211, 199, 359,
1512 740, 300, 206, 201, 204, 204, 204, 250, 290, 293,
1513 305, 204, 204, 204, 204, 204, 204, 312, 301, 358,
1514 373, 405, 380, 417, 373, 370, 380, 359, 384, 358,
1515 394, 741, 384, 394, 204, 204, 204, 204, 204, 204,
1516 415, 245, 415, 340, 245, 310, 310, 310, 340, 405,
1517 583, 417, 310, 310, 310, 310, 310, 310, 399, 431,
1518 441, 494, 527, 399, 528, 441, 494, 415, 529, 415,
1520 566, 566, 431, 529, 615, 310, 310, 310, 310, 310,
1521 310, 370, 627, 592, 615, 626, 742, 583, 592, 527,
1522 631, 631, 528, 669, 340, 721, 669, 705, 744, 340,
1523 416, 416, 416, 745, 705, 627, 746, 416, 416, 416,
1524 416, 416, 416, 626, 709, 706, 747, 748, 750, 749,
1525 709, 751, 706, 721, 749, 592, 706, 752, 753, 754,
1526 416, 416, 416, 416, 416, 416, 755, 756, 757, 758,
1527 761, 762, 763, 764, 767, 768, 769, 770, 771, 772,
1528 773, 770, 774, 775, 776, 778, 779, 780, 781, 782,
1529 783, 784, 785, 786, 787, 788, 789, 790, 791, 792,
1531 793, 794, 795, 796, 797, 798, 799, 800, 801, 802,
1532 803, 804, 805, 807, 808, 809, 810, 811, 799, 812,
1533 814, 815, 816, 817, 818, 819, 820, 821, 822, 823,
1534 824, 825, 826, 827, 828, 829, 831, 832, 833, 834,
1535 835, 836, 837, 838, 815, 839, 840, 814, 842, 843,
1536 844, 845, 846, 847, 849, 850, 851, 846, 852, 853,
1537 854, 855, 856, 857, 858, 859, 860, 861, 862, 863,
1538 864, 867, 868, 869, 871, 872, 873, 875, 876, 877,
1539 863, 878, 879, 880, 881, 882, 883, 884, 885, 886,
1540 887, 888, 889, 890, 891, 893, 894, 895, 896, 897,
1542 898, 899, 900, 901, 902, 904, 903, 905, 846, 906,
1543 907, 908, 909, 910, 911, 912, 913, 914, 916, 917,
1544 918, 919, 920, 921, 922, 923, 924, 925, 926, 927,
1545 928, 929, 902, 903, 930, 931, 933, 934, 935, 936,
1546 937, 938, 934, 939, 940, 941, 942, 943, 944, 945,
1547 946, 947, 948, 949, 950, 951, 952, 953, 954, 955,
1548 956, 957, 959, 960, 961, 962, 963, 964, 965, 966,
1549 967, 968, 969, 971, 974, 975, 976, 977, 978, 979,
1550 935, 980, 981, 982, 983, 984, 985, 986, 987, 988,
1551 989, 990, 991, 992, 993, 996, 997, 998, 999, 1000,
1553 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 985,
1554 1010, 1011, 1014, 1016, 1018, 986, 1019, 1020, 1021, 1022,
1555 1023, 1024, 1025, 1027, 1028, 1029, 1031, 1032, 1033, 1034,
1556 1037, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047,
1557 1048, 1049, 1050, 1051, 1052, 1053, 1055, 1056, 1057, 1058,
1558 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1067, 1068, 1069,
1559 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1079, 1080,
1560 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090,
1561 1091, 1092, 1093, 1064, 1094, 1096, 1097, 1098, 1099, 1100,
1562 1103, 1104, 1105, 1050, 1097, 1106, 1107, 1108, 1109, 1067,
1564 1110, 1111, 1112, 1113, 1115, 1116, 1117, 1118, 1119, 1120,
1565 1123, 1126, 1128, 1129, 1130, 1131, 1132, 1135, 1136, 1137,
1566 1138, 1139, 1140, 1141, 1142, 1143, 1145, 1146, 1147, 1148,
1567 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1157, 1160, 1132,
1568 1162, 1163, 1164, 1165, 1167, 1168, 1169, 1170, 1171, 1172,
1569 1175, 1176, 1178, 1179, 1180, 1181, 1182, 1184, 1185, 1186,
1570 1187, 1189, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198,
1571 1200, 1201, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210,
1572 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1191,
1573 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228,
1575 1229, 1230, 1232, 1234, 1235, 1236, 1239, 1240, 1243, 1244,
1576 1246, 1247, 1248, 1249, 1250, 1246, 1251, 1252, 1253, 1254,
1577 1256, 1257, 1260, 1261, 1262, 1263, 1265, 1266, 1267, 1268,
1578 1269, 1270, 1271, 1236, 1272, 1273, 1274, 1211, 1275, 1276,
1579 1277, 1279, 1280, 1282, 1283, 1285, 1286, 1287, 1288, 1289,
1580 1291, 1292, 1293, 1295, 1296, 1297, 1298, 1299, 1300, 1301,
1581 1302, 1303, 1304, 1305, 1306, 1307, 1309, 1310, 1312, 1315,
1582 1316, 1317, 1318, 1319, 1321, 1322, 1323, 1324, 1325, 1326,
1583 1328, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338,
1584 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1351,
1586 1352, 1353, 1354, 1355, 1357, 1358, 1359, 1360, 1361, 1362,
1587 1363, 1365, 1366, 1367, 1368, 1369, 1370, 1372, 1373, 1376,
1588 1377, 1378, 1379, 1380, 1381, 1382, 1384, 1385, 1387, 1388,
1589 1390, 1391, 1393, 1395, 1396, 1397, 1398, 1399, 1400, 1401,
1590 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411,
1591 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421,
1592 1423, 1426, 1427, 1428, 1429, 1430, 1431, 1435, 1436, 1437,
1593 1438, 1440, 1441, 1443, 1444, 1445, 1446, 1447, 1449, 1450,
1594 1453, 1453, 1453, 1453, 1453, 1454, 1454, 1454, 1454, 1454,
1595 1455, 1461, 1455, 1455, 1455, 1456, 1462, 1456, 1463, 1456,
1597 1457, 1457, 1457, 1457, 1457, 1458, 1458, 1458, 1458, 1458,
1598 1459, 1464, 1459, 1459, 1459, 1460, 1460, 1460, 730, 729,
1599 728, 727, 726, 725, 723, 722, 720, 718, 717, 716,
1600 715, 714, 713, 712, 711, 708, 707, 704, 703, 702,
1601 701, 700, 699, 698, 697, 696, 695, 694, 693, 692,
1602 691, 690, 689, 688, 686, 685, 684, 683, 682, 681,
1603 680, 679, 677, 676, 675, 674, 673, 672, 670, 668,
1604 667, 666, 665, 664, 663, 662, 661, 660, 659, 658,
1605 657, 656, 655, 654, 653, 652, 650, 649, 648, 647,
1606 646, 645, 644, 643, 642, 641, 640, 639, 638, 637,
1608 636, 635, 634, 633, 632, 630, 629, 628, 625, 624,
1609 623, 620, 619, 618, 617, 616, 613, 612, 611, 610,
1610 609, 608, 607, 606, 605, 604, 603, 602, 600, 599,
1611 598, 597, 596, 595, 594, 593, 591, 590, 588, 587,
1612 586, 585, 584, 582, 581, 580, 578, 577, 575, 574,
1613 573, 572, 571, 570, 569, 568, 567, 565, 564, 563,
1614 562, 561, 559, 558, 557, 556, 555, 554, 553, 552,
1615 550, 549, 548, 547, 546, 545, 544, 543, 542, 541,
1616 540, 539, 538, 537, 536, 535, 534, 533, 532, 531,
1617 525, 523, 520, 519, 517, 516, 515, 513, 509, 508,
1619 507, 506, 505, 504, 503, 502, 501, 500, 499, 498,
1620 497, 496, 495, 493, 492, 491, 490, 489, 488, 487,
1621 486, 485, 484, 483, 481, 479, 478, 477, 476, 475,
1622 474, 473, 472, 471, 470, 469, 468, 466, 465, 464,
1623 463, 462, 461, 460, 459, 458, 457, 456, 455, 454,
1624 453, 452, 451, 450, 449, 448, 447, 445, 444, 443,
1625 442, 440, 439, 438, 437, 436, 435, 433, 432, 430,
1626 429, 428, 426, 425, 424, 423, 422, 421, 419, 418,
1627 413, 412, 410, 409, 408, 407, 406, 403, 400, 398,
1628 397, 396, 395, 393, 392, 391, 390, 389, 388, 387,
1630 386, 385, 383, 382, 381, 379, 378, 377, 376, 375,
1631 374, 372, 371, 369, 368, 367, 366, 365, 364, 363,
1632 362, 361, 357, 356, 355, 354, 353, 351, 350, 349,
1633 348, 347, 346, 345, 344, 343, 342, 341, 339, 338,
1634 337, 336, 335, 334, 333, 332, 331, 330, 329, 328,
1635 327, 325, 324, 323, 322, 321, 318, 317, 316, 315,
1636 314, 313, 309, 307, 304, 302, 299, 296, 289, 288,
1637 287, 286, 285, 284, 282, 281, 280, 279, 278, 277,
1638 276, 275, 274, 273, 272, 271, 270, 268, 267, 266,
1639 265, 264, 263, 262, 261, 260, 259, 258, 257, 256,
1641 255, 253, 252, 251, 249, 248, 247, 246, 244, 243,
1642 242, 241, 240, 239, 238, 237, 236, 234, 233, 232,
1643 231, 230, 229, 228, 227, 226, 225, 224, 223, 222,
1644 221, 220, 219, 218, 217, 216, 215, 214, 213, 212,
1645 210, 209, 208, 207, 205, 202, 200, 198, 196, 195,
1646 190, 189, 185, 177, 176, 175, 174, 173, 172, 170,
1647 169, 168, 167, 165, 163, 162, 161, 159, 158, 156,
1648 155, 154, 153, 152, 150, 149, 148, 147, 145, 144,
1649 143, 142, 141, 140, 139, 137, 136, 134, 133, 129,
1650 128, 127, 125, 124, 123, 121, 120, 116, 110, 106,
1652 105, 104, 98, 97, 78, 73, 67, 50, 49, 48,
1653 43, 41, 39, 38, 24, 14, 11, 1452, 1452, 1452,
1654 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452,
1655 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452,
1656 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452,
1657 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452,
1658 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452,
1659 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452,
1660 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452, 1452
1664static char *yy_last_accepting_cpos;
1671 149, 151, 153, 158, 159, 164, 165, 166, 178, 181,
1672 186, 193, 202, 211, 220, 229, 238, 247, 256, 265,
1673 274, 283, 292, 301, 310, 319, 328, 338, 348, 358,
1674 368, 378, 387, 397, 407, 417, 427, 436, 445, 454,
1675 463, 472, 481, 490, 499, 508, 517, 527, 536, 549,
1676 558, 567, 576, 585, 596, 607, 618, 629, 641, 652,
1677 663, 674, 685, 696, 707, 718, 729, 740, 751, 762,
1678 773, 784, 793, 802, 812, 821, 830, 845, 861, 870,
1679 879, 888, 897, 906, 915, 924, 933, 942, 951, 973,
1680 995, 1004, 1014, 1024, 1033, 1043, 1054, 1063, 1072, 1081,
1682 1090, 1099, 1109, 1118, 1127, 1136, 1145, 1154, 1163, 1172,
1683 1181, 1190, 1200, 1209, 1218, 1228, 1240, 1253, 1262, 1271,
1684 1281, 1291, 1300, 1311, 1321, 1330, 1340, 1350, 1359, 1368,
1685 1377, 1386, 1396, 1405, 1415, 1424, 1433, 1442, 1451, 1460,
1686 1469, 1478, 1487, 1496, 1505, 1514, 1523, 1532, 1541, 1550,
1687 1559, 1568, 1577, 1586, 1595, 1604, 1613, 1622, 1631, 1640,
1688 1650, 1749, 1754, 1759, 1764, 1765, 1766, 1767, 1768, 1769,
1689 1771, 1789, 1802, 1807, 1811, 1813, 1815, 1817
1695#define REJECT reject_used_but_not_detected
1696#define yymore() yymore_used_but_not_detected
1697#define YY_MORE_ADJ 0
1698#define YY_RESTORE_YY_MORE_OFFSET
1700#line 1 "dhcp6_lexer.ll"
1706#line 8 "dhcp6_lexer.ll"
1709#ifndef __clang_analyzer__
1717#include <boost/lexical_cast.hpp>
1731bool start_token_flag =
false;
1734unsigned int comment_start_line = 0;
1741#define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg)
1742#line 1742 "dhcp6_lexer.cc"
1757#define YY_NO_INPUT 1
1763#line 94 "dhcp6_lexer.ll"
1767#define YY_USER_ACTION driver.loc_.columns(yyleng);
1768#line 1768 "dhcp6_lexer.cc"
1769#line 1769 "dhcp6_lexer.cc"
1774#define DIR_INCLUDE 3
1777#ifndef YY_NO_UNISTD_H
1789#ifndef YY_EXTRA_TYPE
1790#define YY_EXTRA_TYPE void *
1797static int yy_init_globals (
void );
1840#ifndef YY_SKIP_YYWRAP
1842extern "C" int yywrap (
void );
1844extern int yywrap (
void );
1857static void yy_flex_strncpy (
char *,
const char *,
int );
1860#ifdef YY_NEED_STRLEN
1861static int yy_flex_strlen (
const char * );
1868static int yyinput (
void );
1870static int input (
void );
1882#ifndef YY_READ_BUF_SIZE
1885#define YY_READ_BUF_SIZE 16384
1887#define YY_READ_BUF_SIZE 8192
1897#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1907#define YY_INPUT(buf,result,max_size) \
1909 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1913 for ( n = 0; n < max_size && \
1914 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1915 buf[n] = (char) c; \
1917 buf[n++] = (char) c; \
1918 if ( c == EOF && ferror( yyin ) ) \
1919 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1925 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1927 if( errno != EINTR) \
1929 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1947#define yyterminate() return YY_NULL
1951#ifndef YY_START_STACK_INCR
1952#define YY_START_STACK_INCR 25
1956#ifndef YY_FATAL_ERROR
1958#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1979#define YY_DECL_IS_OURS 1
1982extern int yylex (
void);
1984#define YY_DECL int yylex (void)
1993#ifndef YY_USER_ACTION
1994#define YY_USER_ACTION
1999#define YY_BREAK break;
2003#define YY_RULE_SETUP \
2051#line 100 "dhcp6_lexer.ll"
2055#line 104 "dhcp6_lexer.ll"
2063 if (start_token_flag) {
2064 start_token_flag =
false;
2065 switch (start_token_value) {
2101#line 2101 "dhcp6_lexer.cc"
2106 yy_cp = (yy_c_buf_p);
2109 *
yy_cp = (yy_hold_char);
2117 yy_current_state = (yy_start);
2122 if ( yy_accept[yy_current_state] )
2124 (yy_last_accepting_state) = yy_current_state;
2125 (yy_last_accepting_cpos) =
yy_cp;
2127 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2129 yy_current_state = (int) yy_def[yy_current_state];
2130 if ( yy_current_state >= 1453 )
2131 yy_c = yy_meta[yy_c];
2133 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2136 while ( yy_current_state != 1452 );
2137 yy_cp = (yy_last_accepting_cpos);
2138 yy_current_state = (yy_last_accepting_state);
2142 yy_act = yy_accept[yy_current_state];
2154 fprintf( stderr,
"--scanner backing up\n" );
2156 fprintf( stderr,
"--accepting rule at line %ld (\"%s\")\n",
2158 else if (
yy_act == 179 )
2159 fprintf( stderr,
"--accepting default rule (\"%s\")\n",
2161 else if (
yy_act == 180 )
2162 fprintf( stderr,
"--(end of buffer or a NUL)\n" );
2164 fprintf( stderr,
"--EOF (start condition %d)\n",
YY_START );
2172 *
yy_cp = (yy_hold_char);
2173 yy_cp = (yy_last_accepting_cpos);
2174 yy_current_state = (yy_last_accepting_state);
2175 goto yy_find_action;
2179#line 149 "dhcp6_lexer.ll"
2184#line 151 "dhcp6_lexer.ll"
2189#line 153 "dhcp6_lexer.ll"
2192 comment_start_line = driver.loc_.end.line;;
2197#line 158 "dhcp6_lexer.ll"
2202#line 159 "dhcp6_lexer.ll"
2206#line 160 "dhcp6_lexer.ll"
2213#line 164 "dhcp6_lexer.ll"
2218#line 165 "dhcp6_lexer.ll"
2223#line 166 "dhcp6_lexer.ll"
2228 std::string tmp(
yytext+1);
2229 tmp.resize(tmp.size() - 1);
2231 driver.includeFile(tmp);
2237#line 175 "dhcp6_lexer.ll"
2244#line 178 "dhcp6_lexer.ll"
2249#line 181 "dhcp6_lexer.ll"
2258#line 186 "dhcp6_lexer.ll"
2261 driver.loc_.lines(
yyleng);
2267#line 193 "dhcp6_lexer.ll"
2269 switch(driver.ctx_) {
2279#line 202 "dhcp6_lexer.ll"
2281 switch(driver.ctx_) {
2291#line 211 "dhcp6_lexer.ll"
2293 switch(driver.ctx_) {
2303#line 220 "dhcp6_lexer.ll"
2305 switch(driver.ctx_) {
2315#line 229 "dhcp6_lexer.ll"
2317 switch(driver.ctx_) {
2327#line 238 "dhcp6_lexer.ll"
2329 switch(driver.ctx_) {
2339#line 247 "dhcp6_lexer.ll"
2341 switch(driver.ctx_) {
2351#line 256 "dhcp6_lexer.ll"
2353 switch(driver.ctx_) {
2363#line 265 "dhcp6_lexer.ll"
2365 switch(driver.ctx_) {
2375#line 274 "dhcp6_lexer.ll"
2377 switch(driver.ctx_) {
2387#line 283 "dhcp6_lexer.ll"
2389 switch(driver.ctx_) {
2399#line 292 "dhcp6_lexer.ll"
2401 switch(driver.ctx_) {
2411#line 301 "dhcp6_lexer.ll"
2413 switch(driver.ctx_) {
2423#line 310 "dhcp6_lexer.ll"
2425 switch(driver.ctx_) {
2435#line 319 "dhcp6_lexer.ll"
2437 switch(driver.ctx_) {
2447#line 328 "dhcp6_lexer.ll"
2453 std::string tmp(
yytext+1);
2454 tmp.resize(tmp.size() - 1);
2460#line 338 "dhcp6_lexer.ll"
2466 std::string tmp(
yytext+1);
2467 tmp.resize(tmp.size() - 1);
2473#line 348 "dhcp6_lexer.ll"
2479 std::string tmp(
yytext+1);
2480 tmp.resize(tmp.size() - 1);
2486#line 358 "dhcp6_lexer.ll"
2492 std::string tmp(
yytext+1);
2493 tmp.resize(tmp.size() - 1);
2499#line 368 "dhcp6_lexer.ll"
2505 std::string tmp(
yytext+1);
2506 tmp.resize(tmp.size() - 1);
2512#line 378 "dhcp6_lexer.ll"
2514 switch(driver.ctx_) {
2524#line 387 "dhcp6_lexer.ll"
2530 std::string tmp(
yytext+1);
2531 tmp.resize(tmp.size() - 1);
2537#line 397 "dhcp6_lexer.ll"
2543 std::string tmp(
yytext+1);
2544 tmp.resize(tmp.size() - 1);
2550#line 407 "dhcp6_lexer.ll"
2556 std::string tmp(
yytext+1);
2557 tmp.resize(tmp.size() - 1);
2563#line 417 "dhcp6_lexer.ll"
2569 std::string tmp(
yytext+1);
2570 tmp.resize(tmp.size() - 1);
2576#line 427 "dhcp6_lexer.ll"
2578 switch(driver.ctx_) {
2588#line 436 "dhcp6_lexer.ll"
2590 switch(driver.ctx_) {
2600#line 445 "dhcp6_lexer.ll"
2602 switch(driver.ctx_) {
2612#line 454 "dhcp6_lexer.ll"
2614 switch(driver.ctx_) {
2624#line 463 "dhcp6_lexer.ll"
2626 switch(driver.ctx_) {
2636#line 472 "dhcp6_lexer.ll"
2638 switch(driver.ctx_) {
2648#line 481 "dhcp6_lexer.ll"
2650 switch(driver.ctx_) {
2660#line 490 "dhcp6_lexer.ll"
2662 switch(driver.ctx_) {
2672#line 499 "dhcp6_lexer.ll"
2674 switch(driver.ctx_) {
2684#line 508 "dhcp6_lexer.ll"
2686 switch(driver.ctx_) {
2696#line 517 "dhcp6_lexer.ll"
2698 switch(driver.ctx_) {
2708#line 527 "dhcp6_lexer.ll"
2710 switch(driver.ctx_) {
2720#line 536 "dhcp6_lexer.ll"
2722 switch(driver.ctx_) {
2736#line 549 "dhcp6_lexer.ll"
2738 switch(driver.ctx_) {
2748#line 558 "dhcp6_lexer.ll"
2750 switch(driver.ctx_) {
2760#line 567 "dhcp6_lexer.ll"
2762 switch(driver.ctx_) {
2772#line 576 "dhcp6_lexer.ll"
2774 switch(driver.ctx_) {
2784#line 585 "dhcp6_lexer.ll"
2786 switch(driver.ctx_) {
2798#line 596 "dhcp6_lexer.ll"
2800 switch(driver.ctx_) {
2812#line 607 "dhcp6_lexer.ll"
2814 switch(driver.ctx_) {
2826#line 618 "dhcp6_lexer.ll"
2828 switch(driver.ctx_) {
2840#line 629 "dhcp6_lexer.ll"
2842 switch(driver.ctx_) {
2855#line 641 "dhcp6_lexer.ll"
2857 switch(driver.ctx_) {
2869#line 652 "dhcp6_lexer.ll"
2871 switch(driver.ctx_) {
2883#line 663 "dhcp6_lexer.ll"
2885 switch(driver.ctx_) {
2897#line 674 "dhcp6_lexer.ll"
2899 switch(driver.ctx_) {
2911#line 685 "dhcp6_lexer.ll"
2913 switch(driver.ctx_) {
2925#line 696 "dhcp6_lexer.ll"
2927 switch(driver.ctx_) {
2939#line 707 "dhcp6_lexer.ll"
2941 switch(driver.ctx_) {
2953#line 718 "dhcp6_lexer.ll"
2955 switch(driver.ctx_) {
2967#line 729 "dhcp6_lexer.ll"
2969 switch(driver.ctx_) {
2981#line 740 "dhcp6_lexer.ll"
2983 switch(driver.ctx_) {
2995#line 751 "dhcp6_lexer.ll"
2997 switch(driver.ctx_) {
3009#line 762 "dhcp6_lexer.ll"
3011 switch(driver.ctx_) {
3023#line 773 "dhcp6_lexer.ll"
3025 switch(driver.ctx_) {
3037#line 784 "dhcp6_lexer.ll"
3039 switch(driver.ctx_) {
3049#line 793 "dhcp6_lexer.ll"
3051 switch(driver.ctx_) {
3061#line 802 "dhcp6_lexer.ll"
3063 switch(driver.ctx_) {
3074#line 812 "dhcp6_lexer.ll"
3076 switch (driver.ctx_) {
3086#line 821 "dhcp6_lexer.ll"
3088 switch(driver.ctx_) {
3098#line 830 "dhcp6_lexer.ll"
3100 switch(driver.ctx_) {
3116#line 845 "dhcp6_lexer.ll"
3118 switch(driver.ctx_) {
3135#line 861 "dhcp6_lexer.ll"
3137 switch(driver.ctx_) {
3147#line 870 "dhcp6_lexer.ll"
3149 switch(driver.ctx_) {
3159#line 879 "dhcp6_lexer.ll"
3161 switch(driver.ctx_) {
3171#line 888 "dhcp6_lexer.ll"
3173 switch(driver.ctx_) {
3183#line 897 "dhcp6_lexer.ll"
3185 switch(driver.ctx_) {
3195#line 906 "dhcp6_lexer.ll"
3197 switch(driver.ctx_) {
3207#line 915 "dhcp6_lexer.ll"
3209 switch(driver.ctx_) {
3219#line 924 "dhcp6_lexer.ll"
3221 switch(driver.ctx_) {
3231#line 933 "dhcp6_lexer.ll"
3233 switch(driver.ctx_) {
3243#line 942 "dhcp6_lexer.ll"
3245 switch(driver.ctx_) {
3255#line 951 "dhcp6_lexer.ll"
3257 switch(driver.ctx_) {
3280#line 973 "dhcp6_lexer.ll"
3282 switch(driver.ctx_) {
3305#line 995 "dhcp6_lexer.ll"
3307 switch(driver.ctx_) {
3317#line 1004 "dhcp6_lexer.ll"
3319 switch(driver.ctx_) {
3330#line 1014 "dhcp6_lexer.ll"
3332 switch(driver.ctx_) {
3343#line 1024 "dhcp6_lexer.ll"
3345 switch(driver.ctx_) {
3355#line 1033 "dhcp6_lexer.ll"
3357 switch(driver.ctx_) {
3368#line 1043 "dhcp6_lexer.ll"
3370 switch(driver.ctx_) {
3382#line 1054 "dhcp6_lexer.ll"
3384 switch(driver.ctx_) {
3394#line 1063 "dhcp6_lexer.ll"
3396 switch(driver.ctx_) {
3406#line 1072 "dhcp6_lexer.ll"
3408 switch(driver.ctx_) {
3418#line 1081 "dhcp6_lexer.ll"
3420 switch(driver.ctx_) {
3430#line 1090 "dhcp6_lexer.ll"
3432 switch(driver.ctx_) {
3442#line 1099 "dhcp6_lexer.ll"
3444 switch(driver.ctx_) {
3455#line 1109 "dhcp6_lexer.ll"
3457 switch(driver.ctx_) {
3467#line 1118 "dhcp6_lexer.ll"
3469 switch(driver.ctx_) {
3479#line 1127 "dhcp6_lexer.ll"
3481 switch(driver.ctx_) {
3491#line 1136 "dhcp6_lexer.ll"
3493 switch(driver.ctx_) {
3503#line 1145 "dhcp6_lexer.ll"
3505 switch(driver.ctx_) {
3515#line 1154 "dhcp6_lexer.ll"
3517 switch(driver.ctx_) {
3527#line 1163 "dhcp6_lexer.ll"
3529 switch(driver.ctx_) {
3539#line 1172 "dhcp6_lexer.ll"
3541 switch(driver.ctx_) {
3551#line 1181 "dhcp6_lexer.ll"
3553 switch(driver.ctx_) {
3563#line 1190 "dhcp6_lexer.ll"
3565 switch(driver.ctx_) {
3575#line 1200 "dhcp6_lexer.ll"
3577 switch(driver.ctx_) {
3587#line 1209 "dhcp6_lexer.ll"
3589 switch(driver.ctx_) {
3599#line 1218 "dhcp6_lexer.ll"
3601 switch(driver.ctx_) {
3612#line 1228 "dhcp6_lexer.ll"
3614 switch(driver.ctx_) {
3627#line 1240 "dhcp6_lexer.ll"
3629 switch(driver.ctx_) {
3643#line 1253 "dhcp6_lexer.ll"
3645 switch(driver.ctx_) {
3655#line 1262 "dhcp6_lexer.ll"
3657 switch(driver.ctx_) {
3667#line 1271 "dhcp6_lexer.ll"
3669 switch(driver.ctx_) {
3680#line 1281 "dhcp6_lexer.ll"
3682 switch(driver.ctx_) {
3693#line 1291 "dhcp6_lexer.ll"
3695 switch(driver.ctx_) {
3705#line 1300 "dhcp6_lexer.ll"
3707 switch(driver.ctx_) {
3719#line 1311 "dhcp6_lexer.ll"
3721 switch(driver.ctx_) {
3732#line 1321 "dhcp6_lexer.ll"
3734 switch(driver.ctx_) {
3744#line 1330 "dhcp6_lexer.ll"
3746 switch(driver.ctx_) {
3757#line 1340 "dhcp6_lexer.ll"
3759 switch(driver.ctx_) {
3770#line 1350 "dhcp6_lexer.ll"
3772 switch(driver.ctx_) {
3782#line 1359 "dhcp6_lexer.ll"
3784 switch(driver.ctx_) {
3794#line 1368 "dhcp6_lexer.ll"
3796 switch(driver.ctx_) {
3806#line 1377 "dhcp6_lexer.ll"
3808 switch(driver.ctx_) {
3818#line 1386 "dhcp6_lexer.ll"
3820 switch(driver.ctx_) {
3831#line 1396 "dhcp6_lexer.ll"
3833 switch(driver.ctx_) {
3843#line 1405 "dhcp6_lexer.ll"
3845 switch(driver.ctx_) {
3855#line 1415 "dhcp6_lexer.ll"
3857 switch(driver.ctx_) {
3867#line 1424 "dhcp6_lexer.ll"
3869 switch(driver.ctx_) {
3879#line 1433 "dhcp6_lexer.ll"
3881 switch(driver.ctx_) {
3891#line 1442 "dhcp6_lexer.ll"
3893 switch(driver.ctx_) {
3903#line 1451 "dhcp6_lexer.ll"
3905 switch(driver.ctx_) {
3915#line 1460 "dhcp6_lexer.ll"
3917 switch(driver.ctx_) {
3927#line 1469 "dhcp6_lexer.ll"
3929 switch(driver.ctx_) {
3939#line 1478 "dhcp6_lexer.ll"
3941 switch(driver.ctx_) {
3951#line 1487 "dhcp6_lexer.ll"
3953 switch(driver.ctx_) {
3963#line 1496 "dhcp6_lexer.ll"
3965 switch(driver.ctx_) {
3975#line 1505 "dhcp6_lexer.ll"
3977 switch(driver.ctx_) {
3987#line 1514 "dhcp6_lexer.ll"
3989 switch(driver.ctx_) {
3999#line 1523 "dhcp6_lexer.ll"
4001 switch(driver.ctx_) {
4011#line 1532 "dhcp6_lexer.ll"
4013 switch(driver.ctx_) {
4023#line 1541 "dhcp6_lexer.ll"
4025 switch(driver.ctx_) {
4035#line 1550 "dhcp6_lexer.ll"
4037 switch(driver.ctx_) {
4047#line 1559 "dhcp6_lexer.ll"
4049 switch(driver.ctx_) {
4059#line 1568 "dhcp6_lexer.ll"
4061 switch(driver.ctx_) {
4071#line 1577 "dhcp6_lexer.ll"
4073 switch(driver.ctx_) {
4083#line 1586 "dhcp6_lexer.ll"
4085 switch(driver.ctx_) {
4095#line 1595 "dhcp6_lexer.ll"
4097 switch(driver.ctx_) {
4107#line 1604 "dhcp6_lexer.ll"
4109 switch(driver.ctx_) {
4119#line 1613 "dhcp6_lexer.ll"
4121 switch(driver.ctx_) {
4131#line 1622 "dhcp6_lexer.ll"
4133 switch(driver.ctx_) {
4143#line 1631 "dhcp6_lexer.ll"
4145 switch(driver.ctx_) {
4155#line 1640 "dhcp6_lexer.ll"
4157 switch(driver.ctx_) {
4167#line 1650 "dhcp6_lexer.ll"
4172 std::string raw(
yytext+1);
4173 size_t len = raw.size() - 1;
4175 std::string decoded;
4176 decoded.reserve(len);
4177 for (
size_t pos = 0; pos < len; ++pos) {
4183 driver.error(driver.loc_,
"Bad quote in \"" + raw +
"\"");
4189 driver.error(driver.loc_,
"Overflow escape in \"" + raw +
"\"");
4196 decoded.push_back(c);
4199 decoded.push_back(
'\b');
4202 decoded.push_back(
'\f');
4205 decoded.push_back(
'\n');
4208 decoded.push_back(
'\r');
4211 decoded.push_back(
'\t');
4216 if (pos + 4 > len) {
4218 driver.error(driver.loc_,
4219 "Overflow unicode escape in \"" + raw +
"\"");
4221 if ((raw[pos] !=
'0') || (raw[pos + 1] !=
'0')) {
4222 driver.error(driver.loc_,
"Unsupported unicode escape in \"" + raw +
"\"");
4226 if ((c >=
'0') && (c <=
'9')) {
4228 }
else if ((c >=
'A') && (c <=
'F')) {
4229 b = (c -
'A' + 10) << 4;
4230 }
else if ((c >=
'a') && (c <=
'f')) {
4231 b = (c -
'a' + 10) << 4;
4234 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
4238 if ((c >=
'0') && (c <=
'9')) {
4240 }
else if ((c >=
'A') && (c <=
'F')) {
4242 }
else if ((c >=
'a') && (c <=
'f')) {
4246 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
4248 decoded.push_back(
static_cast<char>(b & 0xff));
4252 driver.error(driver.loc_,
"Bad escape in \"" + raw +
"\"");
4256 if ((c >= 0) && (c < 0x20)) {
4258 driver.error(driver.loc_,
"Invalid control in \"" + raw +
"\"");
4260 decoded.push_back(c);
4270#line 1749 "dhcp6_lexer.ll"
4273 driver.error(driver.loc_,
"Invalid control in " + std::string(
yytext));
4279#line 1754 "dhcp6_lexer.ll"
4282 driver.error(driver.loc_,
"Bad escape in " + std::string(
yytext));
4287#line 1759 "dhcp6_lexer.ll"
4290 driver.error(driver.loc_,
"Overflow escape in " + std::string(
yytext));
4295#line 1764 "dhcp6_lexer.ll"
4300#line 1765 "dhcp6_lexer.ll"
4305#line 1766 "dhcp6_lexer.ll"
4310#line 1767 "dhcp6_lexer.ll"
4315#line 1768 "dhcp6_lexer.ll"
4320#line 1769 "dhcp6_lexer.ll"
4325#line 1771 "dhcp6_lexer.ll"
4329 int64_t integer = 0;
4335 integer = boost::lexical_cast<int64_t>(tmp);
4336 }
catch (
const boost::bad_lexical_cast &) {
4337 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
4346#line 1789 "dhcp6_lexer.ll"
4352 fp = boost::lexical_cast<double>(tmp);
4353 }
catch (
const boost::bad_lexical_cast &) {
4354 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to a floating point.");
4362#line 1802 "dhcp6_lexer.ll"
4370#line 1807 "dhcp6_lexer.ll"
4377#line 1811 "dhcp6_lexer.ll"
4378driver.error (driver.loc_,
"JSON true reserved keyword is lower case only");
4382#line 1813 "dhcp6_lexer.ll"
4383driver.error (driver.loc_,
"JSON false reserved keyword is lower case only");
4387#line 1815 "dhcp6_lexer.ll"
4388driver.error (driver.loc_,
"JSON null reserved keyword is lower case only");
4392#line 1817 "dhcp6_lexer.ll"
4393driver.error (driver.loc_,
"Invalid character: " + std::string(
yytext));
4396#line 1819 "dhcp6_lexer.ll"
4398 if (driver.states_.empty()) {
4401 driver.loc_ = driver.locs_.back();
4402 driver.locs_.pop_back();
4403 driver.file_ = driver.files_.back();
4404 driver.files_.pop_back();
4405 if (driver.sfile_) {
4406 fclose(driver.sfile_);
4409 if (!driver.sfiles_.empty()) {
4410 driver.sfile_ = driver.sfiles_.back();
4411 driver.sfiles_.pop_back();
4414 parser6__switch_to_buffer(driver.states_.back());
4415 driver.states_.pop_back();
4422#line 1842 "dhcp6_lexer.ll"
4425#line 4425 "dhcp6_lexer.cc"
4433 *
yy_cp = (yy_hold_char);
4467 (yy_c_buf_p) = (
yytext_ptr) + yy_amount_of_matched_text;
4469 yy_current_state = yy_get_previous_state( );
4480 yy_next_state = yy_try_NUL_trans( yy_current_state );
4484 if ( yy_next_state )
4487 yy_cp = ++(yy_c_buf_p);
4488 yy_current_state = yy_next_state;
4495 yy_cp = (yy_last_accepting_cpos);
4496 yy_current_state = (yy_last_accepting_state);
4497 goto yy_find_action;
4501 else switch ( yy_get_next_buffer( ) )
4505 (yy_did_buffer_switch_on_eof) = 0;
4526 if ( ! (yy_did_buffer_switch_on_eof) )
4536 yy_current_state = yy_get_previous_state( );
4538 yy_cp = (yy_c_buf_p);
4546 yy_current_state = yy_get_previous_state( );
4548 yy_cp = (yy_c_buf_p);
4550 goto yy_find_action;
4557 "fatal flex scanner internal error--no action found" );
4578static int yy_get_next_buffer (
void)
4585 int number_to_move, i;
4590 "fatal flex scanner internal error--end of buffer missed" );
4614 number_to_move = (int) ((yy_c_buf_p) - (
yytext_ptr) - 1);
4616 for ( i = 0; i < number_to_move; ++i )
4617 *(dest++) = *(source++);
4630 while ( num_to_read <= 0 )
4636 int yy_c_buf_p_offset =
4643 if ( new_size <= 0 )
4659 "fatal error - scanner input buffer overflow" );
4661 (yy_c_buf_p) = &b->
yy_ch_buf[yy_c_buf_p_offset];
4673 (yy_n_chars), num_to_read );
4678 if ( (yy_n_chars) == 0 )
4699 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
4703 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
4708 (yy_n_chars) += number_to_move;
4730 yy_current_state = (yy_start);
4736 if ( yy_accept[yy_current_state] )
4738 (yy_last_accepting_state) = yy_current_state;
4739 (yy_last_accepting_cpos) =
yy_cp;
4741 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4743 yy_current_state = (int) yy_def[yy_current_state];
4744 if ( yy_current_state >= 1453 )
4745 yy_c = yy_meta[yy_c];
4747 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4750 return yy_current_state;
4766 char *
yy_cp = (yy_c_buf_p);
4769 if ( yy_accept[yy_current_state] )
4771 (yy_last_accepting_state) = yy_current_state;
4772 (yy_last_accepting_cpos) =
yy_cp;
4774 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4776 yy_current_state = (int) yy_def[yy_current_state];
4777 if ( yy_current_state >= 1453 )
4778 yy_c = yy_meta[yy_c];
4780 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4781 yy_is_jam = (yy_current_state == 1452);
4783 return yy_is_jam ? 0 : yy_current_state;
4795 static int yyinput (
void)
4797 static int input (
void)
4806 *(yy_c_buf_p) = (yy_hold_char);
4816 *(yy_c_buf_p) =
'\0';
4820 int offset = (int) ((yy_c_buf_p) - (
yytext_ptr));
4823 switch ( yy_get_next_buffer( ) )
4846 if ( ! (yy_did_buffer_switch_on_eof) )
4862 c = *(
unsigned char *) (yy_c_buf_p);
4863 *(yy_c_buf_p) =
'\0';
4864 (yy_hold_char) = *++(yy_c_buf_p);
4922 *(yy_c_buf_p) = (yy_hold_char);
4935 (yy_did_buffer_switch_on_eof) = 1;
4951 (yy_hold_char) = *(yy_c_buf_p);
5099 if (new_buffer == NULL)
5108 *(yy_c_buf_p) = (yy_hold_char);
5115 (yy_buffer_stack_top)++;
5120 (yy_did_buffer_switch_on_eof) = 1;
5140 if ((yy_buffer_stack_top) > 0)
5141 --(yy_buffer_stack_top);
5145 (yy_did_buffer_switch_on_eof) = 1;
5162 if (!(yy_buffer_stack)) {
5172 if ( ! (yy_buffer_stack) )
5173 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
5175 memset((yy_buffer_stack), 0, num_to_alloc *
sizeof(
struct yy_buffer_state*));
5177 (yy_buffer_stack_max) = num_to_alloc;
5178 (yy_buffer_stack_top) = 0;
5182 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
5187 num_to_alloc = (yy_buffer_stack_max) + grow_size;
5192 if ( ! (yy_buffer_stack) )
5193 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
5196 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size *
sizeof(
struct yy_buffer_state*));
5197 (yy_buffer_stack_max) = num_to_alloc;
5276 for ( i = 0; i < _yybytes_len; ++i )
5277 buf[i] = yybytes[i];
5294#ifndef YY_EXIT_FAILURE
5295#define YY_EXIT_FAILURE 2
5299static void yynoreturn yy_fatal_error (
const char* msg )
5301 fprintf( stderr,
"%s\n", msg );
5315 int yyless_macro_arg = (n); \
5316 YY_LESS_LINENO(yyless_macro_arg);\
5317 yytext[yyleng] = (yy_hold_char); \
5318 (yy_c_buf_p) = yytext + yyless_macro_arg; \
5319 (yy_hold_char) = *(yy_c_buf_p); \
5320 *(yy_c_buf_p) = '\0'; \
5321 yyleng = yyless_macro_arg; \
5420static int yy_init_globals (
void)
5426 (yy_buffer_stack) = NULL;
5427 (yy_buffer_stack_top) = 0;
5428 (yy_buffer_stack_max) = 0;
5429 (yy_c_buf_p) = NULL;
5462 yyfree((yy_buffer_stack) );
5463 (yy_buffer_stack) = NULL;
5480static void yy_flex_strncpy (
char* s1,
const char * s2,
int n )
5484 for ( i = 0; i < n; ++i )
5489#ifdef YY_NEED_STRLEN
5490static int yy_flex_strlen (
const char * s )
5493 for ( n = 0; s[n]; ++n )
5502 return malloc(size);
5515 return realloc(ptr, size);
5520 free( (
char *) ptr );
5525#define YYTABLES_NAME "yytables"
5530#line 1842 "dhcp6_lexer.ll"
5538 start_token_flag =
true;
5539 start_token_value = parser_type;
5546 buffer = parser6__scan_bytes(str.c_str(), str.size());
5548 fatal(
"cannot scan string");
5555 const std::string& filename,
5558 start_token_flag =
true;
5559 start_token_value = parser_type;
5568 buffer = parser6__create_buffer(f, 65536 );
5570 fatal(
"cannot scan file " + filename);
5572 parser6__switch_to_buffer(buffer);
5580 static_cast<void>(parser6_lex_destroy());
5591 parser6__delete_buffer(
states_.back());
5599 fatal(
"Too many nested include.");
5602 FILE* f = fopen(filename.c_str(),
"r");
5604 fatal(
"Can't open include file " + filename);
5612 buffer = parser6__create_buffer(f, 65536 );
5614 fatal(
"Can't scan include file " + filename);
5616 parser6__switch_to_buffer(buffer);
5629 void dummy() { yy_fatal_error(
"Fix me: how to disable its definition?"); }
unsigned char flex_uint8_t
#define YY_CURRENT_BUFFER
Evaluation error exception raised when trying to parse.
static symbol_type make_LEASE_CHECKS(YY_COPY(location_type) l)
static symbol_type make_CONTACT_POINTS(YY_COPY(location_type) l)
static symbol_type make_OVERRIDE_NO_UPDATE(YY_COPY(location_type) l)
static symbol_type make_SUB_DHCP_DDNS(YY_COPY(location_type) l)
static symbol_type make_OPTION_DATA(YY_COPY(location_type) l)
static symbol_type make_OUT_OF_POOL(YY_COPY(location_type) l)
static symbol_type make_NAME(YY_COPY(location_type) l)
static symbol_type make_UNWARNED_RECLAIM_CYCLES(YY_COPY(location_type) l)
static symbol_type make_ALWAYS(YY_COPY(location_type) l)
static symbol_type make_DUID(YY_COPY(location_type) l)
static symbol_type make_RECONNECT_WAIT_TIME(YY_COPY(location_type) l)
static symbol_type make_REQUEST_TIMEOUT(YY_COPY(location_type) l)
static symbol_type make_MEMFILE(YY_COPY(location_type) l)
static symbol_type make_IDENTIFIER(YY_COPY(location_type) l)
static symbol_type make_SERVER_ID(YY_COPY(location_type) l)
static symbol_type make_NULL_TYPE(YY_COPY(location_type) l)
static symbol_type make_INTEGER(YY_COPY(int64_t) v, YY_COPY(location_type) l)
static symbol_type make_RELAY(YY_COPY(location_type) l)
static symbol_type make_SUB_SUBNET6(YY_COPY(location_type) l)
static symbol_type make_CONTROL_AGENT(YY_COPY(location_type) l)
static symbol_type make_ID(YY_COPY(location_type) l)
static symbol_type make_TCP_KEEPALIVE(YY_COPY(location_type) l)
static symbol_type make_SUBNET(YY_COPY(location_type) l)
static symbol_type make_MAX_RECLAIM_TIME(YY_COPY(location_type) l)
static symbol_type make_FLUSH(YY_COPY(location_type) l)
static symbol_type make_SEVERITY(YY_COPY(location_type) l)
static symbol_type make_SENDER_PORT(YY_COPY(location_type) l)
static symbol_type make_SUB_OPTION_DATA(YY_COPY(location_type) l)
static symbol_type make_DECLINE_PROBATION_PERIOD(YY_COPY(location_type) l)
static symbol_type make_EXCLUDED_PREFIX_LEN(YY_COPY(location_type) l)
static symbol_type make_GENERATED_PREFIX(YY_COPY(location_type) l)
static symbol_type make_LL(YY_COPY(location_type) l)
static symbol_type make_SUB_RESERVATION(YY_COPY(location_type) l)
static symbol_type make_HOOKS_LIBRARIES(YY_COPY(location_type) l)
static symbol_type make_DHCPDDNS(YY_COPY(location_type) l)
static symbol_type make_USER_CONTEXT(YY_COPY(location_type) l)
static symbol_type make_TIME(YY_COPY(location_type) l)
static symbol_type make_ENCAPSULATE(YY_COPY(location_type) l)
static symbol_type make_RELAY_SUPPLIED_OPTIONS(YY_COPY(location_type) l)
static symbol_type make_PREFERRED_LIFETIME(YY_COPY(location_type) l)
static symbol_type make_HOSTS_DATABASE(YY_COPY(location_type) l)
static symbol_type make_DHCP4O6_PORT(YY_COPY(location_type) l)
static symbol_type make_OUTPUT(YY_COPY(location_type) l)
static symbol_type make_SENDER_IP(YY_COPY(location_type) l)
static symbol_type make_REPLACE_CLIENT_NAME(YY_COPY(location_type) l)
static symbol_type make_CODE(YY_COPY(location_type) l)
static symbol_type make_HOLD_RECLAIMED_TIME(YY_COPY(location_type) l)
static symbol_type make_ONLY_IF_REQUIRED(YY_COPY(location_type) l)
static symbol_type make_LCURLY_BRACKET(YY_COPY(location_type) l)
static symbol_type make_TOPLEVEL_JSON(YY_COPY(location_type) l)
static symbol_type make_LEASE_DATABASE(YY_COPY(location_type) l)
static symbol_type make_PREFIXES(YY_COPY(location_type) l)
static symbol_type make_FLEX_ID(YY_COPY(location_type) l)
static symbol_type make_SUB_OPTION_DEF(YY_COPY(location_type) l)
static symbol_type make_EN(YY_COPY(location_type) l)
static symbol_type make_PERSIST(YY_COPY(location_type) l)
static symbol_type make_DEBUGLEVEL(YY_COPY(location_type) l)
static symbol_type make_FLOAT(YY_COPY(double) v, YY_COPY(location_type) l)
static symbol_type make_LSQUARE_BRACKET(YY_COPY(location_type) l)
static symbol_type make_USER(YY_COPY(location_type) l)
static symbol_type make_SUB_INTERFACES6(YY_COPY(location_type) l)
static symbol_type make_SUB_HOOKS_LIBRARY(YY_COPY(location_type) l)
static symbol_type make_SUB_OPTION_DEFS(YY_COPY(location_type) l)
static symbol_type make_POOLS(YY_COPY(location_type) l)
static symbol_type make_RECLAIM_TIMER_WAIT_TIME(YY_COPY(location_type) l)
static symbol_type make_SERVER_IP(YY_COPY(location_type) l)
static symbol_type make_SPACE(YY_COPY(location_type) l)
static symbol_type make_PORT(YY_COPY(location_type) l)
static symbol_type make_RCURLY_BRACKET(YY_COPY(location_type) l)
static symbol_type make_IP_ADDRESSES(YY_COPY(location_type) l)
static symbol_type make_COMMENT(YY_COPY(location_type) l)
static symbol_type make_UDP(YY_COPY(location_type) l)
static symbol_type make_TCP_NODELAY(YY_COPY(location_type) l)
static symbol_type make_PASSWORD(YY_COPY(location_type) l)
static symbol_type make_END(YY_COPY(location_type) l)
static symbol_type make_CONNECT_TIMEOUT(YY_COPY(location_type) l)
static symbol_type make_SHARED_NETWORKS(YY_COPY(location_type) l)
static symbol_type make_RESERVATIONS(YY_COPY(location_type) l)
static symbol_type make_ALL(YY_COPY(location_type) l)
static symbol_type make_STRING(YY_COPY(std::string) v, YY_COPY(location_type) l)
static symbol_type make_REQUIRE_CLIENT_CLASSES(YY_COPY(location_type) l)
static symbol_type make_OVERRIDE_CLIENT_UPDATE(YY_COPY(location_type) l)
static symbol_type make_CQL(YY_COPY(location_type) l)
static symbol_type make_EXPIRED_LEASES_PROCESSING(YY_COPY(location_type) l)
static symbol_type make_WHEN_NOT_PRESENT(YY_COPY(location_type) l)
static symbol_type make_POSTGRESQL(YY_COPY(location_type) l)
static symbol_type make_HOSTNAME_CHAR_SET(YY_COPY(location_type) l)
static symbol_type make_RAPID_COMMIT(YY_COPY(location_type) l)
static symbol_type make_RENEW_TIMER(YY_COPY(location_type) l)
static symbol_type make_HOST(YY_COPY(location_type) l)
static symbol_type make_SOCKET_TYPE(YY_COPY(location_type) l)
static symbol_type make_DISABLED(YY_COPY(location_type) l)
static symbol_type make_SANITY_CHECKS(YY_COPY(location_type) l)
static symbol_type make_PREFIX_LEN(YY_COPY(location_type) l)
static symbol_type make_LOGGING(YY_COPY(location_type) l)
static symbol_type make_LIBRARY(YY_COPY(location_type) l)
static symbol_type make_CONFIG_CONTROL(YY_COPY(location_type) l)
static symbol_type make_ARRAY(YY_COPY(location_type) l)
static symbol_type make_PARAMETERS(YY_COPY(location_type) l)
static symbol_type make_CONTROL_SOCKET(YY_COPY(location_type) l)
static symbol_type make_OPTION_DEF(YY_COPY(location_type) l)
static symbol_type make_HOST_RESERVATION_IDENTIFIERS(YY_COPY(location_type) l)
static symbol_type make_MAX_RECLAIM_LEASES(YY_COPY(location_type) l)
static symbol_type make_DATA(YY_COPY(location_type) l)
static symbol_type make_SUB_LOGGING(YY_COPY(location_type) l)
static symbol_type make_POOL(YY_COPY(location_type) l)
static symbol_type make_SERVER_TAG(YY_COPY(location_type) l)
static symbol_type make_DHCP6(YY_COPY(location_type) l)
static symbol_type make_NCR_FORMAT(YY_COPY(location_type) l)
static symbol_type make_JSON(YY_COPY(location_type) l)
static symbol_type make_INTERFACE(YY_COPY(location_type) l)
static symbol_type make_NCR_PROTOCOL(YY_COPY(location_type) l)
static symbol_type make_LLT(YY_COPY(location_type) l)
static symbol_type make_SERVER_PORT(YY_COPY(location_type) l)
static symbol_type make_MAXSIZE(YY_COPY(location_type) l)
static symbol_type make_MYSQL(YY_COPY(location_type) l)
static symbol_type make_MAX_RECONNECT_TRIES(YY_COPY(location_type) l)
static symbol_type make_ENABLE_UPDATES(YY_COPY(location_type) l)
static symbol_type make_INTERFACE_ID(YY_COPY(location_type) l)
static symbol_type make_QUALIFYING_SUFFIX(YY_COPY(location_type) l)
static symbol_type make_GLOBAL(YY_COPY(location_type) l)
static symbol_type make_LOGGERS(YY_COPY(location_type) l)
static symbol_type make_SOCKET_NAME(YY_COPY(location_type) l)
static symbol_type make_TOPLEVEL_DHCP6(YY_COPY(location_type) l)
static symbol_type make_KEYSPACE(YY_COPY(location_type) l)
static symbol_type make_REBIND_TIMER(YY_COPY(location_type) l)
static symbol_type make_CLIENT_CLASS(YY_COPY(location_type) l)
static symbol_type make_BOOLEAN(YY_COPY(bool) v, YY_COPY(location_type) l)
static symbol_type make_COMMA(YY_COPY(location_type) l)
static symbol_type make_HOSTS_DATABASES(YY_COPY(location_type) l)
static symbol_type make_INTERFACES(YY_COPY(location_type) l)
static symbol_type make_DELEGATED_LEN(YY_COPY(location_type) l)
static symbol_type make_RECORD_TYPES(YY_COPY(location_type) l)
static symbol_type make_SUBNET6(YY_COPY(location_type) l)
static symbol_type make_FLUSH_RECLAIMED_TIMER_WAIT_TIME(YY_COPY(location_type) l)
static symbol_type make_SUB_POOL6(YY_COPY(location_type) l)
static symbol_type make_PD_POOLS(YY_COPY(location_type) l)
static symbol_type make_COLON(YY_COPY(location_type) l)
static symbol_type make_LFC_INTERVAL(YY_COPY(location_type) l)
static symbol_type make_HW_ADDRESS(YY_COPY(location_type) l)
static symbol_type make_DHCP4(YY_COPY(location_type) l)
static symbol_type make_TYPE(YY_COPY(location_type) l)
static symbol_type make_CONFIG_DATABASES(YY_COPY(location_type) l)
static symbol_type make_WHEN_PRESENT(YY_COPY(location_type) l)
static symbol_type make_RSQUARE_BRACKET(YY_COPY(location_type) l)
static symbol_type make_ALWAYS_SEND(YY_COPY(location_type) l)
static symbol_type make_SUB_CONFIG_CONTROL(YY_COPY(location_type) l)
static symbol_type make_INTERFACES_CONFIG(YY_COPY(location_type) l)
static symbol_type make_IP_ADDRESS(YY_COPY(location_type) l)
static symbol_type make_HTYPE(YY_COPY(location_type) l)
static symbol_type make_DHCP_QUEUE_CONTROL(YY_COPY(location_type) l)
static symbol_type make_MAXVER(YY_COPY(location_type) l)
static symbol_type make_TEST(YY_COPY(location_type) l)
static symbol_type make_NEVER(YY_COPY(location_type) l)
static symbol_type make_MAC_SOURCES(YY_COPY(location_type) l)
static symbol_type make_CLIENT_CLASSES(YY_COPY(location_type) l)
static symbol_type make_HOSTNAME(YY_COPY(location_type) l)
static symbol_type make_RE_DETECT(YY_COPY(location_type) l)
static symbol_type make_VALID_LIFETIME(YY_COPY(location_type) l)
static symbol_type make_EXCLUDED_PREFIX(YY_COPY(location_type) l)
static symbol_type make_SUB_PD_POOL(YY_COPY(location_type) l)
static symbol_type make_PREFIX(YY_COPY(location_type) l)
static symbol_type make_TCP(YY_COPY(location_type) l)
static symbol_type make_ENTERPRISE_ID(YY_COPY(location_type) l)
static symbol_type make_CSV_FORMAT(YY_COPY(location_type) l)
static symbol_type make_DHCP_DDNS(YY_COPY(location_type) l)
static symbol_type make_RESERVATION_MODE(YY_COPY(location_type) l)
static symbol_type make_MAX_QUEUE_SIZE(YY_COPY(location_type) l)
static symbol_type make_READONLY(YY_COPY(location_type) l)
static symbol_type make_SUB_DHCP6(YY_COPY(location_type) l)
static symbol_type make_OUTPUT_OPTIONS(YY_COPY(location_type) l)
static symbol_type make_HOSTNAME_CHAR_REPLACEMENT(YY_COPY(location_type) l)
std::string file_
File name.
std::vector< isc::dhcp::location > locs_
Location stack.
isc::dhcp::location loc_
Location of the current token.
static void fatal(const std::string &what)
Fatal error handler.
void includeFile(const std::string &filename)
Divert input to an include file.
FILE * sfile_
sFile (aka FILE)
void scanStringBegin(const std::string &str, ParserType type)
Method called before scanning starts on a string.
std::vector< std::string > files_
File name stack.
@ LOGGERS
Used while parsing Logging/loggers structures.
@ RESERVATION_MODE
Used while parsing Dhcp6/reservation-mode.
@ CLIENT_CLASSES
Used while parsing Dhcp6/client-classes structures.
@ OPTION_DEF
Used while parsing Dhcp6/option-def structures.
@ POOLS
Used while parsing Dhcp6/subnet6/pools structures.
@ EXPIRED_LEASES_PROCESSING
Used while parsing Dhcp6/expired-leases-processing.
@ OPTION_DATA
Used while parsing Dhcp6/option-data, Dhcp6/subnet6/option-data or anywhere option-data is present (c...
@ LOGGING
Used while parsing content of Logging.
@ CONTROL_SOCKET
Used while parsing Dhcp6/control-socket structures.
@ SANITY_CHECKS
Sanity checks.
@ SERVER_ID
Used while parsing Dhcp6/server-id structures.
@ HOSTS_DATABASE
Used while parsing Dhcp6/hosts-database[s] structures.
@ SUBNET6
Used while parsing Dhcp6/Subnet6 structures.
@ RESERVATIONS
Used while parsing Dhcp6/reservations structures.
@ CONFIG_DATABASE
Used while parsing config-control/config-databases.
@ DATABASE_TYPE
Used while parsing Dhcp6/*-database/type.
@ DHCP_DDNS
Used while parsing Dhcp6/dhcp-ddns.
@ INTERFACES_CONFIG
Used while parsing Dhcp6/interfaces structures.
@ DUID_TYPE
Used while parsing Dhcp6/server-id/type structures.
@ HOOKS_LIBRARIES
Used while parsing Dhcp6/hooks-libraries.
@ CONFIG
Used while parsing content of Dhcp6.
@ LEASE_DATABASE
Used while parsing Dhcp6/lease-database structures.
@ NCR_PROTOCOL
Used while parsing Dhcp6/dhcp-ddns/ncr-protocol.
@ RELAY
Used while parsing Dhcp6/subnet6/relay structures.
@ OUTPUT_OPTIONS
Used while parsing Logging/loggers/output_options structures.
@ HOST_RESERVATION_IDENTIFIERS
Used while parsing Dhcp6/host-reservation-identifiers.
@ NCR_FORMAT
Used while parsing Dhcp6/dhcp-ddns/ncr-format.
@ REPLACE_CLIENT_NAME
Used while parsing Dhcp6/dhcp-ddns/replace-client-name.
@ SHARED_NETWORK
Used while parsing shared-networks structures.
@ PD_POOLS
Used while parsing Dhcp6/subnet6/pd-pools structures.
@ MAC_SOURCES
Used while parsing Dhcp6/mac-sources structures.
@ CONFIG_CONTROL
Used while parsing Dhcp4/config-control.
void scanEnd()
Method called after the last tokens are scanned.
void scanFileBegin(FILE *f, const std::string &filename, ParserType type)
Method called before scanning starts on a file.
ParserType
Defines currently supported scopes.
@ PARSER_PD_POOL
This will parse the input as pd-pool content.
@ PARSER_DHCP6
This parser will parse the content as Dhcp6 config wrapped in a map (that's the regular config file)
@ PARSER_OPTION_DATA
This will parse the input as option data.
@ PARSER_HOOKS_LIBRARY
This will parse the input as hooks-library.
@ PARSER_POOL6
This will parse the input as pool6 content.
@ PARSER_LOGGING
This will parse the content of Logging.
@ PARSER_JSON
This parser will parse the content as generic JSON.
@ PARSER_OPTION_DEF
This will parse the input as option definition.
@ PARSER_INTERFACES
This will parse the input as interfaces content.
@ PARSER_DHCP_DDNS
This will parse the input as dhcp-ddns. (D2 client config)
@ PARSER_CONFIG_CONTROL
This will parse the input as config-control.
@ PARSER_HOST_RESERVATION
This will parse the input as host-reservation.
@ PARSER_OPTION_DEFS
This will parse the input option definitions (for tests).
@ PARSER_SUBNET6
This will parse the input as Subnet6 content.
@ SUBPARSER_DHCP6
This parser will parse the content of Dhcp6 (without outer { } and without "Dhcp6").
std::vector< FILE * > sfiles_
sFile (aka FILE) stack
std::vector< struct yy_buffer_state * > states_
Lexer state stack.
#define yy_load_buffer_state
unsigned char flex_uint8_t
unsigned int flex_uint32_t
#define yypush_buffer_state
#define yyget_in
Get the input stream.
struct yy_buffer_state * YY_BUFFER_STATE
#define YY_RESTORE_YY_MORE_OFFSET
#define yyget_leng
Get the length of the current token.
#define yyget_out
Get the output stream.
#define yyensure_buffer_stack
#define EOB_ACT_END_OF_FILE
#define YY_CURRENT_BUFFER_LVALUE
#define yyget_text
Get the current token.
#define yy_switch_to_buffer
#define YY_CURRENT_BUFFER
#define YY_INPUT(buf, result, max_size)
#define YY_STATE_EOF(state)
#define YY_END_OF_BUFFER_CHAR
#define YY_FATAL_ERROR(msg)
unsigned short int flex_uint16_t
#define yypop_buffer_state
Removes and deletes the top of the stack, if present.
#define YY_DO_BEFORE_ACTION
#define EOB_ACT_LAST_MATCH
#define YY_BUFFER_EOF_PENDING
#define EOB_ACT_CONTINUE_SCAN
#define yyget_lineno
Get the current line number.
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
int yy_bs_column
The column count.
int yy_bs_lineno
The line count.