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