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
89 #ifdef yy_flush_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
324 #include <inttypes.h>
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)
383 #define yyconst const
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
561 static size_t yy_buffer_stack_top = 0;
562 static size_t yy_buffer_stack_max = 0;
563 static YY_BUFFER_STATE * yy_buffer_stack = NULL;
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)]
588 static char yy_hold_char;
589 static int yy_n_chars;
593 static char *yy_c_buf_p = NULL;
594 static int yy_init = 0;
595 static int yy_start = 0;
600 static int yy_did_buffer_switch_on_eof;
616 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
620 YY_BUFFER_STATE
yy_scan_bytes (
const char *bytes,
int len );
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
677 static int yy_get_next_buffer (
void );
678 static 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 212
695 #define YY_END_OF_BUFFER 213
705 205, 205, 0, 0, 0, 0, 0, 0, 0, 0,
706 213, 211, 10, 11, 211, 1, 205, 202, 205, 205,
707 211, 204, 203, 211, 211, 211, 211, 211, 198, 199,
708 211, 211, 211, 200, 201, 5, 5, 5, 211, 211,
709 211, 10, 11, 0, 0, 193, 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, 205, 205,
713 0, 204, 205, 3, 2, 6, 0, 205, 0, 0,
714 0, 0, 0, 0, 4, 0, 0, 9, 0, 194,
716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 0, 196, 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, 195, 197, 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, 88,
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, 210, 208, 0, 207, 206,
739 0, 0, 0, 0, 0, 0, 0, 173, 0, 172,
740 0, 0, 94, 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 91, 0, 0, 0, 0, 0, 0, 0, 0, 0,
747 0, 0, 0, 0, 0, 0, 0, 0, 17, 0,
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, 18, 0,
752 0, 0, 0, 209, 206, 0, 0, 0, 0, 0,
753 0, 174, 0, 176, 0, 0, 0, 0, 0, 0,
754 0, 0, 0, 0, 0, 98, 0, 0, 0, 0,
755 0, 0, 0, 0, 80, 0, 0, 0, 0, 0,
756 0, 120, 0, 0, 0, 0, 0, 0, 0, 0,
757 0, 0, 38, 0, 0, 0, 0, 0, 0, 0,
758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
760 0, 0, 0, 0, 0, 0, 79, 0, 0, 0,
761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
762 0, 0, 83, 0, 39, 0, 0, 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, 117, 0, 31,
766 0, 0, 36, 0, 0, 0, 0, 0, 0, 12,
767 178, 177, 0, 0, 0, 130, 0, 0, 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, 109,
772 0, 0, 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, 33, 0,
775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
776 0, 0, 0, 0, 82, 0, 0, 0, 0, 0,
777 0, 0, 0, 0, 131, 0, 0, 0, 0, 0,
778 0, 0, 0, 0, 0, 0, 0, 0, 0, 126,
779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
780 0, 0, 0, 7, 0, 0, 179, 0, 0, 0,
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, 93, 0, 0,
786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
788 111, 0, 0, 0, 0, 0, 0, 0, 0, 0,
789 0, 0, 107, 0, 0, 0, 0, 0, 0, 0,
790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
793 0, 0, 0, 0, 0, 0, 86, 0, 0, 0,
794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
796 0, 85, 0, 0, 0, 0, 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, 124, 0, 0, 0, 0, 0, 0, 0, 0,
800 0, 0, 0, 0, 0, 0, 0, 0, 136, 105,
801 0, 0, 0, 0, 0, 0, 110, 32, 0, 0,
802 0, 0, 0, 47, 0, 0, 0, 0, 0, 0,
804 0, 0, 0, 112, 40, 0, 0, 0, 0, 0,
805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
807 0, 0, 0, 0, 0, 0, 74, 0, 0, 0,
808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
809 0, 0, 0, 0, 0, 0, 155, 0, 0, 0,
810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
812 0, 0, 90, 0, 0, 0, 0, 0, 0, 0,
813 0, 0, 0, 0, 125, 0, 0, 0, 0, 0,
815 0, 43, 0, 0, 0, 0, 0, 0, 0, 0,
816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
817 0, 0, 0, 0, 0, 0, 37, 0, 0, 0,
818 0, 30, 0, 0, 0, 0, 0, 0, 0, 0,
819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
820 0, 113, 0, 0, 0, 0, 0, 0, 0, 0,
821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
822 0, 0, 0, 0, 0, 0, 0, 0, 0, 122,
823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
824 0, 0, 0, 0, 0, 0, 0, 0, 156, 0,
826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
827 0, 0, 0, 0, 0, 0, 87, 0, 0, 0,
828 0, 0, 0, 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, 23, 0,
831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
832 161, 0, 0, 0, 0, 159, 0, 0, 0, 0,
833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
834 0, 0, 0, 0, 183, 0, 0, 0, 0, 0,
835 0, 0, 0, 123, 0, 0, 0, 0, 0, 0,
837 0, 0, 0, 127, 0, 0, 0, 0, 0, 0,
838 0, 108, 0, 0, 0, 0, 0, 0, 0, 0,
839 0, 0, 0, 0, 0, 0, 0, 0, 0, 121,
840 22, 0, 132, 0, 0, 0, 0, 0, 0, 0,
841 0, 0, 0, 0, 0, 0, 0, 165, 0, 0,
842 0, 0, 77, 0, 0, 0, 0, 0, 0, 135,
843 34, 0, 154, 0, 0, 0, 0, 0, 0, 0,
844 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
845 0, 0, 0, 0, 0, 0, 101, 102, 0, 0,
846 0, 0, 0, 0, 0, 0, 0, 0, 81, 0,
848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
849 44, 0, 0, 0, 0, 0, 0, 0, 0, 0,
850 0, 0, 0, 0, 0, 0, 0, 0, 129, 0,
851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
853 0, 0, 0, 187, 0, 78, 92, 0, 0, 0,
854 0, 0, 0, 0, 0, 0, 0, 60, 0, 0,
855 0, 0, 0, 0, 0, 162, 0, 0, 0, 160,
856 0, 151, 150, 0, 0, 0, 0, 53, 0, 0,
857 21, 0, 0, 0, 0, 175, 0, 0, 0, 0,
859 0, 116, 0, 0, 0, 0, 0, 0, 0, 0,
860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
861 144, 0, 0, 153, 0, 0, 0, 0, 0, 0,
862 0, 0, 0, 0, 133, 0, 15, 0, 0, 41,
863 0, 0, 0, 0, 0, 0, 0, 0, 0, 164,
864 0, 0, 0, 0, 0, 0, 0, 61, 0, 0,
865 128, 0, 0, 0, 0, 119, 0, 0, 0, 0,
866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
867 84, 0, 181, 0, 0, 186, 0, 104, 0, 0,
868 0, 191, 0, 0, 0, 0, 0, 0, 0, 0,
870 0, 0, 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, 14,
875 0, 0, 0, 0, 0, 0, 0, 0, 52, 0,
876 0, 0, 0, 0, 189, 0, 0, 114, 27, 0,
877 0, 0, 54, 149, 0, 0, 0, 0, 0, 0,
878 0, 0, 0, 0, 0, 184, 0, 157, 0, 0,
879 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
881 24, 0, 0, 163, 0, 0, 0, 56, 0, 0,
882 0, 0, 0, 106, 0, 0, 0, 0, 0, 0,
883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
884 0, 0, 0, 0, 0, 0, 0, 0, 57, 0,
885 0, 103, 0, 0, 0, 42, 0, 0, 0, 0,
886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
887 0, 0, 134, 0, 0, 0, 26, 0, 0, 0,
888 185, 0, 0, 0, 0, 0, 145, 0, 0, 0,
889 0, 0, 0, 0, 0, 0, 51, 0, 0, 0,
890 0, 0, 20, 0, 0, 0, 188, 76, 0, 48,
892 0, 0, 0, 182, 180, 0, 28, 0, 0, 0,
893 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
894 0, 0, 169, 0, 0, 0, 0, 0, 0, 0,
895 0, 142, 0, 0, 0, 118, 0, 0, 0, 0,
896 0, 0, 0, 0, 0, 89, 0, 0, 0, 0,
897 0, 49, 0, 0, 147, 0, 0, 0, 0, 0,
898 0, 0, 0, 66, 0, 0, 0, 0, 0, 0,
899 0, 0, 0, 0, 170, 13, 0, 0, 0, 0,
900 0, 0, 0, 0, 0, 148, 158, 0, 0, 0,
901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
903 0, 0, 0, 0, 0, 0, 0, 0, 0, 152,
904 0, 0, 0, 0, 0, 0, 0, 0, 141, 0,
905 59, 58, 19, 0, 166, 0, 0, 0, 0, 0,
906 0, 0, 45, 0, 0, 0, 0, 100, 0, 0,
907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
908 140, 0, 0, 0, 0, 55, 0, 0, 46, 168,
909 0, 95, 0, 0, 0, 0, 75, 0, 0, 0,
910 0, 0, 0, 0, 72, 0, 0, 0, 0, 0,
911 0, 0, 0, 0, 0, 0, 0, 0, 0, 50,
912 0, 0, 0, 70, 0, 0, 0, 0, 0, 0,
914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
915 0, 0, 0, 0, 29, 0, 0, 71, 0, 0,
916 0, 146, 0, 0, 0, 0, 190, 192, 167, 0,
917 115, 96, 0, 0, 0, 0, 67, 0, 0, 0,
918 0, 0, 0, 0, 138, 0, 0, 143, 0, 69,
919 0, 62, 0, 0, 0, 0, 97, 0, 0, 0,
920 137, 0, 0, 171, 0, 0, 0, 0, 0, 0,
921 0, 0, 68, 0, 0, 0, 0, 0, 73, 0,
922 99, 65, 0, 0, 0, 0, 64, 139, 0
925 static const YY_CHAR yy_ec[256] =
927 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
928 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
929 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
930 1, 4, 5, 6, 7, 5, 5, 5, 5, 5,
931 5, 8, 9, 10, 11, 12, 13, 14, 15, 16,
932 14, 17, 14, 18, 14, 14, 14, 19, 5, 20,
933 5, 21, 22, 5, 23, 24, 25, 26, 27, 28,
934 5, 29, 5, 30, 5, 31, 5, 32, 33, 34,
935 5, 35, 36, 37, 38, 39, 40, 5, 41, 5,
936 42, 43, 44, 5, 45, 5, 46, 47, 48, 49,
938 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
939 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
940 70, 71, 72, 5, 73, 5, 5, 5, 5, 5,
941 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
942 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
943 5, 5, 5, 5, 5, 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,
949 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
950 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
951 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,
957 static const YY_CHAR yy_meta[74] =
959 1, 1, 2, 1, 1, 3, 1, 1, 1, 1,
960 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
961 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
962 1, 1, 1, 1, 1, 1, 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,
971 0, 72, 21, 31, 43, 51, 54, 60, 91, 99,
972 2376, 2377, 34, 2372, 145, 0, 207, 2377, 214, 221,
973 13, 228, 2377, 2352, 118, 25, 2, 6, 2377, 2377,
974 73, 11, 17, 2377, 2377, 2377, 104, 2360, 2313, 0,
975 2350, 108, 2367, 24, 262, 2377, 2309, 67, 2315, 84,
976 75, 88, 224, 91, 89, 290, 220, 2307, 206, 285,
977 206, 204, 212, 60, 232, 2316, 247, 294, 315, 307,
978 286, 2299, 230, 325, 354, 328, 2318, 0, 366, 382,
979 397, 411, 404, 2377, 0, 2377, 419, 425, 216, 225,
980 229, 227, 319, 329, 2377, 2315, 2356, 2377, 300, 2377,
982 438, 2343, 390, 2312, 331, 10, 406, 311, 408, 414,
983 420, 2353, 0, 499, 409, 2295, 2292, 2296, 402, 2292,
984 2300, 406, 2296, 2285, 2286, 2291, 78, 2301, 2284, 2293,
985 2293, 95, 2284, 239, 2285, 2283, 396, 2331, 2335, 2275,
986 2328, 2268, 174, 2289, 2289, 2283, 336, 2276, 2274, 2275,
987 2267, 2272, 2266, 413, 2277, 346, 2262, 2261, 2275, 423,
988 2261, 430, 422, 2255, 472, 420, 432, 2276, 2273, 2274,
989 416, 2272, 2307, 2306, 423, 2252, 2252, 2253, 435, 2245,
990 2262, 2254, 0, 464, 475, 471, 466, 478, 510, 2253,
991 2377, 2298, 515, 2247, 475, 508, 514, 2301, 515, 2300,
993 511, 2299, 2377, 2377, 557, 2298, 530, 2257, 2249, 2236,
994 2247, 2251, 2252, 2249, 2246, 2245, 449, 493, 2288, 2282,
995 2246, 2227, 2224, 2232, 2227, 2241, 2237, 2225, 2237, 2237,
996 2228, 2212, 2216, 2229, 2231, 2228, 2220, 2210, 2228, 2377,
997 2223, 505, 2208, 2207, 2216, 2258, 2205, 2215, 2218, 545,
998 2214, 2253, 2198, 2200, 2211, 2249, 2194, 2252, 2206, 2186,
999 2201, 552, 2191, 2197, 2206, 2187, 2185, 2185, 2191, 2182,
1000 2181, 2188, 2178, 2237, 2193, 2192, 2186, 502, 2193, 2188,
1001 2180, 2170, 2185, 2184, 2179, 2183, 512, 2181, 2167, 2173,
1002 2180, 2162, 525, 2167, 2164, 2163, 341, 2158, 2172, 2171,
1004 2214, 2173, 558, 2164, 527, 2377, 2377, 528, 2377, 2377,
1005 2151, 533, 548, 2199, 564, 2209, 557, 2377, 2208, 2377,
1006 2202, 608, 2377, 549, 2142, 2151, 2199, 2159, 2142, 2159,
1007 2140, 2146, 2198, 2153, 2156, 2147, 2150, 2145, 547, 2377,
1008 2147, 2191, 2185, 2143, 2140, 583, 2146, 2186, 2180, 2133,
1009 2128, 2125, 2176, 2133, 2122, 2138, 2172, 2118, 605, 2132,
1010 2117, 2130, 2128, 2116, 2126, 2125, 2120, 2127, 2122, 2118,
1011 575, 2116, 2119, 2114, 2100, 2112, 2108, 2158, 566, 2152,
1012 2377, 2116, 2150, 2100, 2099, 2098, 2091, 2093, 2105, 2096,
1013 2085, 2102, 2097, 589, 2144, 2097, 2094, 2097, 2377, 2096,
1015 2085, 2085, 2097, 449, 2072, 2073, 2094, 548, 2076, 2127,
1016 2072, 2086, 2089, 2084, 2070, 2082, 2081, 2080, 2075, 2117,
1017 2077, 2076, 2075, 2074, 584, 2117, 2076, 2115, 2377, 2057,
1018 2056, 590, 2069, 2377, 2377, 2068, 2057, 2049, 603, 2108,
1019 2107, 2377, 2106, 2377, 612, 660, 615, 2105, 2047, 2058,
1020 2097, 2050, 2052, 2051, 2039, 2377, 2044, 2037, 2049, 2052,
1021 2035, 2050, 2037, 2036, 2377, 629, 2038, 2035, 566, 2033,
1022 2035, 2377, 2043, 2040, 2025, 2038, 2033, 639, 2040, 2028,
1023 2021, 2072, 2377, 2019, 2035, 2069, 2030, 2027, 2028, 2012,
1024 2029, 2063, 2014, 2013, 2008, 2007, 2058, 2002, 602, 2021,
1026 1995, 2002, 2007, 2017, 2051, 2055, 2377, 2000, 1996, 1994,
1027 2003, 2002, 1996, 2003, 1987, 1987, 1997, 1985, 1999, 1988,
1028 1984, 1982, 2377, 2039, 2377, 1981, 1992, 2031, 1976, 1981,
1029 1990, 1984, 1978, 1987, 2029, 2023, 1985, 1968, 1968, 1963,
1030 1983, 1958, 1964, 1969, 636, 1971, 1975, 1958, 2016, 1957,
1031 1957, 2008, 1953, 1954, 1953, 1965, 1954, 2377, 1964, 2377,
1032 1953, 1951, 2377, 1962, 1998, 1958, 1942, 1959, 1999, 2377,
1033 2377, 2377, 608, 631, 654, 2377, 1950, 1949, 605, 1956,
1034 1936, 1935, 1988, 1933, 1943, 1985, 1930, 1929, 1928, 1935,
1035 1928, 1940, 1922, 1922, 1937, 1936, 636, 1935, 1934, 1934,
1037 1916, 1921, 1962, 1929, 1921, 1966, 1910, 1926, 1925, 2377,
1038 1910, 1907, 1965, 1920, 1912, 1918, 1909, 1917, 1902, 1918,
1039 1900, 1912, 1913, 600, 1895, 1894, 1888, 1893, 1908, 1905,
1040 1906, 1885, 1895, 1901, 1944, 1899, 1891, 1882, 2377, 1883,
1041 1885, 1894, 1886, 1891, 1930, 1929, 1880, 16, 1889, 1926,
1042 1871, 1872, 1875, 1868, 2377, 1882, 1861, 1865, 1879, 1871,
1043 1916, 1868, 1875, 1913, 2377, 1858, 1872, 1856, 1870, 1873,
1044 1854, 1906, 1905, 1904, 1851, 1902, 1847, 1900, 1899, 2377,
1045 1844, 1858, 1857, 655, 1858, 1857, 1854, 1854, 1891, 1851,
1046 1834, 1839, 1841, 2377, 1847, 1837, 2377, 653, 653, 1831,
1048 1829, 1836, 1846, 1838, 1825, 1819, 1877, 648, 1881, 1839,
1049 664, 1874, 1834, 1872, 1871, 1823, 1821, 1829, 1828, 192,
1050 215, 255, 309, 343, 456, 433, 579, 634, 687, 652,
1051 650, 658, 648, 703, 711, 669, 671, 2377, 674, 669,
1052 661, 676, 681, 678, 681, 680, 668, 682, 680, 688,
1053 724, 686, 731, 732, 682, 674, 684, 731, 689, 739,
1054 2377, 740, 693, 695, 691, 685, 688, 746, 742, 705,
1055 694, 707, 2377, 697, 708, 697, 710, 712, 756, 757,
1056 700, 711, 696, 719, 698, 704, 759, 723, 707, 719,
1057 763, 764, 765, 712, 767, 731, 726, 733, 732, 730,
1059 715, 727, 729, 735, 725, 723, 2377, 787, 746, 747,
1060 737, 749, 739, 752, 737, 744, 750, 742, 756, 796,
1061 772, 759, 764, 761, 743, 750, 764, 809, 762, 760,
1062 769, 2377, 765, 760, 775, 772, 758, 765, 764, 762,
1063 781, 778, 766, 773, 774, 783, 787, 823, 785, 776,
1064 774, 773, 784, 780, 836, 793, 778, 779, 785, 801,
1065 791, 2377, 801, 801, 794, 805, 803, 848, 790, 792,
1066 807, 794, 793, 855, 812, 798, 804, 802, 2377, 2377,
1067 812, 817, 822, 810, 820, 822, 2377, 2377, 823, 810,
1068 828, 815, 809, 2377, 814, 832, 819, 869, 820, 872,
1070 818, 822, 880, 2377, 2377, 825, 829, 828, 825, 885,
1071 838, 828, 829, 825, 838, 849, 833, 851, 846, 847,
1072 849, 842, 844, 845, 841, 847, 847, 849, 864, 905,
1073 862, 867, 844, 867, 853, 852, 2377, 859, 860, 874,
1074 864, 862, 912, 870, 860, 875, 876, 863, 895, 903,
1075 872, 867, 922, 923, 885, 925, 2377, 888, 892, 933,
1076 883, 882, 877, 878, 890, 897, 886, 887, 883, 886,
1077 887, 897, 906, 943, 890, 909, 901, 896, 954, 911,
1078 912, 903, 2377, 905, 908, 916, 918, 903, 919, 913,
1079 960, 926, 910, 911, 2377, 927, 930, 913, 972, 915,
1081 934, 2377, 933, 936, 922, 917, 935, 975, 933, 929,
1082 926, 979, 980, 942, 928, 946, 945, 946, 932, 947,
1083 939, 946, 936, 954, 953, 940, 2377, 948, 954, 957,
1084 1002, 2377, 951, 956, 1000, 951, 964, 958, 962, 960,
1085 958, 960, 970, 1015, 959, 964, 961, 961, 1020, 964,
1086 976, 2377, 964, 972, 970, 1021, 963, 984, 970, 972,
1087 981, 993, 980, 978, 983, 993, 994, 999, 1040, 1012,
1088 1017, 999, 996, 992, 1006, 989, 989, 1049, 992, 2377,
1089 1003, 993, 1013, 1012, 1003, 992, 1009, 1016, 1059, 1020,
1090 1013, 1017, 1021, 1004, 1021, 1012, 1067, 1014, 2377, 1066,
1092 1013, 1016, 1015, 1016, 1016, 1037, 1034, 1039, 1040, 1026,
1093 1034, 1043, 1023, 1038, 1045, 1087, 2377, 1088, 1089, 1031,
1094 1041, 1051, 1035, 1055, 1043, 1039, 1046, 1055, 1043, 1050,
1095 1051, 1063, 1104, 1051, 1049, 1051, 1068, 1109, 1059, 1058,
1096 1064, 1062, 1060, 1055, 1116, 1117, 1113, 1119, 2377, 1076,
1097 1069, 1060, 1079, 1067, 1077, 1074, 1079, 1075, 1088, 1088,
1098 2377, 1072, 1074, 1070, 1076, 2377, 1077, 1137, 1076, 1095,
1099 1096, 1098, 1137, 1090, 1144, 1145, 1098, 1083, 1097, 1105,
1100 1104, 1088, 1093, 1111, 2377, 1133, 1124, 1156, 1096, 1118,
1101 1113, 1113, 1117, 2377, 1104, 1104, 1107, 1124, 1119, 1123,
1103 1168, 1116, 1120, 2377, 1112, 1129, 1109, 1130, 1120, 1171,
1104 1125, 2377, 1138, 1138, 1176, 1123, 1179, 1137, 1142, 1128,
1105 1188, 1131, 1142, 1134, 1140, 1136, 1154, 1155, 1156, 2377,
1106 2377, 1155, 2377, 1140, 1151, 1142, 1161, 1154, 1152, 1145,
1107 1157, 1201, 1165, 1154, 1161, 1162, 1168, 2377, 1161, 1213,
1108 1154, 1215, 2377, 1216, 1158, 1164, 1171, 1215, 1177, 2377,
1109 2377, 1164, 2377, 1166, 1180, 1185, 1168, 1227, 1184, 1185,
1110 1186, 1226, 1178, 1183, 1234, 1187, 1231, 1184, 1238, 2377,
1111 1185, 1240, 1241, 1198, 1199, 1201, 2377, 2377, 1184, 1246,
1112 1242, 1206, 1249, 1191, 1203, 1208, 1223, 1254, 2377, 1211,
1114 1204, 1213, 1204, 1215, 1260, 1197, 1208, 1223, 1259, 1211,
1115 2377, 1207, 1223, 1224, 1225, 1222, 1266, 1229, 1219, 1229,
1116 1235, 1222, 1218, 1278, 1231, 1275, 1282, 1239, 2377, 1241,
1117 1234, 1243, 1244, 1241, 1231, 1234, 1234, 1239, 1294, 1241,
1118 1296, 1239, 1244, 1299, 1295, 1236, 1251, 1244, 1248, 1261,
1119 1262, 1260, 1309, 2377, 1263, 2377, 2377, 1268, 1260, 1270,
1120 1255, 1311, 1257, 1318, 1262, 1272, 1321, 2377, 1269, 1269,
1121 1271, 1273, 1326, 1267, 1270, 2377, 1271, 1288, 1293, 2377,
1122 1277, 2377, 2377, 1290, 1273, 1293, 1294, 2377, 1281, 1289,
1123 2377, 1341, 1290, 1343, 1323, 2377, 1345, 1302, 1347, 1298,
1125 1345, 2377, 1293, 1352, 1302, 1296, 1293, 1296, 1299, 1299,
1126 1316, 1355, 1308, 1320, 1323, 1311, 1314, 1307, 1315, 1305,
1127 2377, 1327, 1312, 2377, 1314, 1315, 1330, 1330, 1333, 1333,
1128 1330, 1374, 1336, 1328, 2377, 1329, 2377, 1339, 1331, 2377,
1129 1337, 1342, 1343, 1340, 1384, 1332, 1347, 1348, 1340, 2377,
1130 1337, 1338, 1338, 1344, 1343, 1341, 1355, 2377, 1396, 1343,
1131 2377, 1344, 1344, 1346, 1352, 2377, 1361, 1355, 1410, 1352,
1132 1358, 1350, 1362, 1366, 1377, 1370, 1376, 1420, 1373, 1382,
1133 2377, 1379, 2377, 1376, 1399, 2377, 1426, 2377, 1384, 1369,
1134 1429, 2377, 1430, 1387, 1392, 1374, 1434, 1435, 1431, 1395,
1136 1392, 1388, 1381, 1436, 1394, 1395, 1385, 1390, 1446, 1400,
1137 1449, 1445, 1408, 1405, 1449, 1397, 1402, 1400, 1459, 1415,
1138 1403, 1462, 1458, 1421, 1465, 1426, 1415, 1409, 1469, 1411,
1139 1412, 1426, 1429, 1429, 1475, 1417, 1434, 1430, 1434, 1418,
1140 1476, 1477, 1424, 1479, 1442, 1435, 1434, 1428, 1446, 2377,
1141 1446, 1438, 1444, 1449, 1436, 1435, 1437, 1492, 2377, 1433,
1142 1451, 1500, 1458, 1471, 2377, 1503, 1456, 2377, 2377, 1447,
1143 1458, 1507, 2377, 2377, 1453, 1458, 1456, 1506, 1464, 1469,
1144 1457, 1473, 1462, 1461, 1475, 2377, 1463, 2377, 1466, 1517,
1145 1460, 1465, 1525, 1473, 1483, 1484, 2377, 1529, 1483, 1527,
1147 2377, 1478, 1534, 2377, 1477, 1492, 1480, 2377, 1490, 1491,
1148 1540, 1498, 1502, 2377, 1538, 1504, 1480, 1498, 1507, 1489,
1149 1496, 1550, 1509, 1508, 1499, 1549, 1496, 1556, 1504, 1499,
1150 1500, 1560, 1561, 1511, 1563, 1516, 1521, 1514, 2377, 1567,
1151 1568, 2377, 1517, 1570, 1512, 2377, 1515, 1525, 1569, 1517,
1152 1532, 1519, 1534, 1520, 1527, 1527, 1582, 1539, 1527, 1526,
1153 1586, 1539, 2377, 1583, 1534, 1531, 2377, 1545, 1532, 1553,
1154 2377, 1550, 1595, 1548, 1545, 1546, 2377, 1599, 1558, 1541,
1155 1543, 1559, 1541, 1557, 1558, 1567, 2377, 1557, 1609, 1569,
1156 1553, 1607, 2377, 1571, 1566, 1615, 2377, 2377, 1557, 2377,
1158 1564, 1618, 1614, 2377, 2377, 1576, 2377, 1616, 1578, 1579,
1159 1564, 1565, 1573, 1627, 1575, 1624, 1625, 1580, 2377, 1592,
1160 1579, 1586, 2377, 1583, 1588, 1586, 1638, 1639, 1587, 1584,
1161 1584, 2377, 1599, 1600, 1601, 2377, 1602, 1592, 1604, 1649,
1162 1650, 1592, 1600, 1601, 1614, 2377, 1615, 1596, 1603, 1594,
1163 1606, 2377, 1655, 1616, 2377, 1620, 1605, 1605, 1620, 1613,
1164 1612, 1623, 1610, 2377, 1626, 1614, 1617, 1673, 1631, 1633,
1165 1624, 1633, 1635, 1639, 2377, 2377, 1632, 1623, 1682, 1625,
1166 1684, 1685, 1686, 1644, 1688, 2377, 2377, 1684, 1646, 1647,
1167 1634, 1642, 1653, 1650, 1696, 1637, 1640, 1645, 1636, 1701,
1169 1654, 1655, 1645, 1662, 1661, 1702, 1646, 1665, 1666, 2377,
1170 1663, 1668, 1669, 1714, 1671, 1674, 1661, 1670, 2377, 1719,
1171 2377, 2377, 2377, 1680, 2377, 1662, 1722, 1723, 1666, 1725,
1172 1673, 1722, 2377, 1684, 1689, 1730, 1689, 2377, 1680, 1670,
1173 1729, 1695, 1688, 1684, 1738, 1681, 1683, 1688, 1684, 1686,
1174 2377, 1691, 1701, 1686, 1694, 2377, 1689, 1701, 2377, 2377,
1175 1706, 2377, 1707, 1697, 1753, 1702, 2377, 1704, 1712, 1757,
1176 1698, 1700, 1697, 1721, 2377, 1708, 1715, 1718, 1707, 1761,
1177 1708, 1716, 1725, 1724, 1727, 1720, 1715, 1715, 1721, 2377,
1178 1721, 1733, 1778, 2377, 1724, 1736, 1781, 1730, 1732, 1730,
1180 1785, 1738, 1725, 1740, 1745, 1790, 1791, 1792, 1749, 1794,
1181 1795, 1742, 1746, 1740, 2377, 1756, 1800, 2377, 1757, 1742,
1182 1760, 2377, 1751, 1765, 1761, 1754, 2377, 2377, 2377, 1808,
1183 2377, 2377, 1758, 1766, 1811, 1772, 2377, 1813, 1755, 1815,
1184 1770, 1769, 1770, 1760, 2377, 1820, 1816, 2377, 1763, 2377,
1185 1775, 2377, 1824, 1766, 1782, 1827, 2377, 1788, 1785, 1777,
1186 2377, 1827, 1776, 2377, 1788, 1781, 1836, 1784, 1779, 1781,
1187 1796, 1781, 2377, 1842, 1795, 1844, 1845, 1793, 2377, 1795,
1188 2377, 2377, 1789, 1805, 1850, 1851, 2377, 2377, 2377, 1857,
1189 1860, 1863, 1864, 1866, 1869, 1872, 1875
1195 1990, 1990, 1991, 1991, 1990, 1990, 1990, 1990, 1990, 1990,
1196 1989, 1989, 1989, 1989, 1989, 1992, 1989, 1989, 1989, 1989,
1197 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989,
1198 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1993,
1199 1989, 1989, 1989, 1994, 15, 1989, 45, 45, 45, 45,
1200 45, 45, 45, 45, 45, 1995, 45, 45, 45, 45,
1201 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1202 45, 45, 45, 45, 45, 45, 45, 1992, 1989, 1989,
1203 1989, 1989, 1989, 1989, 1996, 1989, 1989, 1989, 1989, 1989,
1204 1989, 1989, 1989, 1989, 1989, 1989, 1993, 1989, 1994, 1989,
1206 1989, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1207 45, 1997, 45, 1995, 45, 45, 45, 45, 45, 45,
1208 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1209 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1210 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1211 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1212 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1213 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1214 45, 45, 1996, 1989, 1989, 1989, 1989, 1989, 1989, 1989,
1215 1989, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1217 45, 1997, 1989, 1989, 114, 45, 45, 45, 45, 45,
1218 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1219 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1220 45, 45, 45, 45, 45, 45, 45, 45, 45, 1989,
1221 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1222 45, 45, 45, 45, 45, 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, 45,
1226 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1228 45, 45, 45, 45, 1989, 1989, 1989, 1989, 1989, 1989,
1229 1989, 45, 45, 45, 45, 45, 45, 1989, 45, 1989,
1230 45, 114, 1989, 45, 45, 45, 45, 45, 45, 45,
1231 45, 45, 45, 45, 45, 45, 45, 45, 45, 1989,
1232 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1233 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1234 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1235 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1236 1989, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1237 45, 45, 45, 45, 45, 45, 45, 45, 1989, 45,
1239 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1240 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1241 45, 45, 45, 45, 45, 45, 45, 45, 1989, 45,
1242 45, 45, 45, 1989, 1989, 1989, 45, 45, 45, 45,
1243 45, 1989, 45, 1989, 45, 114, 45, 45, 45, 45,
1244 45, 45, 45, 45, 45, 1989, 45, 45, 45, 45,
1245 45, 45, 45, 45, 1989, 45, 45, 45, 45, 45,
1246 45, 1989, 45, 45, 45, 45, 45, 45, 45, 45,
1247 45, 45, 1989, 45, 45, 45, 45, 45, 45, 45,
1248 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1250 45, 45, 45, 45, 45, 45, 1989, 45, 45, 45,
1251 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1252 45, 45, 1989, 45, 1989, 45, 45, 45, 45, 45,
1253 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1254 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1255 45, 45, 45, 45, 45, 45, 45, 1989, 45, 1989,
1256 45, 45, 1989, 45, 45, 1989, 45, 45, 45, 1989,
1257 1989, 1989, 45, 45, 45, 1989, 45, 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,
1261 45, 45, 45, 45, 45, 45, 45, 45, 45, 1989,
1262 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1263 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1264 45, 45, 45, 45, 45, 45, 45, 45, 1989, 45,
1265 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1266 45, 45, 45, 45, 1989, 45, 45, 45, 45, 45,
1267 45, 45, 45, 45, 1989, 45, 45, 45, 45, 45,
1268 45, 45, 45, 45, 45, 45, 45, 45, 45, 1989,
1269 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1270 45, 45, 45, 1989, 45, 45, 1989, 45, 45, 45,
1272 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1273 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1274 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1275 45, 45, 45, 45, 45, 45, 45, 1989, 45, 45,
1276 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1277 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1278 1989, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1279 45, 45, 1989, 45, 45, 45, 45, 45, 45, 45,
1280 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1281 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1283 45, 45, 45, 45, 45, 45, 1989, 45, 45, 45,
1284 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1285 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1286 45, 1989, 45, 45, 45, 45, 45, 45, 45, 45,
1287 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1288 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1289 45, 1989, 45, 45, 45, 45, 45, 45, 45, 45,
1290 45, 45, 45, 45, 45, 45, 45, 45, 1989, 1989,
1291 45, 45, 45, 45, 45, 45, 1989, 1989, 45, 45,
1292 45, 45, 45, 1989, 45, 45, 45, 45, 45, 45,
1294 45, 45, 45, 1989, 1989, 45, 45, 45, 45, 45,
1295 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1296 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1297 45, 45, 45, 45, 45, 45, 1989, 45, 45, 45,
1298 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1299 45, 45, 45, 45, 45, 45, 1989, 45, 45, 45,
1300 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1301 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1302 45, 45, 1989, 45, 45, 45, 45, 45, 45, 45,
1303 45, 45, 45, 45, 1989, 45, 45, 45, 45, 45,
1305 45, 1989, 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, 1989, 45, 45, 45,
1308 45, 1989, 45, 45, 45, 45, 45, 45, 45, 45,
1309 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1310 45, 1989, 45, 45, 45, 45, 45, 45, 45, 45,
1311 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1312 45, 45, 45, 45, 45, 45, 45, 45, 45, 1989,
1313 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1314 45, 45, 45, 45, 45, 45, 45, 45, 1989, 45,
1316 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1317 45, 45, 45, 45, 45, 45, 1989, 45, 45, 45,
1318 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1319 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1320 45, 45, 45, 45, 45, 45, 45, 45, 1989, 45,
1321 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1322 1989, 45, 45, 45, 45, 1989, 45, 45, 45, 45,
1323 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1324 45, 45, 45, 45, 1989, 45, 45, 45, 45, 45,
1325 45, 45, 45, 1989, 45, 45, 45, 45, 45, 45,
1327 45, 45, 45, 1989, 45, 45, 45, 45, 45, 45,
1328 45, 1989, 45, 45, 45, 45, 45, 45, 45, 45,
1329 45, 45, 45, 45, 45, 45, 45, 45, 45, 1989,
1330 1989, 45, 1989, 45, 45, 45, 45, 45, 45, 45,
1331 45, 45, 45, 45, 45, 45, 45, 1989, 45, 45,
1332 45, 45, 1989, 45, 45, 45, 45, 45, 45, 1989,
1333 1989, 45, 1989, 45, 45, 45, 45, 45, 45, 45,
1334 45, 45, 45, 45, 45, 45, 45, 45, 45, 1989,
1335 45, 45, 45, 45, 45, 45, 1989, 1989, 45, 45,
1336 45, 45, 45, 45, 45, 45, 45, 45, 1989, 45,
1338 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1339 1989, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1340 45, 45, 45, 45, 45, 45, 45, 45, 1989, 45,
1341 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1342 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1343 45, 45, 45, 1989, 45, 1989, 1989, 45, 45, 45,
1344 45, 45, 45, 45, 45, 45, 45, 1989, 45, 45,
1345 45, 45, 45, 45, 45, 1989, 45, 45, 45, 1989,
1346 45, 1989, 1989, 45, 45, 45, 45, 1989, 45, 45,
1347 1989, 45, 45, 45, 45, 1989, 45, 45, 45, 45,
1349 45, 1989, 45, 45, 45, 45, 45, 45, 45, 45,
1350 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1351 1989, 45, 45, 1989, 45, 45, 45, 45, 45, 45,
1352 45, 45, 45, 45, 1989, 45, 1989, 45, 45, 1989,
1353 45, 45, 45, 45, 45, 45, 45, 45, 45, 1989,
1354 45, 45, 45, 45, 45, 45, 45, 1989, 45, 45,
1355 1989, 45, 45, 45, 45, 1989, 45, 45, 45, 45,
1356 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1357 1989, 45, 1989, 45, 45, 1989, 45, 1989, 45, 45,
1358 45, 1989, 45, 45, 45, 45, 45, 45, 45, 45,
1360 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1361 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1362 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1363 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1364 45, 45, 45, 45, 45, 45, 45, 45, 45, 1989,
1365 45, 45, 45, 45, 45, 45, 45, 45, 1989, 45,
1366 45, 45, 45, 45, 1989, 45, 45, 1989, 1989, 45,
1367 45, 45, 1989, 1989, 45, 45, 45, 45, 45, 45,
1368 45, 45, 45, 45, 45, 1989, 45, 1989, 45, 45,
1369 45, 45, 45, 45, 45, 45, 1989, 45, 45, 45,
1371 1989, 45, 45, 1989, 45, 45, 45, 1989, 45, 45,
1372 45, 45, 45, 1989, 45, 45, 45, 45, 45, 45,
1373 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1374 45, 45, 45, 45, 45, 45, 45, 45, 1989, 45,
1375 45, 1989, 45, 45, 45, 1989, 45, 45, 45, 45,
1376 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1377 45, 45, 1989, 45, 45, 45, 1989, 45, 45, 45,
1378 1989, 45, 45, 45, 45, 45, 1989, 45, 45, 45,
1379 45, 45, 45, 45, 45, 45, 1989, 45, 45, 45,
1380 45, 45, 1989, 45, 45, 45, 1989, 1989, 45, 1989,
1382 45, 45, 45, 1989, 1989, 45, 1989, 45, 45, 45,
1383 45, 45, 45, 45, 45, 45, 45, 45, 1989, 45,
1384 45, 45, 1989, 45, 45, 45, 45, 45, 45, 45,
1385 45, 1989, 45, 45, 45, 1989, 45, 45, 45, 45,
1386 45, 45, 45, 45, 45, 1989, 45, 45, 45, 45,
1387 45, 1989, 45, 45, 1989, 45, 45, 45, 45, 45,
1388 45, 45, 45, 1989, 45, 45, 45, 45, 45, 45,
1389 45, 45, 45, 45, 1989, 1989, 45, 45, 45, 45,
1390 45, 45, 45, 45, 45, 1989, 1989, 45, 45, 45,
1391 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1393 45, 45, 45, 45, 45, 45, 45, 45, 45, 1989,
1394 45, 45, 45, 45, 45, 45, 45, 45, 1989, 45,
1395 1989, 1989, 1989, 45, 1989, 45, 45, 45, 45, 45,
1396 45, 45, 1989, 45, 45, 45, 45, 1989, 45, 45,
1397 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1398 1989, 45, 45, 45, 45, 1989, 45, 45, 1989, 1989,
1399 45, 1989, 45, 45, 45, 45, 1989, 45, 45, 45,
1400 45, 45, 45, 45, 1989, 45, 45, 45, 45, 45,
1401 45, 45, 45, 45, 45, 45, 45, 45, 45, 1989,
1402 45, 45, 45, 1989, 45, 45, 45, 45, 45, 45,
1404 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1405 45, 45, 45, 45, 1989, 45, 45, 1989, 45, 45,
1406 45, 1989, 45, 45, 45, 45, 1989, 1989, 1989, 45,
1407 1989, 1989, 45, 45, 45, 45, 1989, 45, 45, 45,
1408 45, 45, 45, 45, 1989, 45, 45, 1989, 45, 1989,
1409 45, 1989, 45, 45, 45, 45, 1989, 45, 45, 45,
1410 1989, 45, 45, 1989, 45, 45, 45, 45, 45, 45,
1411 45, 45, 1989, 45, 45, 45, 45, 45, 1989, 45,
1412 1989, 1989, 45, 45, 45, 45, 1989, 1989, 0, 1989,
1413 1989, 1989, 1989, 1989, 1989, 1989, 1989
1419 1989, 13, 14, 13, 1989, 15, 16, 1989, 17, 18,
1420 19, 20, 21, 22, 22, 22, 22, 22, 23, 24,
1421 84, 773, 37, 14, 37, 85, 25, 26, 38, 100,
1422 1989, 27, 37, 14, 37, 42, 28, 42, 38, 90,
1423 91, 29, 196, 30, 13, 14, 13, 89, 90, 25,
1424 31, 91, 13, 14, 13, 13, 14, 13, 32, 40,
1425 774, 13, 14, 13, 33, 40, 101, 90, 91, 196,
1426 89, 34, 35, 13, 14, 13, 93, 15, 16, 94,
1427 17, 18, 19, 20, 21, 22, 22, 22, 22, 22,
1428 23, 24, 13, 14, 13, 89, 39, 103, 25, 26,
1430 13, 14, 13, 27, 39, 42, 105, 42, 28, 42,
1431 106, 42, 41, 29, 107, 30, 110, 111, 92, 137,
1432 41, 25, 31, 103, 223, 224, 87, 138, 87, 105,
1433 32, 88, 88, 88, 88, 88, 33, 107, 106, 110,
1434 229, 111, 230, 34, 35, 44, 44, 44, 45, 45,
1435 46, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1436 45, 47, 45, 45, 45, 45, 45, 48, 45, 45,
1437 49, 45, 50, 45, 51, 45, 52, 45, 45, 45,
1438 45, 53, 54, 45, 55, 45, 45, 56, 45, 45,
1439 57, 58, 59, 60, 61, 62, 63, 64, 65, 51,
1441 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1442 76, 77, 55, 45, 45, 45, 45, 45, 79, 244,
1443 80, 80, 80, 80, 80, 79, 105, 82, 82, 82,
1444 82, 82, 245, 81, 83, 83, 83, 83, 83, 79,
1445 81, 82, 82, 82, 82, 82, 184, 81, 108, 105,
1446 103, 119, 845, 131, 81, 185, 81, 184, 109, 120,
1447 134, 135, 121, 81, 132, 122, 186, 123, 136, 124,
1448 81, 108, 184, 846, 133, 164, 115, 81, 45, 165,
1449 139, 185, 116, 187, 45, 117, 109, 45, 232, 45,
1450 140, 45, 141, 45, 186, 113, 143, 144, 45, 45,
1452 145, 45, 45, 847, 233, 100, 146, 45, 45, 45,
1453 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1454 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1455 125, 160, 45, 126, 127, 161, 45, 128, 129, 147,
1456 45, 107, 101, 148, 198, 162, 318, 149, 45, 185,
1457 130, 425, 45, 110, 45, 114, 259, 155, 848, 150,
1458 152, 195, 153, 151, 154, 156, 186, 157, 173, 174,
1459 166, 198, 158, 159, 167, 188, 179, 168, 108, 83,
1460 83, 83, 83, 83, 169, 170, 180, 195, 109, 171,
1461 172, 181, 81, 79, 189, 80, 80, 80, 80, 80,
1463 249, 175, 260, 176, 250, 87, 177, 87, 81, 849,
1464 88, 88, 88, 88, 88, 81, 109, 83, 83, 83,
1465 83, 83, 79, 178, 82, 82, 82, 82, 82, 193,
1466 81, 81, 88, 88, 88, 88, 88, 81, 88, 88,
1467 88, 88, 88, 99, 197, 199, 201, 200, 193, 211,
1468 99, 197, 236, 81, 216, 237, 198, 193, 212, 238,
1469 81, 292, 213, 217, 218, 206, 850, 272, 200, 201,
1470 264, 273, 197, 199, 200, 293, 207, 284, 285, 197,
1471 99, 257, 275, 297, 99, 265, 266, 267, 99, 269,
1472 286, 851, 270, 271, 287, 301, 99, 307, 288, 305,
1474 99, 305, 99, 99, 204, 306, 334, 533, 306, 335,
1475 315, 534, 205, 205, 205, 205, 205, 276, 277, 278,
1476 307, 205, 205, 205, 205, 205, 205, 305, 279, 308,
1477 280, 306, 281, 282, 309, 283, 307, 313, 315, 316,
1478 317, 319, 321, 336, 205, 205, 205, 205, 205, 205,
1479 362, 337, 313, 434, 434, 371, 338, 339, 403, 310,
1480 313, 404, 385, 317, 319, 413, 316, 363, 431, 321,
1481 322, 322, 322, 322, 322, 324, 434, 435, 414, 322,
1482 322, 322, 322, 322, 322, 420, 437, 421, 439, 439,
1483 441, 443, 462, 469, 523, 563, 438, 538, 386, 470,
1485 564, 539, 322, 322, 322, 322, 322, 322, 372, 463,
1486 483, 373, 387, 441, 600, 484, 508, 439, 447, 443,
1487 432, 446, 446, 446, 446, 446, 509, 601, 852, 602,
1488 446, 446, 446, 446, 446, 446, 498, 499, 569, 556,
1489 698, 500, 557, 573, 610, 574, 675, 749, 750, 611,
1490 569, 631, 524, 446, 446, 446, 446, 446, 446, 697,
1491 807, 632, 703, 485, 700, 699, 569, 698, 486, 704,
1492 573, 808, 574, 45, 45, 45, 45, 45, 575, 821,
1493 592, 853, 45, 45, 45, 45, 45, 45, 593, 820,
1494 594, 595, 596, 699, 597, 830, 722, 854, 676, 723,
1496 855, 831, 821, 856, 860, 45, 45, 45, 45, 45,
1497 45, 834, 835, 861, 836, 857, 862, 820, 863, 858,
1498 864, 865, 866, 859, 867, 868, 869, 870, 871, 872,
1499 873, 874, 875, 876, 877, 878, 879, 880, 881, 882,
1500 883, 885, 886, 884, 887, 888, 889, 890, 891, 892,
1501 893, 894, 895, 896, 897, 898, 899, 900, 901, 902,
1502 903, 904, 905, 906, 907, 908, 909, 910, 911, 912,
1503 913, 914, 915, 916, 917, 918, 919, 920, 921, 922,
1504 924, 925, 926, 927, 930, 931, 923, 932, 934, 935,
1505 928, 936, 937, 933, 929, 938, 939, 940, 941, 942,
1507 943, 944, 945, 946, 947, 948, 949, 950, 951, 952,
1508 953, 954, 955, 956, 957, 958, 959, 960, 961, 962,
1509 963, 964, 965, 966, 967, 968, 969, 970, 971, 972,
1510 973, 974, 975, 976, 977, 950, 978, 979, 980, 981,
1511 982, 983, 984, 985, 986, 987, 988, 989, 990, 991,
1512 992, 993, 994, 995, 997, 998, 999, 1000, 996, 1001,
1513 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011,
1514 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1021, 1022,
1515 1023, 1020, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031,
1516 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041,
1518 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051,
1519 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061,
1520 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071,
1521 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081,
1522 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091,
1523 1092, 1093, 1071, 1094, 1095, 1070, 1096, 1097, 1098, 1099,
1524 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109,
1525 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1119, 1120,
1526 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130,
1527 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140,
1529 1141, 1142, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151,
1530 1152, 1153, 1143, 1154, 1155, 1156, 1157, 1158, 1159, 1160,
1531 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170,
1532 1171, 1172, 1173, 1174, 1175, 1118, 1176, 1177, 1178, 1179,
1533 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1188, 1187, 1189,
1534 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199,
1535 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209,
1536 1210, 1211, 1212, 1213, 1186, 1187, 1214, 1215, 1216, 1217,
1537 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227,
1538 1228, 1229, 1230, 1231, 1233, 1235, 1236, 1237, 1232, 1238,
1540 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248,
1541 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258,
1542 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268,
1543 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1234, 1277,
1544 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287,
1545 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297,
1546 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307,
1547 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317,
1548 1318, 1319, 1297, 1320, 1321, 1322, 1323, 1324, 1298, 1325,
1549 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335,
1551 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345,
1552 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355,
1553 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365,
1554 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1374, 1375, 1376,
1555 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386,
1556 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396,
1557 1397, 1398, 1399, 1400, 1401, 1402, 1404, 1405, 1406, 1407,
1558 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417,
1559 1418, 1419, 1420, 1421, 1422, 1423, 1395, 1424, 1425, 1373,
1560 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435,
1562 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1445, 1403,
1563 1446, 1447, 1448, 1449, 1450, 1444, 1451, 1452, 1453, 1454,
1564 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464,
1565 1465, 1466, 1468, 1469, 1470, 1471, 1467, 1472, 1473, 1474,
1566 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1485,
1567 1486, 1487, 1488, 1484, 1489, 1490, 1491, 1492, 1493, 1494,
1568 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504,
1569 1505, 1506, 1485, 1507, 1508, 1509, 1510, 1511, 1512, 1513,
1570 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523,
1571 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533,
1573 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543,
1574 1544, 1545, 1546, 1549, 1547, 1550, 1551, 1552, 1553, 1554,
1575 1548, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563,
1576 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573,
1577 1574, 1575, 1576, 1578, 1579, 1580, 1581, 1582, 1583, 1584,
1578 1585, 1586, 1587, 1577, 1588, 1589, 1590, 1564, 1591, 1592,
1579 1593, 1594, 1595, 1596, 1597, 1599, 1600, 1601, 1602, 1603,
1580 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613,
1581 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623,
1582 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633,
1584 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643,
1585 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653,
1586 1654, 1655, 1598, 1656, 1657, 1658, 1659, 1660, 1661, 1662,
1587 1663, 1664, 1665, 1666, 1667, 1641, 1668, 1669, 1670, 1671,
1588 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681,
1589 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691,
1590 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701,
1591 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711,
1592 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721,
1593 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731,
1595 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741,
1596 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751,
1597 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761,
1598 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771,
1599 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781,
1600 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791,
1601 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801,
1602 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811,
1603 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821,
1604 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831,
1606 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841,
1607 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851,
1608 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861,
1609 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871,
1610 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881,
1611 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891,
1612 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901,
1613 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911,
1614 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921,
1615 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931,
1617 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941,
1618 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951,
1619 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961,
1620 1962, 1963, 1964, 1965, 1967, 1966, 1968, 1969, 1970, 1971,
1621 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981,
1622 1982, 1983, 1984, 1985, 1986, 1987, 1988, 12, 12, 12,
1623 36, 36, 36, 78, 97, 78, 99, 99, 99, 112,
1624 112, 112, 183, 844, 183, 202, 202, 202, 843, 842,
1625 841, 840, 839, 838, 837, 833, 832, 829, 828, 827,
1626 826, 825, 824, 823, 822, 819, 818, 817, 816, 815,
1628 814, 813, 812, 811, 810, 809, 806, 805, 804, 803,
1629 802, 801, 800, 799, 798, 797, 796, 795, 794, 793,
1630 792, 791, 790, 789, 788, 787, 786, 785, 784, 783,
1631 782, 781, 780, 779, 778, 777, 776, 775, 772, 771,
1632 770, 769, 768, 767, 766, 765, 764, 763, 762, 761,
1633 760, 759, 758, 757, 756, 755, 754, 753, 752, 751,
1634 748, 747, 746, 745, 744, 743, 742, 741, 740, 739,
1635 738, 737, 736, 735, 734, 733, 732, 731, 730, 729,
1636 728, 727, 726, 725, 724, 721, 720, 719, 718, 717,
1637 716, 715, 714, 713, 712, 711, 710, 709, 708, 707,
1639 706, 705, 702, 701, 697, 696, 695, 694, 693, 692,
1640 691, 690, 689, 688, 687, 686, 685, 684, 683, 682,
1641 681, 680, 679, 678, 677, 674, 673, 672, 671, 670,
1642 669, 668, 667, 666, 665, 664, 663, 662, 661, 660,
1643 659, 658, 657, 656, 655, 654, 653, 652, 651, 650,
1644 649, 648, 647, 646, 645, 644, 643, 642, 641, 640,
1645 639, 638, 637, 636, 635, 634, 633, 630, 629, 628,
1646 627, 626, 625, 624, 623, 622, 621, 620, 619, 618,
1647 617, 616, 615, 614, 613, 612, 609, 608, 607, 606,
1648 605, 604, 603, 599, 598, 591, 590, 589, 588, 587,
1650 586, 585, 584, 583, 582, 581, 580, 579, 578, 577,
1651 576, 572, 571, 570, 568, 567, 566, 565, 562, 561,
1652 560, 559, 558, 555, 554, 553, 552, 551, 550, 549,
1653 548, 547, 546, 545, 544, 543, 542, 541, 540, 537,
1654 536, 535, 532, 531, 530, 529, 528, 527, 526, 525,
1655 522, 521, 520, 519, 518, 517, 516, 515, 514, 513,
1656 512, 511, 510, 507, 506, 505, 504, 503, 502, 501,
1657 497, 496, 495, 494, 493, 492, 491, 490, 489, 488,
1658 487, 482, 481, 480, 479, 478, 477, 476, 475, 474,
1659 473, 472, 471, 468, 467, 466, 465, 464, 461, 460,
1661 459, 458, 457, 456, 455, 454, 453, 452, 451, 450,
1662 449, 448, 445, 444, 442, 440, 436, 433, 430, 429,
1663 428, 427, 426, 424, 423, 422, 419, 418, 417, 416,
1664 415, 412, 411, 410, 409, 408, 407, 406, 405, 402,
1665 401, 400, 399, 398, 397, 396, 395, 394, 393, 392,
1666 391, 390, 389, 388, 384, 383, 382, 381, 380, 379,
1667 378, 377, 376, 375, 374, 370, 369, 368, 367, 366,
1668 365, 364, 361, 360, 359, 358, 357, 356, 355, 354,
1669 353, 352, 351, 350, 349, 348, 347, 346, 345, 344,
1670 343, 342, 341, 340, 333, 332, 331, 330, 329, 328,
1672 327, 326, 325, 323, 203, 320, 318, 314, 312, 311,
1673 304, 303, 302, 300, 299, 298, 296, 295, 294, 291,
1674 290, 289, 274, 268, 263, 262, 261, 258, 256, 255,
1675 254, 253, 252, 251, 248, 247, 246, 243, 242, 241,
1676 240, 239, 235, 234, 231, 228, 227, 226, 225, 222,
1677 221, 220, 219, 215, 214, 210, 209, 208, 203, 194,
1678 192, 191, 190, 182, 163, 142, 118, 104, 102, 43,
1679 98, 96, 95, 86, 43, 1989, 11, 1989, 1989, 1989,
1680 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989,
1681 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989,
1683 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989,
1684 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989,
1685 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989,
1686 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989,
1687 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989
1692 0, 1, 1, 1, 0, 1, 1, 0, 1, 1,
1693 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1694 21, 648, 3, 3, 3, 21, 1, 1, 3, 44,
1695 0, 1, 4, 4, 4, 13, 1, 13, 4, 27,
1696 28, 1, 106, 1, 5, 5, 5, 26, 32, 1,
1697 1, 33, 6, 6, 6, 7, 7, 7, 1, 7,
1698 648, 8, 8, 8, 1, 8, 44, 27, 28, 106,
1699 26, 1, 1, 2, 2, 2, 32, 2, 2, 33,
1700 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1701 2, 2, 9, 9, 9, 31, 5, 48, 2, 2,
1703 10, 10, 10, 2, 6, 37, 50, 37, 2, 42,
1704 51, 42, 9, 2, 52, 2, 54, 55, 31, 64,
1705 10, 2, 2, 48, 127, 127, 25, 64, 25, 50,
1706 2, 25, 25, 25, 25, 25, 2, 52, 51, 54,
1707 132, 55, 132, 2, 2, 15, 15, 15, 15, 15,
1708 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1709 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1710 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1711 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1712 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1714 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
1715 15, 15, 15, 15, 15, 15, 15, 15, 17, 143,
1716 17, 17, 17, 17, 17, 19, 62, 19, 19, 19,
1717 19, 19, 143, 17, 20, 20, 20, 20, 20, 22,
1718 19, 22, 22, 22, 22, 22, 89, 20, 53, 62,
1719 57, 59, 720, 61, 22, 90, 17, 92, 53, 59,
1720 62, 63, 59, 19, 61, 59, 91, 59, 63, 59,
1721 20, 53, 89, 721, 61, 73, 57, 22, 45, 73,
1722 65, 90, 57, 92, 45, 57, 53, 45, 134, 45,
1723 65, 45, 65, 45, 91, 56, 67, 67, 45, 45,
1725 67, 45, 56, 722, 134, 99, 67, 45, 45, 45,
1726 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1727 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
1728 60, 71, 56, 60, 60, 71, 56, 60, 60, 68,
1729 56, 69, 99, 68, 108, 71, 297, 68, 56, 93,
1730 60, 297, 56, 76, 56, 56, 156, 70, 723, 68,
1731 69, 105, 69, 68, 69, 70, 94, 70, 75, 75,
1732 74, 108, 70, 70, 74, 93, 76, 74, 75, 79,
1733 79, 79, 79, 79, 74, 74, 76, 105, 75, 74,
1734 74, 76, 79, 80, 94, 80, 80, 80, 80, 80,
1736 147, 75, 156, 75, 147, 81, 75, 81, 80, 724,
1737 81, 81, 81, 81, 81, 79, 75, 83, 83, 83,
1738 83, 83, 82, 75, 82, 82, 82, 82, 82, 103,
1739 83, 80, 87, 87, 87, 87, 87, 82, 88, 88,
1740 88, 88, 88, 101, 107, 109, 111, 110, 115, 119,
1741 101, 154, 137, 83, 122, 137, 175, 103, 119, 137,
1742 82, 171, 119, 122, 122, 115, 725, 163, 179, 111,
1743 160, 163, 107, 109, 110, 171, 115, 166, 166, 154,
1744 101, 154, 165, 175, 101, 160, 160, 160, 101, 162,
1745 167, 726, 162, 162, 167, 179, 101, 186, 167, 184,
1747 101, 187, 101, 101, 114, 185, 217, 404, 188, 217,
1748 195, 404, 114, 114, 114, 114, 114, 165, 165, 165,
1749 186, 114, 114, 114, 114, 114, 114, 184, 165, 187,
1750 165, 185, 165, 165, 188, 165, 189, 193, 195, 196,
1751 197, 199, 201, 218, 114, 114, 114, 114, 114, 114,
1752 242, 218, 207, 305, 308, 250, 218, 218, 278, 189,
1753 193, 278, 262, 197, 199, 287, 196, 242, 303, 201,
1754 205, 205, 205, 205, 205, 207, 305, 308, 287, 205,
1755 205, 205, 205, 205, 205, 293, 312, 293, 313, 324,
1756 315, 317, 339, 346, 394, 432, 312, 408, 262, 346,
1758 432, 408, 205, 205, 205, 205, 205, 205, 250, 339,
1759 359, 250, 262, 315, 469, 359, 379, 313, 324, 317,
1760 303, 322, 322, 322, 322, 322, 379, 469, 727, 469,
1761 322, 322, 322, 322, 322, 322, 371, 371, 439, 425,
1762 573, 371, 425, 445, 478, 445, 545, 624, 624, 478,
1763 447, 499, 394, 322, 322, 322, 322, 322, 322, 575,
1764 684, 499, 579, 359, 575, 574, 439, 573, 359, 579,
1765 445, 684, 445, 446, 446, 446, 446, 446, 447, 699,
1766 466, 728, 446, 446, 446, 446, 446, 446, 466, 698,
1767 466, 466, 466, 574, 466, 708, 597, 729, 545, 597,
1769 730, 708, 699, 731, 733, 446, 446, 446, 446, 446,
1770 446, 711, 711, 734, 711, 732, 735, 698, 736, 732,
1771 737, 739, 740, 732, 741, 742, 743, 744, 745, 746,
1772 747, 748, 749, 750, 751, 752, 753, 754, 755, 756,
1773 757, 758, 759, 757, 760, 762, 763, 764, 765, 766,
1774 767, 768, 769, 770, 771, 772, 774, 775, 776, 777,
1775 778, 779, 780, 781, 782, 783, 784, 785, 786, 787,
1776 788, 789, 790, 791, 792, 793, 794, 795, 796, 797,
1777 798, 799, 800, 800, 801, 802, 797, 803, 804, 805,
1778 800, 806, 808, 803, 800, 809, 810, 811, 812, 813,
1780 814, 815, 816, 817, 818, 819, 820, 821, 822, 823,
1781 824, 825, 826, 827, 828, 829, 830, 831, 833, 834,
1782 835, 836, 837, 838, 839, 840, 841, 842, 843, 844,
1783 845, 846, 847, 848, 849, 821, 850, 851, 852, 853,
1784 854, 855, 856, 857, 858, 859, 860, 861, 863, 864,
1785 865, 866, 867, 868, 869, 870, 871, 872, 868, 873,
1786 874, 875, 876, 877, 878, 881, 882, 883, 884, 885,
1787 886, 889, 890, 891, 892, 893, 895, 896, 897, 898,
1788 899, 896, 900, 901, 902, 903, 906, 907, 908, 909,
1789 910, 911, 912, 913, 914, 915, 916, 917, 918, 919,
1791 920, 921, 922, 923, 924, 925, 926, 927, 928, 929,
1792 930, 931, 932, 933, 934, 935, 936, 938, 939, 940,
1793 941, 942, 943, 944, 945, 946, 947, 948, 949, 950,
1794 951, 952, 953, 954, 955, 956, 958, 959, 960, 961,
1795 962, 963, 964, 965, 966, 967, 968, 969, 970, 971,
1796 972, 973, 950, 974, 975, 949, 976, 977, 978, 979,
1797 980, 981, 982, 984, 985, 986, 987, 988, 989, 990,
1798 991, 992, 993, 994, 996, 997, 998, 999, 1000, 1001,
1799 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012,
1800 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022,
1802 1023, 1024, 1025, 1026, 1028, 1029, 1030, 1031, 1033, 1034,
1803 1035, 1036, 1024, 1037, 1038, 1039, 1040, 1041, 1042, 1043,
1804 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1053, 1054,
1805 1055, 1056, 1057, 1058, 1059, 999, 1060, 1061, 1062, 1063,
1806 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1072, 1071, 1073,
1807 1074, 1075, 1076, 1077, 1078, 1079, 1081, 1082, 1083, 1084,
1808 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094,
1809 1095, 1096, 1097, 1098, 1070, 1071, 1100, 1101, 1102, 1103,
1810 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113,
1811 1114, 1115, 1116, 1118, 1119, 1120, 1121, 1122, 1118, 1123,
1813 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133,
1814 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143,
1815 1144, 1145, 1146, 1147, 1148, 1150, 1151, 1152, 1153, 1154,
1816 1155, 1156, 1157, 1158, 1159, 1160, 1162, 1163, 1119, 1164,
1817 1165, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175,
1818 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1186,
1819 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1195, 1196, 1197,
1820 1198, 1199, 1200, 1201, 1202, 1203, 1205, 1206, 1207, 1208,
1821 1209, 1210, 1186, 1211, 1213, 1214, 1215, 1216, 1187, 1217,
1822 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227,
1824 1228, 1229, 1232, 1234, 1235, 1236, 1237, 1238, 1239, 1240,
1825 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1249, 1250, 1251,
1826 1252, 1254, 1255, 1256, 1257, 1258, 1259, 1262, 1264, 1265,
1827 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275,
1828 1276, 1277, 1278, 1279, 1281, 1282, 1283, 1284, 1285, 1286,
1829 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298,
1830 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309,
1831 1310, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320,
1832 1321, 1322, 1323, 1324, 1325, 1326, 1297, 1327, 1328, 1272,
1833 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339,
1835 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1305,
1836 1349, 1350, 1351, 1352, 1353, 1347, 1355, 1358, 1359, 1360,
1837 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1369, 1370, 1371,
1838 1372, 1373, 1374, 1375, 1377, 1378, 1373, 1378, 1379, 1381,
1839 1384, 1385, 1386, 1387, 1389, 1390, 1392, 1393, 1394, 1395,
1840 1397, 1398, 1399, 1394, 1400, 1401, 1403, 1404, 1405, 1406,
1841 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416,
1842 1417, 1418, 1395, 1419, 1420, 1422, 1423, 1425, 1426, 1427,
1843 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1436, 1438, 1439,
1844 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1451,
1846 1452, 1453, 1454, 1455, 1456, 1457, 1459, 1460, 1462, 1463,
1847 1464, 1465, 1467, 1468, 1467, 1469, 1470, 1471, 1472, 1473,
1848 1467, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1482, 1484,
1849 1485, 1487, 1489, 1490, 1491, 1493, 1494, 1495, 1496, 1497,
1850 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507,
1851 1508, 1509, 1510, 1500, 1511, 1512, 1513, 1485, 1514, 1515,
1852 1516, 1517, 1518, 1518, 1519, 1520, 1521, 1522, 1523, 1524,
1853 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534,
1854 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544,
1855 1545, 1546, 1547, 1548, 1549, 1551, 1552, 1553, 1554, 1555,
1857 1556, 1557, 1558, 1560, 1561, 1562, 1563, 1564, 1566, 1567,
1858 1570, 1571, 1572, 1575, 1576, 1577, 1578, 1579, 1580, 1581,
1859 1582, 1583, 1519, 1584, 1585, 1587, 1589, 1590, 1591, 1592,
1860 1593, 1594, 1595, 1596, 1598, 1564, 1599, 1600, 1602, 1603,
1861 1605, 1606, 1607, 1609, 1610, 1611, 1612, 1613, 1615, 1616,
1862 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626,
1863 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636,
1864 1637, 1638, 1640, 1641, 1643, 1644, 1645, 1647, 1648, 1649,
1865 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659,
1866 1660, 1661, 1662, 1664, 1665, 1666, 1668, 1669, 1670, 1672,
1868 1673, 1674, 1675, 1676, 1678, 1679, 1680, 1681, 1682, 1683,
1869 1684, 1685, 1686, 1688, 1689, 1690, 1691, 1692, 1694, 1695,
1870 1696, 1699, 1701, 1702, 1703, 1706, 1708, 1709, 1710, 1711,
1871 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1720, 1721, 1722,
1872 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1733, 1734,
1873 1735, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745,
1874 1747, 1748, 1749, 1750, 1751, 1753, 1754, 1756, 1757, 1758,
1875 1759, 1760, 1761, 1762, 1763, 1765, 1766, 1767, 1768, 1769,
1876 1770, 1771, 1772, 1773, 1774, 1777, 1778, 1779, 1780, 1781,
1877 1782, 1783, 1784, 1785, 1788, 1789, 1790, 1791, 1792, 1793,
1879 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803,
1880 1804, 1805, 1806, 1807, 1808, 1809, 1811, 1812, 1813, 1814,
1881 1815, 1816, 1817, 1818, 1820, 1824, 1826, 1827, 1828, 1829,
1882 1830, 1831, 1832, 1834, 1835, 1836, 1837, 1839, 1840, 1841,
1883 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1852,
1884 1853, 1854, 1855, 1857, 1858, 1861, 1863, 1864, 1865, 1866,
1885 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1876, 1877, 1878,
1886 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888,
1887 1889, 1891, 1892, 1893, 1895, 1896, 1897, 1898, 1899, 1900,
1888 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910,
1890 1911, 1912, 1913, 1914, 1916, 1917, 1919, 1920, 1921, 1923,
1891 1924, 1925, 1926, 1930, 1933, 1934, 1935, 1936, 1938, 1939,
1892 1940, 1941, 1942, 1943, 1944, 1946, 1947, 1949, 1951, 1953,
1893 1954, 1955, 1956, 1958, 1959, 1958, 1960, 1962, 1963, 1965,
1894 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1974, 1975, 1976,
1895 1977, 1978, 1980, 1983, 1984, 1985, 1986, 1990, 1990, 1990,
1896 1991, 1991, 1991, 1992, 1993, 1992, 1994, 1994, 1994, 1995,
1897 1995, 1995, 1996, 719, 1996, 1997, 1997, 1997, 718, 717,
1898 716, 715, 714, 713, 712, 710, 709, 707, 706, 705,
1899 704, 703, 702, 701, 700, 696, 695, 693, 692, 691,
1901 690, 689, 688, 687, 686, 685, 683, 682, 681, 679,
1902 678, 677, 676, 675, 674, 673, 672, 671, 670, 669,
1903 668, 667, 666, 664, 663, 662, 661, 660, 659, 658,
1904 657, 656, 654, 653, 652, 651, 650, 649, 647, 646,
1905 645, 644, 643, 642, 641, 640, 638, 637, 636, 635,
1906 634, 633, 632, 631, 630, 629, 628, 627, 626, 625,
1907 623, 622, 621, 620, 619, 618, 617, 616, 615, 614,
1908 613, 612, 611, 609, 608, 607, 606, 605, 604, 603,
1909 602, 601, 600, 599, 598, 596, 595, 594, 593, 592,
1910 591, 590, 589, 588, 587, 586, 585, 584, 583, 582,
1912 581, 580, 578, 577, 569, 568, 567, 566, 565, 564,
1913 562, 561, 559, 557, 556, 555, 554, 553, 552, 551,
1914 550, 549, 548, 547, 546, 544, 543, 542, 541, 540,
1915 539, 538, 537, 536, 535, 534, 533, 532, 531, 530,
1916 529, 528, 527, 526, 524, 522, 521, 520, 519, 518,
1917 517, 516, 515, 514, 513, 512, 511, 510, 509, 508,
1918 506, 505, 504, 503, 502, 501, 500, 498, 497, 496,
1919 495, 494, 493, 492, 491, 490, 489, 488, 487, 486,
1920 485, 484, 482, 481, 480, 479, 477, 476, 475, 474,
1921 473, 471, 470, 468, 467, 464, 463, 462, 461, 460,
1923 459, 458, 457, 455, 454, 453, 452, 451, 450, 449,
1924 448, 443, 441, 440, 438, 437, 436, 433, 431, 430,
1925 428, 427, 426, 424, 423, 422, 421, 420, 419, 418,
1926 417, 416, 415, 414, 413, 412, 411, 410, 409, 407,
1927 406, 405, 403, 402, 401, 400, 398, 397, 396, 395,
1928 393, 392, 391, 390, 389, 388, 387, 386, 385, 384,
1929 383, 382, 380, 378, 377, 376, 375, 374, 373, 372,
1930 370, 369, 368, 367, 366, 365, 364, 363, 362, 361,
1931 360, 358, 357, 356, 355, 354, 353, 352, 351, 350,
1932 349, 348, 347, 345, 344, 343, 342, 341, 338, 337,
1934 336, 335, 334, 333, 332, 331, 330, 329, 328, 327,
1935 326, 325, 321, 319, 316, 314, 311, 304, 302, 301,
1936 300, 299, 298, 296, 295, 294, 292, 291, 290, 289,
1937 288, 286, 285, 284, 283, 282, 281, 280, 279, 277,
1938 276, 275, 274, 273, 272, 271, 270, 269, 268, 267,
1939 266, 265, 264, 263, 261, 260, 259, 258, 257, 256,
1940 255, 254, 253, 252, 251, 249, 248, 247, 246, 245,
1941 244, 243, 241, 239, 238, 237, 236, 235, 234, 233,
1942 232, 231, 230, 229, 228, 227, 226, 225, 224, 223,
1943 222, 221, 220, 219, 216, 215, 214, 213, 212, 211,
1945 210, 209, 208, 206, 202, 200, 198, 194, 192, 190,
1946 182, 181, 180, 178, 177, 176, 174, 173, 172, 170,
1947 169, 168, 164, 161, 159, 158, 157, 155, 153, 152,
1948 151, 150, 149, 148, 146, 145, 144, 142, 141, 140,
1949 139, 138, 136, 135, 133, 131, 130, 129, 128, 126,
1950 125, 124, 123, 121, 120, 118, 117, 116, 112, 104,
1951 102, 97, 96, 77, 72, 66, 58, 49, 47, 43,
1952 41, 39, 38, 24, 14, 11, 1989, 1989, 1989, 1989,
1953 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989,
1954 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989,
1956 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989,
1957 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989,
1958 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989,
1959 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989,
1960 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989, 1989
1964 static char *yy_last_accepting_cpos;
1971 146, 148, 150, 155, 156, 161, 162, 163, 175, 178,
1972 183, 190, 199, 208, 217, 226, 235, 244, 254, 263,
1973 272, 281, 290, 299, 308, 317, 326, 335, 344, 353,
1974 362, 374, 383, 392, 401, 410, 421, 432, 443, 454,
1975 465, 476, 487, 498, 509, 520, 531, 542, 551, 560,
1976 569, 580, 591, 602, 613, 624, 633, 645, 657, 669,
1977 680, 691, 700, 709, 718, 727, 738, 749, 760, 771,
1978 782, 793, 804, 815, 825, 836, 845, 855, 869, 885,
1979 894, 903, 912, 921, 943, 965, 974, 984, 993, 1004,
1980 1013, 1022, 1031, 1040, 1049, 1060, 1071, 1082, 1092, 1101,
1982 1112, 1123, 1134, 1145, 1157, 1166, 1175, 1184, 1193, 1202,
1983 1211, 1220, 1229, 1238, 1248, 1259, 1271, 1280, 1289, 1299,
1984 1309, 1319, 1329, 1339, 1349, 1358, 1368, 1377, 1386, 1395,
1985 1404, 1414, 1424, 1433, 1443, 1452, 1461, 1470, 1479, 1488,
1986 1497, 1506, 1515, 1524, 1533, 1542, 1551, 1560, 1569, 1578,
1987 1587, 1596, 1605, 1614, 1623, 1632, 1641, 1650, 1659, 1668,
1988 1677, 1686, 1695, 1704, 1713, 1722, 1731, 1740, 1749, 1758,
1989 1770, 1782, 1792, 1802, 1812, 1822, 1832, 1842, 1852, 1862,
1990 1872, 1881, 1890, 1899, 1908, 1919, 1930, 1943, 1956, 1969,
1991 1978, 1987, 1996, 2097, 2113, 2162, 2170, 2185, 2186, 2187,
1993 2188, 2189, 2190, 2192, 2210, 2223, 2228, 2232, 2234, 2236,
2000 #define REJECT reject_used_but_not_detected
2001 #define yymore() yymore_used_but_not_detected
2002 #define YY_MORE_ADJ 0
2003 #define YY_RESTORE_YY_MORE_OFFSET
2005 #line 1 "dhcp4_lexer.ll"
2011 #line 8 "dhcp4_lexer.ll"
2014 #ifndef __clang_analyzer__
2023 #include <boost/lexical_cast.hpp>
2037 bool start_token_flag =
false;
2040 unsigned int comment_start_line = 0;
2047 #define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg)
2048 #line 2048 "dhcp4_lexer.cc"
2063 #define YY_NO_INPUT 1
2069 #line 95 "dhcp4_lexer.ll"
2073 #define YY_USER_ACTION driver.loc_.columns(yyleng);
2074 #line 2074 "dhcp4_lexer.cc"
2075 #line 2075 "dhcp4_lexer.cc"
2080 #define DIR_INCLUDE 3
2083 #ifndef YY_NO_UNISTD_H
2095 #ifndef YY_EXTRA_TYPE
2096 #define YY_EXTRA_TYPE void *
2103 static int yy_init_globals (
void );
2146 #ifndef YY_SKIP_YYWRAP
2148 extern "C" int yywrap (
void );
2150 extern int yywrap (
void );
2163 static void yy_flex_strncpy (
char *,
const char *,
int );
2166 #ifdef YY_NEED_STRLEN
2167 static int yy_flex_strlen (
const char * );
2174 static int yyinput (
void );
2176 static int input (
void );
2188 #ifndef YY_READ_BUF_SIZE
2191 #define YY_READ_BUF_SIZE 16384
2193 #define YY_READ_BUF_SIZE 8192
2203 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2213 #define YY_INPUT(buf,result,max_size) \
2215 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2219 for ( n = 0; n < max_size && \
2220 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2221 buf[n] = (char) c; \
2223 buf[n++] = (char) c; \
2224 if ( c == EOF && ferror( yyin ) ) \
2225 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2231 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2233 if( errno != EINTR) \
2235 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2253 #define yyterminate() return YY_NULL
2257 #ifndef YY_START_STACK_INCR
2258 #define YY_START_STACK_INCR 25
2262 #ifndef YY_FATAL_ERROR
2264 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2285 #define YY_DECL_IS_OURS 1
2288 extern int yylex (
void);
2290 #define YY_DECL int yylex (void)
2299 #ifndef YY_USER_ACTION
2300 #define YY_USER_ACTION
2305 #define YY_BREAK break;
2309 #define YY_RULE_SETUP \
2357 #line 101 "dhcp4_lexer.ll"
2361 #line 105 "dhcp4_lexer.ll"
2369 if (start_token_flag) {
2370 start_token_flag =
false;
2371 switch (start_token_value) {
2372 case Parser4Context::PARSER_JSON:
2375 case Parser4Context::PARSER_DHCP4:
2377 case Parser4Context::SUBPARSER_DHCP4:
2379 case Parser4Context::PARSER_INTERFACES:
2381 case Parser4Context::PARSER_SUBNET4:
2383 case Parser4Context::PARSER_POOL4:
2385 case Parser4Context::PARSER_HOST_RESERVATION:
2387 case Parser4Context::PARSER_OPTION_DEFS:
2389 case Parser4Context::PARSER_OPTION_DEF:
2391 case Parser4Context::PARSER_OPTION_DATA:
2393 case Parser4Context::PARSER_HOOKS_LIBRARY:
2395 case Parser4Context::PARSER_DHCP_DDNS:
2397 case Parser4Context::PARSER_CONFIG_CONTROL:
2403 #line 2403 "dhcp4_lexer.cc"
2408 yy_cp = (yy_c_buf_p);
2411 *yy_cp = (yy_hold_char);
2419 yy_current_state = (yy_start);
2424 if ( yy_accept[yy_current_state] )
2426 (yy_last_accepting_state) = yy_current_state;
2427 (yy_last_accepting_cpos) = yy_cp;
2429 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2431 yy_current_state = (int) yy_def[yy_current_state];
2432 if ( yy_current_state >= 1990 )
2433 yy_c = yy_meta[yy_c];
2435 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2438 while ( yy_current_state != 1989 );
2439 yy_cp = (yy_last_accepting_cpos);
2440 yy_current_state = (yy_last_accepting_state);
2444 yy_act = yy_accept[yy_current_state];
2456 fprintf( stderr,
"--scanner backing up\n" );
2457 else if ( yy_act < 212 )
2458 fprintf( stderr,
"--accepting rule at line %ld (\"%s\")\n",
2459 (
long)yy_rule_linenum[yy_act],
yytext );
2460 else if ( yy_act == 212 )
2461 fprintf( stderr,
"--accepting default rule (\"%s\")\n",
2463 else if ( yy_act == 213 )
2464 fprintf( stderr,
"--(end of buffer or a NUL)\n" );
2466 fprintf( stderr,
"--EOF (start condition %d)\n",
YY_START );
2474 *yy_cp = (yy_hold_char);
2475 yy_cp = (yy_last_accepting_cpos);
2476 yy_current_state = (yy_last_accepting_state);
2477 goto yy_find_action;
2481 #line 146 "dhcp4_lexer.ll"
2486 #line 148 "dhcp4_lexer.ll"
2491 #line 150 "dhcp4_lexer.ll"
2494 comment_start_line = driver.loc_.end.line;;
2499 #line 155 "dhcp4_lexer.ll"
2504 #line 156 "dhcp4_lexer.ll"
2508 #line 157 "dhcp4_lexer.ll"
2515 #line 161 "dhcp4_lexer.ll"
2520 #line 162 "dhcp4_lexer.ll"
2525 #line 163 "dhcp4_lexer.ll"
2530 std::string tmp(
yytext+1);
2531 tmp.resize(tmp.size() - 1);
2533 driver.includeFile(tmp);
2539 #line 172 "dhcp4_lexer.ll"
2546 #line 175 "dhcp4_lexer.ll"
2551 #line 178 "dhcp4_lexer.ll"
2560 #line 183 "dhcp4_lexer.ll"
2563 driver.loc_.lines(
yyleng);
2569 #line 190 "dhcp4_lexer.ll"
2571 switch(driver.ctx_) {
2581 #line 199 "dhcp4_lexer.ll"
2583 switch(driver.ctx_) {
2593 #line 208 "dhcp4_lexer.ll"
2595 switch(driver.ctx_) {
2605 #line 217 "dhcp4_lexer.ll"
2607 switch(driver.ctx_) {
2617 #line 226 "dhcp4_lexer.ll"
2619 switch(driver.ctx_) {
2629 #line 235 "dhcp4_lexer.ll"
2631 switch(driver.ctx_) {
2641 #line 244 "dhcp4_lexer.ll"
2643 switch(driver.ctx_) {
2654 #line 254 "dhcp4_lexer.ll"
2656 switch(driver.ctx_) {
2657 case Parser4Context::INTERFACES_CONFIG:
2666 #line 263 "dhcp4_lexer.ll"
2668 switch(driver.ctx_) {
2669 case Parser4Context::OUTBOUND_INTERFACE:
2670 return Dhcp4Parser::make_SAME_AS_INBOUND(driver.loc_);
2672 return Dhcp4Parser::make_STRING(
"same-as-inbound", driver.loc_);
2678 #line 272 "dhcp4_lexer.ll"
2680 switch(driver.ctx_) {
2681 case Parser4Context::OUTBOUND_INTERFACE:
2682 return Dhcp4Parser::make_USE_ROUTING(driver.loc_);
2684 return Dhcp4Parser::make_STRING(
"use-routing", driver.loc_);
2690 #line 281 "dhcp4_lexer.ll"
2692 switch(driver.ctx_) {
2702 #line 290 "dhcp4_lexer.ll"
2704 switch(driver.ctx_) {
2714 #line 299 "dhcp4_lexer.ll"
2716 switch(driver.ctx_) {
2726 #line 308 "dhcp4_lexer.ll"
2728 switch(driver.ctx_) {
2738 #line 317 "dhcp4_lexer.ll"
2740 switch(driver.ctx_) {
2750 #line 326 "dhcp4_lexer.ll"
2752 switch(driver.ctx_) {
2762 #line 335 "dhcp4_lexer.ll"
2764 switch(driver.ctx_) {
2774 #line 344 "dhcp4_lexer.ll"
2776 switch(driver.ctx_) {
2786 #line 353 "dhcp4_lexer.ll"
2788 switch(driver.ctx_) {
2798 #line 362 "dhcp4_lexer.ll"
2800 switch(driver.ctx_) {
2813 #line 374 "dhcp4_lexer.ll"
2815 switch(driver.ctx_) {
2825 #line 383 "dhcp4_lexer.ll"
2827 switch(driver.ctx_) {
2837 #line 392 "dhcp4_lexer.ll"
2839 switch(driver.ctx_) {
2849 #line 401 "dhcp4_lexer.ll"
2851 switch(driver.ctx_) {
2861 #line 410 "dhcp4_lexer.ll"
2863 switch(driver.ctx_) {
2875 #line 421 "dhcp4_lexer.ll"
2877 switch(driver.ctx_) {
2889 #line 432 "dhcp4_lexer.ll"
2891 switch(driver.ctx_) {
2903 #line 443 "dhcp4_lexer.ll"
2905 switch(driver.ctx_) {
2917 #line 454 "dhcp4_lexer.ll"
2919 switch(driver.ctx_) {
2931 #line 465 "dhcp4_lexer.ll"
2933 switch(driver.ctx_) {
2945 #line 476 "dhcp4_lexer.ll"
2947 switch(driver.ctx_) {
2959 #line 487 "dhcp4_lexer.ll"
2961 switch(driver.ctx_) {
2973 #line 498 "dhcp4_lexer.ll"
2975 switch(driver.ctx_) {
2987 #line 509 "dhcp4_lexer.ll"
2989 switch(driver.ctx_) {
3001 #line 520 "dhcp4_lexer.ll"
3003 switch(driver.ctx_) {
3015 #line 531 "dhcp4_lexer.ll"
3017 switch(driver.ctx_) {
3029 #line 542 "dhcp4_lexer.ll"
3031 switch(driver.ctx_) {
3041 #line 551 "dhcp4_lexer.ll"
3043 switch(driver.ctx_) {
3053 #line 560 "dhcp4_lexer.ll"
3055 switch(driver.ctx_) {
3065 #line 569 "dhcp4_lexer.ll"
3067 switch(driver.ctx_) {
3079 #line 580 "dhcp4_lexer.ll"
3081 switch(driver.ctx_) {
3093 #line 591 "dhcp4_lexer.ll"
3095 switch(driver.ctx_) {
3107 #line 602 "dhcp4_lexer.ll"
3109 switch(driver.ctx_) {
3121 #line 613 "dhcp4_lexer.ll"
3123 switch(driver.ctx_) {
3135 #line 624 "dhcp4_lexer.ll"
3137 switch(driver.ctx_) {
3147 #line 633 "dhcp4_lexer.ll"
3149 switch(driver.ctx_) {
3162 #line 645 "dhcp4_lexer.ll"
3164 switch(driver.ctx_) {
3177 #line 657 "dhcp4_lexer.ll"
3179 switch(driver.ctx_) {
3192 #line 669 "dhcp4_lexer.ll"
3194 switch(driver.ctx_) {
3206 #line 680 "dhcp4_lexer.ll"
3208 switch(driver.ctx_) {
3220 #line 691 "dhcp4_lexer.ll"
3222 switch(driver.ctx_) {
3232 #line 700 "dhcp4_lexer.ll"
3234 switch(driver.ctx_) {
3244 #line 709 "dhcp4_lexer.ll"
3246 switch(driver.ctx_) {
3256 #line 718 "dhcp4_lexer.ll"
3258 switch(driver.ctx_) {
3268 #line 727 "dhcp4_lexer.ll"
3270 switch(driver.ctx_) {
3282 #line 738 "dhcp4_lexer.ll"
3284 switch(driver.ctx_) {
3296 #line 749 "dhcp4_lexer.ll"
3298 switch(driver.ctx_) {
3310 #line 760 "dhcp4_lexer.ll"
3312 switch(driver.ctx_) {
3324 #line 771 "dhcp4_lexer.ll"
3326 switch(driver.ctx_) {
3338 #line 782 "dhcp4_lexer.ll"
3340 switch(driver.ctx_) {
3352 #line 793 "dhcp4_lexer.ll"
3354 switch(driver.ctx_) {
3366 #line 804 "dhcp4_lexer.ll"
3368 switch(driver.ctx_) {
3380 #line 815 "dhcp4_lexer.ll"
3382 switch(driver.ctx_) {
3393 #line 825 "dhcp4_lexer.ll"
3395 switch(driver.ctx_) {
3407 #line 836 "dhcp4_lexer.ll"
3409 switch (driver.ctx_) {
3419 #line 845 "dhcp4_lexer.ll"
3421 switch(driver.ctx_) {
3432 #line 855 "dhcp4_lexer.ll"
3434 switch(driver.ctx_) {
3449 #line 869 "dhcp4_lexer.ll"
3451 switch(driver.ctx_) {
3468 #line 885 "dhcp4_lexer.ll"
3470 switch(driver.ctx_) {
3480 #line 894 "dhcp4_lexer.ll"
3482 switch(driver.ctx_) {
3492 #line 903 "dhcp4_lexer.ll"
3494 switch(driver.ctx_) {
3504 #line 912 "dhcp4_lexer.ll"
3506 switch(driver.ctx_) {
3516 #line 921 "dhcp4_lexer.ll"
3518 switch(driver.ctx_) {
3541 #line 943 "dhcp4_lexer.ll"
3543 switch(driver.ctx_) {
3566 #line 965 "dhcp4_lexer.ll"
3568 switch(driver.ctx_) {
3578 #line 974 "dhcp4_lexer.ll"
3580 switch(driver.ctx_) {
3591 #line 984 "dhcp4_lexer.ll"
3593 switch(driver.ctx_) {
3603 #line 993 "dhcp4_lexer.ll"
3605 switch(driver.ctx_) {
3617 #line 1004 "dhcp4_lexer.ll"
3619 switch(driver.ctx_) {
3629 #line 1013 "dhcp4_lexer.ll"
3631 switch(driver.ctx_) {
3641 #line 1022 "dhcp4_lexer.ll"
3643 switch(driver.ctx_) {
3653 #line 1031 "dhcp4_lexer.ll"
3655 switch(driver.ctx_) {
3665 #line 1040 "dhcp4_lexer.ll"
3667 switch(driver.ctx_) {
3677 #line 1049 "dhcp4_lexer.ll"
3679 switch(driver.ctx_) {
3691 #line 1060 "dhcp4_lexer.ll"
3693 switch(driver.ctx_) {
3705 #line 1071 "dhcp4_lexer.ll"
3707 switch(driver.ctx_) {
3719 #line 1082 "dhcp4_lexer.ll"
3721 switch(driver.ctx_) {
3732 #line 1092 "dhcp4_lexer.ll"
3734 switch(driver.ctx_) {
3744 #line 1101 "dhcp4_lexer.ll"
3746 switch(driver.ctx_) {
3758 #line 1112 "dhcp4_lexer.ll"
3760 switch(driver.ctx_) {
3772 #line 1123 "dhcp4_lexer.ll"
3774 switch(driver.ctx_) {
3786 #line 1134 "dhcp4_lexer.ll"
3788 switch(driver.ctx_) {
3800 #line 1145 "dhcp4_lexer.ll"
3802 switch(driver.ctx_) {
3814 #line 1157 "dhcp4_lexer.ll"
3816 switch(driver.ctx_) {
3826 #line 1166 "dhcp4_lexer.ll"
3828 switch(driver.ctx_) {
3838 #line 1175 "dhcp4_lexer.ll"
3840 switch(driver.ctx_) {
3850 #line 1184 "dhcp4_lexer.ll"
3852 switch(driver.ctx_) {
3862 #line 1193 "dhcp4_lexer.ll"
3864 switch(driver.ctx_) {
3874 #line 1202 "dhcp4_lexer.ll"
3876 switch(driver.ctx_) {
3886 #line 1211 "dhcp4_lexer.ll"
3888 switch(driver.ctx_) {
3898 #line 1220 "dhcp4_lexer.ll"
3900 switch(driver.ctx_) {
3910 #line 1229 "dhcp4_lexer.ll"
3912 switch(driver.ctx_) {
3922 #line 1238 "dhcp4_lexer.ll"
3924 switch(driver.ctx_) {
3935 #line 1248 "dhcp4_lexer.ll"
3937 switch(driver.ctx_) {
3949 #line 1259 "dhcp4_lexer.ll"
3951 switch(driver.ctx_) {
3964 #line 1271 "dhcp4_lexer.ll"
3966 switch(driver.ctx_) {
3976 #line 1280 "dhcp4_lexer.ll"
3978 switch(driver.ctx_) {
3988 #line 1289 "dhcp4_lexer.ll"
3990 switch(driver.ctx_) {
4001 #line 1299 "dhcp4_lexer.ll"
4003 switch(driver.ctx_) {
4014 #line 1309 "dhcp4_lexer.ll"
4016 switch(driver.ctx_) {
4027 #line 1319 "dhcp4_lexer.ll"
4029 switch(driver.ctx_) {
4040 #line 1329 "dhcp4_lexer.ll"
4042 switch(driver.ctx_) {
4053 #line 1339 "dhcp4_lexer.ll"
4055 switch(driver.ctx_) {
4066 #line 1349 "dhcp4_lexer.ll"
4068 switch(driver.ctx_) {
4078 #line 1358 "dhcp4_lexer.ll"
4080 switch(driver.ctx_) {
4091 #line 1368 "dhcp4_lexer.ll"
4093 switch(driver.ctx_) {
4103 #line 1377 "dhcp4_lexer.ll"
4105 switch(driver.ctx_) {
4115 #line 1386 "dhcp4_lexer.ll"
4117 switch(driver.ctx_) {
4127 #line 1395 "dhcp4_lexer.ll"
4129 switch(driver.ctx_) {
4139 #line 1404 "dhcp4_lexer.ll"
4141 switch(driver.ctx_) {
4152 #line 1414 "dhcp4_lexer.ll"
4154 switch(driver.ctx_) {
4165 #line 1424 "dhcp4_lexer.ll"
4167 switch(driver.ctx_) {
4177 #line 1433 "dhcp4_lexer.ll"
4179 switch(driver.ctx_) {
4189 #line 1443 "dhcp4_lexer.ll"
4191 switch(driver.ctx_) {
4201 #line 1452 "dhcp4_lexer.ll"
4203 switch(driver.ctx_) {
4213 #line 1461 "dhcp4_lexer.ll"
4215 switch(driver.ctx_) {
4225 #line 1470 "dhcp4_lexer.ll"
4227 switch(driver.ctx_) {
4237 #line 1479 "dhcp4_lexer.ll"
4239 switch(driver.ctx_) {
4249 #line 1488 "dhcp4_lexer.ll"
4251 switch(driver.ctx_) {
4261 #line 1497 "dhcp4_lexer.ll"
4263 switch(driver.ctx_) {
4273 #line 1506 "dhcp4_lexer.ll"
4275 switch(driver.ctx_) {
4285 #line 1515 "dhcp4_lexer.ll"
4287 switch(driver.ctx_) {
4297 #line 1524 "dhcp4_lexer.ll"
4299 switch(driver.ctx_) {
4309 #line 1533 "dhcp4_lexer.ll"
4311 switch(driver.ctx_) {
4321 #line 1542 "dhcp4_lexer.ll"
4323 switch(driver.ctx_) {
4333 #line 1551 "dhcp4_lexer.ll"
4335 switch(driver.ctx_) {
4345 #line 1560 "dhcp4_lexer.ll"
4347 switch(driver.ctx_) {
4357 #line 1569 "dhcp4_lexer.ll"
4359 switch(driver.ctx_) {
4369 #line 1578 "dhcp4_lexer.ll"
4371 switch(driver.ctx_) {
4381 #line 1587 "dhcp4_lexer.ll"
4383 switch(driver.ctx_) {
4393 #line 1596 "dhcp4_lexer.ll"
4395 switch(driver.ctx_) {
4405 #line 1605 "dhcp4_lexer.ll"
4407 switch(driver.ctx_) {
4417 #line 1614 "dhcp4_lexer.ll"
4419 switch(driver.ctx_) {
4429 #line 1623 "dhcp4_lexer.ll"
4431 switch(driver.ctx_) {
4441 #line 1632 "dhcp4_lexer.ll"
4443 switch(driver.ctx_) {
4453 #line 1641 "dhcp4_lexer.ll"
4455 switch(driver.ctx_) {
4465 #line 1650 "dhcp4_lexer.ll"
4467 switch(driver.ctx_) {
4477 #line 1659 "dhcp4_lexer.ll"
4479 switch(driver.ctx_) {
4489 #line 1668 "dhcp4_lexer.ll"
4491 switch(driver.ctx_) {
4501 #line 1677 "dhcp4_lexer.ll"
4503 switch(driver.ctx_) {
4513 #line 1686 "dhcp4_lexer.ll"
4515 switch(driver.ctx_) {
4525 #line 1695 "dhcp4_lexer.ll"
4527 switch(driver.ctx_) {
4537 #line 1704 "dhcp4_lexer.ll"
4539 switch(driver.ctx_) {
4549 #line 1713 "dhcp4_lexer.ll"
4551 switch(driver.ctx_) {
4561 #line 1722 "dhcp4_lexer.ll"
4563 switch(driver.ctx_) {
4573 #line 1731 "dhcp4_lexer.ll"
4575 switch(driver.ctx_) {
4585 #line 1740 "dhcp4_lexer.ll"
4587 switch(driver.ctx_) {
4597 #line 1749 "dhcp4_lexer.ll"
4599 switch(driver.ctx_) {
4609 #line 1758 "dhcp4_lexer.ll"
4611 switch(driver.ctx_) {
4624 #line 1770 "dhcp4_lexer.ll"
4626 switch(driver.ctx_) {
4639 #line 1782 "dhcp4_lexer.ll"
4645 std::string tmp(
yytext+1);
4646 tmp.resize(tmp.size() - 1);
4652 #line 1792 "dhcp4_lexer.ll"
4658 std::string tmp(
yytext+1);
4659 tmp.resize(tmp.size() - 1);
4665 #line 1802 "dhcp4_lexer.ll"
4671 std::string tmp(
yytext+1);
4672 tmp.resize(tmp.size() - 1);
4678 #line 1812 "dhcp4_lexer.ll"
4684 std::string tmp(
yytext+1);
4685 tmp.resize(tmp.size() - 1);
4691 #line 1822 "dhcp4_lexer.ll"
4697 std::string tmp(
yytext+1);
4698 tmp.resize(tmp.size() - 1);
4704 #line 1832 "dhcp4_lexer.ll"
4710 std::string tmp(
yytext+1);
4711 tmp.resize(tmp.size() - 1);
4717 #line 1842 "dhcp4_lexer.ll"
4723 std::string tmp(
yytext+1);
4724 tmp.resize(tmp.size() - 1);
4730 #line 1852 "dhcp4_lexer.ll"
4736 std::string tmp(
yytext+1);
4737 tmp.resize(tmp.size() - 1);
4743 #line 1862 "dhcp4_lexer.ll"
4749 std::string tmp(
yytext+1);
4750 tmp.resize(tmp.size() - 1);
4756 #line 1872 "dhcp4_lexer.ll"
4758 switch(driver.ctx_) {
4768 #line 1881 "dhcp4_lexer.ll"
4770 switch(driver.ctx_) {
4780 #line 1890 "dhcp4_lexer.ll"
4782 switch(driver.ctx_) {
4792 #line 1899 "dhcp4_lexer.ll"
4794 switch(driver.ctx_) {
4804 #line 1908 "dhcp4_lexer.ll"
4806 switch(driver.ctx_) {
4818 #line 1919 "dhcp4_lexer.ll"
4820 switch(driver.ctx_) {
4832 #line 1930 "dhcp4_lexer.ll"
4834 switch(driver.ctx_) {
4848 #line 1943 "dhcp4_lexer.ll"
4850 switch(driver.ctx_) {
4864 #line 1956 "dhcp4_lexer.ll"
4866 switch(driver.ctx_) {
4880 #line 1969 "dhcp4_lexer.ll"
4882 switch(driver.ctx_) {
4892 #line 1978 "dhcp4_lexer.ll"
4894 switch(driver.ctx_) {
4904 #line 1987 "dhcp4_lexer.ll"
4906 switch(driver.ctx_) {
4916 #line 1996 "dhcp4_lexer.ll"
4921 std::string raw(
yytext+1);
4922 size_t len = raw.size() - 1;
4924 std::string decoded;
4925 decoded.reserve(len);
4926 for (
size_t pos = 0; pos < len; ++pos) {
4932 driver.error(driver.loc_,
"Bad quote in \"" + raw +
"\"");
4938 driver.error(driver.loc_,
"Overflow escape in \"" + raw +
"\"");
4945 decoded.push_back(c);
4948 decoded.push_back(
'\b');
4951 decoded.push_back(
'\f');
4954 decoded.push_back(
'\n');
4957 decoded.push_back(
'\r');
4960 decoded.push_back(
'\t');
4965 if (pos + 4 > len) {
4967 driver.error(driver.loc_,
4968 "Overflow unicode escape in \"" + raw +
"\"");
4970 if ((raw[pos] !=
'0') || (raw[pos + 1] !=
'0')) {
4971 driver.error(driver.loc_,
4972 "Unsupported unicode escape in \"" + raw +
"\"",
4977 if ((c >=
'0') && (c <=
'9')) {
4979 }
else if ((c >=
'A') && (c <=
'F')) {
4980 b = (c -
'A' + 10) << 4;
4981 }
else if ((c >=
'a') && (c <=
'f')) {
4982 b = (c -
'a' + 10) << 4;
4985 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
4989 if ((c >=
'0') && (c <=
'9')) {
4991 }
else if ((c >=
'A') && (c <=
'F')) {
4993 }
else if ((c >=
'a') && (c <=
'f')) {
4997 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
4999 decoded.push_back(static_cast<char>(b & 0xff));
5003 driver.error(driver.loc_,
"Bad escape in \"" + raw +
"\"");
5007 if ((c >= 0) && (c < 0x20)) {
5009 driver.error(driver.loc_,
"Invalid control in \"" + raw +
"\"");
5011 decoded.push_back(c);
5021 #line 2097 "dhcp4_lexer.ll"
5024 std::string raw(
yytext+1);
5025 size_t len = raw.size() - 1;
5027 for (; pos < len; ++pos) {
5029 if ((c >= 0) && (c < 0x20)) {
5033 driver.error(driver.loc_,
5034 "Invalid control in " + std::string(
yytext),
5041 #line 2113 "dhcp4_lexer.ll"
5044 std::string raw(
yytext+1);
5045 size_t len = raw.size() - 1;
5048 for (; pos < len; ++pos) {
5067 if ((pos + 4 > len) ||
5068 !std::isxdigit(raw[pos + 1]) ||
5069 !std::isxdigit(raw[pos + 2]) ||
5070 !std::isxdigit(raw[pos + 3]) ||
5071 !std::isxdigit(raw[pos + 4])) {
5082 std::string trailer =
"";
5083 if (raw[len - 1] ==
'\\') {
5086 driver.error(driver.loc_,
5087 "Bad escape in " + std::string(
yytext) + trailer,
5093 #line 2162 "dhcp4_lexer.ll"
5096 std::string raw(
yytext+1);
5097 driver.error(driver.loc_,
5098 "Overflow escape in " + std::string(
yytext),
5104 #line 2170 "dhcp4_lexer.ll"
5107 std::string raw(
yytext+1);
5108 size_t pos = raw.size() - 1;
5109 for (; pos > 0; --pos) {
5115 driver.error(driver.loc_,
5116 "Overflow unicode escape in " + std::string(
yytext),
5122 #line 2185 "dhcp4_lexer.ll"
5127 #line 2186 "dhcp4_lexer.ll"
5132 #line 2187 "dhcp4_lexer.ll"
5137 #line 2188 "dhcp4_lexer.ll"
5142 #line 2189 "dhcp4_lexer.ll"
5147 #line 2190 "dhcp4_lexer.ll"
5152 #line 2192 "dhcp4_lexer.ll"
5156 int64_t integer = 0;
5162 integer = boost::lexical_cast<int64_t>(tmp);
5163 }
catch (
const boost::bad_lexical_cast &) {
5164 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
5173 #line 2210 "dhcp4_lexer.ll"
5179 fp = boost::lexical_cast<
double>(tmp);
5180 }
catch (
const boost::bad_lexical_cast &) {
5181 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to a floating point.");
5189 #line 2223 "dhcp4_lexer.ll"
5197 #line 2228 "dhcp4_lexer.ll"
5204 #line 2232 "dhcp4_lexer.ll"
5205 driver.error (driver.loc_,
"JSON true reserved keyword is lower case only");
5209 #line 2234 "dhcp4_lexer.ll"
5210 driver.error (driver.loc_,
"JSON false reserved keyword is lower case only");
5214 #line 2236 "dhcp4_lexer.ll"
5215 driver.error (driver.loc_,
"JSON null reserved keyword is lower case only");
5219 #line 2238 "dhcp4_lexer.ll"
5220 driver.error (driver.loc_,
"Invalid character: " + std::string(
yytext));
5223 #line 2240 "dhcp4_lexer.ll"
5225 if (driver.states_.empty()) {
5228 driver.loc_ = driver.locs_.back();
5229 driver.locs_.pop_back();
5230 driver.file_ = driver.files_.back();
5231 driver.files_.pop_back();
5232 if (driver.sfile_) {
5233 fclose(driver.sfile_);
5236 if (!driver.sfiles_.empty()) {
5237 driver.sfile_ = driver.sfiles_.back();
5238 driver.sfiles_.pop_back();
5241 parser4__switch_to_buffer(driver.states_.back());
5242 driver.states_.pop_back();
5249 #line 2263 "dhcp4_lexer.ll"
5252 #line 5252 "dhcp4_lexer.cc"
5257 int yy_amount_of_matched_text = (int) (yy_cp - (
yytext_ptr)) - 1;
5260 *yy_cp = (yy_hold_char);
5294 (yy_c_buf_p) = (
yytext_ptr) + yy_amount_of_matched_text;
5296 yy_current_state = yy_get_previous_state( );
5307 yy_next_state = yy_try_NUL_trans( yy_current_state );
5311 if ( yy_next_state )
5314 yy_cp = ++(yy_c_buf_p);
5315 yy_current_state = yy_next_state;
5322 yy_cp = (yy_last_accepting_cpos);
5323 yy_current_state = (yy_last_accepting_state);
5324 goto yy_find_action;
5328 else switch ( yy_get_next_buffer( ) )
5332 (yy_did_buffer_switch_on_eof) = 0;
5353 if ( ! (yy_did_buffer_switch_on_eof) )
5363 yy_current_state = yy_get_previous_state( );
5365 yy_cp = (yy_c_buf_p);
5373 yy_current_state = yy_get_previous_state( );
5375 yy_cp = (yy_c_buf_p);
5377 goto yy_find_action;
5384 "fatal flex scanner internal error--no action found" );
5405 static int yy_get_next_buffer (
void)
5412 int number_to_move, i;
5417 "fatal flex scanner internal error--end of buffer missed" );
5441 number_to_move = (int) ((yy_c_buf_p) - (
yytext_ptr) - 1);
5443 for ( i = 0; i < number_to_move; ++i )
5444 *(dest++) = *(source++);
5457 while ( num_to_read <= 0 )
5463 int yy_c_buf_p_offset =
5470 if ( new_size <= 0 )
5486 "fatal error - scanner input buffer overflow" );
5488 (yy_c_buf_p) = &b->
yy_ch_buf[yy_c_buf_p_offset];
5500 (yy_n_chars), num_to_read );
5505 if ( (yy_n_chars) == 0 )
5526 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
5530 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
5535 (yy_n_chars) += number_to_move;
5557 yy_current_state = (yy_start);
5563 if ( yy_accept[yy_current_state] )
5565 (yy_last_accepting_state) = yy_current_state;
5566 (yy_last_accepting_cpos) = yy_cp;
5568 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5570 yy_current_state = (int) yy_def[yy_current_state];
5571 if ( yy_current_state >= 1990 )
5572 yy_c = yy_meta[yy_c];
5574 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
5577 return yy_current_state;
5593 char *yy_cp = (yy_c_buf_p);
5596 if ( yy_accept[yy_current_state] )
5598 (yy_last_accepting_state) = yy_current_state;
5599 (yy_last_accepting_cpos) = yy_cp;
5601 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5603 yy_current_state = (int) yy_def[yy_current_state];
5604 if ( yy_current_state >= 1990 )
5605 yy_c = yy_meta[yy_c];
5607 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
5608 yy_is_jam = (yy_current_state == 1989);
5610 return yy_is_jam ? 0 : yy_current_state;
5622 static int yyinput (
void)
5624 static int input (
void)
5633 *(yy_c_buf_p) = (yy_hold_char);
5643 *(yy_c_buf_p) =
'\0';
5647 int offset = (int) ((yy_c_buf_p) - (
yytext_ptr));
5650 switch ( yy_get_next_buffer( ) )
5673 if ( ! (yy_did_buffer_switch_on_eof) )
5689 c = *(
unsigned char *) (yy_c_buf_p);
5690 *(yy_c_buf_p) =
'\0';
5691 (yy_hold_char) = *++(yy_c_buf_p);
5749 *(yy_c_buf_p) = (yy_hold_char);
5762 (yy_did_buffer_switch_on_eof) = 1;
5778 (yy_hold_char) = *(yy_c_buf_p);
5926 if (new_buffer == NULL)
5935 *(yy_c_buf_p) = (yy_hold_char);
5942 (yy_buffer_stack_top)++;
5947 (yy_did_buffer_switch_on_eof) = 1;
5967 if ((yy_buffer_stack_top) > 0)
5968 --(yy_buffer_stack_top);
5972 (yy_did_buffer_switch_on_eof) = 1;
5989 if (!(yy_buffer_stack)) {
5999 if ( ! (yy_buffer_stack) )
6000 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
6002 memset((yy_buffer_stack), 0, num_to_alloc *
sizeof(
struct yy_buffer_state*));
6004 (yy_buffer_stack_max) = num_to_alloc;
6005 (yy_buffer_stack_top) = 0;
6009 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6014 num_to_alloc = (yy_buffer_stack_max) + grow_size;
6019 if ( ! (yy_buffer_stack) )
6020 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
6023 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size *
sizeof(
struct yy_buffer_state*));
6024 (yy_buffer_stack_max) = num_to_alloc;
6103 for ( i = 0; i < _yybytes_len; ++i )
6104 buf[i] = yybytes[i];
6121 #ifndef YY_EXIT_FAILURE
6122 #define YY_EXIT_FAILURE 2
6126 static void yynoreturn yy_fatal_error (
const char* msg )
6128 fprintf( stderr,
"%s\n", msg );
6142 int yyless_macro_arg = (n); \
6143 YY_LESS_LINENO(yyless_macro_arg);\
6144 yytext[yyleng] = (yy_hold_char); \
6145 (yy_c_buf_p) = yytext + yyless_macro_arg; \
6146 (yy_hold_char) = *(yy_c_buf_p); \
6147 *(yy_c_buf_p) = '\0'; \
6148 yyleng = yyless_macro_arg; \
6247 static int yy_init_globals (
void)
6253 (yy_buffer_stack) = NULL;
6254 (yy_buffer_stack_top) = 0;
6255 (yy_buffer_stack_max) = 0;
6256 (yy_c_buf_p) = NULL;
6289 yyfree((yy_buffer_stack) );
6290 (yy_buffer_stack) = NULL;
6307 static void yy_flex_strncpy (
char* s1,
const char * s2,
int n )
6311 for ( i = 0; i < n; ++i )
6316 #ifdef YY_NEED_STRLEN
6317 static int yy_flex_strlen (
const char * s )
6320 for ( n = 0; s[n]; ++n )
6329 return malloc(size);
6342 return realloc(ptr, size);
6347 free( (
char *) ptr );
6352 #define YYTABLES_NAME "yytables"
6357 #line 2263 "dhcp4_lexer.ll"
6365 start_token_flag =
true;
6366 start_token_value = parser_type;
6372 YY_BUFFER_STATE buffer;
6373 buffer = parser4__scan_bytes(str.c_str(), str.size());
6375 fatal(
"cannot scan string");
6382 const std::string& filename,
6385 start_token_flag =
true;
6386 start_token_value = parser_type;
6392 YY_BUFFER_STATE buffer;
6395 buffer = parser4__create_buffer(f, 65536 );
6397 fatal(
"cannot scan file " + filename);
6399 parser4__switch_to_buffer(buffer);
6407 static_cast<void>(parser4_lex_destroy());
6418 parser4__delete_buffer(
states_.back());
6426 fatal(
"Too many nested include.");
6429 FILE* f = fopen(filename.c_str(),
"r");
6431 fatal(
"Can't open include file " + filename);
6438 YY_BUFFER_STATE buffer;
6439 buffer = parser4__create_buffer(f, 65536 );
6441 fatal(
"Can't scan include file " + filename);
6443 parser4__switch_to_buffer(buffer);
6456 void dummy() { yy_fatal_error(
"Fix me: how to disable its definition?"); }
static symbol_type make_TOPLEVEL_DHCP4(const location_type &l)
static symbol_type make_SUB_CONFIG_CONTROL(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_CLIENT_UPDATE(const location_type &l)
static symbol_type make_LENIENT_OPTION_PARSING(const location_type &l)
static symbol_type make_NCR_FORMAT(const location_type &l)
static symbol_type make_HOOKS_LIBRARIES(const location_type &l)
Used while parsing Dhcp4/hosts-database[s] structures.
static symbol_type make_SUBNET_4O6_INTERFACE(const location_type &l)
Used while parsing Dhcp4/*-database/on-fail.
static symbol_type make_CIRCUIT_ID(const location_type &l)
static symbol_type make_VALID_LIFETIME(const location_type &l)
static symbol_type make_SERVER_TAG(const location_type &l)
static symbol_type make_CONFIG_FETCH_WAIT_TIME(const location_type &l)
Used while parsing Dhcp4/dhcp-ddns/ncr-protocol.
#define yypop_buffer_state
Used while parsing Dhcp4/hooks-libraries.
static symbol_type make_TCP_KEEPALIVE(const location_type &l)
static symbol_type make_GLOBAL(const location_type &l)
static symbol_type make_DATA(const location_type &l)
static symbol_type make_AUTHORITATIVE(const location_type &l)
static symbol_type make_UDP(const location_type &l)
static symbol_type make_TYPE(const location_type &l)
static symbol_type make_MAX_QUEUE_SIZE(const location_type &l)
static symbol_type make_BOOLEAN(const bool &v, const location_type &l)
static symbol_type make_RELAY(const location_type &l)
static symbol_type make_USER(const location_type &l)
Used while parsing Dhcp4/dhcp-ddns/ncr-format.
static symbol_type make_DEBUGLEVEL(const location_type &l)
static symbol_type make_CONTROL_SOCKET(const location_type &l)
static symbol_type make_FLUSH_RECLAIMED_TIMER_WAIT_TIME(const location_type &l)
#define YY_CURRENT_BUFFER
static symbol_type make_STATISTIC_DEFAULT_SAMPLE_AGE(const location_type &l)
static symbol_type make_COMMA(const location_type &l)
static symbol_type make_TEST(const location_type &l)
static symbol_type make_POSTGRESQL(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_NO_UPDATE(const location_type &l)
Used while parsing Dhcp4/client-classes structures.
static symbol_type make_CONSISTENCY(const location_type &l)
static symbol_type make_POOL(const location_type &l)
static symbol_type make_CACHE_MAX_AGE(const location_type &l)
static symbol_type make_LCURLY_BRACKET(const location_type &l)
static symbol_type make_HOSTS_DATABASES(const location_type &l)
static symbol_type make_SHARED_NETWORKS(const location_type &l)
#define yyensure_buffer_stack
static symbol_type make_SERVE_RETRY_CONTINUE(const location_type &l)
static symbol_type make_LEASE_DATABASE(const location_type &l)
Used while parsing Dhcp4/*-database/type.
static symbol_type make_MAX_ROW_ERRORS(const location_type &l)
static symbol_type make_MIN_VALID_LIFETIME(const location_type &l)
static symbol_type make_SUBNET_4O6_SUBNET(const location_type &l)
std::vector< FILE * > sfiles_
sFile (aka FILE) stack
Used while parsing Dhcp4/host-reservation-identifiers.
static symbol_type make_OUT_OF_POOL(const location_type &l)
static symbol_type make_CACHE_THRESHOLD(const location_type &l)
#define YY_BUFFER_EOF_PENDING
Used while parsing Dhcp4/multi-threading structures.
static symbol_type make_ECHO_CLIENT_ID(const location_type &l)
static symbol_type make_REQUIRE_CLIENT_CLASSES(const location_type &l)
static symbol_type make_INTERFACE(const location_type &l)
static symbol_type make_STATISTIC_DEFAULT_SAMPLE_COUNT(const location_type &l)
static symbol_type make_SUB_HOOKS_LIBRARY(const location_type &l)
static symbol_type make_DHCP_SOCKET_TYPE(const location_type &l)
static symbol_type make_OVERRIDE_NO_UPDATE(const location_type &l)
static symbol_type make_ENABLE_UPDATES(const location_type &l)
static symbol_type make_COMPATIBILITY(const location_type &l)
static symbol_type make_DHCP_DDNS(const location_type &l)
static symbol_type make_COLON(const location_type &l)
static symbol_type make_UNWARNED_RECLAIM_CYCLES(const location_type &l)
static symbol_type make_MAX_VALID_LIFETIME(const location_type &l)
static symbol_type make_SUB_DHCP_DDNS(const location_type &l)
static symbol_type make_T1_PERCENT(const location_type &l)
static symbol_type make_MAX_RECONNECT_TRIES(const location_type &l)
int yy_bs_lineno
The line count.
static symbol_type make_SENDER_PORT(const location_type &l)
#define YY_DO_BEFORE_ACTION
Used while parsing Dhcp4/reservations structures.
isc::dhcp::location loc_
Location of the current token.
static symbol_type make_DDNS_SEND_UPDATES(const location_type &l)
Used while parsing Dhcp4/lease-database structures.
static symbol_type make_SENDER_IP(const location_type &l)
static symbol_type make_ALWAYS(const location_type &l)
static symbol_type make_FLEX_ID(const location_type &l)
static symbol_type make_RESERVATION_MODE(const location_type &l)
static symbol_type make_ALWAYS_SEND(const location_type &l)
static symbol_type make_SERVER_IP(const location_type &l)
static symbol_type make_MEMFILE(const location_type &l)
static symbol_type make_SERVE_RETRY_EXIT(const location_type &l)
static symbol_type make_CONFIG_CONTROL(const location_type &l)
#define EOB_ACT_END_OF_FILE
static symbol_type make_STORE_EXTENDED_INFO(const location_type &l)
static symbol_type make_SUB_INTERFACES4(const location_type &l)
void scanEnd()
Method called after the last tokens are scanned.
static symbol_type make_ENABLE_MULTI_THREADING(const location_type &l)
Used while parsing Dhcp4/dhcp-ddns.
static symbol_type make_DECLINE_PROBATION_PERIOD(const location_type &l)
static symbol_type make_SUBNET_4O6_INTERFACE_ID(const location_type &l)
static symbol_type make_DISABLED(const location_type &l)
static symbol_type make_SANITY_CHECKS(const location_type &l)
static symbol_type make_LSQUARE_BRACKET(const location_type &l)
#define EOB_ACT_LAST_MATCH
static symbol_type make_HOLD_RECLAIMED_TIME(const location_type &l)
void includeFile(const std::string &filename)
Divert input to an include file.
Used while parsing Dhcp4/interfaces/dhcp-socket-type structures.
static symbol_type make_T2_PERCENT(const location_type &l)
static symbol_type make_FLOAT(const double &v, const location_type &l)
static symbol_type make_OVERRIDE_CLIENT_UPDATE(const location_type &l)
static symbol_type make_INTEGER(const int64_t &v, const location_type &l)
static symbol_type make_TCP_NODELAY(const location_type &l)
Used while parsing Dhcp4/control-socket structures.
static symbol_type make_BOOT_FILE_NAME(const location_type &l)
static symbol_type make_HOST(const location_type &l)
static symbol_type make_CALCULATE_TEE_TIMES(const location_type &l)
static symbol_type make_MAX_RECLAIM_TIME(const location_type &l)
#define YY_FATAL_ERROR(msg)
static symbol_type make_NEXT_SERVER(const location_type &l)
static symbol_type make_NEVER(const location_type &l)
Used while parsing Dhcp4/subnet4/pools structures.
static symbol_type make_PERSIST(const location_type &l)
static symbol_type make_DHCP4(const location_type &l)
Used while parsing Dhcp4/dhcp-queue-control structures.
static symbol_type make_WHEN_PRESENT(const location_type &l)
Used while parsing shared-networks structures.
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
static symbol_type make_IP_RESERVATIONS_UNIQUE(const location_type &l)
static symbol_type make_SERVER_PORT(const location_type &l)
#define YY_END_OF_BUFFER_CHAR
static symbol_type make_MATCH_CLIENT_ID(const location_type &l)
static symbol_type make_RSQUARE_BRACKET(const location_type &l)
static symbol_type make_RESERVATIONS(const location_type &l)
static symbol_type make_SERIAL_CONSISTENCY(const location_type &l)
int yy_bs_column
The column count.
Used while parsing Dhcp4/dhcp-ddns/replace-client-name.
unsigned char flex_uint8_t
static symbol_type make_ENABLE_QUEUE(const location_type &l)
#define YY_STATE_EOF(state)
static symbol_type make_SUBNET(const location_type &l)
Used while parsing Dhcp4/loggers/output_options structures.
std::vector< isc::dhcp::location > locs_
Location stack.
std::vector< std::string > files_
File name stack.
static symbol_type make_DHCP_QUEUE_CONTROL(const location_type &l)
static symbol_type make_DUID(const location_type &l)
static symbol_type make_HOSTNAME_CHAR_REPLACEMENT(const location_type &l)
static symbol_type make_DDNS_REPLACE_CLIENT_NAME(const location_type &l)
static symbol_type make_QUALIFYING_SUFFIX(const location_type &l)
static symbol_type make_SOCKET_TYPE(const location_type &l)
#define YY_RESTORE_YY_MORE_OFFSET
static symbol_type make_NAME(const location_type &l)
static symbol_type make_RENEW_TIMER(const location_type &l)
ParserType
Defines currently supported scopes.
static symbol_type make_ID(const location_type &l)
static symbol_type make_IP_ADDRESS(const location_type &l)
static symbol_type make_PARAMETERS(const location_type &l)
static symbol_type make_SEVERITY(const location_type &l)
static symbol_type make_COMMENT(const location_type &l)
static symbol_type make_RESERVATIONS_GLOBAL(const location_type &l)
static symbol_type make_OUTPUT_OPTIONS(const location_type &l)
static symbol_type make_CONTACT_POINTS(const location_type &l)
unsigned short int flex_uint16_t
static symbol_type make_DDNS_USE_CONFLICT_RESOLUTION(const location_type &l)
static symbol_type make_NCR_PROTOCOL(const location_type &l)
Used while parsing Dhcp4/Subnet4 structures.
static symbol_type make_READONLY(const location_type &l)
static symbol_type make_TOPLEVEL_JSON(const location_type &l)
static symbol_type make_HOSTS_DATABASE(const location_type &l)
void scanFileBegin(FILE *f, const std::string &filename, ParserType type)
Method called before scanning starts on a file.
Evaluation error exception raised when trying to parse.
struct yy_buffer_state * YY_BUFFER_STATE
Used while parsing Dhcp4/option-def structures.
static symbol_type make_CQL(const location_type &l)
static symbol_type make_CLIENT_CLASSES(const location_type &l)
static symbol_type make_CSV_FORMAT(const location_type &l)
static symbol_type make_RCURLY_BRACKET(const location_type &l)
static symbol_type make_RECLAIM_TIMER_WAIT_TIME(const location_type &l)
Used while parsing Dhcp4/option-data, Dhcp4/subnet4/option-data or anywhere option-data is present (c...
Used while parsing Dhcp4/interfaces structures.
static symbol_type make_DHCP4O6_PORT(const location_type &l)
static symbol_type make_WHEN_NOT_PRESENT(const location_type &l)
#define yy_load_buffer_state
Used while parsing content of Dhcp4.
static symbol_type make_POOLS(const location_type &l)
static symbol_type make_END(const location_type &l)
Used while parsing Dhcp4/subnet4relay structures.
static symbol_type make_FLUSH(const location_type &l)
static symbol_type make_INTERFACES(const location_type &l)
static symbol_type make_INTERFACES_CONFIG(const location_type &l)
static symbol_type make_TCP(const location_type &l)
static symbol_type make_DHCP_MULTI_THREADING(const location_type &l)
static symbol_type make_SUB_RESERVATION(const location_type &l)
#define YY_CURRENT_BUFFER_LVALUE
static symbol_type make_MAX_RECLAIM_LEASES(const location_type &l)
static symbol_type make_CLIENT_ID(const location_type &l)
static symbol_type make_SUB_SUBNET4(const location_type &l)
static symbol_type make_RECORD_TYPES(const location_type &l)
static symbol_type make_HOSTNAME(const location_type &l)
static symbol_type make_REBIND_TIMER(const location_type &l)
unsigned char flex_uint8_t
Used while parsing Dhcp4/loggers structures.
static symbol_type make_EXPIRED_LEASES_PROCESSING(const location_type &l)
static symbol_type make_PACKET_QUEUE_SIZE(const location_type &l)
Used while parsing compatibility parameters.
unsigned int flex_uint32_t
static symbol_type make_OUTPUT(const location_type &l)
static symbol_type make_SUB_POOL4(const location_type &l)
static symbol_type make_RESERVATIONS_OUT_OF_POOL(const location_type &l)
static symbol_type make_KEYSPACE(const location_type &l)
void scanStringBegin(const std::string &str, ParserType type)
Method called before scanning starts on a string.
static symbol_type make_HW_ADDRESS(const location_type &l)
static symbol_type make_DDNS_GENERATED_PREFIX(const location_type &l)
static symbol_type make_STRING(const std::string &v, const location_type &l)
static symbol_type make_RESERVATIONS_IN_SUBNET(const location_type &l)
static symbol_type make_MYSQL(const location_type &l)
static symbol_type make_LOGGERS(const location_type &l)
FILE * sfile_
sFile (aka FILE)
static symbol_type make_RAW(const location_type &l)
static symbol_type make_CODE(const location_type &l)
static symbol_type make_LEASE_CHECKS(const location_type &l)
static symbol_type make_DDNS_QUALIFYING_SUFFIX(const location_type &l)
static symbol_type make_ALL(const location_type &l)
static symbol_type make_RE_DETECT(const location_type &l)
static symbol_type make_HOST_RESERVATION_IDENTIFIERS(const location_type &l)
static symbol_type make_SUB_OPTION_DEFS(const location_type &l)
#define EOB_ACT_CONTINUE_SCAN
static symbol_type make_OPTION_DATA(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_OUTBOUND_INTERFACE(const location_type &l)
static symbol_type make_ENCAPSULATE(const location_type &l)
static symbol_type make_ONLY_IF_REQUIRED(const location_type &l)
static symbol_type make_RECONNECT_WAIT_TIME(const location_type &l)
static symbol_type make_CONFIG_DATABASES(const location_type &l)
static symbol_type make_REQUEST_TIMEOUT(const location_type &l)
Used while parsing Dhcp4/expired-leases-processing.
static symbol_type make_LIBRARY(const location_type &l)
static symbol_type make_HOSTNAME_CHAR_SET(const location_type &l)
#define YY_INPUT(buf, result, max_size)
Used while parsing config-control/config-databases.
static symbol_type make_OPTION_DEF(const location_type &l)
static symbol_type make_JSON(const location_type &l)
static symbol_type make_PASSWORD(const location_type &l)
static symbol_type make_USER_CONTEXT(const location_type &l)
static symbol_type make_STOP_RETRY_EXIT(const location_type &l)
static symbol_type make_NULL_TYPE(const location_type &l)
static symbol_type make_CONNECT_TIMEOUT(const location_type &l)
#define yypush_buffer_state
std::vector< struct yy_buffer_state * > states_
Lexer state stack.
static symbol_type make_SUB_DHCP4(const location_type &l)
static symbol_type make_PORT(const location_type &l)
static symbol_type make_SUB_OPTION_DEF(const location_type &l)
static symbol_type make_SERVER_HOSTNAME(const location_type &l)
static void fatal(const std::string &what)
Fatal error handler.
static symbol_type make_MAXSIZE(const location_type &l)
static symbol_type make_SUB_OPTION_DATA(const location_type &l)
static symbol_type make_QUEUE_TYPE(const location_type &l)
static symbol_type make_GENERATED_PREFIX(const location_type &l)
static symbol_type make_MAXVER(const location_type &l)
static symbol_type make_PATTERN(const location_type &l)
Used while parsing Dhcp4/config-control.
static symbol_type make_CLIENT_CLASS(const location_type &l)
static symbol_type make_ON_FAIL(const location_type &l)
std::string file_
File name.
static symbol_type make_SOCKET_NAME(const location_type &l)
static symbol_type make_SUBNET4(const location_type &l)
static symbol_type make_LFC_INTERVAL(const location_type &l)
static symbol_type make_CAPACITY(const location_type &l)
Used while parsing Dhcp4/reservation-mode.
static symbol_type make_THREAD_POOL_SIZE(const location_type &l)
static symbol_type make_ARRAY(const location_type &l)
static symbol_type make_SPACE(const location_type &l)
static symbol_type make_REPLACE_CLIENT_NAME(const location_type &l)
#define yy_switch_to_buffer