1#line 1 "dhcp4_lexer.cc"
3#line 3 "dhcp4_lexer.cc"
5#define YY_INT_ALIGNED short int
12#define yy_create_buffer parser4__create_buffer
13#define yy_delete_buffer parser4__delete_buffer
14#define yy_scan_buffer parser4__scan_buffer
15#define yy_scan_string parser4__scan_string
16#define yy_scan_bytes parser4__scan_bytes
17#define yy_init_buffer parser4__init_buffer
18#define yy_flush_buffer parser4__flush_buffer
19#define yy_load_buffer_state parser4__load_buffer_state
20#define yy_switch_to_buffer parser4__switch_to_buffer
21#define yypush_buffer_state parser4_push_buffer_state
22#define yypop_buffer_state parser4_pop_buffer_state
23#define yyensure_buffer_stack parser4_ensure_buffer_stack
24#define yy_flex_debug parser4__flex_debug
25#define yyin parser4_in
26#define yyleng parser4_leng
27#define yylex parser4_lex
28#define yylineno parser4_lineno
29#define yyout parser4_out
30#define yyrestart parser4_restart
31#define yytext parser4_text
32#define yywrap parser4_wrap
33#define yyalloc parser4_alloc
34#define yyrealloc parser4_realloc
35#define yyfree parser4_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 parser4__create_buffer_ALREADY_DEFINED
56#define yy_create_buffer parser4__create_buffer
59#ifdef yy_delete_buffer
60#define parser4__delete_buffer_ALREADY_DEFINED
62#define yy_delete_buffer parser4__delete_buffer
66#define parser4__scan_buffer_ALREADY_DEFINED
68#define yy_scan_buffer parser4__scan_buffer
72#define parser4__scan_string_ALREADY_DEFINED
74#define yy_scan_string parser4__scan_string
78#define parser4__scan_bytes_ALREADY_DEFINED
80#define yy_scan_bytes parser4__scan_bytes
84#define parser4__init_buffer_ALREADY_DEFINED
86#define yy_init_buffer parser4__init_buffer
90#define parser4__flush_buffer_ALREADY_DEFINED
92#define yy_flush_buffer parser4__flush_buffer
95#ifdef yy_load_buffer_state
96#define parser4__load_buffer_state_ALREADY_DEFINED
98#define yy_load_buffer_state parser4__load_buffer_state
101#ifdef yy_switch_to_buffer
102#define parser4__switch_to_buffer_ALREADY_DEFINED
104#define yy_switch_to_buffer parser4__switch_to_buffer
107#ifdef yypush_buffer_state
108#define parser4_push_buffer_state_ALREADY_DEFINED
110#define yypush_buffer_state parser4_push_buffer_state
113#ifdef yypop_buffer_state
114#define parser4_pop_buffer_state_ALREADY_DEFINED
116#define yypop_buffer_state parser4_pop_buffer_state
119#ifdef yyensure_buffer_stack
120#define parser4_ensure_buffer_stack_ALREADY_DEFINED
122#define yyensure_buffer_stack parser4_ensure_buffer_stack
126#define parser4_lex_ALREADY_DEFINED
128#define yylex parser4_lex
132#define parser4_restart_ALREADY_DEFINED
134#define yyrestart parser4_restart
138#define parser4_lex_init_ALREADY_DEFINED
140#define yylex_init parser4_lex_init
143#ifdef yylex_init_extra
144#define parser4_lex_init_extra_ALREADY_DEFINED
146#define yylex_init_extra parser4_lex_init_extra
150#define parser4_lex_destroy_ALREADY_DEFINED
152#define yylex_destroy parser4_lex_destroy
156#define parser4_get_debug_ALREADY_DEFINED
158#define yyget_debug parser4_get_debug
162#define parser4_set_debug_ALREADY_DEFINED
164#define yyset_debug parser4_set_debug
168#define parser4_get_extra_ALREADY_DEFINED
170#define yyget_extra parser4_get_extra
174#define parser4_set_extra_ALREADY_DEFINED
176#define yyset_extra parser4_set_extra
180#define parser4_get_in_ALREADY_DEFINED
182#define yyget_in parser4_get_in
186#define parser4_set_in_ALREADY_DEFINED
188#define yyset_in parser4_set_in
192#define parser4_get_out_ALREADY_DEFINED
194#define yyget_out parser4_get_out
198#define parser4_set_out_ALREADY_DEFINED
200#define yyset_out parser4_set_out
204#define parser4_get_leng_ALREADY_DEFINED
206#define yyget_leng parser4_get_leng
210#define parser4_get_text_ALREADY_DEFINED
212#define yyget_text parser4_get_text
216#define parser4_get_lineno_ALREADY_DEFINED
218#define yyget_lineno parser4_get_lineno
222#define parser4_set_lineno_ALREADY_DEFINED
224#define yyset_lineno parser4_set_lineno
228#define parser4_wrap_ALREADY_DEFINED
230#define yywrap parser4_wrap
236#define parser4_alloc_ALREADY_DEFINED
238#define yyalloc parser4_alloc
242#define parser4_realloc_ALREADY_DEFINED
244#define yyrealloc parser4_realloc
248#define parser4_free_ALREADY_DEFINED
250#define yyfree parser4_free
256#define parser4_text_ALREADY_DEFINED
258#define yytext parser4_text
262#define parser4_leng_ALREADY_DEFINED
264#define yyleng parser4_leng
268#define parser4_in_ALREADY_DEFINED
270#define yyin parser4_in
274#define parser4_out_ALREADY_DEFINED
276#define yyout parser4_out
280#define parser4__flex_debug_ALREADY_DEFINED
282#define yy_flex_debug parser4__flex_debug
286#define parser4_lineno_ALREADY_DEFINED
288#define yylineno parser4_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 parser4_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 213
695#define YY_END_OF_BUFFER 214
705 206, 206, 0, 0, 0, 0, 0, 0, 0, 0,
706 214, 212, 10, 11, 212, 1, 206, 203, 206, 206,
707 212, 205, 204, 212, 212, 212, 212, 212, 199, 200,
708 212, 212, 212, 201, 202, 5, 5, 5, 212, 212,
709 212, 10, 11, 0, 0, 194, 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, 1, 206, 206,
713 0, 205, 206, 3, 2, 6, 0, 206, 0, 0,
714 0, 0, 0, 0, 4, 0, 0, 9, 0, 195,
716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 0, 197, 0, 0, 0, 0, 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, 0, 0, 0,
724 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
725 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,
727 0, 0, 196, 198, 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, 0, 0, 0, 0, 0, 89,
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 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
738 0, 0, 0, 0, 0, 211, 209, 0, 208, 207,
739 0, 0, 0, 0, 0, 0, 0, 174, 0, 173,
740 0, 0, 95, 0, 0, 0, 0, 0, 0, 0,
741 0, 0, 0, 0, 0, 0, 0, 0, 0, 35,
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 92, 0, 0, 0, 0, 0, 0, 0, 0, 0,
747 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
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, 18,
752 0, 0, 0, 0, 210, 207, 0, 0, 0, 0,
753 0, 0, 175, 0, 177, 0, 0, 0, 0, 0,
754 0, 0, 0, 0, 0, 0, 99, 0, 0, 0,
755 0, 0, 0, 0, 0, 81, 0, 0, 0, 0,
756 0, 0, 121, 0, 0, 0, 0, 0, 0, 0,
757 0, 0, 0, 38, 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, 80, 0, 0,
761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
762 0, 0, 0, 0, 84, 0, 39, 0, 0, 0,
763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
765 0, 0, 0, 0, 0, 0, 0, 0, 0, 118,
766 0, 31, 0, 0, 36, 0, 0, 0, 0, 0,
767 0, 12, 179, 178, 0, 0, 0, 131, 0, 0,
768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
772 0, 110, 0, 0, 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 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,
776 0, 0, 0, 0, 0, 0, 0, 83, 0, 0,
777 0, 0, 0, 0, 0, 0, 0, 132, 0, 0,
778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
779 0, 0, 127, 0, 0, 0, 0, 0, 0, 0,
780 0, 0, 0, 0, 0, 0, 7, 0, 0, 180,
782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
786 94, 0, 0, 0, 0, 0, 0, 0, 0, 0,
787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
788 0, 0, 0, 112, 0, 0, 0, 0, 0, 0,
789 0, 0, 0, 0, 0, 108, 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,
793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
794 87, 0, 0, 0, 0, 0, 0, 0, 0, 0,
795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
796 0, 0, 0, 0, 0, 86, 0, 0, 0, 0,
797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
799 0, 0, 0, 0, 0, 125, 0, 0, 0, 0,
800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
801 0, 0, 137, 106, 0, 0, 0, 0, 0, 0,
802 111, 32, 0, 0, 0, 0, 0, 47, 0, 0,
804 0, 0, 0, 0, 0, 0, 0, 0, 113, 40,
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, 0,
808 0, 75, 0, 0, 0, 0, 0, 0, 0, 0,
809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
810 0, 156, 0, 0, 0, 0, 0, 0, 0, 0,
811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
812 0, 0, 0, 0, 0, 0, 0, 91, 0, 0,
813 0, 0, 0, 0, 0, 0, 0, 0, 0, 126,
815 0, 0, 0, 0, 0, 0, 43, 0, 0, 0,
816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
818 0, 0, 37, 0, 0, 0, 0, 30, 0, 0,
819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
820 0, 0, 0, 0, 0, 0, 0, 114, 0, 0,
821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
823 0, 0, 0, 0, 0, 123, 0, 0, 0, 0,
824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
826 0, 0, 0, 0, 157, 0, 0, 0, 0, 0,
827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
828 0, 0, 88, 0, 0, 0, 0, 0, 0, 0,
829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
831 0, 0, 0, 0, 0, 23, 0, 0, 0, 0,
832 0, 0, 0, 0, 0, 0, 0, 162, 0, 0,
833 0, 0, 160, 0, 0, 0, 0, 0, 0, 0,
834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
835 0, 184, 0, 0, 0, 0, 0, 0, 0, 0,
837 124, 0, 0, 0, 0, 0, 0, 0, 0, 0,
838 128, 0, 0, 0, 0, 0, 0, 0, 109, 0,
839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
840 0, 0, 0, 0, 0, 0, 122, 22, 0, 133,
841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
842 0, 0, 0, 0, 166, 0, 0, 0, 0, 78,
843 0, 0, 0, 0, 0, 0, 136, 0, 34, 0,
844 155, 0, 0, 0, 0, 0, 0, 0, 0, 0,
845 0, 0, 0, 0, 0, 0, 0, 63, 0, 0,
846 0, 0, 0, 0, 102, 103, 0, 0, 0, 0,
848 0, 0, 0, 0, 0, 0, 82, 0, 0, 0,
849 0, 0, 0, 0, 0, 0, 0, 0, 44, 0,
850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
851 0, 0, 0, 0, 0, 0, 130, 0, 0, 0,
852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
854 0, 188, 0, 79, 93, 0, 0, 0, 0, 0,
855 0, 0, 0, 0, 0, 0, 60, 0, 0, 0,
856 0, 0, 0, 0, 163, 0, 0, 0, 161, 0,
857 152, 151, 0, 0, 0, 0, 53, 0, 0, 21,
859 0, 0, 0, 0, 176, 0, 0, 0, 0, 0,
860 117, 0, 0, 0, 0, 0, 0, 0, 0, 0,
861 0, 0, 0, 0, 0, 0, 0, 0, 0, 145,
862 0, 0, 154, 0, 0, 0, 0, 0, 0, 0,
863 0, 0, 0, 134, 0, 15, 0, 0, 41, 0,
864 0, 0, 0, 0, 0, 0, 0, 0, 165, 0,
865 0, 0, 0, 0, 0, 0, 0, 61, 0, 0,
866 129, 0, 0, 0, 0, 120, 0, 0, 0, 0,
867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
868 85, 0, 182, 0, 0, 187, 0, 105, 0, 0,
870 0, 192, 0, 0, 0, 0, 0, 0, 0, 0,
871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
876 14, 0, 0, 0, 0, 0, 0, 0, 0, 52,
877 0, 0, 0, 0, 0, 190, 0, 0, 115, 27,
878 0, 0, 0, 54, 150, 0, 0, 0, 0, 0,
879 0, 0, 0, 0, 0, 0, 185, 0, 158, 0,
881 0, 0, 0, 0, 0, 0, 0, 25, 0, 0,
882 0, 24, 0, 0, 164, 0, 0, 0, 56, 0,
883 0, 0, 0, 0, 107, 0, 0, 0, 0, 0,
884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
886 57, 0, 0, 104, 0, 0, 0, 42, 0, 0,
887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
888 0, 0, 0, 0, 135, 0, 0, 0, 26, 0,
889 0, 0, 186, 0, 0, 0, 0, 0, 146, 0,
890 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
892 0, 0, 0, 0, 0, 20, 0, 0, 0, 189,
893 77, 0, 48, 0, 0, 0, 183, 181, 0, 28,
894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
895 0, 16, 0, 0, 0, 170, 0, 0, 0, 0,
896 0, 0, 0, 0, 143, 0, 0, 0, 119, 0,
897 0, 0, 0, 0, 0, 0, 0, 0, 0, 90,
898 0, 0, 0, 0, 0, 49, 0, 0, 148, 0,
899 0, 0, 0, 0, 0, 0, 0, 67, 0, 0,
900 0, 0, 0, 0, 0, 0, 0, 0, 171, 13,
901 0, 0, 0, 0, 0, 0, 0, 0, 0, 149,
903 0, 159, 0, 0, 0, 0, 0, 0, 0, 0,
904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
905 0, 0, 0, 0, 153, 0, 0, 0, 0, 0,
906 0, 0, 0, 142, 0, 59, 58, 19, 0, 167,
907 0, 0, 0, 0, 0, 0, 0, 0, 45, 0,
908 0, 0, 0, 101, 0, 0, 0, 0, 0, 0,
909 0, 0, 0, 0, 0, 0, 141, 0, 0, 0,
910 0, 55, 0, 64, 0, 46, 169, 0, 96, 0,
911 0, 0, 0, 76, 0, 0, 0, 0, 0, 0,
912 0, 73, 0, 0, 0, 0, 0, 0, 0, 0,
914 0, 0, 0, 0, 0, 0, 50, 0, 0, 0,
915 71, 0, 0, 0, 0, 0, 0, 0, 0, 0,
916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
917 0, 29, 0, 0, 72, 0, 0, 0, 147, 0,
918 0, 0, 0, 191, 193, 168, 0, 116, 97, 0,
919 0, 0, 0, 68, 0, 0, 0, 0, 0, 0,
920 0, 139, 0, 0, 144, 0, 70, 0, 62, 0,
921 0, 0, 0, 98, 0, 0, 0, 138, 0, 0,
922 172, 0, 0, 0, 0, 0, 0, 0, 0, 69,
923 0, 0, 0, 0, 0, 74, 0, 100, 66, 0,
928static const YY_CHAR yy_ec[256] =
930 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
931 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
932 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
933 1, 4, 5, 6, 7, 5, 5, 5, 5, 5,
934 5, 8, 9, 10, 11, 12, 13, 14, 15, 16,
935 14, 17, 14, 18, 14, 14, 14, 19, 5, 20,
936 5, 21, 22, 5, 23, 24, 25, 26, 27, 28,
937 5, 29, 5, 30, 5, 31, 5, 32, 33, 34,
938 5, 35, 36, 37, 38, 39, 40, 5, 41, 5,
939 42, 43, 44, 5, 45, 5, 46, 47, 48, 49,
941 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
942 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
943 70, 71, 72, 5, 73, 5, 5, 5, 5, 5,
944 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
945 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
946 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
947 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
948 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
949 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
950 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
952 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
953 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
954 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
955 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
956 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
960static const YY_CHAR yy_meta[74] =
962 1, 1, 2, 1, 1, 3, 1, 1, 1, 1,
963 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
964 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
965 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
966 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
967 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
968 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
974 0, 72, 21, 31, 43, 51, 54, 60, 91, 99,
975 2393, 2394, 34, 2389, 145, 0, 207, 2394, 214, 221,
976 13, 228, 2394, 2369, 118, 25, 2, 6, 2394, 2394,
977 73, 11, 17, 2394, 2394, 2394, 104, 2377, 2330, 0,
978 2367, 108, 2384, 24, 262, 2394, 2326, 67, 2332, 84,
979 75, 88, 224, 91, 89, 290, 220, 2324, 206, 285,
980 206, 204, 212, 60, 232, 2333, 247, 294, 315, 307,
981 286, 2316, 230, 325, 354, 328, 2335, 0, 366, 382,
982 397, 411, 404, 2394, 0, 2394, 419, 425, 216, 225,
983 229, 227, 319, 329, 2394, 2332, 2373, 2394, 300, 2394,
985 438, 2360, 390, 2329, 331, 10, 406, 311, 408, 414,
986 420, 2370, 0, 499, 409, 2312, 2309, 2313, 402, 2309,
987 2317, 406, 2313, 2302, 2303, 2308, 78, 2318, 2301, 2310,
988 2310, 95, 2301, 239, 2302, 2300, 396, 2348, 2352, 2292,
989 2345, 2285, 174, 2306, 2306, 2300, 336, 2293, 2291, 2292,
990 2284, 2289, 2283, 413, 2294, 346, 2279, 2278, 2292, 423,
991 2278, 430, 422, 2272, 472, 420, 432, 2293, 2290, 2291,
992 416, 2289, 2324, 2323, 423, 2269, 2269, 2270, 435, 2262,
993 2279, 2271, 0, 464, 475, 471, 466, 478, 510, 2270,
994 2394, 2315, 515, 2264, 475, 508, 514, 2318, 515, 2317,
996 511, 2316, 2394, 2394, 557, 2315, 530, 2274, 2266, 2253,
997 2264, 2268, 2269, 2266, 2263, 2262, 449, 493, 2305, 2299,
998 2263, 2244, 2241, 2249, 2244, 2258, 2254, 2242, 2254, 2254,
999 2245, 2229, 2233, 2246, 2248, 2245, 2237, 2227, 2245, 2394,
1000 2240, 505, 2225, 2224, 2233, 2275, 2222, 2232, 2235, 545,
1001 2231, 2270, 2215, 2217, 2228, 2266, 2211, 2269, 2223, 2203,
1002 2218, 552, 2208, 2214, 513, 2205, 2203, 2203, 2209, 2200,
1003 2199, 2206, 2196, 2255, 2211, 2210, 2204, 529, 2211, 2206,
1004 2198, 2188, 2203, 2202, 2197, 2201, 512, 2199, 2185, 2191,
1005 2198, 2180, 527, 2185, 2182, 2181, 341, 2176, 2190, 2189,
1007 2232, 2191, 551, 2182, 527, 2394, 2394, 528, 2394, 2394,
1008 2169, 533, 550, 2217, 565, 2227, 558, 2394, 2226, 2394,
1009 2220, 608, 2394, 557, 2160, 2169, 2217, 2177, 2160, 2177,
1010 2158, 2164, 2216, 2171, 2174, 2165, 2168, 2163, 548, 2394,
1011 2165, 2209, 2203, 2161, 2158, 584, 2164, 2204, 2198, 2151,
1012 2146, 2143, 2194, 2151, 2140, 2156, 2190, 2136, 631, 2150,
1013 2135, 2148, 2146, 2134, 2144, 2143, 2138, 2145, 2140, 2136,
1014 576, 2134, 2137, 2132, 2118, 2130, 2126, 2176, 549, 2170,
1015 2394, 2134, 2168, 2118, 2117, 2116, 2109, 2111, 2123, 2114,
1016 2121, 2102, 2119, 2114, 596, 2161, 2114, 2111, 2114, 2394,
1018 2113, 2102, 2102, 2114, 449, 2089, 2090, 2111, 590, 2093,
1019 2144, 2089, 2103, 2106, 2101, 2087, 2099, 2098, 2097, 2092,
1020 2134, 2094, 2093, 2092, 2091, 560, 2134, 2093, 2132, 2394,
1021 2074, 2073, 635, 2086, 2394, 2394, 2085, 2074, 2066, 581,
1022 2125, 2124, 2394, 2123, 2394, 615, 682, 614, 2122, 2064,
1023 2075, 2114, 2067, 2069, 2068, 2056, 2394, 2061, 2054, 2066,
1024 2069, 2052, 2067, 2054, 2053, 2394, 601, 2055, 2052, 613,
1025 2050, 2052, 2394, 2060, 2057, 2042, 2055, 2050, 660, 2057,
1026 2045, 2038, 2089, 2394, 2036, 2052, 2086, 2047, 2044, 2045,
1027 2029, 2046, 2080, 2031, 2030, 2025, 2024, 2075, 2019, 568,
1029 2038, 2012, 2019, 2024, 2034, 2068, 2072, 2394, 2017, 2013,
1030 2011, 2020, 2019, 2013, 2020, 2004, 2004, 2014, 2002, 2016,
1031 2016, 2004, 2000, 1998, 2394, 2055, 2394, 1997, 2008, 2047,
1032 1992, 1997, 2006, 2000, 1994, 2003, 2045, 2039, 2001, 1984,
1033 1984, 1979, 1999, 1974, 1980, 1985, 585, 1987, 1991, 1974,
1034 2032, 1973, 1973, 2024, 1969, 1970, 1969, 1981, 1970, 2394,
1035 1980, 2394, 1969, 1967, 2394, 1978, 2014, 1974, 1958, 1975,
1036 2015, 2394, 2394, 2394, 619, 638, 674, 2394, 1966, 1965,
1037 623, 1972, 1952, 1951, 2004, 1949, 1959, 2001, 1946, 1945,
1038 1944, 1951, 1944, 1956, 1938, 1938, 1953, 1952, 608, 1951,
1040 1950, 1950, 1932, 1937, 1978, 1945, 1937, 1982, 1926, 1942,
1041 1941, 2394, 1926, 1923, 1981, 1936, 1928, 1934, 1925, 1933,
1042 1918, 1934, 1916, 1928, 1929, 581, 1911, 1910, 1904, 1909,
1043 1924, 1921, 1922, 1901, 1911, 1917, 1960, 1915, 1907, 1898,
1044 2394, 1899, 1901, 1910, 1902, 1907, 1946, 1945, 1896, 16,
1045 1905, 1942, 1887, 1940, 1887, 1890, 1883, 2394, 1897, 1876,
1046 1880, 1894, 1886, 1931, 1883, 1890, 1928, 2394, 1873, 1887,
1047 1871, 1885, 1888, 1869, 1921, 1920, 1919, 1866, 1917, 1862,
1048 1915, 1914, 2394, 1859, 1873, 1872, 676, 1873, 1872, 1869,
1049 1869, 1906, 1866, 1849, 1854, 1856, 2394, 1862, 1852, 2394,
1051 646, 641, 1846, 1844, 1851, 1861, 1853, 1840, 1834, 1892,
1052 638, 1896, 1854, 664, 1889, 1849, 1887, 1886, 1838, 1832,
1053 203, 228, 243, 300, 361, 417, 425, 640, 611, 634,
1054 639, 678, 645, 648, 656, 646, 693, 710, 667, 669,
1055 2394, 672, 667, 659, 674, 679, 676, 679, 684, 672,
1056 686, 684, 692, 728, 690, 735, 736, 686, 678, 688,
1057 735, 693, 743, 2394, 744, 697, 699, 695, 689, 692,
1058 750, 746, 709, 698, 711, 2394, 701, 712, 701, 714,
1059 704, 717, 761, 762, 705, 716, 701, 724, 703, 709,
1060 764, 728, 712, 724, 768, 769, 770, 717, 772, 736,
1062 731, 738, 737, 735, 720, 732, 734, 740, 730, 728,
1063 2394, 792, 751, 752, 742, 754, 744, 757, 742, 749,
1064 755, 747, 761, 801, 777, 764, 769, 766, 748, 755,
1065 769, 814, 767, 765, 774, 2394, 770, 765, 780, 777,
1066 763, 770, 769, 767, 786, 783, 771, 778, 779, 788,
1067 792, 828, 790, 781, 779, 778, 789, 785, 841, 798,
1068 783, 784, 790, 806, 796, 2394, 806, 806, 799, 810,
1069 808, 853, 795, 797, 812, 799, 798, 860, 817, 803,
1070 809, 807, 2394, 2394, 817, 822, 827, 815, 825, 827,
1071 2394, 2394, 828, 815, 833, 820, 814, 2394, 819, 837,
1073 824, 874, 825, 877, 823, 827, 845, 886, 2394, 2394,
1074 831, 835, 834, 831, 891, 844, 834, 835, 831, 844,
1075 855, 839, 857, 852, 853, 855, 848, 850, 851, 847,
1076 853, 853, 855, 870, 911, 868, 873, 850, 873, 859,
1077 858, 2394, 865, 866, 880, 870, 868, 918, 876, 866,
1078 881, 882, 869, 901, 909, 878, 873, 928, 929, 891,
1079 931, 2394, 894, 898, 939, 889, 888, 883, 884, 896,
1080 903, 892, 893, 889, 892, 893, 903, 912, 949, 896,
1081 915, 907, 902, 960, 917, 918, 909, 2394, 911, 914,
1082 922, 924, 909, 925, 919, 966, 932, 916, 917, 2394,
1084 933, 936, 919, 978, 921, 940, 2394, 939, 942, 928,
1085 923, 941, 981, 939, 935, 932, 985, 986, 948, 934,
1086 952, 951, 952, 938, 953, 945, 952, 942, 960, 959,
1087 946, 963, 2394, 955, 961, 964, 1009, 2394, 958, 963,
1088 1007, 959, 971, 965, 969, 967, 965, 967, 977, 1022,
1089 966, 971, 968, 968, 1027, 971, 983, 2394, 971, 979,
1090 977, 1028, 970, 991, 978, 979, 988, 1000, 987, 985,
1091 990, 1000, 1001, 1006, 1047, 1019, 1024, 1006, 1003, 999,
1092 1013, 996, 996, 1056, 999, 2394, 1010, 1000, 1020, 1019,
1093 1010, 999, 1016, 1023, 1066, 1027, 1020, 1024, 1028, 1011,
1095 1028, 1019, 1074, 1021, 2394, 1073, 1020, 1023, 1022, 1023,
1096 1023, 1044, 1041, 1046, 1047, 1033, 1041, 1050, 1030, 1045,
1097 1052, 1094, 2394, 1095, 1096, 1038, 1048, 1058, 1042, 1062,
1098 1050, 1046, 1053, 1062, 1050, 1057, 1058, 1070, 1111, 1058,
1099 1056, 1058, 1075, 1116, 1066, 1065, 1071, 1069, 1067, 1062,
1100 1123, 1074, 1125, 1121, 1127, 2394, 1084, 1077, 1068, 1087,
1101 1075, 1085, 1082, 1087, 1083, 1096, 1096, 2394, 1080, 1083,
1102 1078, 1084, 2394, 1085, 1145, 1084, 1103, 1104, 1106, 1145,
1103 1098, 1152, 1153, 1106, 1091, 1105, 1113, 1112, 1096, 1101,
1104 1119, 2394, 1141, 1132, 1164, 1104, 1126, 1121, 1121, 1125,
1106 2394, 1112, 1112, 1115, 1132, 1127, 1131, 1176, 1124, 1128,
1107 2394, 1120, 1137, 1117, 1138, 1128, 1179, 1133, 2394, 1146,
1108 1146, 1184, 1131, 1187, 1145, 1150, 1136, 1196, 1139, 1150,
1109 1142, 1148, 1144, 1162, 1163, 1164, 2394, 2394, 1163, 2394,
1110 1148, 1159, 1150, 1169, 1162, 1160, 1153, 1165, 1209, 1173,
1111 1162, 1169, 1170, 1176, 2394, 1169, 1221, 1162, 1223, 2394,
1112 1224, 1166, 1172, 1179, 1223, 1185, 2394, 1186, 2394, 1173,
1113 2394, 1175, 1189, 1194, 1177, 1236, 1193, 1194, 1195, 1235,
1114 1187, 1192, 1243, 1196, 1240, 1193, 1247, 2394, 1194, 1249,
1115 1250, 1207, 1208, 1210, 2394, 2394, 1193, 1255, 1251, 1215,
1117 1258, 1200, 1212, 1217, 1232, 1263, 2394, 1220, 1213, 1222,
1118 1213, 1224, 1269, 1206, 1217, 1232, 1268, 1220, 2394, 1216,
1119 1232, 1233, 1234, 1231, 1275, 1238, 1228, 1238, 1244, 1231,
1120 1227, 1287, 1240, 1284, 1291, 1248, 2394, 1250, 1243, 1252,
1121 1253, 1250, 1240, 1243, 1243, 1248, 1303, 1250, 1305, 1248,
1122 1253, 1308, 1304, 1245, 1260, 1253, 1257, 1270, 1271, 1269,
1123 1318, 2394, 1272, 2394, 2394, 1277, 1269, 1279, 1264, 1320,
1124 1267, 1267, 1328, 1272, 1282, 1331, 2394, 1279, 1279, 1281,
1125 1283, 1336, 1277, 1280, 2394, 1281, 1298, 1303, 2394, 1287,
1126 2394, 2394, 1300, 1283, 1303, 1304, 2394, 1291, 1299, 2394,
1128 1351, 1300, 1353, 1333, 2394, 1355, 1312, 1357, 1308, 1355,
1129 2394, 1303, 1362, 1312, 1306, 1303, 1306, 1309, 1309, 1326,
1130 1365, 1318, 1330, 1333, 1321, 1324, 1317, 1325, 1315, 2394,
1131 1337, 1322, 2394, 1324, 1325, 1340, 1340, 1343, 1343, 1340,
1132 1384, 1346, 1338, 2394, 1339, 2394, 1349, 1341, 2394, 1347,
1133 1352, 1353, 1350, 1394, 1342, 1357, 1358, 1350, 2394, 1347,
1134 1348, 1348, 1354, 1353, 1351, 1405, 1366, 2394, 1407, 1354,
1135 2394, 1355, 1355, 1357, 1363, 2394, 1372, 1366, 1421, 1363,
1136 1369, 1361, 1373, 1377, 1388, 1381, 1387, 1431, 1384, 1393,
1137 2394, 1390, 2394, 1387, 1410, 2394, 1437, 2394, 1395, 1380,
1139 1440, 2394, 1441, 1398, 1403, 1385, 1445, 1446, 1442, 1406,
1140 1403, 1399, 1392, 1447, 1405, 1406, 1396, 1401, 1457, 1411,
1141 1460, 1456, 1419, 1416, 1460, 1408, 1413, 1411, 1470, 1426,
1142 1414, 1473, 1469, 1432, 1476, 1437, 1426, 1420, 1480, 1422,
1143 1423, 1437, 1440, 1440, 1486, 1428, 1445, 1441, 1439, 1446,
1144 1430, 1488, 1489, 1436, 1491, 1454, 1447, 1446, 1440, 1458,
1145 2394, 1458, 1450, 1456, 1461, 1448, 1447, 1449, 1504, 2394,
1146 1445, 1463, 1512, 1470, 1483, 2394, 1515, 1468, 2394, 2394,
1147 1459, 1470, 1519, 2394, 2394, 1465, 1470, 1468, 1518, 1476,
1148 1481, 1469, 1485, 1475, 1473, 1487, 2394, 1475, 2394, 1478,
1150 1529, 1472, 1477, 1537, 1485, 1495, 1496, 2394, 1541, 1495,
1151 1539, 2394, 1490, 1546, 2394, 1489, 1504, 1492, 2394, 1502,
1152 1503, 1552, 1510, 1514, 2394, 1550, 1516, 1492, 1510, 1511,
1153 1520, 1502, 1509, 1563, 1522, 1521, 1512, 1562, 1509, 1569,
1154 1517, 1512, 1513, 1573, 1574, 1524, 1576, 1529, 1534, 1527,
1155 2394, 1580, 1581, 2394, 1530, 1583, 1525, 2394, 1528, 1538,
1156 1582, 1530, 1545, 1532, 1547, 1533, 1540, 1540, 1595, 1552,
1157 1540, 1539, 1599, 1552, 2394, 1596, 1547, 1544, 2394, 1558,
1158 1545, 1566, 2394, 1563, 1608, 1561, 1558, 1559, 2394, 1612,
1159 1571, 1554, 1556, 1572, 1565, 1555, 1571, 1572, 1581, 2394,
1161 1571, 1623, 1583, 1567, 1621, 2394, 1585, 1580, 1629, 2394,
1162 2394, 1571, 2394, 1578, 1632, 1628, 2394, 2394, 1590, 2394,
1163 1630, 1592, 1593, 1578, 1579, 1587, 1641, 1589, 1638, 1639,
1164 1594, 2394, 1606, 1593, 1600, 2394, 1597, 1602, 1600, 1652,
1165 1653, 1601, 1598, 1598, 2394, 1613, 1614, 1615, 2394, 1616,
1166 1606, 1618, 1663, 1616, 1665, 1607, 1615, 1616, 1629, 2394,
1167 1630, 1611, 1618, 1609, 1621, 2394, 1670, 1631, 2394, 1635,
1168 1620, 1620, 1635, 1628, 1627, 1638, 1625, 2394, 1641, 1629,
1169 1632, 1688, 1646, 1648, 1639, 1648, 1650, 1654, 2394, 2394,
1170 1647, 1638, 1697, 1640, 1699, 1700, 1701, 1659, 1703, 2394,
1172 1645, 2394, 1700, 1662, 1663, 1650, 1658, 1669, 1666, 1712,
1173 1653, 1656, 1661, 1652, 1717, 1670, 1671, 1661, 1678, 1677,
1174 1718, 1662, 1681, 1682, 2394, 1679, 1684, 1685, 1730, 1687,
1175 1690, 1677, 1686, 2394, 1735, 2394, 2394, 2394, 1696, 2394,
1176 1737, 1679, 1739, 1740, 1683, 1742, 1690, 1739, 2394, 1701,
1177 1706, 1747, 1706, 2394, 1697, 1687, 1746, 1712, 1705, 1701,
1178 1755, 1698, 1700, 1705, 1701, 1703, 2394, 1708, 1718, 1703,
1179 1711, 2394, 1706, 2394, 1718, 2394, 2394, 1723, 2394, 1724,
1180 1714, 1770, 1719, 2394, 1721, 1729, 1774, 1715, 1717, 1714,
1181 1738, 2394, 1725, 1732, 1735, 1724, 1778, 1725, 1733, 1742,
1183 1741, 1744, 1737, 1732, 1732, 1738, 2394, 1738, 1750, 1795,
1184 2394, 1741, 1753, 1798, 1747, 1749, 1747, 1802, 1755, 1742,
1185 1757, 1762, 1807, 1808, 1809, 1766, 1811, 1812, 1759, 1763,
1186 1757, 2394, 1773, 1817, 2394, 1774, 1759, 1777, 2394, 1768,
1187 1782, 1778, 1771, 2394, 2394, 2394, 1825, 2394, 2394, 1775,
1188 1783, 1828, 1789, 2394, 1830, 1772, 1832, 1787, 1786, 1787,
1189 1777, 2394, 1837, 1833, 2394, 1780, 2394, 1792, 2394, 1841,
1190 1783, 1799, 1844, 2394, 1805, 1802, 1794, 2394, 1844, 1793,
1191 2394, 1805, 1798, 1853, 1801, 1796, 1798, 1813, 1798, 2394,
1192 1859, 1812, 1861, 1862, 1810, 2394, 1812, 2394, 2394, 1806,
1194 1822, 1867, 1868, 2394, 2394, 2394, 1874, 1877, 1880, 1881,
1195 1883, 1886, 1889, 1892
1200 2007, 2007, 2008, 2008, 2007, 2007, 2007, 2007, 2007, 2007,
1201 2006, 2006, 2006, 2006, 2006, 2009, 2006, 2006, 2006, 2006,
1202 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006,
1203 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2010,
1204 2006, 2006, 2006, 2011, 15, 2006, 45, 45, 45, 45,
1205 45, 45, 45, 45, 45, 2012, 45, 45, 45, 45,
1206 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1207 45, 45, 45, 45, 45, 45, 45, 2009, 2006, 2006,
1208 2006, 2006, 2006, 2006, 2013, 2006, 2006, 2006, 2006, 2006,
1209 2006, 2006, 2006, 2006, 2006, 2006, 2010, 2006, 2011, 2006,
1211 2006, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1212 45, 2014, 45, 2012, 45, 45, 45, 45, 45, 45,
1213 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1214 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1215 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1216 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1217 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1218 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1219 45, 45, 2013, 2006, 2006, 2006, 2006, 2006, 2006, 2006,
1220 2006, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1222 45, 2014, 2006, 2006, 114, 45, 45, 45, 45, 45,
1223 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1224 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1225 45, 45, 45, 45, 45, 45, 45, 45, 45, 2006,
1226 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1227 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1228 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1229 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1230 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1231 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1233 45, 45, 45, 45, 2006, 2006, 2006, 2006, 2006, 2006,
1234 2006, 45, 45, 45, 45, 45, 45, 2006, 45, 2006,
1235 45, 114, 2006, 45, 45, 45, 45, 45, 45, 45,
1236 45, 45, 45, 45, 45, 45, 45, 45, 45, 2006,
1237 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1238 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1239 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1240 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1241 2006, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1242 45, 45, 45, 45, 45, 45, 45, 45, 45, 2006,
1244 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1245 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1246 45, 45, 45, 45, 45, 45, 45, 45, 45, 2006,
1247 45, 45, 45, 45, 2006, 2006, 2006, 45, 45, 45,
1248 45, 45, 2006, 45, 2006, 45, 114, 45, 45, 45,
1249 45, 45, 45, 45, 45, 45, 2006, 45, 45, 45,
1250 45, 45, 45, 45, 45, 2006, 45, 45, 45, 45,
1251 45, 45, 2006, 45, 45, 45, 45, 45, 45, 45,
1252 45, 45, 45, 2006, 45, 45, 45, 45, 45, 45,
1253 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1255 45, 45, 45, 45, 45, 45, 45, 2006, 45, 45,
1256 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1257 45, 45, 45, 45, 2006, 45, 2006, 45, 45, 45,
1258 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1259 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1260 45, 45, 45, 45, 45, 45, 45, 45, 45, 2006,
1261 45, 2006, 45, 45, 2006, 45, 45, 2006, 45, 45,
1262 45, 2006, 2006, 2006, 45, 45, 45, 2006, 45, 45,
1263 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1264 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1266 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1267 45, 2006, 45, 45, 45, 45, 45, 45, 45, 45,
1268 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1269 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1270 2006, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1271 45, 45, 45, 45, 45, 45, 45, 2006, 45, 45,
1272 45, 45, 45, 45, 45, 45, 45, 2006, 45, 45,
1273 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1274 45, 45, 2006, 45, 45, 45, 45, 45, 45, 45,
1275 45, 45, 45, 45, 45, 45, 2006, 45, 45, 2006,
1277 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1278 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1279 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1280 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1281 2006, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1282 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1283 45, 45, 45, 2006, 45, 45, 45, 45, 45, 45,
1284 45, 45, 45, 45, 45, 2006, 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,
1288 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1289 2006, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1290 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1291 45, 45, 45, 45, 45, 2006, 45, 45, 45, 45,
1292 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1293 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1294 45, 45, 45, 45, 45, 2006, 45, 45, 45, 45,
1295 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1296 45, 45, 2006, 2006, 45, 45, 45, 45, 45, 45,
1297 2006, 2006, 45, 45, 45, 45, 45, 2006, 45, 45,
1299 45, 45, 45, 45, 45, 45, 45, 45, 2006, 2006,
1300 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1301 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1302 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1303 45, 2006, 45, 45, 45, 45, 45, 45, 45, 45,
1304 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1305 45, 2006, 45, 45, 45, 45, 45, 45, 45, 45,
1306 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1307 45, 45, 45, 45, 45, 45, 45, 2006, 45, 45,
1308 45, 45, 45, 45, 45, 45, 45, 45, 45, 2006,
1310 45, 45, 45, 45, 45, 45, 2006, 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 45, 45, 2006, 45, 45, 45, 45, 2006, 45, 45,
1314 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1315 45, 45, 45, 45, 45, 45, 45, 2006, 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, 2006, 45, 45, 45, 45,
1319 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1321 45, 45, 45, 45, 2006, 45, 45, 45, 45, 45,
1322 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1323 45, 45, 2006, 45, 45, 45, 45, 45, 45, 45,
1324 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1325 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1326 45, 45, 45, 45, 45, 2006, 45, 45, 45, 45,
1327 45, 45, 45, 45, 45, 45, 45, 2006, 45, 45,
1328 45, 45, 2006, 45, 45, 45, 45, 45, 45, 45,
1329 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1330 45, 2006, 45, 45, 45, 45, 45, 45, 45, 45,
1332 2006, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1333 2006, 45, 45, 45, 45, 45, 45, 45, 2006, 45,
1334 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1335 45, 45, 45, 45, 45, 45, 2006, 2006, 45, 2006,
1336 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1337 45, 45, 45, 45, 2006, 45, 45, 45, 45, 2006,
1338 45, 45, 45, 45, 45, 45, 2006, 45, 2006, 45,
1339 2006, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1340 45, 45, 45, 45, 45, 45, 45, 2006, 45, 45,
1341 45, 45, 45, 45, 2006, 2006, 45, 45, 45, 45,
1343 45, 45, 45, 45, 45, 45, 2006, 45, 45, 45,
1344 45, 45, 45, 45, 45, 45, 45, 45, 2006, 45,
1345 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1346 45, 45, 45, 45, 45, 45, 2006, 45, 45, 45,
1347 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1348 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1349 45, 2006, 45, 2006, 2006, 45, 45, 45, 45, 45,
1350 45, 45, 45, 45, 45, 45, 2006, 45, 45, 45,
1351 45, 45, 45, 45, 2006, 45, 45, 45, 2006, 45,
1352 2006, 2006, 45, 45, 45, 45, 2006, 45, 45, 2006,
1354 45, 45, 45, 45, 2006, 45, 45, 45, 45, 45,
1355 2006, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1356 45, 45, 45, 45, 45, 45, 45, 45, 45, 2006,
1357 45, 45, 2006, 45, 45, 45, 45, 45, 45, 45,
1358 45, 45, 45, 2006, 45, 2006, 45, 45, 2006, 45,
1359 45, 45, 45, 45, 45, 45, 45, 45, 2006, 45,
1360 45, 45, 45, 45, 45, 45, 45, 2006, 45, 45,
1361 2006, 45, 45, 45, 45, 2006, 45, 45, 45, 45,
1362 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1363 2006, 45, 2006, 45, 45, 2006, 45, 2006, 45, 45,
1365 45, 2006, 45, 45, 45, 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 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1369 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1370 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1371 2006, 45, 45, 45, 45, 45, 45, 45, 45, 2006,
1372 45, 45, 45, 45, 45, 2006, 45, 45, 2006, 2006,
1373 45, 45, 45, 2006, 2006, 45, 45, 45, 45, 45,
1374 45, 45, 45, 45, 45, 45, 2006, 45, 2006, 45,
1376 45, 45, 45, 45, 45, 45, 45, 2006, 45, 45,
1377 45, 2006, 45, 45, 2006, 45, 45, 45, 2006, 45,
1378 45, 45, 45, 45, 2006, 45, 45, 45, 45, 45,
1379 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1380 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1381 2006, 45, 45, 2006, 45, 45, 45, 2006, 45, 45,
1382 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1383 45, 45, 45, 45, 2006, 45, 45, 45, 2006, 45,
1384 45, 45, 2006, 45, 45, 45, 45, 45, 2006, 45,
1385 45, 45, 45, 45, 45, 45, 45, 45, 45, 2006,
1387 45, 45, 45, 45, 45, 2006, 45, 45, 45, 2006,
1388 2006, 45, 2006, 45, 45, 45, 2006, 2006, 45, 2006,
1389 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1390 45, 2006, 45, 45, 45, 2006, 45, 45, 45, 45,
1391 45, 45, 45, 45, 2006, 45, 45, 45, 2006, 45,
1392 45, 45, 45, 45, 45, 45, 45, 45, 45, 2006,
1393 45, 45, 45, 45, 45, 2006, 45, 45, 2006, 45,
1394 45, 45, 45, 45, 45, 45, 45, 2006, 45, 45,
1395 45, 45, 45, 45, 45, 45, 45, 45, 2006, 2006,
1396 45, 45, 45, 45, 45, 45, 45, 45, 45, 2006,
1398 45, 2006, 45, 45, 45, 45, 45, 45, 45, 45,
1399 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1400 45, 45, 45, 45, 2006, 45, 45, 45, 45, 45,
1401 45, 45, 45, 2006, 45, 2006, 2006, 2006, 45, 2006,
1402 45, 45, 45, 45, 45, 45, 45, 45, 2006, 45,
1403 45, 45, 45, 2006, 45, 45, 45, 45, 45, 45,
1404 45, 45, 45, 45, 45, 45, 2006, 45, 45, 45,
1405 45, 2006, 45, 2006, 45, 2006, 2006, 45, 2006, 45,
1406 45, 45, 45, 2006, 45, 45, 45, 45, 45, 45,
1407 45, 2006, 45, 45, 45, 45, 45, 45, 45, 45,
1409 45, 45, 45, 45, 45, 45, 2006, 45, 45, 45,
1410 2006, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1411 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1412 45, 2006, 45, 45, 2006, 45, 45, 45, 2006, 45,
1413 45, 45, 45, 2006, 2006, 2006, 45, 2006, 2006, 45,
1414 45, 45, 45, 2006, 45, 45, 45, 45, 45, 45,
1415 45, 2006, 45, 45, 2006, 45, 2006, 45, 2006, 45,
1416 45, 45, 45, 2006, 45, 45, 45, 2006, 45, 45,
1417 2006, 45, 45, 45, 45, 45, 45, 45, 45, 2006,
1418 45, 45, 45, 45, 45, 2006, 45, 2006, 2006, 45,
1420 45, 45, 45, 2006, 2006, 0, 2006, 2006, 2006, 2006,
1421 2006, 2006, 2006, 2006
1426 2006, 13, 14, 13, 2006, 15, 16, 2006, 17, 18,
1427 19, 20, 21, 22, 22, 22, 22, 22, 23, 24,
1428 84, 776, 37, 14, 37, 85, 25, 26, 38, 100,
1429 2006, 27, 37, 14, 37, 42, 28, 42, 38, 90,
1430 91, 29, 196, 30, 13, 14, 13, 89, 90, 25,
1431 31, 91, 13, 14, 13, 13, 14, 13, 32, 40,
1432 777, 13, 14, 13, 33, 40, 101, 90, 91, 196,
1433 89, 34, 35, 13, 14, 13, 93, 15, 16, 94,
1434 17, 18, 19, 20, 21, 22, 22, 22, 22, 22,
1435 23, 24, 13, 14, 13, 89, 39, 103, 25, 26,
1437 13, 14, 13, 27, 39, 42, 105, 42, 28, 42,
1438 106, 42, 41, 29, 107, 30, 110, 111, 92, 137,
1439 41, 25, 31, 103, 223, 224, 87, 138, 87, 105,
1440 32, 88, 88, 88, 88, 88, 33, 107, 106, 110,
1441 229, 111, 230, 34, 35, 44, 44, 44, 45, 45,
1442 46, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1443 45, 47, 45, 45, 45, 45, 45, 48, 45, 45,
1444 49, 45, 50, 45, 51, 45, 52, 45, 45, 45,
1445 45, 53, 54, 45, 55, 45, 45, 56, 45, 45,
1446 57, 58, 59, 60, 61, 62, 63, 64, 65, 51,
1448 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1449 76, 77, 55, 45, 45, 45, 45, 45, 79, 244,
1450 80, 80, 80, 80, 80, 79, 105, 82, 82, 82,
1451 82, 82, 245, 81, 83, 83, 83, 83, 83, 79,
1452 81, 82, 82, 82, 82, 82, 184, 81, 108, 105,
1453 103, 119, 847, 131, 81, 185, 81, 184, 109, 120,
1454 134, 135, 121, 81, 132, 122, 186, 123, 136, 124,
1455 81, 108, 184, 848, 133, 164, 115, 81, 45, 165,
1456 139, 185, 116, 187, 45, 117, 109, 45, 232, 45,
1457 140, 45, 141, 45, 186, 113, 143, 144, 45, 45,
1459 145, 45, 45, 849, 233, 100, 146, 45, 45, 45,
1460 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1461 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1462 125, 160, 45, 126, 127, 161, 45, 128, 129, 147,
1463 45, 107, 101, 148, 198, 162, 318, 149, 45, 185,
1464 130, 426, 45, 110, 45, 114, 259, 155, 850, 150,
1465 152, 195, 153, 151, 154, 156, 186, 157, 173, 174,
1466 166, 198, 158, 159, 167, 188, 179, 168, 108, 83,
1467 83, 83, 83, 83, 169, 170, 180, 195, 109, 171,
1468 172, 181, 81, 79, 189, 80, 80, 80, 80, 80,
1470 249, 175, 260, 176, 250, 87, 177, 87, 81, 851,
1471 88, 88, 88, 88, 88, 81, 109, 83, 83, 83,
1472 83, 83, 79, 178, 82, 82, 82, 82, 82, 193,
1473 81, 81, 88, 88, 88, 88, 88, 81, 88, 88,
1474 88, 88, 88, 99, 197, 199, 201, 200, 193, 211,
1475 99, 197, 236, 81, 216, 237, 198, 193, 212, 238,
1476 81, 292, 213, 217, 218, 206, 852, 272, 200, 201,
1477 264, 273, 197, 199, 200, 293, 207, 284, 285, 197,
1478 99, 257, 275, 297, 99, 265, 266, 267, 99, 269,
1479 286, 853, 270, 271, 287, 301, 99, 307, 288, 305,
1481 99, 305, 99, 99, 204, 306, 334, 535, 306, 335,
1482 315, 536, 205, 205, 205, 205, 205, 276, 277, 278,
1483 307, 205, 205, 205, 205, 205, 205, 305, 279, 308,
1484 280, 306, 281, 282, 309, 283, 307, 313, 315, 316,
1485 317, 319, 321, 336, 205, 205, 205, 205, 205, 205,
1486 362, 337, 313, 435, 435, 371, 338, 339, 390, 310,
1487 313, 432, 385, 317, 319, 414, 316, 363, 391, 321,
1488 322, 322, 322, 322, 322, 324, 435, 436, 415, 322,
1489 322, 322, 322, 322, 322, 404, 438, 421, 405, 422,
1490 440, 442, 444, 463, 470, 678, 439, 440, 386, 509,
1492 471, 525, 322, 322, 322, 322, 322, 322, 372, 510,
1493 464, 373, 387, 433, 442, 558, 571, 633, 559, 440,
1494 444, 447, 447, 447, 447, 447, 448, 634, 752, 753,
1495 447, 447, 447, 447, 447, 447, 484, 499, 500, 540,
1496 565, 485, 501, 541, 571, 566, 575, 679, 576, 571,
1497 854, 701, 594, 447, 447, 447, 447, 447, 447, 526,
1498 595, 602, 596, 597, 598, 612, 599, 825, 725, 855,
1499 613, 726, 702, 575, 603, 576, 604, 577, 701, 700,
1500 706, 811, 824, 856, 703, 834, 857, 707, 858, 486,
1501 825, 835, 812, 859, 487, 45, 45, 45, 45, 45,
1503 702, 860, 864, 865, 45, 45, 45, 45, 45, 45,
1504 824, 838, 839, 861, 840, 866, 867, 862, 868, 869,
1505 870, 863, 871, 872, 873, 874, 875, 45, 45, 45,
1506 45, 45, 45, 876, 877, 878, 879, 880, 881, 882,
1507 883, 884, 885, 886, 887, 889, 890, 888, 891, 892,
1508 893, 894, 895, 896, 897, 898, 899, 900, 901, 902,
1509 903, 904, 905, 906, 907, 908, 909, 910, 911, 912,
1510 913, 914, 915, 916, 917, 918, 919, 920, 921, 922,
1511 923, 924, 925, 926, 927, 929, 930, 931, 932, 935,
1512 936, 928, 937, 939, 940, 933, 941, 942, 938, 934,
1514 943, 944, 945, 946, 947, 948, 949, 950, 951, 952,
1515 953, 954, 955, 956, 957, 958, 959, 960, 961, 962,
1516 963, 964, 965, 966, 967, 968, 969, 970, 971, 972,
1517 973, 974, 975, 976, 977, 978, 979, 980, 981, 982,
1518 955, 983, 984, 985, 986, 987, 988, 989, 990, 991,
1519 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1002,
1520 1003, 1004, 1005, 1001, 1006, 1007, 1008, 1009, 1010, 1011,
1521 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021,
1522 1022, 1023, 1024, 1026, 1027, 1028, 1025, 1029, 1030, 1031,
1523 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041,
1525 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051,
1526 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061,
1527 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071,
1528 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081,
1529 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091,
1530 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1077, 1100,
1531 1101, 1076, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109,
1532 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119,
1533 1120, 1121, 1122, 1123, 1125, 1126, 1127, 1128, 1129, 1130,
1534 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140,
1536 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1150, 1151,
1537 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1149, 1160,
1538 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170,
1539 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180,
1540 1181, 1124, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189,
1541 1190, 1191, 1192, 1193, 1195, 1194, 1196, 1197, 1198, 1199,
1542 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209,
1543 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219,
1544 1220, 1193, 1194, 1221, 1222, 1223, 1224, 1225, 1226, 1227,
1545 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237,
1547 1238, 1240, 1242, 1243, 1244, 1239, 1245, 1246, 1247, 1248,
1548 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258,
1549 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268,
1550 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278,
1551 1279, 1280, 1281, 1282, 1283, 1241, 1284, 1285, 1286, 1287,
1552 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297,
1553 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307,
1554 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317,
1555 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327,
1556 1305, 1328, 1329, 1330, 1331, 1332, 1306, 1333, 1334, 1335,
1558 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345,
1559 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355,
1560 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365,
1561 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375,
1562 1376, 1377, 1378, 1379, 1380, 1381, 1383, 1384, 1385, 1386,
1563 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396,
1564 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406,
1565 1407, 1408, 1409, 1410, 1411, 1413, 1414, 1415, 1416, 1417,
1566 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427,
1567 1428, 1429, 1430, 1431, 1432, 1404, 1433, 1434, 1382, 1435,
1569 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445,
1570 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1454, 1412, 1455,
1571 1456, 1457, 1458, 1459, 1453, 1460, 1461, 1462, 1463, 1464,
1572 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474,
1573 1475, 1476, 1478, 1479, 1480, 1481, 1477, 1482, 1483, 1484,
1574 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1495,
1575 1496, 1497, 1498, 1494, 1499, 1500, 1501, 1502, 1503, 1504,
1576 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514,
1577 1515, 1516, 1495, 1517, 1518, 1519, 1520, 1521, 1522, 1523,
1578 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533,
1580 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543,
1581 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553,
1582 1554, 1555, 1556, 1557, 1560, 1558, 1561, 1562, 1563, 1564,
1583 1565, 1559, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573,
1584 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583,
1585 1584, 1585, 1586, 1587, 1589, 1590, 1591, 1592, 1593, 1594,
1586 1595, 1596, 1597, 1598, 1588, 1599, 1600, 1601, 1575, 1602,
1587 1603, 1604, 1605, 1606, 1607, 1608, 1610, 1611, 1612, 1613,
1588 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623,
1589 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633,
1591 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643,
1592 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653,
1593 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663,
1594 1664, 1665, 1666, 1609, 1667, 1668, 1669, 1670, 1671, 1672,
1595 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1653, 1680, 1681,
1596 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691,
1597 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701,
1598 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711,
1599 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721,
1600 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731,
1602 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741,
1603 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751,
1604 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761,
1605 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771,
1606 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781,
1607 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791,
1608 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801,
1609 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811,
1610 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821,
1611 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831,
1613 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841,
1614 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851,
1615 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861,
1616 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871,
1617 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881,
1618 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891,
1619 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901,
1620 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911,
1621 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921,
1622 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931,
1624 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941,
1625 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951,
1626 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961,
1627 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971,
1628 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981,
1629 1982, 1984, 1983, 1985, 1986, 1987, 1988, 1989, 1990, 1991,
1630 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
1631 2002, 2003, 2004, 2005, 12, 12, 12, 36, 36, 36,
1632 78, 97, 78, 99, 99, 99, 112, 112, 112, 183,
1633 846, 183, 202, 202, 202, 845, 844, 843, 842, 841,
1635 837, 836, 833, 832, 831, 830, 829, 828, 827, 826,
1636 823, 822, 821, 820, 819, 818, 817, 816, 815, 814,
1637 813, 810, 809, 808, 807, 806, 805, 804, 803, 802,
1638 801, 800, 799, 798, 797, 796, 795, 794, 793, 792,
1639 791, 790, 789, 788, 787, 786, 785, 784, 783, 782,
1640 781, 780, 779, 778, 775, 774, 773, 772, 771, 770,
1641 769, 768, 767, 766, 765, 764, 763, 762, 761, 760,
1642 759, 758, 757, 756, 755, 754, 751, 750, 749, 748,
1643 747, 746, 745, 744, 743, 742, 741, 740, 739, 738,
1644 737, 736, 735, 734, 733, 732, 731, 730, 729, 728,
1646 727, 724, 723, 722, 721, 720, 719, 718, 717, 716,
1647 715, 714, 713, 712, 711, 710, 709, 708, 705, 704,
1648 700, 699, 698, 697, 696, 695, 694, 693, 692, 691,
1649 690, 689, 688, 687, 686, 685, 684, 683, 682, 681,
1650 680, 677, 676, 675, 674, 673, 672, 671, 670, 669,
1651 668, 667, 666, 665, 664, 663, 662, 661, 660, 659,
1652 658, 657, 656, 655, 654, 653, 652, 651, 650, 649,
1653 648, 647, 646, 645, 644, 643, 642, 641, 640, 639,
1654 638, 637, 636, 635, 632, 631, 630, 629, 628, 627,
1655 626, 625, 624, 623, 622, 621, 620, 619, 618, 617,
1657 616, 615, 614, 611, 610, 609, 608, 607, 606, 605,
1658 601, 600, 593, 592, 591, 590, 589, 588, 587, 586,
1659 585, 584, 583, 582, 581, 580, 579, 578, 574, 573,
1660 572, 570, 569, 568, 567, 564, 563, 562, 561, 560,
1661 557, 556, 555, 554, 553, 552, 551, 550, 549, 548,
1662 547, 546, 545, 544, 543, 542, 539, 538, 537, 534,
1663 533, 532, 531, 530, 529, 528, 527, 524, 523, 522,
1664 521, 520, 519, 518, 517, 516, 515, 514, 513, 512,
1665 511, 508, 507, 506, 505, 504, 503, 502, 498, 497,
1666 496, 495, 494, 493, 492, 491, 490, 489, 488, 483,
1668 482, 481, 480, 479, 478, 477, 476, 475, 474, 473,
1669 472, 469, 468, 467, 466, 465, 462, 461, 460, 459,
1670 458, 457, 456, 455, 454, 453, 452, 451, 450, 449,
1671 446, 445, 443, 441, 437, 434, 431, 430, 429, 428,
1672 427, 425, 424, 423, 420, 419, 418, 417, 416, 413,
1673 412, 411, 410, 409, 408, 407, 406, 403, 402, 401,
1674 400, 399, 398, 397, 396, 395, 394, 393, 392, 389,
1675 388, 384, 383, 382, 381, 380, 379, 378, 377, 376,
1676 375, 374, 370, 369, 368, 367, 366, 365, 364, 361,
1677 360, 359, 358, 357, 356, 355, 354, 353, 352, 351,
1679 350, 349, 348, 347, 346, 345, 344, 343, 342, 341,
1680 340, 333, 332, 331, 330, 329, 328, 327, 326, 325,
1681 323, 203, 320, 318, 314, 312, 311, 304, 303, 302,
1682 300, 299, 298, 296, 295, 294, 291, 290, 289, 274,
1683 268, 263, 262, 261, 258, 256, 255, 254, 253, 252,
1684 251, 248, 247, 246, 243, 242, 241, 240, 239, 235,
1685 234, 231, 228, 227, 226, 225, 222, 221, 220, 219,
1686 215, 214, 210, 209, 208, 203, 194, 192, 191, 190,
1687 182, 163, 142, 118, 104, 102, 43, 98, 96, 95,
1688 86, 43, 2006, 11, 2006, 2006, 2006, 2006, 2006, 2006,
1690 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006,
1691 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006,
1692 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006,
1693 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006,
1694 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006,
1695 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006,
1696 2006, 2006, 2006, 2006, 2006, 2006, 2006
1701 0, 1, 1, 1, 0, 1, 1, 0, 1, 1,
1702 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1703 21, 650, 3, 3, 3, 21, 1, 1, 3, 44,
1704 0, 1, 4, 4, 4, 13, 1, 13, 4, 27,
1705 28, 1, 106, 1, 5, 5, 5, 26, 32, 1,
1706 1, 33, 6, 6, 6, 7, 7, 7, 1, 7,
1707 650, 8, 8, 8, 1, 8, 44, 27, 28, 106,
1708 26, 1, 1, 2, 2, 2, 32, 2, 2, 33,
1709 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1710 2, 2, 9, 9, 9, 31, 5, 48, 2, 2,
1712 10, 10, 10, 2, 6, 37, 50, 37, 2, 42,
1713 51, 42, 9, 2, 52, 2, 54, 55, 31, 64,
1714 10, 2, 2, 48, 127, 127, 25, 64, 25, 50,
1715 2, 25, 25, 25, 25, 25, 2, 52, 51, 54,
1716 132, 55, 132, 2, 2, 15, 15, 15, 15, 15,
1717 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1718 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1719 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1720 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1721 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1723 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1724 15, 15, 15, 15, 15, 15, 15, 15, 17, 143,
1725 17, 17, 17, 17, 17, 19, 62, 19, 19, 19,
1726 19, 19, 143, 17, 20, 20, 20, 20, 20, 22,
1727 19, 22, 22, 22, 22, 22, 89, 20, 53, 62,
1728 57, 59, 721, 61, 22, 90, 17, 92, 53, 59,
1729 62, 63, 59, 19, 61, 59, 91, 59, 63, 59,
1730 20, 53, 89, 722, 61, 73, 57, 22, 45, 73,
1731 65, 90, 57, 92, 45, 57, 53, 45, 134, 45,
1732 65, 45, 65, 45, 91, 56, 67, 67, 45, 45,
1734 67, 45, 56, 723, 134, 99, 67, 45, 45, 45,
1735 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1736 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1737 60, 71, 56, 60, 60, 71, 56, 60, 60, 68,
1738 56, 69, 99, 68, 108, 71, 297, 68, 56, 93,
1739 60, 297, 56, 76, 56, 56, 156, 70, 724, 68,
1740 69, 105, 69, 68, 69, 70, 94, 70, 75, 75,
1741 74, 108, 70, 70, 74, 93, 76, 74, 75, 79,
1742 79, 79, 79, 79, 74, 74, 76, 105, 75, 74,
1743 74, 76, 79, 80, 94, 80, 80, 80, 80, 80,
1745 147, 75, 156, 75, 147, 81, 75, 81, 80, 725,
1746 81, 81, 81, 81, 81, 79, 75, 83, 83, 83,
1747 83, 83, 82, 75, 82, 82, 82, 82, 82, 103,
1748 83, 80, 87, 87, 87, 87, 87, 82, 88, 88,
1749 88, 88, 88, 101, 107, 109, 111, 110, 115, 119,
1750 101, 154, 137, 83, 122, 137, 175, 103, 119, 137,
1751 82, 171, 119, 122, 122, 115, 726, 163, 179, 111,
1752 160, 163, 107, 109, 110, 171, 115, 166, 166, 154,
1753 101, 154, 165, 175, 101, 160, 160, 160, 101, 162,
1754 167, 727, 162, 162, 167, 179, 101, 186, 167, 184,
1756 101, 187, 101, 101, 114, 185, 217, 405, 188, 217,
1757 195, 405, 114, 114, 114, 114, 114, 165, 165, 165,
1758 186, 114, 114, 114, 114, 114, 114, 184, 165, 187,
1759 165, 185, 165, 165, 188, 165, 189, 193, 195, 196,
1760 197, 199, 201, 218, 114, 114, 114, 114, 114, 114,
1761 242, 218, 207, 305, 308, 250, 218, 218, 265, 189,
1762 193, 303, 262, 197, 199, 287, 196, 242, 265, 201,
1763 205, 205, 205, 205, 205, 207, 305, 308, 287, 205,
1764 205, 205, 205, 205, 205, 278, 312, 293, 278, 293,
1765 313, 315, 317, 339, 346, 547, 312, 324, 262, 379,
1767 346, 395, 205, 205, 205, 205, 205, 205, 250, 379,
1768 339, 250, 262, 303, 315, 426, 440, 500, 426, 313,
1769 317, 322, 322, 322, 322, 322, 324, 500, 626, 626,
1770 322, 322, 322, 322, 322, 322, 359, 371, 371, 409,
1771 433, 359, 371, 409, 440, 433, 446, 547, 446, 448,
1772 728, 575, 467, 322, 322, 322, 322, 322, 322, 395,
1773 467, 470, 467, 467, 467, 479, 467, 702, 599, 729,
1774 479, 599, 576, 446, 470, 446, 470, 448, 575, 577,
1775 581, 687, 701, 730, 577, 711, 731, 581, 732, 359,
1776 702, 711, 687, 733, 359, 447, 447, 447, 447, 447,
1778 576, 734, 736, 737, 447, 447, 447, 447, 447, 447,
1779 701, 714, 714, 735, 714, 738, 739, 735, 740, 742,
1780 743, 735, 744, 745, 746, 747, 748, 447, 447, 447,
1781 447, 447, 447, 749, 750, 751, 752, 753, 754, 755,
1782 756, 757, 758, 759, 760, 761, 762, 760, 763, 765,
1783 766, 767, 768, 769, 770, 771, 772, 773, 774, 775,
1784 777, 778, 779, 780, 781, 782, 783, 784, 785, 786,
1785 787, 788, 789, 790, 791, 792, 793, 794, 795, 796,
1786 797, 798, 799, 800, 801, 802, 803, 804, 804, 805,
1787 806, 801, 807, 808, 809, 804, 810, 812, 807, 804,
1789 813, 814, 815, 816, 817, 818, 819, 820, 821, 822,
1790 823, 824, 825, 826, 827, 828, 829, 830, 831, 832,
1791 833, 834, 835, 837, 838, 839, 840, 841, 842, 843,
1792 844, 845, 846, 847, 848, 849, 850, 851, 852, 853,
1793 825, 854, 855, 856, 857, 858, 859, 860, 861, 862,
1794 863, 864, 865, 867, 868, 869, 870, 871, 872, 873,
1795 874, 875, 876, 872, 877, 878, 879, 880, 881, 882,
1796 885, 886, 887, 888, 889, 890, 893, 894, 895, 896,
1797 897, 899, 900, 901, 902, 903, 900, 904, 905, 906,
1798 907, 908, 911, 912, 913, 914, 915, 916, 917, 918,
1800 919, 920, 921, 922, 923, 924, 925, 926, 927, 928,
1801 929, 930, 931, 932, 933, 934, 935, 936, 937, 938,
1802 939, 940, 941, 943, 944, 945, 946, 947, 948, 949,
1803 950, 951, 952, 953, 954, 955, 956, 957, 958, 959,
1804 960, 961, 963, 964, 965, 966, 967, 968, 969, 970,
1805 971, 972, 973, 974, 975, 976, 977, 978, 955, 979,
1806 980, 954, 981, 982, 983, 984, 985, 986, 987, 989,
1807 990, 991, 992, 993, 994, 995, 996, 997, 998, 999,
1808 1001, 1002, 1003, 1004, 1005, 1006, 1008, 1009, 1010, 1011,
1809 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021,
1811 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031,
1812 1032, 1034, 1035, 1036, 1037, 1039, 1040, 1041, 1029, 1042,
1813 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052,
1814 1053, 1054, 1055, 1056, 1057, 1059, 1060, 1061, 1062, 1063,
1815 1064, 1004, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072,
1816 1073, 1074, 1075, 1076, 1078, 1077, 1079, 1080, 1081, 1082,
1817 1083, 1084, 1085, 1087, 1088, 1089, 1090, 1091, 1092, 1093,
1818 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103,
1819 1104, 1076, 1077, 1106, 1107, 1108, 1109, 1110, 1111, 1112,
1820 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122,
1822 1124, 1125, 1126, 1127, 1128, 1124, 1129, 1130, 1131, 1132,
1823 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142,
1824 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152,
1825 1153, 1154, 1155, 1157, 1158, 1159, 1160, 1161, 1162, 1163,
1826 1164, 1165, 1166, 1167, 1169, 1125, 1170, 1171, 1172, 1174,
1827 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184,
1828 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1193, 1194, 1195,
1829 1196, 1197, 1198, 1199, 1200, 1202, 1203, 1204, 1205, 1206,
1830 1207, 1208, 1209, 1210, 1212, 1213, 1214, 1215, 1216, 1217,
1831 1193, 1218, 1220, 1221, 1222, 1223, 1194, 1224, 1225, 1226,
1833 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236,
1834 1239, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249,
1835 1250, 1251, 1252, 1253, 1254, 1256, 1257, 1258, 1259, 1261,
1836 1262, 1263, 1264, 1265, 1266, 1268, 1270, 1272, 1273, 1274,
1837 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284,
1838 1285, 1286, 1287, 1289, 1290, 1291, 1292, 1293, 1294, 1297,
1839 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1308,
1840 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318,
1841 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329,
1842 1330, 1331, 1332, 1333, 1334, 1305, 1335, 1336, 1280, 1338,
1844 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348,
1845 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1313, 1357,
1846 1358, 1359, 1360, 1361, 1355, 1363, 1366, 1367, 1368, 1369,
1847 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1378, 1379, 1380,
1848 1381, 1382, 1383, 1384, 1386, 1387, 1382, 1387, 1388, 1390,
1849 1393, 1394, 1395, 1396, 1398, 1399, 1401, 1402, 1403, 1404,
1850 1406, 1407, 1408, 1403, 1409, 1410, 1412, 1413, 1414, 1415,
1851 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425,
1852 1426, 1427, 1404, 1428, 1429, 1431, 1432, 1434, 1435, 1436,
1853 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1445, 1447, 1448,
1855 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1460,
1856 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1469, 1470, 1472,
1857 1473, 1474, 1475, 1477, 1478, 1477, 1479, 1480, 1481, 1482,
1858 1483, 1477, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1492,
1859 1494, 1495, 1497, 1499, 1500, 1501, 1503, 1504, 1505, 1506,
1860 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516,
1861 1517, 1518, 1519, 1520, 1510, 1521, 1522, 1523, 1495, 1524,
1862 1525, 1526, 1527, 1528, 1528, 1529, 1530, 1531, 1532, 1533,
1863 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543,
1864 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553,
1866 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1562, 1563, 1564,
1867 1565, 1566, 1567, 1568, 1569, 1571, 1572, 1573, 1574, 1575,
1868 1577, 1578, 1581, 1582, 1583, 1586, 1587, 1588, 1589, 1590,
1869 1591, 1592, 1593, 1529, 1594, 1595, 1596, 1598, 1600, 1601,
1870 1602, 1603, 1604, 1605, 1606, 1607, 1609, 1575, 1610, 1611,
1871 1613, 1614, 1616, 1617, 1618, 1620, 1621, 1622, 1623, 1624,
1872 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635,
1873 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645,
1874 1646, 1647, 1648, 1649, 1650, 1652, 1653, 1655, 1656, 1657,
1875 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668,
1877 1669, 1670, 1671, 1672, 1673, 1674, 1676, 1677, 1678, 1680,
1878 1681, 1682, 1684, 1685, 1686, 1687, 1688, 1690, 1691, 1692,
1879 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1701, 1702, 1703,
1880 1704, 1705, 1707, 1708, 1709, 1712, 1714, 1715, 1716, 1719,
1881 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730,
1882 1731, 1733, 1734, 1735, 1737, 1738, 1739, 1740, 1741, 1742,
1883 1743, 1744, 1746, 1747, 1748, 1750, 1751, 1752, 1753, 1754,
1884 1755, 1756, 1757, 1758, 1759, 1761, 1762, 1763, 1764, 1765,
1885 1767, 1768, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777,
1886 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788,
1888 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1801,
1889 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812,
1890 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822,
1891 1823, 1824, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833,
1892 1835, 1839, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848,
1893 1850, 1851, 1852, 1853, 1855, 1856, 1857, 1858, 1859, 1860,
1894 1861, 1862, 1863, 1864, 1865, 1866, 1868, 1869, 1870, 1871,
1895 1873, 1875, 1878, 1880, 1881, 1882, 1883, 1885, 1886, 1887,
1896 1888, 1889, 1890, 1891, 1893, 1894, 1895, 1896, 1897, 1898,
1897 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1908, 1909,
1899 1910, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920,
1900 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930,
1901 1931, 1933, 1934, 1936, 1937, 1938, 1940, 1941, 1942, 1943,
1902 1947, 1950, 1951, 1952, 1953, 1955, 1956, 1957, 1958, 1959,
1903 1960, 1961, 1963, 1964, 1966, 1968, 1970, 1971, 1972, 1973,
1904 1975, 1976, 1975, 1977, 1979, 1980, 1982, 1983, 1984, 1985,
1905 1986, 1987, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1997,
1906 2000, 2001, 2002, 2003, 2007, 2007, 2007, 2008, 2008, 2008,
1907 2009, 2010, 2009, 2011, 2011, 2011, 2012, 2012, 2012, 2013,
1908 720, 2013, 2014, 2014, 2014, 719, 718, 717, 716, 715,
1910 713, 712, 710, 709, 708, 707, 706, 705, 704, 703,
1911 699, 698, 696, 695, 694, 693, 692, 691, 690, 689,
1912 688, 686, 685, 684, 682, 681, 680, 679, 678, 677,
1913 676, 675, 674, 673, 672, 671, 670, 669, 667, 666,
1914 665, 664, 663, 662, 661, 660, 659, 657, 656, 655,
1915 654, 653, 652, 651, 649, 648, 647, 646, 645, 644,
1916 643, 642, 640, 639, 638, 637, 636, 635, 634, 633,
1917 632, 631, 630, 629, 628, 627, 625, 624, 623, 622,
1918 621, 620, 619, 618, 617, 616, 615, 614, 613, 611,
1919 610, 609, 608, 607, 606, 605, 604, 603, 602, 601,
1921 600, 598, 597, 596, 595, 594, 593, 592, 591, 590,
1922 589, 588, 587, 586, 585, 584, 583, 582, 580, 579,
1923 571, 570, 569, 568, 567, 566, 564, 563, 561, 559,
1924 558, 557, 556, 555, 554, 553, 552, 551, 550, 549,
1925 548, 546, 545, 544, 543, 542, 541, 540, 539, 538,
1926 537, 536, 535, 534, 533, 532, 531, 530, 529, 528,
1927 526, 524, 523, 522, 521, 520, 519, 518, 517, 516,
1928 515, 514, 513, 512, 511, 510, 509, 507, 506, 505,
1929 504, 503, 502, 501, 499, 498, 497, 496, 495, 494,
1930 493, 492, 491, 490, 489, 488, 487, 486, 485, 483,
1932 482, 481, 480, 478, 477, 476, 475, 474, 472, 471,
1933 469, 468, 465, 464, 463, 462, 461, 460, 459, 458,
1934 456, 455, 454, 453, 452, 451, 450, 449, 444, 442,
1935 441, 439, 438, 437, 434, 432, 431, 429, 428, 427,
1936 425, 424, 423, 422, 421, 420, 419, 418, 417, 416,
1937 415, 414, 413, 412, 411, 410, 408, 407, 406, 404,
1938 403, 402, 401, 399, 398, 397, 396, 394, 393, 392,
1939 391, 390, 389, 388, 387, 386, 385, 384, 383, 382,
1940 380, 378, 377, 376, 375, 374, 373, 372, 370, 369,
1941 368, 367, 366, 365, 364, 363, 362, 361, 360, 358,
1943 357, 356, 355, 354, 353, 352, 351, 350, 349, 348,
1944 347, 345, 344, 343, 342, 341, 338, 337, 336, 335,
1945 334, 333, 332, 331, 330, 329, 328, 327, 326, 325,
1946 321, 319, 316, 314, 311, 304, 302, 301, 300, 299,
1947 298, 296, 295, 294, 292, 291, 290, 289, 288, 286,
1948 285, 284, 283, 282, 281, 280, 279, 277, 276, 275,
1949 274, 273, 272, 271, 270, 269, 268, 267, 266, 264,
1950 263, 261, 260, 259, 258, 257, 256, 255, 254, 253,
1951 252, 251, 249, 248, 247, 246, 245, 244, 243, 241,
1952 239, 238, 237, 236, 235, 234, 233, 232, 231, 230,
1954 229, 228, 227, 226, 225, 224, 223, 222, 221, 220,
1955 219, 216, 215, 214, 213, 212, 211, 210, 209, 208,
1956 206, 202, 200, 198, 194, 192, 190, 182, 181, 180,
1957 178, 177, 176, 174, 173, 172, 170, 169, 168, 164,
1958 161, 159, 158, 157, 155, 153, 152, 151, 150, 149,
1959 148, 146, 145, 144, 142, 141, 140, 139, 138, 136,
1960 135, 133, 131, 130, 129, 128, 126, 125, 124, 123,
1961 121, 120, 118, 117, 116, 112, 104, 102, 97, 96,
1962 77, 72, 66, 58, 49, 47, 43, 41, 39, 38,
1963 24, 14, 11, 2006, 2006, 2006, 2006, 2006, 2006, 2006,
1965 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006,
1966 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006,
1967 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006,
1968 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006,
1969 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006,
1970 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006, 2006,
1971 2006, 2006, 2006, 2006, 2006, 2006, 2006
1975static char *yy_last_accepting_cpos;
1982 146, 148, 150, 155, 156, 161, 162, 163, 175, 178,
1983 183, 190, 199, 208, 217, 226, 235, 244, 254, 263,
1984 272, 281, 290, 299, 308, 317, 326, 335, 344, 353,
1985 362, 374, 383, 392, 401, 410, 421, 432, 443, 454,
1986 465, 476, 487, 498, 509, 520, 531, 542, 551, 560,
1987 569, 580, 591, 602, 613, 624, 633, 645, 657, 669,
1988 680, 691, 700, 709, 718, 727, 736, 747, 758, 769,
1989 780, 791, 802, 813, 824, 834, 845, 854, 864, 878,
1990 894, 903, 912, 921, 930, 952, 974, 983, 993, 1002,
1991 1013, 1022, 1031, 1040, 1049, 1058, 1069, 1080, 1091, 1101,
1993 1110, 1121, 1132, 1143, 1154, 1166, 1175, 1184, 1193, 1202,
1994 1211, 1220, 1229, 1238, 1247, 1257, 1268, 1280, 1289, 1298,
1995 1308, 1318, 1328, 1338, 1348, 1358, 1367, 1377, 1386, 1395,
1996 1404, 1413, 1423, 1433, 1442, 1452, 1461, 1470, 1479, 1488,
1997 1497, 1506, 1515, 1524, 1533, 1542, 1551, 1560, 1569, 1578,
1998 1587, 1596, 1605, 1614, 1623, 1632, 1641, 1650, 1659, 1668,
1999 1677, 1686, 1695, 1704, 1713, 1722, 1731, 1740, 1749, 1758,
2000 1767, 1779, 1791, 1801, 1811, 1821, 1831, 1841, 1851, 1861,
2001 1871, 1881, 1890, 1899, 1908, 1917, 1928, 1939, 1952, 1965,
2002 1978, 1987, 1996, 2005, 2106, 2122, 2171, 2179, 2194, 2195,
2004 2196, 2197, 2198, 2199, 2201, 2219, 2232, 2237, 2241, 2243,
2011#define REJECT reject_used_but_not_detected
2012#define yymore() yymore_used_but_not_detected
2013#define YY_MORE_ADJ 0
2014#define YY_RESTORE_YY_MORE_OFFSET
2016#line 1 "dhcp4_lexer.ll"
2022#line 8 "dhcp4_lexer.ll"
2025#ifndef __clang_analyzer__
2034#include <boost/lexical_cast.hpp>
2048bool start_token_flag =
false;
2051unsigned int comment_start_line = 0;
2058#define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg)
2059#line 2059 "dhcp4_lexer.cc"
2074#define YY_NO_INPUT 1
2080#line 95 "dhcp4_lexer.ll"
2084#define YY_USER_ACTION driver.loc_.columns(yyleng);
2085#line 2085 "dhcp4_lexer.cc"
2086#line 2086 "dhcp4_lexer.cc"
2091#define DIR_INCLUDE 3
2094#ifndef YY_NO_UNISTD_H
2106#ifndef YY_EXTRA_TYPE
2107#define YY_EXTRA_TYPE void *
2114static int yy_init_globals (
void );
2157#ifndef YY_SKIP_YYWRAP
2159extern "C" int yywrap (
void );
2161extern int yywrap (
void );
2174static void yy_flex_strncpy (
char *,
const char *,
int );
2177#ifdef YY_NEED_STRLEN
2178static int yy_flex_strlen (
const char * );
2185static int yyinput (
void );
2187static int input (
void );
2199#ifndef YY_READ_BUF_SIZE
2202#define YY_READ_BUF_SIZE 16384
2204#define YY_READ_BUF_SIZE 8192
2214#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2224#define YY_INPUT(buf,result,max_size) \
2226 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2230 for ( n = 0; n < max_size && \
2231 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2232 buf[n] = (char) c; \
2234 buf[n++] = (char) c; \
2235 if ( c == EOF && ferror( yyin ) ) \
2236 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2242 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2244 if( errno != EINTR) \
2246 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2264#define yyterminate() return YY_NULL
2268#ifndef YY_START_STACK_INCR
2269#define YY_START_STACK_INCR 25
2273#ifndef YY_FATAL_ERROR
2275#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2296#define YY_DECL_IS_OURS 1
2299extern int yylex (
void);
2301#define YY_DECL int yylex (void)
2310#ifndef YY_USER_ACTION
2311#define YY_USER_ACTION
2316#define YY_BREAK break;
2320#define YY_RULE_SETUP \
2368#line 101 "dhcp4_lexer.ll"
2372#line 105 "dhcp4_lexer.ll"
2380 if (start_token_flag) {
2381 start_token_flag =
false;
2382 switch (start_token_value) {
2383 case Parser4Context::PARSER_JSON:
2386 case Parser4Context::PARSER_DHCP4:
2388 case Parser4Context::SUBPARSER_DHCP4:
2390 case Parser4Context::PARSER_INTERFACES:
2392 case Parser4Context::PARSER_SUBNET4:
2394 case Parser4Context::PARSER_POOL4:
2396 case Parser4Context::PARSER_HOST_RESERVATION:
2398 case Parser4Context::PARSER_OPTION_DEFS:
2400 case Parser4Context::PARSER_OPTION_DEF:
2402 case Parser4Context::PARSER_OPTION_DATA:
2404 case Parser4Context::PARSER_HOOKS_LIBRARY:
2406 case Parser4Context::PARSER_DHCP_DDNS:
2408 case Parser4Context::PARSER_CONFIG_CONTROL:
2414#line 2414 "dhcp4_lexer.cc"
2419 yy_cp = (yy_c_buf_p);
2422 *
yy_cp = (yy_hold_char);
2430 yy_current_state = (yy_start);
2435 if ( yy_accept[yy_current_state] )
2437 (yy_last_accepting_state) = yy_current_state;
2438 (yy_last_accepting_cpos) =
yy_cp;
2440 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2442 yy_current_state = (int) yy_def[yy_current_state];
2443 if ( yy_current_state >= 2007 )
2444 yy_c = yy_meta[yy_c];
2446 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2449 while ( yy_current_state != 2006 );
2450 yy_cp = (yy_last_accepting_cpos);
2451 yy_current_state = (yy_last_accepting_state);
2455 yy_act = yy_accept[yy_current_state];
2467 fprintf( stderr,
"--scanner backing up\n" );
2469 fprintf( stderr,
"--accepting rule at line %ld (\"%s\")\n",
2471 else if (
yy_act == 213 )
2472 fprintf( stderr,
"--accepting default rule (\"%s\")\n",
2474 else if (
yy_act == 214 )
2475 fprintf( stderr,
"--(end of buffer or a NUL)\n" );
2477 fprintf( stderr,
"--EOF (start condition %d)\n",
YY_START );
2485 *
yy_cp = (yy_hold_char);
2486 yy_cp = (yy_last_accepting_cpos);
2487 yy_current_state = (yy_last_accepting_state);
2488 goto yy_find_action;
2492#line 146 "dhcp4_lexer.ll"
2497#line 148 "dhcp4_lexer.ll"
2502#line 150 "dhcp4_lexer.ll"
2505 comment_start_line = driver.loc_.end.line;;
2510#line 155 "dhcp4_lexer.ll"
2515#line 156 "dhcp4_lexer.ll"
2519#line 157 "dhcp4_lexer.ll"
2526#line 161 "dhcp4_lexer.ll"
2531#line 162 "dhcp4_lexer.ll"
2536#line 163 "dhcp4_lexer.ll"
2541 std::string tmp(
yytext+1);
2542 tmp.resize(tmp.size() - 1);
2544 driver.includeFile(tmp);
2550#line 172 "dhcp4_lexer.ll"
2557#line 175 "dhcp4_lexer.ll"
2562#line 178 "dhcp4_lexer.ll"
2571#line 183 "dhcp4_lexer.ll"
2574 driver.loc_.lines(
yyleng);
2580#line 190 "dhcp4_lexer.ll"
2582 switch(driver.ctx_) {
2592#line 199 "dhcp4_lexer.ll"
2594 switch(driver.ctx_) {
2604#line 208 "dhcp4_lexer.ll"
2606 switch(driver.ctx_) {
2616#line 217 "dhcp4_lexer.ll"
2618 switch(driver.ctx_) {
2628#line 226 "dhcp4_lexer.ll"
2630 switch(driver.ctx_) {
2640#line 235 "dhcp4_lexer.ll"
2642 switch(driver.ctx_) {
2652#line 244 "dhcp4_lexer.ll"
2654 switch(driver.ctx_) {
2665#line 254 "dhcp4_lexer.ll"
2667 switch(driver.ctx_) {
2668 case Parser4Context::INTERFACES_CONFIG:
2677#line 263 "dhcp4_lexer.ll"
2679 switch(driver.ctx_) {
2680 case Parser4Context::OUTBOUND_INTERFACE:
2681 return Dhcp4Parser::make_SAME_AS_INBOUND(driver.loc_);
2683 return Dhcp4Parser::make_STRING(
"same-as-inbound", driver.loc_);
2689#line 272 "dhcp4_lexer.ll"
2691 switch(driver.ctx_) {
2692 case Parser4Context::OUTBOUND_INTERFACE:
2693 return Dhcp4Parser::make_USE_ROUTING(driver.loc_);
2695 return Dhcp4Parser::make_STRING(
"use-routing", driver.loc_);
2701#line 281 "dhcp4_lexer.ll"
2703 switch(driver.ctx_) {
2713#line 290 "dhcp4_lexer.ll"
2715 switch(driver.ctx_) {
2725#line 299 "dhcp4_lexer.ll"
2727 switch(driver.ctx_) {
2737#line 308 "dhcp4_lexer.ll"
2739 switch(driver.ctx_) {
2749#line 317 "dhcp4_lexer.ll"
2751 switch(driver.ctx_) {
2761#line 326 "dhcp4_lexer.ll"
2763 switch(driver.ctx_) {
2773#line 335 "dhcp4_lexer.ll"
2775 switch(driver.ctx_) {
2785#line 344 "dhcp4_lexer.ll"
2787 switch(driver.ctx_) {
2797#line 353 "dhcp4_lexer.ll"
2799 switch(driver.ctx_) {
2809#line 362 "dhcp4_lexer.ll"
2811 switch(driver.ctx_) {
2824#line 374 "dhcp4_lexer.ll"
2826 switch(driver.ctx_) {
2836#line 383 "dhcp4_lexer.ll"
2838 switch(driver.ctx_) {
2848#line 392 "dhcp4_lexer.ll"
2850 switch(driver.ctx_) {
2860#line 401 "dhcp4_lexer.ll"
2862 switch(driver.ctx_) {
2872#line 410 "dhcp4_lexer.ll"
2874 switch(driver.ctx_) {
2886#line 421 "dhcp4_lexer.ll"
2888 switch(driver.ctx_) {
2900#line 432 "dhcp4_lexer.ll"
2902 switch(driver.ctx_) {
2914#line 443 "dhcp4_lexer.ll"
2916 switch(driver.ctx_) {
2928#line 454 "dhcp4_lexer.ll"
2930 switch(driver.ctx_) {
2942#line 465 "dhcp4_lexer.ll"
2944 switch(driver.ctx_) {
2956#line 476 "dhcp4_lexer.ll"
2958 switch(driver.ctx_) {
2970#line 487 "dhcp4_lexer.ll"
2972 switch(driver.ctx_) {
2984#line 498 "dhcp4_lexer.ll"
2986 switch(driver.ctx_) {
2998#line 509 "dhcp4_lexer.ll"
3000 switch(driver.ctx_) {
3012#line 520 "dhcp4_lexer.ll"
3014 switch(driver.ctx_) {
3026#line 531 "dhcp4_lexer.ll"
3028 switch(driver.ctx_) {
3040#line 542 "dhcp4_lexer.ll"
3042 switch(driver.ctx_) {
3052#line 551 "dhcp4_lexer.ll"
3054 switch(driver.ctx_) {
3064#line 560 "dhcp4_lexer.ll"
3066 switch(driver.ctx_) {
3076#line 569 "dhcp4_lexer.ll"
3078 switch(driver.ctx_) {
3090#line 580 "dhcp4_lexer.ll"
3092 switch(driver.ctx_) {
3104#line 591 "dhcp4_lexer.ll"
3106 switch(driver.ctx_) {
3118#line 602 "dhcp4_lexer.ll"
3120 switch(driver.ctx_) {
3132#line 613 "dhcp4_lexer.ll"
3134 switch(driver.ctx_) {
3146#line 624 "dhcp4_lexer.ll"
3148 switch(driver.ctx_) {
3158#line 633 "dhcp4_lexer.ll"
3160 switch(driver.ctx_) {
3173#line 645 "dhcp4_lexer.ll"
3175 switch(driver.ctx_) {
3188#line 657 "dhcp4_lexer.ll"
3190 switch(driver.ctx_) {
3203#line 669 "dhcp4_lexer.ll"
3205 switch(driver.ctx_) {
3217#line 680 "dhcp4_lexer.ll"
3219 switch(driver.ctx_) {
3231#line 691 "dhcp4_lexer.ll"
3233 switch(driver.ctx_) {
3243#line 700 "dhcp4_lexer.ll"
3245 switch(driver.ctx_) {
3255#line 709 "dhcp4_lexer.ll"
3257 switch(driver.ctx_) {
3267#line 718 "dhcp4_lexer.ll"
3269 switch(driver.ctx_) {
3279#line 727 "dhcp4_lexer.ll"
3281 switch(driver.ctx_) {
3291#line 736 "dhcp4_lexer.ll"
3293 switch(driver.ctx_) {
3305#line 747 "dhcp4_lexer.ll"
3307 switch(driver.ctx_) {
3319#line 758 "dhcp4_lexer.ll"
3321 switch(driver.ctx_) {
3333#line 769 "dhcp4_lexer.ll"
3335 switch(driver.ctx_) {
3347#line 780 "dhcp4_lexer.ll"
3349 switch(driver.ctx_) {
3361#line 791 "dhcp4_lexer.ll"
3363 switch(driver.ctx_) {
3375#line 802 "dhcp4_lexer.ll"
3377 switch(driver.ctx_) {
3389#line 813 "dhcp4_lexer.ll"
3391 switch(driver.ctx_) {
3403#line 824 "dhcp4_lexer.ll"
3405 switch(driver.ctx_) {
3416#line 834 "dhcp4_lexer.ll"
3418 switch(driver.ctx_) {
3430#line 845 "dhcp4_lexer.ll"
3432 switch (driver.ctx_) {
3442#line 854 "dhcp4_lexer.ll"
3444 switch(driver.ctx_) {
3455#line 864 "dhcp4_lexer.ll"
3457 switch(driver.ctx_) {
3472#line 878 "dhcp4_lexer.ll"
3474 switch(driver.ctx_) {
3491#line 894 "dhcp4_lexer.ll"
3493 switch(driver.ctx_) {
3503#line 903 "dhcp4_lexer.ll"
3505 switch(driver.ctx_) {
3515#line 912 "dhcp4_lexer.ll"
3517 switch(driver.ctx_) {
3527#line 921 "dhcp4_lexer.ll"
3529 switch(driver.ctx_) {
3539#line 930 "dhcp4_lexer.ll"
3541 switch(driver.ctx_) {
3564#line 952 "dhcp4_lexer.ll"
3566 switch(driver.ctx_) {
3589#line 974 "dhcp4_lexer.ll"
3591 switch(driver.ctx_) {
3601#line 983 "dhcp4_lexer.ll"
3603 switch(driver.ctx_) {
3614#line 993 "dhcp4_lexer.ll"
3616 switch(driver.ctx_) {
3626#line 1002 "dhcp4_lexer.ll"
3628 switch(driver.ctx_) {
3640#line 1013 "dhcp4_lexer.ll"
3642 switch(driver.ctx_) {
3652#line 1022 "dhcp4_lexer.ll"
3654 switch(driver.ctx_) {
3664#line 1031 "dhcp4_lexer.ll"
3666 switch(driver.ctx_) {
3676#line 1040 "dhcp4_lexer.ll"
3678 switch(driver.ctx_) {
3688#line 1049 "dhcp4_lexer.ll"
3690 switch(driver.ctx_) {
3700#line 1058 "dhcp4_lexer.ll"
3702 switch(driver.ctx_) {
3714#line 1069 "dhcp4_lexer.ll"
3716 switch(driver.ctx_) {
3728#line 1080 "dhcp4_lexer.ll"
3730 switch(driver.ctx_) {
3742#line 1091 "dhcp4_lexer.ll"
3744 switch(driver.ctx_) {
3755#line 1101 "dhcp4_lexer.ll"
3757 switch(driver.ctx_) {
3767#line 1110 "dhcp4_lexer.ll"
3769 switch(driver.ctx_) {
3781#line 1121 "dhcp4_lexer.ll"
3783 switch(driver.ctx_) {
3795#line 1132 "dhcp4_lexer.ll"
3797 switch(driver.ctx_) {
3809#line 1143 "dhcp4_lexer.ll"
3811 switch(driver.ctx_) {
3823#line 1154 "dhcp4_lexer.ll"
3825 switch(driver.ctx_) {
3837#line 1166 "dhcp4_lexer.ll"
3839 switch(driver.ctx_) {
3849#line 1175 "dhcp4_lexer.ll"
3851 switch(driver.ctx_) {
3861#line 1184 "dhcp4_lexer.ll"
3863 switch(driver.ctx_) {
3873#line 1193 "dhcp4_lexer.ll"
3875 switch(driver.ctx_) {
3885#line 1202 "dhcp4_lexer.ll"
3887 switch(driver.ctx_) {
3897#line 1211 "dhcp4_lexer.ll"
3899 switch(driver.ctx_) {
3909#line 1220 "dhcp4_lexer.ll"
3911 switch(driver.ctx_) {
3921#line 1229 "dhcp4_lexer.ll"
3923 switch(driver.ctx_) {
3933#line 1238 "dhcp4_lexer.ll"
3935 switch(driver.ctx_) {
3945#line 1247 "dhcp4_lexer.ll"
3947 switch(driver.ctx_) {
3958#line 1257 "dhcp4_lexer.ll"
3960 switch(driver.ctx_) {
3972#line 1268 "dhcp4_lexer.ll"
3974 switch(driver.ctx_) {
3987#line 1280 "dhcp4_lexer.ll"
3989 switch(driver.ctx_) {
3999#line 1289 "dhcp4_lexer.ll"
4001 switch(driver.ctx_) {
4011#line 1298 "dhcp4_lexer.ll"
4013 switch(driver.ctx_) {
4024#line 1308 "dhcp4_lexer.ll"
4026 switch(driver.ctx_) {
4037#line 1318 "dhcp4_lexer.ll"
4039 switch(driver.ctx_) {
4050#line 1328 "dhcp4_lexer.ll"
4052 switch(driver.ctx_) {
4063#line 1338 "dhcp4_lexer.ll"
4065 switch(driver.ctx_) {
4076#line 1348 "dhcp4_lexer.ll"
4078 switch(driver.ctx_) {
4089#line 1358 "dhcp4_lexer.ll"
4091 switch(driver.ctx_) {
4101#line 1367 "dhcp4_lexer.ll"
4103 switch(driver.ctx_) {
4114#line 1377 "dhcp4_lexer.ll"
4116 switch(driver.ctx_) {
4126#line 1386 "dhcp4_lexer.ll"
4128 switch(driver.ctx_) {
4138#line 1395 "dhcp4_lexer.ll"
4140 switch(driver.ctx_) {
4150#line 1404 "dhcp4_lexer.ll"
4152 switch(driver.ctx_) {
4162#line 1413 "dhcp4_lexer.ll"
4164 switch(driver.ctx_) {
4175#line 1423 "dhcp4_lexer.ll"
4177 switch(driver.ctx_) {
4188#line 1433 "dhcp4_lexer.ll"
4190 switch(driver.ctx_) {
4200#line 1442 "dhcp4_lexer.ll"
4202 switch(driver.ctx_) {
4212#line 1452 "dhcp4_lexer.ll"
4214 switch(driver.ctx_) {
4224#line 1461 "dhcp4_lexer.ll"
4226 switch(driver.ctx_) {
4236#line 1470 "dhcp4_lexer.ll"
4238 switch(driver.ctx_) {
4248#line 1479 "dhcp4_lexer.ll"
4250 switch(driver.ctx_) {
4260#line 1488 "dhcp4_lexer.ll"
4262 switch(driver.ctx_) {
4272#line 1497 "dhcp4_lexer.ll"
4274 switch(driver.ctx_) {
4284#line 1506 "dhcp4_lexer.ll"
4286 switch(driver.ctx_) {
4296#line 1515 "dhcp4_lexer.ll"
4298 switch(driver.ctx_) {
4308#line 1524 "dhcp4_lexer.ll"
4310 switch(driver.ctx_) {
4320#line 1533 "dhcp4_lexer.ll"
4322 switch(driver.ctx_) {
4332#line 1542 "dhcp4_lexer.ll"
4334 switch(driver.ctx_) {
4344#line 1551 "dhcp4_lexer.ll"
4346 switch(driver.ctx_) {
4356#line 1560 "dhcp4_lexer.ll"
4358 switch(driver.ctx_) {
4368#line 1569 "dhcp4_lexer.ll"
4370 switch(driver.ctx_) {
4380#line 1578 "dhcp4_lexer.ll"
4382 switch(driver.ctx_) {
4392#line 1587 "dhcp4_lexer.ll"
4394 switch(driver.ctx_) {
4404#line 1596 "dhcp4_lexer.ll"
4406 switch(driver.ctx_) {
4416#line 1605 "dhcp4_lexer.ll"
4418 switch(driver.ctx_) {
4428#line 1614 "dhcp4_lexer.ll"
4430 switch(driver.ctx_) {
4440#line 1623 "dhcp4_lexer.ll"
4442 switch(driver.ctx_) {
4452#line 1632 "dhcp4_lexer.ll"
4454 switch(driver.ctx_) {
4464#line 1641 "dhcp4_lexer.ll"
4466 switch(driver.ctx_) {
4476#line 1650 "dhcp4_lexer.ll"
4478 switch(driver.ctx_) {
4488#line 1659 "dhcp4_lexer.ll"
4490 switch(driver.ctx_) {
4500#line 1668 "dhcp4_lexer.ll"
4502 switch(driver.ctx_) {
4512#line 1677 "dhcp4_lexer.ll"
4514 switch(driver.ctx_) {
4524#line 1686 "dhcp4_lexer.ll"
4526 switch(driver.ctx_) {
4536#line 1695 "dhcp4_lexer.ll"
4538 switch(driver.ctx_) {
4548#line 1704 "dhcp4_lexer.ll"
4550 switch(driver.ctx_) {
4560#line 1713 "dhcp4_lexer.ll"
4562 switch(driver.ctx_) {
4572#line 1722 "dhcp4_lexer.ll"
4574 switch(driver.ctx_) {
4584#line 1731 "dhcp4_lexer.ll"
4586 switch(driver.ctx_) {
4596#line 1740 "dhcp4_lexer.ll"
4598 switch(driver.ctx_) {
4608#line 1749 "dhcp4_lexer.ll"
4610 switch(driver.ctx_) {
4620#line 1758 "dhcp4_lexer.ll"
4622 switch(driver.ctx_) {
4632#line 1767 "dhcp4_lexer.ll"
4634 switch(driver.ctx_) {
4647#line 1779 "dhcp4_lexer.ll"
4649 switch(driver.ctx_) {
4662#line 1791 "dhcp4_lexer.ll"
4668 std::string tmp(
yytext+1);
4669 tmp.resize(tmp.size() - 1);
4675#line 1801 "dhcp4_lexer.ll"
4681 std::string tmp(
yytext+1);
4682 tmp.resize(tmp.size() - 1);
4688#line 1811 "dhcp4_lexer.ll"
4694 std::string tmp(
yytext+1);
4695 tmp.resize(tmp.size() - 1);
4701#line 1821 "dhcp4_lexer.ll"
4707 std::string tmp(
yytext+1);
4708 tmp.resize(tmp.size() - 1);
4714#line 1831 "dhcp4_lexer.ll"
4720 std::string tmp(
yytext+1);
4721 tmp.resize(tmp.size() - 1);
4727#line 1841 "dhcp4_lexer.ll"
4733 std::string tmp(
yytext+1);
4734 tmp.resize(tmp.size() - 1);
4740#line 1851 "dhcp4_lexer.ll"
4746 std::string tmp(
yytext+1);
4747 tmp.resize(tmp.size() - 1);
4753#line 1861 "dhcp4_lexer.ll"
4759 std::string tmp(
yytext+1);
4760 tmp.resize(tmp.size() - 1);
4766#line 1871 "dhcp4_lexer.ll"
4772 std::string tmp(
yytext+1);
4773 tmp.resize(tmp.size() - 1);
4779#line 1881 "dhcp4_lexer.ll"
4781 switch(driver.ctx_) {
4791#line 1890 "dhcp4_lexer.ll"
4793 switch(driver.ctx_) {
4803#line 1899 "dhcp4_lexer.ll"
4805 switch(driver.ctx_) {
4815#line 1908 "dhcp4_lexer.ll"
4817 switch(driver.ctx_) {
4827#line 1917 "dhcp4_lexer.ll"
4829 switch(driver.ctx_) {
4841#line 1928 "dhcp4_lexer.ll"
4843 switch(driver.ctx_) {
4855#line 1939 "dhcp4_lexer.ll"
4857 switch(driver.ctx_) {
4871#line 1952 "dhcp4_lexer.ll"
4873 switch(driver.ctx_) {
4887#line 1965 "dhcp4_lexer.ll"
4889 switch(driver.ctx_) {
4903#line 1978 "dhcp4_lexer.ll"
4905 switch(driver.ctx_) {
4915#line 1987 "dhcp4_lexer.ll"
4917 switch(driver.ctx_) {
4927#line 1996 "dhcp4_lexer.ll"
4929 switch(driver.ctx_) {
4939#line 2005 "dhcp4_lexer.ll"
4944 std::string raw(
yytext+1);
4945 size_t len = raw.size() - 1;
4947 std::string decoded;
4948 decoded.reserve(len);
4949 for (
size_t pos = 0; pos < len; ++pos) {
4955 driver.error(driver.loc_,
"Bad quote in \"" + raw +
"\"");
4961 driver.error(driver.loc_,
"Overflow escape in \"" + raw +
"\"");
4968 decoded.push_back(c);
4971 decoded.push_back(
'\b');
4974 decoded.push_back(
'\f');
4977 decoded.push_back(
'\n');
4980 decoded.push_back(
'\r');
4983 decoded.push_back(
'\t');
4988 if (pos + 4 > len) {
4990 driver.error(driver.loc_,
4991 "Overflow unicode escape in \"" + raw +
"\"");
4993 if ((raw[pos] !=
'0') || (raw[pos + 1] !=
'0')) {
4994 driver.error(driver.loc_,
4995 "Unsupported unicode escape in \"" + raw +
"\"",
5000 if ((c >=
'0') && (c <=
'9')) {
5002 }
else if ((c >=
'A') && (c <=
'F')) {
5003 b = (c -
'A' + 10) << 4;
5004 }
else if ((c >=
'a') && (c <=
'f')) {
5005 b = (c -
'a' + 10) << 4;
5008 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
5012 if ((c >=
'0') && (c <=
'9')) {
5014 }
else if ((c >=
'A') && (c <=
'F')) {
5016 }
else if ((c >=
'a') && (c <=
'f')) {
5020 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
5022 decoded.push_back(
static_cast<char>(b & 0xff));
5026 driver.error(driver.loc_,
"Bad escape in \"" + raw +
"\"");
5030 if ((c >= 0) && (c < 0x20)) {
5032 driver.error(driver.loc_,
"Invalid control in \"" + raw +
"\"");
5034 decoded.push_back(c);
5044#line 2106 "dhcp4_lexer.ll"
5047 std::string raw(
yytext+1);
5048 size_t len = raw.size() - 1;
5050 for (; pos < len; ++pos) {
5052 if ((c >= 0) && (c < 0x20)) {
5056 driver.error(driver.loc_,
5057 "Invalid control in " + std::string(
yytext),
5064#line 2122 "dhcp4_lexer.ll"
5067 std::string raw(
yytext+1);
5068 size_t len = raw.size() - 1;
5071 for (; pos < len; ++pos) {
5090 if ((pos + 4 > len) ||
5091 !std::isxdigit(raw[pos + 1]) ||
5092 !std::isxdigit(raw[pos + 2]) ||
5093 !std::isxdigit(raw[pos + 3]) ||
5094 !std::isxdigit(raw[pos + 4])) {
5105 std::string trailer =
"";
5106 if (raw[len - 1] ==
'\\') {
5109 driver.error(driver.loc_,
5110 "Bad escape in " + std::string(
yytext) + trailer,
5116#line 2171 "dhcp4_lexer.ll"
5119 std::string raw(
yytext+1);
5120 driver.error(driver.loc_,
5121 "Overflow escape in " + std::string(
yytext),
5127#line 2179 "dhcp4_lexer.ll"
5130 std::string raw(
yytext+1);
5131 size_t pos = raw.size() - 1;
5132 for (; pos > 0; --pos) {
5138 driver.error(driver.loc_,
5139 "Overflow unicode escape in " + std::string(
yytext),
5145#line 2194 "dhcp4_lexer.ll"
5150#line 2195 "dhcp4_lexer.ll"
5155#line 2196 "dhcp4_lexer.ll"
5160#line 2197 "dhcp4_lexer.ll"
5165#line 2198 "dhcp4_lexer.ll"
5170#line 2199 "dhcp4_lexer.ll"
5175#line 2201 "dhcp4_lexer.ll"
5179 int64_t integer = 0;
5185 integer = boost::lexical_cast<int64_t>(tmp);
5186 }
catch (
const boost::bad_lexical_cast &) {
5187 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
5196#line 2219 "dhcp4_lexer.ll"
5202 fp = boost::lexical_cast<double>(tmp);
5203 }
catch (
const boost::bad_lexical_cast &) {
5204 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to a floating point.");
5212#line 2232 "dhcp4_lexer.ll"
5220#line 2237 "dhcp4_lexer.ll"
5227#line 2241 "dhcp4_lexer.ll"
5228driver.error (driver.loc_,
"JSON true reserved keyword is lower case only");
5232#line 2243 "dhcp4_lexer.ll"
5233driver.error (driver.loc_,
"JSON false reserved keyword is lower case only");
5237#line 2245 "dhcp4_lexer.ll"
5238driver.error (driver.loc_,
"JSON null reserved keyword is lower case only");
5242#line 2247 "dhcp4_lexer.ll"
5243driver.error (driver.loc_,
"Invalid character: " + std::string(
yytext));
5246#line 2249 "dhcp4_lexer.ll"
5248 if (driver.states_.empty()) {
5251 driver.loc_ = driver.locs_.back();
5252 driver.locs_.pop_back();
5253 driver.file_ = driver.files_.back();
5254 driver.files_.pop_back();
5255 if (driver.sfile_) {
5256 fclose(driver.sfile_);
5259 if (!driver.sfiles_.empty()) {
5260 driver.sfile_ = driver.sfiles_.back();
5261 driver.sfiles_.pop_back();
5264 parser4__switch_to_buffer(driver.states_.back());
5265 driver.states_.pop_back();
5272#line 2272 "dhcp4_lexer.ll"
5275#line 5275 "dhcp4_lexer.cc"
5283 *
yy_cp = (yy_hold_char);
5317 (yy_c_buf_p) = (
yytext_ptr) + yy_amount_of_matched_text;
5319 yy_current_state = yy_get_previous_state( );
5330 yy_next_state = yy_try_NUL_trans( yy_current_state );
5334 if ( yy_next_state )
5337 yy_cp = ++(yy_c_buf_p);
5338 yy_current_state = yy_next_state;
5345 yy_cp = (yy_last_accepting_cpos);
5346 yy_current_state = (yy_last_accepting_state);
5347 goto yy_find_action;
5351 else switch ( yy_get_next_buffer( ) )
5355 (yy_did_buffer_switch_on_eof) = 0;
5376 if ( ! (yy_did_buffer_switch_on_eof) )
5386 yy_current_state = yy_get_previous_state( );
5388 yy_cp = (yy_c_buf_p);
5396 yy_current_state = yy_get_previous_state( );
5398 yy_cp = (yy_c_buf_p);
5400 goto yy_find_action;
5407 "fatal flex scanner internal error--no action found" );
5428static int yy_get_next_buffer (
void)
5435 int number_to_move, i;
5440 "fatal flex scanner internal error--end of buffer missed" );
5464 number_to_move = (int) ((yy_c_buf_p) - (
yytext_ptr) - 1);
5466 for ( i = 0; i < number_to_move; ++i )
5467 *(dest++) = *(source++);
5480 while ( num_to_read <= 0 )
5486 int yy_c_buf_p_offset =
5493 if ( new_size <= 0 )
5509 "fatal error - scanner input buffer overflow" );
5511 (yy_c_buf_p) = &b->
yy_ch_buf[yy_c_buf_p_offset];
5523 (yy_n_chars), num_to_read );
5528 if ( (yy_n_chars) == 0 )
5549 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
5553 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
5558 (yy_n_chars) += number_to_move;
5580 yy_current_state = (yy_start);
5586 if ( yy_accept[yy_current_state] )
5588 (yy_last_accepting_state) = yy_current_state;
5589 (yy_last_accepting_cpos) =
yy_cp;
5591 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5593 yy_current_state = (int) yy_def[yy_current_state];
5594 if ( yy_current_state >= 2007 )
5595 yy_c = yy_meta[yy_c];
5597 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
5600 return yy_current_state;
5616 char *
yy_cp = (yy_c_buf_p);
5619 if ( yy_accept[yy_current_state] )
5621 (yy_last_accepting_state) = yy_current_state;
5622 (yy_last_accepting_cpos) =
yy_cp;
5624 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5626 yy_current_state = (int) yy_def[yy_current_state];
5627 if ( yy_current_state >= 2007 )
5628 yy_c = yy_meta[yy_c];
5630 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
5631 yy_is_jam = (yy_current_state == 2006);
5633 return yy_is_jam ? 0 : yy_current_state;
5645 static int yyinput (
void)
5647 static int input (
void)
5656 *(yy_c_buf_p) = (yy_hold_char);
5666 *(yy_c_buf_p) =
'\0';
5670 int offset = (int) ((yy_c_buf_p) - (
yytext_ptr));
5673 switch ( yy_get_next_buffer( ) )
5696 if ( ! (yy_did_buffer_switch_on_eof) )
5712 c = *(
unsigned char *) (yy_c_buf_p);
5713 *(yy_c_buf_p) =
'\0';
5714 (yy_hold_char) = *++(yy_c_buf_p);
5772 *(yy_c_buf_p) = (yy_hold_char);
5785 (yy_did_buffer_switch_on_eof) = 1;
5801 (yy_hold_char) = *(yy_c_buf_p);
5949 if (new_buffer == NULL)
5958 *(yy_c_buf_p) = (yy_hold_char);
5965 (yy_buffer_stack_top)++;
5970 (yy_did_buffer_switch_on_eof) = 1;
5990 if ((yy_buffer_stack_top) > 0)
5991 --(yy_buffer_stack_top);
5995 (yy_did_buffer_switch_on_eof) = 1;
6012 if (!(yy_buffer_stack)) {
6022 if ( ! (yy_buffer_stack) )
6023 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
6025 memset((yy_buffer_stack), 0, num_to_alloc *
sizeof(
struct yy_buffer_state*));
6027 (yy_buffer_stack_max) = num_to_alloc;
6028 (yy_buffer_stack_top) = 0;
6032 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6037 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6042 if ( ! (yy_buffer_stack) )
6043 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
6046 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size *
sizeof(
struct yy_buffer_state*));
6047 (yy_buffer_stack_max) = num_to_alloc;
6126 for ( i = 0; i < _yybytes_len; ++i )
6127 buf[i] = yybytes[i];
6144#ifndef YY_EXIT_FAILURE
6145#define YY_EXIT_FAILURE 2
6149static void yynoreturn yy_fatal_error (
const char* msg )
6151 fprintf( stderr,
"%s\n", msg );
6165 int yyless_macro_arg = (n); \
6166 YY_LESS_LINENO(yyless_macro_arg);\
6167 yytext[yyleng] = (yy_hold_char); \
6168 (yy_c_buf_p) = yytext + yyless_macro_arg; \
6169 (yy_hold_char) = *(yy_c_buf_p); \
6170 *(yy_c_buf_p) = '\0'; \
6171 yyleng = yyless_macro_arg; \
6270static int yy_init_globals (
void)
6276 (yy_buffer_stack) = NULL;
6277 (yy_buffer_stack_top) = 0;
6278 (yy_buffer_stack_max) = 0;
6279 (yy_c_buf_p) = NULL;
6312 yyfree((yy_buffer_stack) );
6313 (yy_buffer_stack) = NULL;
6330static void yy_flex_strncpy (
char* s1,
const char * s2,
int n )
6334 for ( i = 0; i < n; ++i )
6339#ifdef YY_NEED_STRLEN
6340static int yy_flex_strlen (
const char * s )
6343 for ( n = 0; s[n]; ++n )
6352 return malloc(size);
6365 return realloc(ptr, size);
6370 free( (
char *) ptr );
6375#define YYTABLES_NAME "yytables"
6380#line 2272 "dhcp4_lexer.ll"
6386Parser4Context::scanStringBegin(
const std::string& str,
ParserType parser_type)
6388 start_token_flag =
true;
6389 start_token_value = parser_type;
6396 buffer = parser4__scan_bytes(str.c_str(), str.size());
6398 fatal(
"cannot scan string");
6405 const std::string& filename,
6408 start_token_flag =
true;
6409 start_token_value = parser_type;
6418 buffer = parser4__create_buffer(f, 65536 );
6420 fatal(
"cannot scan file " + filename);
6422 parser4__switch_to_buffer(buffer);
6430 static_cast<void>(parser4_lex_destroy());
6441 parser4__delete_buffer(
states_.back());
6449 fatal(
"Too many nested include.");
6452 FILE* f = fopen(filename.c_str(),
"r");
6454 fatal(
"Can't open include file " + filename);
6462 buffer = parser4__create_buffer(f, 65536 );
6464 fatal(
"Can't scan include file " + filename);
6466 parser4__switch_to_buffer(buffer);
6479 void dummy() { yy_fatal_error(
"Fix me: how to disable its definition?"); }
unsigned char flex_uint8_t
Evaluation error exception raised when trying to parse.
static symbol_type make_SOCKET_NAME(const location_type &l)
static symbol_type make_KEYSPACE(const location_type &l)
static symbol_type make_PERSIST(const location_type &l)
static symbol_type make_FLUSH_RECLAIMED_TIMER_WAIT_TIME(const location_type &l)
static symbol_type make_SUBNET_4O6_INTERFACE_ID(const location_type &l)
static symbol_type make_SUB_INTERFACES4(const location_type &l)
static symbol_type make_END(const location_type &l)
static symbol_type make_STATISTIC_DEFAULT_SAMPLE_COUNT(const location_type &l)
static symbol_type make_IP_RESERVATIONS_UNIQUE(const location_type &l)
static symbol_type make_CONTROL_SOCKET(const location_type &l)
static symbol_type make_THREAD_POOL_SIZE(const location_type &l)
static symbol_type make_GENERATED_PREFIX(const location_type &l)
static symbol_type make_SUB_OPTION_DATA(const location_type &l)
static symbol_type make_NAME(const location_type &l)
static symbol_type make_MATCH_CLIENT_ID(const location_type &l)
static symbol_type make_SERIAL_CONSISTENCY(const location_type &l)
static symbol_type make_MAX_RECLAIM_LEASES(const location_type &l)
static symbol_type make_STORE_EXTENDED_INFO(const location_type &l)
static symbol_type make_OVERRIDE_CLIENT_UPDATE(const location_type &l)
static symbol_type make_LFC_INTERVAL(const location_type &l)
static symbol_type make_HOLD_RECLAIMED_TIME(const location_type &l)
static symbol_type make_MEMFILE(const location_type &l)
static symbol_type make_CONNECT_TIMEOUT(const location_type &l)
static symbol_type make_OPTION_DEF(const location_type &l)
static symbol_type make_NULL_TYPE(const location_type &l)
static symbol_type make_OUTPUT_OPTIONS(const location_type &l)
static symbol_type make_ALL(const location_type &l)
static symbol_type make_SENDER_PORT(const location_type &l)
static symbol_type make_CACHE_MAX_AGE(const location_type &l)
static symbol_type make_NCR_PROTOCOL(const location_type &l)
static symbol_type make_CALCULATE_TEE_TIMES(const location_type &l)
static symbol_type make_RE_DETECT(const location_type &l)
static symbol_type make_RELAY(const location_type &l)
static symbol_type make_MAX_VALID_LIFETIME(const location_type &l)
static symbol_type make_SERVER_HOSTNAME(const location_type &l)
static symbol_type make_CQL(const location_type &l)
static symbol_type make_TEST(const location_type &l)
static symbol_type make_RECONNECT_WAIT_TIME(const location_type &l)
static symbol_type make_DHCP_MULTI_THREADING(const location_type &l)
static symbol_type make_ARRAY(const location_type &l)
static symbol_type make_SOCKET_TYPE(const location_type &l)
static symbol_type make_SPACE(const location_type &l)
static symbol_type make_HW_ADDRESS(const location_type &l)
static symbol_type make_MAX_RECLAIM_TIME(const location_type &l)
static symbol_type make_HOSTNAME_CHAR_REPLACEMENT(const location_type &l)
static symbol_type make_VALID_LIFETIME(const location_type &l)
static symbol_type make_MAXVER(const location_type &l)
static symbol_type make_BOOLEAN(const bool &v, const location_type &l)
static symbol_type make_INTERFACE(const location_type &l)
static symbol_type make_REBIND_TIMER(const location_type &l)
static symbol_type make_BOOT_FILE_NAME(const location_type &l)
static symbol_type make_SEVERITY(const location_type &l)
static symbol_type make_RESERVATIONS_IN_SUBNET(const location_type &l)
static symbol_type make_IP_ADDRESSES(const location_type &l)
static symbol_type make_DDNS_UPDATE_ON_RENEW(const location_type &l)
static symbol_type make_CONTACT_POINTS(const location_type &l)
static symbol_type make_INTERFACES_CONFIG(const location_type &l)
static symbol_type make_UDP(const location_type &l)
static symbol_type make_TCP(const location_type &l)
static symbol_type make_SUBNET4(const location_type &l)
static symbol_type make_COLON(const location_type &l)
static symbol_type make_SERVE_RETRY_CONTINUE(const location_type &l)
static symbol_type make_HOSTS_DATABASES(const location_type &l)
static symbol_type make_SUB_DHCP_DDNS(const location_type &l)
static symbol_type make_DDNS_SEND_UPDATES(const location_type &l)
static symbol_type make_CONSISTENCY(const location_type &l)
static symbol_type make_OVERRIDE_NO_UPDATE(const location_type &l)
static symbol_type make_LENIENT_OPTION_PARSING(const location_type &l)
static symbol_type make_MIN_VALID_LIFETIME(const location_type &l)
static symbol_type make_DDNS_QUALIFYING_SUFFIX(const location_type &l)
static symbol_type make_DECLINE_PROBATION_PERIOD(const location_type &l)
static symbol_type make_IP_ADDRESS(const location_type &l)
static symbol_type make_SUB_HOOKS_LIBRARY(const location_type &l)
static symbol_type make_ENABLE_QUEUE(const location_type &l)
static symbol_type make_SUBNET(const location_type &l)
static symbol_type make_FLOAT(const double &v, const location_type &l)
static symbol_type make_HOSTNAME(const location_type &l)
static symbol_type make_DDNS_REPLACE_CLIENT_NAME(const location_type &l)
static symbol_type make_SUB_RESERVATION(const location_type &l)
static symbol_type make_SUB_OPTION_DEFS(const location_type &l)
static symbol_type make_OPTION_DATA(const location_type &l)
static symbol_type make_POSTGRESQL(const location_type &l)
static symbol_type make_LOGGERS(const location_type &l)
static symbol_type make_MYSQL(const location_type &l)
static symbol_type make_UNWARNED_RECLAIM_CYCLES(const location_type &l)
static symbol_type make_LEASE_CHECKS(const location_type &l)
static symbol_type make_USER(const location_type &l)
static symbol_type make_GLOBAL(const location_type &l)
static symbol_type make_SERVER_IP(const location_type &l)
static symbol_type make_OUT_OF_POOL(const location_type &l)
static symbol_type make_HOSTS_DATABASE(const location_type &l)
static symbol_type make_QUEUE_TYPE(const location_type &l)
static symbol_type make_T1_PERCENT(const location_type &l)
static symbol_type make_RECLAIM_TIMER_WAIT_TIME(const location_type &l)
static symbol_type make_STOP_RETRY_EXIT(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_NO_UPDATE(const location_type &l)
static symbol_type make_ALWAYS_SEND(const location_type &l)
static symbol_type make_ECHO_CLIENT_ID(const location_type &l)
static symbol_type make_POOL(const location_type &l)
static symbol_type make_DATA(const location_type &l)
static symbol_type make_ENABLE_MULTI_THREADING(const location_type &l)
static symbol_type make_CSV_FORMAT(const location_type &l)
static symbol_type make_SERVER_PORT(const location_type &l)
static symbol_type make_SUB_SUBNET4(const location_type &l)
static symbol_type make_WHEN_NOT_PRESENT(const location_type &l)
static symbol_type make_LIBRARY(const location_type &l)
static symbol_type make_TCP_KEEPALIVE(const location_type &l)
static symbol_type make_ON_FAIL(const location_type &l)
static symbol_type make_JSON(const location_type &l)
static symbol_type make_LCURLY_BRACKET(const location_type &l)
static symbol_type make_RECORD_TYPES(const location_type &l)
static symbol_type make_INTEGER(const int64_t &v, const location_type &l)
static symbol_type make_DUID(const location_type &l)
static symbol_type make_PARAMETERS(const location_type &l)
static symbol_type make_SUBNET_4O6_INTERFACE(const location_type &l)
static symbol_type make_DHCP4(const location_type &l)
static symbol_type make_CAPACITY(const location_type &l)
static symbol_type make_STRING(const std::string &v, const location_type &l)
static symbol_type make_SUB_OPTION_DEF(const location_type &l)
static symbol_type make_TYPE(const location_type &l)
static symbol_type make_ONLY_IF_REQUIRED(const location_type &l)
static symbol_type make_PASSWORD(const location_type &l)
static symbol_type make_CONFIG_DATABASES(const location_type &l)
static symbol_type make_AUTHORITATIVE(const location_type &l)
static symbol_type make_HOST_RESERVATION_IDENTIFIERS(const location_type &l)
static symbol_type make_RESERVATION_MODE(const location_type &l)
static symbol_type make_MAX_ROW_ERRORS(const location_type &l)
static symbol_type make_INTERFACES(const location_type &l)
static symbol_type make_T2_PERCENT(const location_type &l)
static symbol_type make_READONLY(const location_type &l)
static symbol_type make_DDNS_USE_CONFLICT_RESOLUTION(const location_type &l)
static symbol_type make_LSQUARE_BRACKET(const location_type &l)
static symbol_type make_ENABLE_UPDATES(const location_type &l)
static symbol_type make_SERVER_TAG(const location_type &l)
static symbol_type make_DEBUGLEVEL(const location_type &l)
static symbol_type make_DHCP_QUEUE_CONTROL(const location_type &l)
static symbol_type make_TCP_NODELAY(const location_type &l)
static symbol_type make_MAXSIZE(const location_type &l)
static symbol_type make_PORT(const location_type &l)
static symbol_type make_FLEX_ID(const location_type &l)
static symbol_type make_CLIENT_CLASS(const location_type &l)
static symbol_type make_NEXT_SERVER(const location_type &l)
static symbol_type make_SANITY_CHECKS(const location_type &l)
static symbol_type make_EXPIRED_LEASES_PROCESSING(const location_type &l)
static symbol_type make_RAW(const location_type &l)
static symbol_type make_OUTBOUND_INTERFACE(const location_type &l)
static symbol_type make_REPLACE_CLIENT_NAME(const location_type &l)
static symbol_type make_RESERVATIONS_OUT_OF_POOL(const location_type &l)
static symbol_type make_ID(const location_type &l)
static symbol_type make_PATTERN(const location_type &l)
static symbol_type make_SUB_POOL4(const location_type &l)
static symbol_type make_NEVER(const location_type &l)
static symbol_type make_TOPLEVEL_JSON(const location_type &l)
static symbol_type make_RESERVATIONS_GLOBAL(const location_type &l)
static symbol_type make_RCURLY_BRACKET(const location_type &l)
static symbol_type make_COMMENT(const location_type &l)
static symbol_type make_RESERVATIONS(const location_type &l)
static symbol_type make_HOOKS_LIBRARIES(const location_type &l)
static symbol_type make_HOSTNAME_CHAR_SET(const location_type &l)
static symbol_type make_REQUEST_TIMEOUT(const location_type &l)
static symbol_type make_MAX_QUEUE_SIZE(const location_type &l)
static symbol_type make_SERVE_RETRY_EXIT(const location_type &l)
static symbol_type make_COMPATIBILITY(const location_type &l)
static symbol_type make_POOLS(const location_type &l)
static symbol_type make_DHCP_DDNS(const location_type &l)
static symbol_type make_ALWAYS(const location_type &l)
static symbol_type make_CLIENT_ID(const location_type &l)
static symbol_type make_SUB_CONFIG_CONTROL(const location_type &l)
static symbol_type make_TOPLEVEL_DHCP4(const location_type &l)
static symbol_type make_MAX_RECONNECT_TRIES(const location_type &l)
static symbol_type make_FLUSH(const location_type &l)
static symbol_type make_HOST(const location_type &l)
static symbol_type make_WHEN_PRESENT(const location_type &l)
static symbol_type make_SENDER_IP(const location_type &l)
static symbol_type make_DHCP_SOCKET_TYPE(const location_type &l)
static symbol_type make_CONFIG_CONTROL(const location_type &l)
static symbol_type make_CONFIG_FETCH_WAIT_TIME(const location_type &l)
static symbol_type make_DHCP4O6_PORT(const location_type &l)
static symbol_type make_QUALIFYING_SUFFIX(const location_type &l)
static symbol_type make_CODE(const location_type &l)
static symbol_type make_SHARED_NETWORKS(const location_type &l)
static symbol_type make_DDNS_GENERATED_PREFIX(const location_type &l)
static symbol_type make_USER_CONTEXT(const location_type &l)
static symbol_type make_NCR_FORMAT(const location_type &l)
static symbol_type make_DISABLED(const location_type &l)
static symbol_type make_REQUIRE_CLIENT_CLASSES(const location_type &l)
static symbol_type make_COMMA(const location_type &l)
static symbol_type make_SUB_DHCP4(const location_type &l)
static symbol_type make_SUBNET_4O6_SUBNET(const location_type &l)
static symbol_type make_OUTPUT(const location_type &l)
static symbol_type make_RSQUARE_BRACKET(const location_type &l)
static symbol_type make_RENEW_TIMER(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_CLIENT_UPDATE(const location_type &l)
static symbol_type make_CLIENT_CLASSES(const location_type &l)
static symbol_type make_ENCAPSULATE(const location_type &l)
static symbol_type make_STATISTIC_DEFAULT_SAMPLE_AGE(const location_type &l)
static symbol_type make_CIRCUIT_ID(const location_type &l)
static symbol_type make_CACHE_THRESHOLD(const location_type &l)
static symbol_type make_PARKED_PACKET_LIMIT(const location_type &l)
static symbol_type make_PACKET_QUEUE_SIZE(const location_type &l)
static symbol_type make_LEASE_DATABASE(const location_type &l)
void scanFileBegin(FILE *f, const std::string &filename, ParserType type)
Method called before scanning starts on a file.
std::vector< std::string > files_
File name stack.
void scanEnd()
Method called after the last tokens are scanned.
std::vector< FILE * > sfiles_
sFile (aka FILE) stack
std::string file_
File name.
@ SUBNET4
Used while parsing Dhcp4/Subnet4 structures.
@ DATABASE_TYPE
Used while parsing Dhcp4/*-database/type.
@ POOLS
Used while parsing Dhcp4/subnet4/pools structures.
@ CLIENT_CLASSES
Used while parsing Dhcp4/client-classes structures.
@ RESERVATIONS
Used while parsing Dhcp4/reservations structures.
@ HOSTS_DATABASE
Used while parsing Dhcp4/hosts-database[s] structures.
@ NCR_PROTOCOL
Used while parsing Dhcp4/dhcp-ddns/ncr-protocol.
@ LOGGERS
Used while parsing Dhcp4/loggers structures.
@ DATABASE_ON_FAIL
Used while parsing Dhcp4/*-database/on-fail.
@ NCR_FORMAT
Used while parsing Dhcp4/dhcp-ddns/ncr-format.
@ COMPATIBILITY
Used while parsing compatibility parameters.
@ CONFIG
Used while parsing content of Dhcp4.
@ OUTPUT_OPTIONS
Used while parsing Dhcp4/loggers/output_options structures.
@ RESERVATION_MODE
Used while parsing Dhcp4/reservation-mode.
@ CONTROL_SOCKET
Used while parsing Dhcp4/control-socket structures.
@ DHCP_DDNS
Used while parsing Dhcp4/dhcp-ddns.
@ OPTION_DATA
Used while parsing Dhcp4/option-data, Dhcp4/subnet4/option-data or anywhere option-data is present (c...
@ DHCP_MULTI_THREADING
Used while parsing Dhcp4/multi-threading structures.
@ LEASE_DATABASE
Used while parsing Dhcp4/lease-database structures.
@ SHARED_NETWORK
Used while parsing shared-networks structures.
@ EXPIRED_LEASES_PROCESSING
Used while parsing Dhcp4/expired-leases-processing.
@ SANITY_CHECKS
Sanity checks.
@ CONFIG_CONTROL
Used while parsing Dhcp4/config-control.
@ INTERFACES_CONFIG
Used while parsing Dhcp4/interfaces structures.
@ HOST_RESERVATION_IDENTIFIERS
Used while parsing Dhcp4/host-reservation-identifiers.
@ OPTION_DEF
Used while parsing Dhcp4/option-def structures.
@ CONFIG_DATABASE
Used while parsing config-control/config-databases.
@ HOOKS_LIBRARIES
Used while parsing Dhcp4/hooks-libraries.
@ DHCP_QUEUE_CONTROL
Used while parsing Dhcp4/dhcp-queue-control structures.
@ REPLACE_CLIENT_NAME
Used while parsing Dhcp4/dhcp-ddns/replace-client-name.
@ RELAY
Used while parsing Dhcp4/subnet4relay structures.
@ DHCP_SOCKET_TYPE
Used while parsing Dhcp4/interfaces/dhcp-socket-type structures.
ParserType
Defines currently supported scopes.
static void fatal(const std::string &what)
Fatal error handler.
FILE * sfile_
sFile (aka FILE)
std::vector< struct yy_buffer_state * > states_
Lexer state stack.
isc::dhcp::location loc_
Location of the current token.
void includeFile(const std::string &filename)
Divert input to an include file.
std::vector< isc::dhcp::location > locs_
Location 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.