1 #line 1 "netconf_lexer.cc"
3 #line 3 "netconf_lexer.cc"
5 #define YY_INT_ALIGNED short int
12 #define yy_create_buffer netconf__create_buffer
13 #define yy_delete_buffer netconf__delete_buffer
14 #define yy_scan_buffer netconf__scan_buffer
15 #define yy_scan_string netconf__scan_string
16 #define yy_scan_bytes netconf__scan_bytes
17 #define yy_init_buffer netconf__init_buffer
18 #define yy_flush_buffer netconf__flush_buffer
19 #define yy_load_buffer_state netconf__load_buffer_state
20 #define yy_switch_to_buffer netconf__switch_to_buffer
21 #define yypush_buffer_state netconf_push_buffer_state
22 #define yypop_buffer_state netconf_pop_buffer_state
23 #define yyensure_buffer_stack netconf_ensure_buffer_stack
24 #define yy_flex_debug netconf__flex_debug
25 #define yyin netconf_in
26 #define yyleng netconf_leng
27 #define yylex netconf_lex
28 #define yylineno netconf_lineno
29 #define yyout netconf_out
30 #define yyrestart netconf_restart
31 #define yytext netconf_text
32 #define yywrap netconf_wrap
33 #define yyalloc netconf_alloc
34 #define yyrealloc netconf_realloc
35 #define yyfree netconf_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 netconf__create_buffer_ALREADY_DEFINED
56 #define yy_create_buffer netconf__create_buffer
59 #ifdef yy_delete_buffer
60 #define netconf__delete_buffer_ALREADY_DEFINED
62 #define yy_delete_buffer netconf__delete_buffer
66 #define netconf__scan_buffer_ALREADY_DEFINED
68 #define yy_scan_buffer netconf__scan_buffer
72 #define netconf__scan_string_ALREADY_DEFINED
74 #define yy_scan_string netconf__scan_string
78 #define netconf__scan_bytes_ALREADY_DEFINED
80 #define yy_scan_bytes netconf__scan_bytes
84 #define netconf__init_buffer_ALREADY_DEFINED
86 #define yy_init_buffer netconf__init_buffer
89 #ifdef yy_flush_buffer
90 #define netconf__flush_buffer_ALREADY_DEFINED
92 #define yy_flush_buffer netconf__flush_buffer
95 #ifdef yy_load_buffer_state
96 #define netconf__load_buffer_state_ALREADY_DEFINED
98 #define yy_load_buffer_state netconf__load_buffer_state
101 #ifdef yy_switch_to_buffer
102 #define netconf__switch_to_buffer_ALREADY_DEFINED
104 #define yy_switch_to_buffer netconf__switch_to_buffer
107 #ifdef yypush_buffer_state
108 #define netconf_push_buffer_state_ALREADY_DEFINED
110 #define yypush_buffer_state netconf_push_buffer_state
113 #ifdef yypop_buffer_state
114 #define netconf_pop_buffer_state_ALREADY_DEFINED
116 #define yypop_buffer_state netconf_pop_buffer_state
119 #ifdef yyensure_buffer_stack
120 #define netconf_ensure_buffer_stack_ALREADY_DEFINED
122 #define yyensure_buffer_stack netconf_ensure_buffer_stack
126 #define netconf_lex_ALREADY_DEFINED
128 #define yylex netconf_lex
132 #define netconf_restart_ALREADY_DEFINED
134 #define yyrestart netconf_restart
138 #define netconf_lex_init_ALREADY_DEFINED
140 #define yylex_init netconf_lex_init
143 #ifdef yylex_init_extra
144 #define netconf_lex_init_extra_ALREADY_DEFINED
146 #define yylex_init_extra netconf_lex_init_extra
150 #define netconf_lex_destroy_ALREADY_DEFINED
152 #define yylex_destroy netconf_lex_destroy
156 #define netconf_get_debug_ALREADY_DEFINED
158 #define yyget_debug netconf_get_debug
162 #define netconf_set_debug_ALREADY_DEFINED
164 #define yyset_debug netconf_set_debug
168 #define netconf_get_extra_ALREADY_DEFINED
170 #define yyget_extra netconf_get_extra
174 #define netconf_set_extra_ALREADY_DEFINED
176 #define yyset_extra netconf_set_extra
180 #define netconf_get_in_ALREADY_DEFINED
182 #define yyget_in netconf_get_in
186 #define netconf_set_in_ALREADY_DEFINED
188 #define yyset_in netconf_set_in
192 #define netconf_get_out_ALREADY_DEFINED
194 #define yyget_out netconf_get_out
198 #define netconf_set_out_ALREADY_DEFINED
200 #define yyset_out netconf_set_out
204 #define netconf_get_leng_ALREADY_DEFINED
206 #define yyget_leng netconf_get_leng
210 #define netconf_get_text_ALREADY_DEFINED
212 #define yyget_text netconf_get_text
216 #define netconf_get_lineno_ALREADY_DEFINED
218 #define yyget_lineno netconf_get_lineno
222 #define netconf_set_lineno_ALREADY_DEFINED
224 #define yyset_lineno netconf_set_lineno
228 #define netconf_wrap_ALREADY_DEFINED
230 #define yywrap netconf_wrap
236 #define netconf_alloc_ALREADY_DEFINED
238 #define yyalloc netconf_alloc
242 #define netconf_realloc_ALREADY_DEFINED
244 #define yyrealloc netconf_realloc
248 #define netconf_free_ALREADY_DEFINED
250 #define yyfree netconf_free
256 #define netconf_text_ALREADY_DEFINED
258 #define yytext netconf_text
262 #define netconf_leng_ALREADY_DEFINED
264 #define yyleng netconf_leng
268 #define netconf_in_ALREADY_DEFINED
270 #define yyin netconf_in
274 #define netconf_out_ALREADY_DEFINED
276 #define yyout netconf_out
280 #define netconf__flex_debug_ALREADY_DEFINED
282 #define yy_flex_debug netconf__flex_debug
286 #define netconf_lineno_ALREADY_DEFINED
288 #define yylineno netconf_lineno
315 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
320 #ifndef __STDC_LIMIT_MACROS
321 #define __STDC_LIMIT_MACROS 1
324 #include <inttypes.h>
331 typedef uint64_t flex_uint64_t;
342 #define INT8_MIN (-128)
345 #define INT16_MIN (-32767-1)
348 #define INT32_MIN (-2147483647-1)
351 #define INT8_MAX (127)
354 #define INT16_MAX (32767)
357 #define INT32_MAX (2147483647)
360 #define UINT8_MAX (255U)
363 #define UINT16_MAX (65535U)
366 #define UINT32_MAX (4294967295U)
370 #define SIZE_MAX (~(size_t)0)
384 #define yyconst const
386 #if defined(__GNUC__) && __GNUC__ >= 3
387 #define yynoreturn __attribute__((__noreturn__))
401 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
415 #define BEGIN (yy_start) = 1 + 2 *
420 #define YY_START (((yy_start) - 1) / 2)
421 #define YYSTATE YY_START
423 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
425 #define YY_NEW_FILE yyrestart( yyin )
426 #define YY_END_OF_BUFFER_CHAR 0
435 #define YY_BUF_SIZE 32768
437 #define YY_BUF_SIZE 16384
443 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
445 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
446 #define YY_TYPEDEF_YY_BUFFER_STATE
450 #ifndef YY_TYPEDEF_YY_SIZE_T
451 #define YY_TYPEDEF_YY_SIZE_T
465 #define EOB_ACT_CONTINUE_SCAN 0
466 #define EOB_ACT_END_OF_FILE 1
467 #define EOB_ACT_LAST_MATCH 2
469 #define YY_LESS_LINENO(n)
470 #define YY_LINENO_REWIND_TO(ptr)
477 int yyless_macro_arg = (n); \
478 YY_LESS_LINENO(yyless_macro_arg);\
479 *yy_cp = (yy_hold_char); \
480 YY_RESTORE_YY_MORE_OFFSET \
481 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
482 YY_DO_BEFORE_ACTION; \
485 #define unput(c) yyunput( c, (yytext_ptr) )
487 #ifndef YY_STRUCT_YY_BUFFER_STATE
488 #define YY_STRUCT_YY_BUFFER_STATE
540 #define YY_BUFFER_NEW 0
541 #define YY_BUFFER_NORMAL 1
552 #define YY_BUFFER_EOF_PENDING 2
562 static size_t yy_buffer_stack_top = 0;
563 static size_t yy_buffer_stack_max = 0;
576 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
577 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
582 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
589 static char yy_hold_char;
594 static char *yy_c_buf_p = NULL;
595 static int yy_init = 0;
596 static int yy_start = 0;
601 static int yy_did_buffer_switch_on_eof;
617 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
629 #define yy_new_buffer yy_create_buffer
630 #define yy_set_interactive(is_interactive) \
632 if ( ! YY_CURRENT_BUFFER ){ \
633 yyensure_buffer_stack (); \
634 YY_CURRENT_BUFFER_LVALUE = \
635 yy_create_buffer( yyin, YY_BUF_SIZE ); \
637 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
639 #define yy_set_bol(at_bol) \
641 if ( ! YY_CURRENT_BUFFER ){\
642 yyensure_buffer_stack (); \
643 YY_CURRENT_BUFFER_LVALUE = \
644 yy_create_buffer( yyin, YY_BUF_SIZE ); \
646 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
648 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
653 #define netconf_wrap() (1)
654 #define YY_SKIP_YYWRAP
670 #define yytext_ptr yytext
678 static int yy_get_next_buffer (
void );
679 static void yynoreturn yy_fatal_error (
const char* msg );
686 #define YY_DO_BEFORE_ACTION \
687 (yytext_ptr) = yy_bp; \
689 yyleng = (yy_size_t) (yy_cp - yy_bp); \
690 (yy_hold_char) = *yy_cp; \
693 (yy_c_buf_p) = yy_cp;
695 #define YY_NUM_RULES 64
696 #define YY_END_OF_BUFFER 65
706 57, 57, 0, 0, 0, 0, 0, 0, 0, 0,
707 65, 63, 10, 11, 63, 1, 57, 54, 57, 57,
708 63, 56, 55, 63, 63, 63, 63, 63, 50, 51,
709 63, 63, 63, 52, 53, 5, 5, 5, 63, 63,
710 63, 10, 11, 0, 0, 45, 0, 0, 0, 0,
711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
712 0, 1, 57, 57, 0, 56, 57, 3, 2, 6,
713 0, 57, 0, 0, 0, 0, 0, 0, 4, 0,
714 0, 9, 0, 46, 0, 0, 0, 48, 0, 0,
715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
718 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
719 8, 0, 0, 47, 49, 0, 0, 22, 0, 0,
720 21, 0, 0, 0, 0, 0, 0, 0, 0, 0,
721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
722 0, 0, 0, 62, 60, 0, 59, 58, 0, 0,
723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
725 0, 0, 0, 0, 0, 0, 61, 58, 0, 0,
726 0, 0, 0, 0, 0, 0, 0, 0, 0, 26,
728 0, 0, 0, 0, 0, 0, 35, 0, 0, 0,
729 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,
730 0, 0, 0, 19, 20, 39, 0, 0, 0, 0,
731 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
732 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
733 0, 0, 0, 41, 38, 0, 0, 0, 0, 0,
734 0, 27, 0, 0, 0, 12, 0, 14, 0, 0,
735 0, 32, 34, 0, 40, 0, 0, 0, 42, 0,
736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
737 0, 0, 0, 0, 44, 0, 0, 0, 0, 0,
739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
740 0, 0, 0, 0, 0, 0, 0, 43, 0, 0,
741 0, 0, 33, 0, 0, 30, 0, 0, 0, 15,
742 0, 0, 0, 0, 0, 29, 28, 0, 0, 0,
743 0, 0, 0, 0, 0, 0, 13, 0, 0, 0,
744 0, 0, 0, 0, 0, 24, 0, 0, 37, 36,
745 0, 0, 31, 18, 0, 0, 0, 17, 16, 0
748 static const YY_CHAR yy_ec[256] =
750 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
751 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
752 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
753 1, 4, 5, 6, 7, 5, 5, 5, 5, 5,
754 5, 8, 9, 10, 11, 12, 13, 14, 14, 15,
755 14, 16, 14, 17, 14, 14, 14, 18, 5, 19,
756 5, 20, 21, 5, 22, 23, 23, 23, 24, 25,
757 5, 5, 5, 5, 5, 26, 5, 27, 5, 5,
758 5, 28, 29, 30, 31, 5, 5, 5, 5, 5,
759 32, 33, 34, 5, 35, 5, 36, 37, 38, 39,
761 40, 41, 42, 43, 44, 5, 45, 46, 47, 48,
762 49, 50, 5, 51, 52, 53, 54, 55, 5, 56,
763 57, 58, 59, 5, 60, 5, 5, 5, 5, 5,
764 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
765 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
766 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
767 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
768 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
769 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
770 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
772 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
773 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
774 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
775 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
776 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
780 static const YY_CHAR yy_meta[61] =
782 1, 1, 2, 1, 1, 3, 1, 1, 1, 1,
783 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
784 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
785 1, 1, 4, 1, 1, 1, 4, 1, 1, 1,
786 4, 1, 1, 1, 1, 1, 1, 4, 1, 1,
787 4, 1, 4, 4, 1, 1, 1, 1, 1, 1
792 0, 0, 59, 62, 65, 0, 63, 67, 47, 64,
793 286, 2508, 84, 259, 125, 0, 105, 2508, 120, 125,
794 85, 169, 2508, 238, 139, 65, 69, 82, 2508, 2508,
795 80, 84, 118, 2508, 2508, 2508, 92, 205, 168, 0,
796 193, 110, 205, 97, 186, 2508, 193, 184, 201, 209,
797 221, 238, 245, 264, 254, 271, 279, 290, 299, 308,
798 314, 0, 314, 347, 358, 364, 368, 2508, 0, 2508,
799 214, 320, 121, 152, 128, 174, 217, 160, 2508, 168,
800 199, 2508, 137, 2508, 0, 388, 195, 394, 436, 400,
801 410, 422, 429, 462, 477, 483, 490, 499, 505, 511,
803 518, 524, 544, 553, 559, 566, 578, 587, 594, 601,
804 616, 622, 0, 223, 223, 255, 224, 242, 259, 130,
805 2508, 634, 155, 2508, 2508, 659, 656, 2508, 645, 684,
806 2508, 700, 709, 717, 723, 729, 737, 743, 771, 780,
807 788, 794, 800, 808, 814, 823, 836, 851, 858, 869,
808 876, 884, 282, 2508, 2508, 300, 2508, 2508, 103, 891,
809 927, 902, 913, 928, 953, 968, 974, 986, 996, 1003,
810 1009, 1019, 1025, 1031, 1042, 1053, 1064, 1075, 1081, 1090,
811 1097, 1103, 1109, 1123, 1132, 1143, 2508, 2508, 112, 1152,
812 1187, 1160, 1172, 1166, 1185, 1231, 1237, 1243, 1249, 2508,
814 1255, 1265, 1271, 1277, 1288, 1294, 2508, 1311, 1317, 1323,
815 1335, 1345, 1352, 1359, 2508, 1369, 1380, 64, 1387, 1393,
816 1416, 1428, 1435, 2508, 2508, 2508, 1444, 1450, 1456, 1464,
817 1478, 1490, 2508, 1498, 1511, 1518, 1524, 1534, 1540, 1546,
818 1552, 1559, 2508, 1569, 1580, 1592, 1603, 1614, 1620, 1626,
819 1632, 1638, 1649, 2508, 2508, 1655, 1672, 1678, 1684, 1690,
820 1696, 2508, 1706, 1713, 1724, 2508, 1730, 2508, 1739, 1750,
821 1767, 2508, 2508, 1773, 2508, 1779, 1786, 1793, 2508, 1807,
822 1814, 1821, 1829, 1836, 1850, 1857, 1864, 1871, 1883, 1890,
823 1899, 1905, 1912, 1924, 2508, 1934, 1941, 1947, 1953, 1967,
825 1976, 1982, 1993, 2000, 2010, 2017, 2026, 2033, 2039, 2046,
826 2052, 2061, 2072, 2081, 2087, 2094, 2100, 2508, 2106, 2115,
827 2122, 2140, 2508, 2148, 2157, 2508, 2163, 2174, 2181, 2508,
828 2191, 2197, 2207, 2217, 2231, 2508, 2508, 2242, 2250, 2256,
829 2265, 2279, 2289, 2299, 2305, 2314, 2508, 2322, 2328, 2340,
830 2347, 2357, 2364, 2373, 2380, 2508, 2392, 2399, 2508, 2508,
831 2406, 2415, 2508, 2508, 2421, 2427, 2435, 2508, 2508, 2508,
832 2473, 2477, 2481, 2485, 2489, 2493, 2497, 2499, 2503
837 370, 1, 371, 371, 1, 5, 5, 5, 5, 5,
838 370, 370, 370, 370, 372, 373, 370, 370, 370, 370,
839 370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
840 370, 370, 370, 370, 370, 370, 370, 370, 370, 374,
841 370, 370, 370, 375, 372, 370, 372, 376, 372, 372,
842 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
843 372, 373, 370, 370, 370, 370, 370, 370, 377, 370,
844 370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
845 374, 370, 375, 370, 378, 372, 379, 372, 376, 372,
846 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
848 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
849 372, 372, 377, 370, 370, 370, 370, 370, 370, 370,
850 370, 372, 379, 370, 370, 89, 372, 370, 372, 372,
851 370, 372, 372, 372, 372, 372, 372, 372, 372, 372,
852 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
853 372, 372, 370, 370, 370, 370, 370, 370, 370, 372,
854 89, 372, 372, 372, 372, 372, 372, 372, 372, 372,
855 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
856 372, 372, 372, 372, 372, 372, 370, 370, 370, 372,
857 89, 372, 372, 372, 372, 372, 372, 372, 372, 370,
859 372, 372, 372, 372, 372, 372, 370, 372, 372, 372,
860 372, 372, 372, 372, 370, 372, 372, 370, 372, 372,
861 372, 372, 372, 370, 370, 370, 372, 372, 372, 372,
862 372, 372, 370, 372, 372, 372, 372, 372, 372, 372,
863 372, 372, 370, 372, 372, 372, 372, 372, 372, 372,
864 372, 372, 372, 370, 370, 372, 372, 372, 372, 372,
865 372, 370, 372, 372, 372, 370, 372, 370, 372, 372,
866 372, 370, 370, 372, 370, 372, 372, 372, 370, 372,
867 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
868 372, 372, 372, 372, 370, 372, 372, 372, 372, 372,
870 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
871 372, 372, 372, 372, 372, 372, 372, 370, 372, 372,
872 372, 372, 370, 372, 372, 370, 372, 372, 372, 370,
873 372, 372, 372, 372, 372, 370, 370, 372, 372, 372,
874 372, 372, 372, 372, 372, 372, 370, 372, 372, 372,
875 372, 372, 372, 372, 372, 370, 372, 372, 370, 370,
876 372, 372, 370, 370, 372, 372, 372, 370, 370, 0,
877 370, 370, 370, 370, 370, 370, 370, 370, 370
882 12, 13, 14, 13, 12, 15, 16, 12, 17, 18,
883 19, 20, 21, 22, 22, 22, 22, 23, 24, 12,
884 12, 12, 12, 25, 26, 12, 27, 12, 12, 28,
885 12, 29, 12, 30, 12, 12, 12, 12, 12, 25,
886 31, 12, 12, 12, 12, 12, 12, 32, 12, 12,
887 12, 12, 33, 12, 12, 12, 12, 12, 34, 35,
888 37, 14, 37, 37, 14, 37, 38, 41, 40, 38,
889 12, 12, 40, 12, 12, 12, 12, 12, 12, 12,
890 12, 12, 12, 12, 41, 42, 73, 42, 12, 12,
891 12, 12, 68, 42, 12, 42, 12, 69, 12, 74,
893 73, 73, 84, 243, 12, 12, 12, 12, 39, 75,
894 12, 42, 12, 42, 74, 76, 63, 12, 64, 64,
895 64, 64, 74, 12, 12, 44, 44, 44, 65, 85,
896 46, 63, 75, 66, 66, 66, 66, 77, 67, 67,
897 67, 67, 84, 65, 65, 75, 114, 71, 65, 71,
898 218, 47, 72, 72, 72, 72, 189, 48, 116, 65,
899 124, 49, 50, 51, 65, 52, 114, 53, 78, 85,
900 54, 55, 56, 57, 58, 159, 59, 115, 60, 61,
901 63, 116, 66, 66, 66, 66, 44, 44, 44, 88,
902 116, 46, 65, 44, 44, 44, 45, 115, 46, 114,
904 124, 44, 44, 44, 121, 120, 46, 43, 65, 44,
905 44, 44, 82, 119, 46, 80, 45, 79, 48, 117,
906 45, 44, 44, 44, 45, 48, 46, 72, 72, 72,
907 72, 45, 86, 48, 45, 93, 45, 89, 44, 44,
908 44, 48, 115, 46, 91, 44, 44, 44, 154, 90,
909 46, 153, 153, 48, 44, 44, 44, 92, 70, 46,
910 94, 43, 118, 95, 44, 44, 44, 154, 154, 46,
911 48, 44, 44, 44, 153, 156, 46, 48, 155, 44,
912 44, 44, 155, 96, 46, 370, 48, 157, 370, 101,
913 44, 44, 44, 97, 155, 46, 48, 98, 158, 44,
915 44, 44, 102, 48, 46, 187, 103, 99, 44, 44,
916 44, 48, 100, 46, 44, 44, 44, 370, 370, 46,
917 370, 187, 48, 187, 370, 105, 370, 67, 67, 67,
918 67, 48, 104, 72, 72, 72, 72, 65, 106, 188,
919 48, 370, 370, 370, 370, 370, 48, 107, 370, 112,
920 370, 108, 109, 65, 370, 110, 370, 370, 63, 111,
921 64, 64, 64, 64, 370, 370, 71, 370, 71, 370,
922 65, 72, 72, 72, 72, 63, 370, 66, 66, 66,
923 66, 67, 67, 67, 67, 370, 65, 65, 44, 44,
924 44, 65, 370, 46, 44, 44, 44, 370, 370, 46,
926 44, 44, 44, 65, 370, 46, 370, 65, 370, 370,
927 44, 44, 44, 370, 370, 128, 370, 370, 370, 370,
928 48, 370, 44, 44, 44, 370, 48, 46, 370, 44,
929 44, 44, 48, 370, 131, 370, 370, 370, 370, 370,
930 122, 125, 48, 370, 370, 370, 370, 370, 127, 126,
931 126, 126, 126, 370, 48, 370, 370, 126, 126, 126,
932 126, 48, 44, 44, 44, 370, 370, 46, 129, 130,
933 370, 126, 126, 126, 126, 126, 126, 44, 44, 44,
934 370, 370, 46, 44, 44, 44, 370, 370, 46, 370,
935 44, 44, 44, 370, 48, 46, 370, 370, 132, 44,
937 44, 44, 370, 370, 46, 44, 44, 44, 370, 48,
938 46, 44, 44, 44, 133, 48, 46, 370, 44, 44,
939 44, 370, 48, 46, 44, 44, 44, 370, 370, 46,
940 370, 48, 370, 370, 370, 370, 134, 48, 135, 370,
941 370, 137, 370, 48, 44, 44, 44, 370, 370, 46,
942 48, 136, 138, 44, 44, 44, 48, 370, 46, 44,
943 44, 44, 141, 370, 46, 139, 44, 44, 44, 370,
944 370, 46, 370, 140, 370, 370, 48, 370, 44, 44,
945 44, 370, 370, 46, 370, 48, 370, 44, 44, 44,
946 142, 48, 46, 370, 44, 44, 44, 370, 48, 46,
948 370, 44, 44, 44, 370, 143, 46, 370, 370, 144,
949 48, 145, 370, 370, 370, 147, 44, 44, 44, 48,
950 146, 46, 44, 44, 44, 148, 48, 46, 370, 370,
951 149, 370, 370, 48, 44, 44, 44, 370, 370, 46,
952 370, 370, 370, 370, 150, 44, 44, 44, 48, 370,
953 46, 370, 370, 370, 48, 151, 44, 44, 44, 370,
954 370, 46, 370, 370, 370, 370, 48, 152, 370, 370,
955 370, 160, 161, 161, 161, 161, 370, 48, 370, 370,
956 161, 161, 161, 161, 44, 44, 44, 370, 48, 46,
957 370, 163, 370, 370, 161, 161, 161, 161, 161, 161,
959 44, 44, 44, 370, 370, 46, 370, 370, 162, 44,
960 44, 44, 370, 370, 46, 370, 48, 44, 44, 44,
961 370, 370, 46, 44, 44, 44, 370, 370, 46, 44,
962 44, 44, 48, 370, 46, 370, 164, 44, 44, 44,
963 370, 48, 46, 44, 44, 44, 370, 370, 46, 48,
964 370, 370, 370, 165, 370, 48, 370, 370, 166, 370,
965 370, 48, 370, 370, 370, 370, 370, 168, 167, 48,
966 370, 44, 44, 44, 370, 48, 46, 370, 169, 370,
967 44, 44, 44, 370, 171, 46, 370, 170, 44, 44,
968 44, 370, 370, 46, 44, 44, 44, 370, 370, 46,
970 44, 44, 44, 48, 370, 46, 172, 370, 44, 44,
971 44, 370, 48, 46, 44, 44, 44, 370, 370, 46,
972 48, 370, 370, 44, 44, 44, 48, 175, 46, 370,
973 370, 173, 48, 176, 174, 370, 44, 44, 44, 370,
974 48, 46, 370, 178, 370, 370, 48, 370, 370, 177,
975 370, 44, 44, 44, 370, 48, 46, 370, 44, 44,
976 44, 370, 180, 46, 370, 370, 179, 370, 48, 44,
977 44, 44, 370, 370, 46, 370, 44, 44, 44, 370,
978 181, 46, 370, 48, 44, 44, 44, 370, 370, 46,
979 48, 44, 44, 44, 370, 370, 46, 370, 370, 182,
981 370, 48, 44, 44, 44, 370, 370, 46, 48, 183,
982 370, 370, 192, 44, 44, 44, 48, 370, 46, 370,
983 370, 370, 370, 48, 184, 370, 185, 186, 44, 44,
984 44, 370, 370, 46, 48, 370, 370, 370, 370, 190,
985 191, 191, 191, 191, 370, 48, 370, 370, 191, 191,
986 191, 191, 193, 44, 44, 44, 370, 370, 46, 370,
987 48, 370, 191, 191, 191, 191, 191, 191, 44, 44,
988 44, 370, 370, 46, 44, 44, 44, 370, 194, 46,
989 370, 370, 370, 196, 197, 48, 44, 44, 44, 370,
990 370, 46, 370, 370, 195, 370, 44, 44, 44, 370,
992 48, 200, 370, 44, 44, 44, 48, 370, 46, 44,
993 44, 44, 370, 370, 46, 370, 198, 370, 48, 44,
994 44, 44, 370, 370, 46, 44, 44, 44, 48, 370,
995 46, 44, 44, 44, 370, 48, 46, 199, 201, 370,
996 370, 48, 44, 44, 44, 370, 370, 46, 202, 370,
997 370, 48, 370, 44, 44, 44, 370, 48, 207, 370,
998 203, 370, 370, 48, 44, 44, 44, 370, 204, 46,
999 205, 370, 370, 370, 48, 44, 44, 44, 370, 370,
1000 46, 44, 44, 44, 370, 48, 46, 206, 370, 370,
1001 44, 44, 44, 370, 370, 46, 48, 44, 44, 44,
1003 370, 370, 46, 44, 44, 44, 370, 48, 46, 44,
1004 44, 44, 370, 48, 46, 370, 370, 208, 370, 370,
1005 210, 209, 48, 44, 44, 44, 370, 370, 215, 48,
1006 370, 370, 44, 44, 44, 48, 212, 46, 370, 370,
1007 211, 48, 216, 44, 44, 44, 214, 370, 46, 370,
1008 370, 370, 44, 44, 44, 48, 213, 46, 370, 370,
1009 44, 44, 44, 370, 48, 46, 44, 44, 44, 370,
1010 370, 46, 44, 44, 44, 48, 370, 46, 370, 370,
1011 370, 217, 370, 370, 48, 44, 44, 44, 370, 370,
1012 46, 370, 48, 370, 370, 370, 370, 370, 48, 219,
1014 45, 45, 45, 45, 48, 370, 370, 370, 45, 45,
1015 45, 45, 370, 220, 222, 370, 370, 48, 370, 221,
1016 370, 370, 45, 45, 45, 45, 45, 45, 370, 370,
1017 223, 44, 44, 44, 370, 370, 224, 44, 44, 44,
1018 370, 370, 225, 44, 44, 44, 370, 370, 226, 44,
1019 44, 44, 370, 370, 46, 44, 44, 44, 370, 227,
1020 46, 370, 370, 48, 370, 44, 44, 44, 370, 48,
1021 46, 44, 44, 44, 370, 48, 46, 44, 44, 44,
1022 370, 48, 46, 370, 370, 370, 370, 48, 44, 44,
1023 44, 370, 370, 46, 44, 44, 44, 48, 370, 233,
1025 370, 370, 370, 48, 370, 228, 370, 370, 370, 48,
1026 230, 44, 44, 44, 370, 229, 46, 44, 44, 44,
1027 48, 370, 46, 44, 44, 44, 48, 370, 46, 370,
1028 370, 370, 370, 370, 231, 44, 44, 44, 232, 370,
1029 46, 370, 370, 48, 370, 44, 44, 44, 370, 48,
1030 46, 370, 44, 44, 44, 48, 235, 46, 370, 44,
1031 44, 44, 370, 234, 46, 370, 370, 48, 370, 44,
1032 44, 44, 370, 236, 46, 370, 370, 48, 237, 370,
1033 44, 44, 44, 370, 48, 46, 370, 44, 44, 44,
1034 370, 48, 46, 44, 44, 44, 370, 238, 46, 370,
1036 370, 48, 370, 370, 239, 370, 241, 370, 370, 240,
1037 370, 370, 48, 370, 370, 242, 44, 44, 44, 48,
1038 370, 46, 370, 370, 370, 48, 370, 244, 44, 44,
1039 44, 370, 370, 46, 370, 44, 44, 44, 370, 370,
1040 46, 370, 245, 370, 44, 44, 44, 370, 48, 46,
1041 44, 44, 44, 370, 370, 46, 44, 44, 44, 370,
1042 48, 46, 370, 370, 44, 44, 44, 48, 246, 46,
1043 370, 370, 370, 247, 248, 370, 48, 370, 44, 44,
1044 44, 370, 48, 46, 370, 370, 370, 370, 48, 249,
1045 44, 44, 44, 370, 370, 254, 48, 370, 44, 44,
1047 44, 370, 252, 255, 370, 370, 250, 251, 256, 370,
1048 48, 44, 44, 44, 370, 370, 46, 253, 44, 44,
1049 44, 370, 48, 46, 44, 44, 44, 370, 370, 46,
1050 48, 370, 257, 370, 44, 44, 44, 370, 370, 46,
1051 44, 44, 44, 48, 261, 262, 44, 44, 44, 370,
1052 48, 46, 44, 44, 44, 370, 48, 46, 370, 44,
1053 44, 44, 370, 258, 46, 259, 48, 370, 370, 44,
1054 44, 44, 48, 370, 266, 370, 260, 370, 48, 370,
1055 44, 44, 44, 370, 48, 46, 370, 370, 370, 263,
1056 370, 48, 44, 44, 44, 370, 370, 268, 370, 370,
1058 264, 48, 370, 44, 44, 44, 370, 370, 46, 370,
1059 370, 265, 48, 269, 44, 44, 44, 370, 267, 46,
1060 44, 44, 44, 370, 48, 46, 44, 44, 44, 370,
1061 370, 272, 44, 44, 44, 48, 370, 273, 44, 44,
1062 44, 370, 370, 46, 370, 370, 48, 370, 274, 44,
1063 44, 44, 48, 370, 275, 44, 44, 44, 48, 370,
1064 46, 370, 370, 271, 48, 370, 370, 370, 270, 370,
1065 48, 370, 44, 44, 44, 370, 370, 46, 44, 44,
1066 44, 48, 370, 46, 44, 44, 44, 48, 370, 279,
1067 44, 44, 44, 370, 370, 46, 44, 44, 44, 370,
1069 370, 46, 370, 276, 48, 370, 44, 44, 44, 370,
1070 48, 46, 370, 44, 44, 44, 48, 278, 46, 370,
1071 277, 370, 48, 370, 44, 44, 44, 370, 48, 46,
1072 44, 44, 44, 370, 370, 46, 370, 370, 48, 44,
1073 44, 44, 284, 281, 46, 48, 280, 370, 282, 283,
1074 44, 44, 44, 370, 370, 46, 48, 370, 370, 370,
1075 285, 370, 48, 286, 370, 287, 370, 44, 44, 44,
1076 370, 48, 46, 44, 44, 44, 370, 370, 46, 44,
1077 44, 44, 48, 370, 46, 370, 44, 44, 44, 289,
1078 288, 46, 370, 44, 44, 44, 370, 370, 46, 48,
1080 370, 370, 370, 290, 370, 48, 370, 44, 44, 44,
1081 370, 48, 295, 370, 44, 44, 44, 370, 48, 46,
1082 370, 44, 44, 44, 291, 48, 46, 370, 292, 44,
1083 44, 44, 370, 370, 46, 293, 44, 44, 44, 48,
1084 370, 46, 370, 294, 370, 370, 48, 370, 370, 296,
1085 44, 44, 44, 48, 370, 46, 370, 44, 44, 44,
1086 370, 48, 46, 370, 44, 44, 44, 301, 48, 46,
1087 370, 44, 44, 44, 370, 299, 46, 297, 370, 298,
1088 370, 370, 48, 44, 44, 44, 370, 370, 46, 48,
1089 44, 44, 44, 370, 370, 46, 48, 370, 370, 44,
1091 44, 44, 300, 48, 46, 44, 44, 44, 370, 370,
1092 46, 370, 44, 44, 44, 48, 302, 46, 370, 303,
1093 370, 370, 48, 370, 44, 44, 44, 370, 304, 46,
1094 370, 48, 370, 370, 44, 44, 44, 48, 306, 46,
1095 305, 44, 44, 44, 48, 370, 46, 44, 44, 44,
1096 370, 370, 46, 44, 44, 44, 48, 307, 46, 370,
1097 370, 370, 370, 313, 308, 370, 48, 44, 44, 44,
1098 370, 370, 46, 48, 370, 309, 44, 44, 44, 48,
1099 310, 46, 44, 44, 44, 48, 370, 46, 370, 370,
1100 311, 370, 312, 44, 44, 44, 370, 370, 46, 48,
1102 44, 44, 44, 370, 370, 318, 314, 370, 48, 370,
1103 44, 44, 44, 315, 48, 46, 370, 44, 44, 44,
1104 370, 316, 46, 370, 370, 48, 44, 44, 44, 370,
1105 317, 46, 48, 44, 44, 44, 370, 370, 46, 44,
1106 44, 44, 48, 370, 323, 319, 44, 44, 44, 48,
1107 370, 46, 44, 44, 44, 370, 370, 46, 48, 370,
1108 370, 44, 44, 44, 370, 48, 326, 320, 370, 321,
1109 370, 48, 44, 44, 44, 370, 322, 46, 48, 370,
1110 370, 44, 44, 44, 48, 324, 46, 44, 44, 44,
1111 370, 325, 46, 48, 44, 44, 44, 370, 370, 330,
1113 44, 44, 44, 370, 48, 46, 44, 44, 44, 327,
1114 370, 46, 370, 48, 370, 44, 44, 44, 370, 48,
1115 46, 370, 44, 44, 44, 370, 48, 46, 370, 329,
1116 370, 370, 48, 370, 370, 370, 328, 370, 48, 370,
1117 44, 44, 44, 370, 331, 46, 370, 48, 44, 44,
1118 44, 370, 370, 336, 48, 370, 332, 44, 44, 44,
1119 370, 370, 337, 44, 44, 44, 370, 370, 46, 333,
1120 334, 370, 48, 370, 44, 44, 44, 370, 370, 46,
1121 48, 44, 44, 44, 370, 370, 46, 370, 335, 48,
1122 370, 44, 44, 44, 370, 48, 46, 44, 44, 44,
1124 370, 370, 46, 370, 370, 338, 48, 44, 44, 44,
1125 370, 370, 46, 48, 370, 370, 340, 44, 44, 44,
1126 370, 370, 46, 48, 370, 370, 339, 370, 370, 48,
1127 341, 44, 44, 44, 370, 370, 46, 370, 370, 48,
1128 342, 370, 44, 44, 44, 370, 343, 46, 370, 48,
1129 44, 44, 44, 370, 370, 347, 44, 44, 44, 370,
1130 370, 46, 370, 48, 344, 44, 44, 44, 370, 370,
1131 46, 370, 370, 370, 48, 370, 370, 346, 345, 44,
1132 44, 44, 48, 370, 46, 370, 370, 370, 48, 44,
1133 44, 44, 370, 370, 46, 370, 370, 48, 370, 44,
1135 44, 44, 370, 348, 46, 44, 44, 44, 370, 370,
1136 46, 48, 370, 370, 44, 44, 44, 349, 350, 46,
1137 370, 48, 44, 44, 44, 370, 370, 46, 44, 44,
1138 44, 48, 370, 356, 370, 370, 370, 48, 370, 351,
1139 44, 44, 44, 370, 370, 46, 48, 44, 44, 44,
1140 352, 370, 46, 370, 48, 370, 353, 44, 44, 44,
1141 48, 354, 359, 355, 44, 44, 44, 370, 370, 360,
1142 370, 370, 48, 44, 44, 44, 370, 370, 46, 48,
1143 44, 44, 44, 370, 370, 46, 370, 370, 370, 48,
1144 370, 357, 44, 44, 44, 370, 48, 363, 358, 44,
1146 44, 44, 370, 370, 364, 48, 44, 44, 44, 370,
1147 370, 46, 48, 370, 361, 44, 44, 44, 370, 362,
1148 46, 44, 44, 44, 48, 370, 46, 44, 44, 44,
1149 370, 48, 368, 370, 370, 44, 44, 44, 48, 370,
1150 369, 370, 370, 370, 370, 365, 370, 48, 370, 370,
1151 370, 370, 370, 48, 370, 370, 370, 370, 370, 48,
1152 370, 370, 370, 370, 370, 370, 366, 48, 370, 370,
1153 370, 370, 367, 36, 36, 36, 36, 45, 45, 45,
1154 45, 62, 370, 62, 62, 81, 370, 370, 81, 83,
1155 83, 83, 83, 87, 87, 87, 87, 113, 370, 113,
1157 113, 83, 83, 123, 123, 123, 123, 11, 370, 370,
1158 370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
1159 370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
1160 370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
1161 370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
1162 370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
1163 370, 370, 370, 370, 370, 370, 370, 370
1168 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1169 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1170 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1171 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1172 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1173 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1174 3, 3, 3, 4, 4, 4, 3, 9, 7, 4,
1175 5, 5, 8, 5, 5, 5, 5, 5, 5, 5,
1176 5, 5, 5, 5, 10, 13, 26, 13, 5, 5,
1177 9, 5, 21, 37, 5, 37, 5, 21, 5, 27,
1179 26, 31, 44, 218, 5, 5, 7, 10, 5, 28,
1180 8, 42, 5, 42, 32, 31, 17, 5, 17, 17,
1181 17, 17, 27, 5, 5, 15, 15, 15, 17, 44,
1182 15, 19, 28, 19, 19, 19, 19, 32, 20, 20,
1183 20, 20, 83, 19, 17, 33, 73, 25, 20, 25,
1184 189, 15, 25, 25, 25, 25, 159, 15, 75, 19,
1185 123, 15, 15, 15, 20, 15, 73, 15, 33, 83,
1186 15, 15, 15, 15, 15, 120, 15, 74, 15, 15,
1187 22, 75, 22, 22, 22, 22, 45, 45, 45, 48,
1188 78, 45, 22, 47, 47, 47, 48, 74, 47, 76,
1190 87, 49, 49, 49, 81, 80, 49, 43, 22, 50,
1191 50, 50, 41, 78, 50, 39, 48, 38, 45, 76,
1192 48, 51, 51, 51, 48, 47, 51, 71, 71, 71,
1193 71, 48, 47, 49, 48, 51, 48, 48, 52, 52,
1194 52, 50, 77, 52, 50, 53, 53, 53, 115, 49,
1195 53, 114, 117, 51, 55, 55, 55, 50, 24, 55,
1196 51, 14, 77, 51, 54, 54, 54, 118, 115, 54,
1197 52, 56, 56, 56, 114, 117, 56, 53, 116, 57,
1198 57, 57, 119, 52, 57, 11, 55, 118, 0, 55,
1199 58, 58, 58, 53, 116, 58, 54, 53, 119, 59,
1201 59, 59, 55, 56, 59, 153, 56, 54, 60, 60,
1202 60, 57, 54, 60, 61, 61, 61, 0, 0, 61,
1203 0, 153, 58, 156, 0, 58, 0, 63, 63, 63,
1204 63, 59, 57, 72, 72, 72, 72, 63, 59, 156,
1205 60, 0, 0, 0, 0, 0, 61, 59, 0, 61,
1206 0, 59, 59, 63, 0, 60, 0, 0, 64, 60,
1207 64, 64, 64, 64, 0, 0, 65, 0, 65, 0,
1208 64, 65, 65, 65, 65, 66, 0, 66, 66, 66,
1209 66, 67, 67, 67, 67, 0, 64, 66, 86, 86,
1210 86, 67, 0, 86, 88, 88, 88, 0, 0, 88,
1212 90, 90, 90, 66, 0, 90, 0, 67, 0, 0,
1213 91, 91, 91, 0, 0, 91, 0, 0, 0, 0,
1214 86, 0, 92, 92, 92, 0, 88, 92, 0, 93,
1215 93, 93, 90, 0, 93, 0, 0, 0, 0, 0,
1216 86, 89, 91, 0, 0, 0, 0, 0, 90, 89,
1217 89, 89, 89, 0, 92, 0, 0, 89, 89, 89,
1218 89, 93, 94, 94, 94, 0, 0, 94, 92, 92,
1219 0, 89, 89, 89, 89, 89, 89, 95, 95, 95,
1220 0, 0, 95, 96, 96, 96, 0, 0, 96, 0,
1221 97, 97, 97, 0, 94, 97, 0, 0, 94, 98,
1223 98, 98, 0, 0, 98, 99, 99, 99, 0, 95,
1224 99, 100, 100, 100, 95, 96, 100, 0, 101, 101,
1225 101, 0, 97, 101, 102, 102, 102, 0, 0, 102,
1226 0, 98, 0, 0, 0, 0, 96, 99, 97, 0,
1227 0, 99, 0, 100, 103, 103, 103, 0, 0, 103,
1228 101, 98, 100, 104, 104, 104, 102, 0, 104, 105,
1229 105, 105, 102, 0, 105, 101, 106, 106, 106, 0,
1230 0, 106, 0, 101, 0, 0, 103, 0, 107, 107,
1231 107, 0, 0, 107, 0, 104, 0, 108, 108, 108,
1232 103, 105, 108, 0, 109, 109, 109, 0, 106, 109,
1234 0, 110, 110, 110, 0, 104, 110, 0, 0, 105,
1235 107, 105, 0, 0, 0, 107, 111, 111, 111, 108,
1236 106, 111, 112, 112, 112, 108, 109, 112, 0, 0,
1237 109, 0, 0, 110, 122, 122, 122, 0, 0, 122,
1238 0, 0, 0, 0, 110, 129, 129, 129, 111, 0,
1239 129, 0, 0, 0, 112, 111, 127, 127, 127, 0,
1240 0, 127, 0, 0, 0, 0, 122, 112, 0, 0,
1241 0, 122, 126, 126, 126, 126, 0, 129, 0, 0,
1242 126, 126, 126, 126, 130, 130, 130, 0, 127, 130,
1243 0, 129, 0, 0, 126, 126, 126, 126, 126, 126,
1245 132, 132, 132, 0, 0, 132, 0, 0, 127, 133,
1246 133, 133, 0, 0, 133, 0, 130, 134, 134, 134,
1247 0, 0, 134, 135, 135, 135, 0, 0, 135, 136,
1248 136, 136, 132, 0, 136, 0, 130, 137, 137, 137,
1249 0, 133, 137, 138, 138, 138, 0, 0, 138, 134,
1250 0, 0, 0, 132, 0, 135, 0, 0, 133, 0,
1251 0, 136, 0, 0, 0, 0, 0, 135, 134, 137,
1252 0, 139, 139, 139, 0, 138, 139, 0, 136, 0,
1253 140, 140, 140, 0, 138, 140, 0, 137, 141, 141,
1254 141, 0, 0, 141, 142, 142, 142, 0, 0, 142,
1256 143, 143, 143, 139, 0, 143, 139, 0, 144, 144,
1257 144, 0, 140, 144, 145, 145, 145, 0, 0, 145,
1258 141, 0, 0, 146, 146, 146, 142, 141, 146, 0,
1259 0, 140, 143, 142, 140, 0, 147, 147, 147, 0,
1260 144, 147, 0, 144, 0, 0, 145, 0, 0, 143,
1261 0, 148, 148, 148, 0, 146, 148, 0, 149, 149,
1262 149, 0, 146, 149, 0, 0, 145, 0, 147, 150,
1263 150, 150, 0, 0, 150, 0, 151, 151, 151, 0,
1264 147, 151, 0, 148, 152, 152, 152, 0, 0, 152,
1265 149, 160, 160, 160, 0, 0, 160, 0, 0, 148,
1267 0, 150, 162, 162, 162, 0, 0, 162, 151, 149,
1268 0, 0, 162, 163, 163, 163, 152, 0, 163, 0,
1269 0, 0, 0, 160, 150, 0, 151, 152, 164, 164,
1270 164, 0, 0, 164, 162, 0, 0, 0, 0, 160,
1271 161, 161, 161, 161, 0, 163, 0, 0, 161, 161,
1272 161, 161, 163, 165, 165, 165, 0, 0, 165, 0,
1273 164, 0, 161, 161, 161, 161, 161, 161, 166, 166,
1274 166, 0, 0, 166, 167, 167, 167, 0, 164, 167,
1275 0, 0, 0, 166, 166, 165, 168, 168, 168, 0,
1276 0, 168, 0, 0, 165, 0, 169, 169, 169, 0,
1278 166, 169, 0, 170, 170, 170, 167, 0, 170, 171,
1279 171, 171, 0, 0, 171, 0, 167, 0, 168, 172,
1280 172, 172, 0, 0, 172, 173, 173, 173, 169, 0,
1281 173, 174, 174, 174, 0, 170, 174, 168, 170, 0,
1282 0, 171, 175, 175, 175, 0, 0, 175, 171, 0,
1283 0, 172, 0, 176, 176, 176, 0, 173, 176, 0,
1284 172, 0, 0, 174, 177, 177, 177, 0, 173, 177,
1285 174, 0, 0, 0, 175, 178, 178, 178, 0, 0,
1286 178, 179, 179, 179, 0, 176, 179, 175, 0, 0,
1287 180, 180, 180, 0, 0, 180, 177, 181, 181, 181,
1289 0, 0, 181, 182, 182, 182, 0, 178, 182, 183,
1290 183, 183, 0, 179, 183, 0, 0, 177, 0, 0,
1291 179, 178, 180, 184, 184, 184, 0, 0, 184, 181,
1292 0, 0, 185, 185, 185, 182, 181, 185, 0, 0,
1293 180, 183, 185, 186, 186, 186, 183, 0, 186, 0,
1294 0, 0, 190, 190, 190, 184, 182, 190, 0, 0,
1295 192, 192, 192, 0, 185, 192, 194, 194, 194, 0,
1296 0, 194, 193, 193, 193, 186, 0, 193, 0, 0,
1297 0, 186, 0, 0, 190, 195, 195, 195, 0, 0,
1298 195, 0, 192, 0, 0, 0, 0, 0, 194, 190,
1300 191, 191, 191, 191, 193, 0, 0, 0, 191, 191,
1301 191, 191, 0, 192, 194, 0, 0, 195, 0, 193,
1302 0, 0, 191, 191, 191, 191, 191, 191, 0, 0,
1303 195, 196, 196, 196, 0, 0, 196, 197, 197, 197,
1304 0, 0, 197, 198, 198, 198, 0, 0, 198, 199,
1305 199, 199, 0, 0, 199, 201, 201, 201, 0, 199,
1306 201, 0, 0, 196, 0, 202, 202, 202, 0, 197,
1307 202, 203, 203, 203, 0, 198, 203, 204, 204, 204,
1308 0, 199, 204, 0, 0, 0, 0, 201, 205, 205,
1309 205, 0, 0, 205, 206, 206, 206, 202, 0, 206,
1311 0, 0, 0, 203, 0, 201, 0, 0, 0, 204,
1312 203, 208, 208, 208, 0, 202, 208, 209, 209, 209,
1313 205, 0, 209, 210, 210, 210, 206, 0, 210, 0,
1314 0, 0, 0, 0, 204, 211, 211, 211, 205, 0,
1315 211, 0, 0, 208, 0, 212, 212, 212, 0, 209,
1316 212, 0, 213, 213, 213, 210, 209, 213, 0, 214,
1317 214, 214, 0, 208, 214, 0, 0, 211, 0, 216,
1318 216, 216, 0, 210, 216, 0, 0, 212, 211, 0,
1319 217, 217, 217, 0, 213, 217, 0, 219, 219, 219,
1320 0, 214, 219, 220, 220, 220, 0, 212, 220, 0,
1322 0, 216, 0, 0, 213, 0, 216, 0, 0, 214,
1323 0, 0, 217, 0, 0, 217, 221, 221, 221, 219,
1324 0, 221, 0, 0, 0, 220, 0, 219, 222, 222,
1325 222, 0, 0, 222, 0, 223, 223, 223, 0, 0,
1326 223, 0, 220, 0, 227, 227, 227, 0, 221, 227,
1327 228, 228, 228, 0, 0, 228, 229, 229, 229, 0,
1328 222, 229, 0, 0, 230, 230, 230, 223, 221, 230,
1329 0, 0, 0, 222, 223, 0, 227, 0, 231, 231,
1330 231, 0, 228, 231, 0, 0, 0, 0, 229, 227,
1331 232, 232, 232, 0, 0, 232, 230, 0, 234, 234,
1333 234, 0, 230, 234, 0, 0, 228, 229, 234, 0,
1334 231, 235, 235, 235, 0, 0, 235, 231, 236, 236,
1335 236, 0, 232, 236, 237, 237, 237, 0, 0, 237,
1336 234, 0, 234, 0, 238, 238, 238, 0, 0, 238,
1337 239, 239, 239, 235, 238, 239, 240, 240, 240, 0,
1338 236, 240, 241, 241, 241, 0, 237, 241, 0, 242,
1339 242, 242, 0, 235, 242, 236, 238, 0, 0, 244,
1340 244, 244, 239, 0, 244, 0, 237, 0, 240, 0,
1341 245, 245, 245, 0, 241, 245, 0, 0, 0, 240,
1342 0, 242, 246, 246, 246, 0, 0, 246, 0, 0,
1344 241, 244, 0, 247, 247, 247, 0, 0, 247, 0,
1345 0, 242, 245, 247, 248, 248, 248, 0, 245, 248,
1346 249, 249, 249, 0, 246, 249, 250, 250, 250, 0,
1347 0, 250, 251, 251, 251, 247, 0, 251, 252, 252,
1348 252, 0, 0, 252, 0, 0, 248, 0, 252, 253,
1349 253, 253, 249, 0, 253, 256, 256, 256, 250, 0,
1350 256, 0, 0, 249, 251, 0, 0, 0, 248, 0,
1351 252, 0, 257, 257, 257, 0, 0, 257, 258, 258,
1352 258, 253, 0, 258, 259, 259, 259, 256, 0, 259,
1353 260, 260, 260, 0, 0, 260, 261, 261, 261, 0,
1355 0, 261, 0, 256, 257, 0, 263, 263, 263, 0,
1356 258, 263, 0, 264, 264, 264, 259, 258, 264, 0,
1357 257, 0, 260, 0, 265, 265, 265, 0, 261, 265,
1358 267, 267, 267, 0, 0, 267, 0, 0, 263, 269,
1359 269, 269, 263, 261, 269, 264, 260, 0, 261, 261,
1360 270, 270, 270, 0, 0, 270, 265, 0, 0, 0,
1361 264, 0, 267, 265, 0, 267, 0, 271, 271, 271,
1362 0, 269, 271, 274, 274, 274, 0, 0, 274, 276,
1363 276, 276, 270, 0, 276, 0, 277, 277, 277, 270,
1364 269, 277, 0, 278, 278, 278, 0, 0, 278, 271,
1366 0, 0, 0, 271, 0, 274, 0, 280, 280, 280,
1367 0, 276, 280, 0, 281, 281, 281, 0, 277, 281,
1368 0, 282, 282, 282, 274, 278, 282, 0, 276, 283,
1369 283, 283, 0, 0, 283, 277, 284, 284, 284, 280,
1370 0, 284, 0, 278, 0, 0, 281, 0, 0, 281,
1371 285, 285, 285, 282, 0, 285, 0, 286, 286, 286,
1372 0, 283, 286, 0, 287, 287, 287, 286, 284, 287,
1373 0, 288, 288, 288, 0, 284, 288, 282, 0, 283,
1374 0, 0, 285, 289, 289, 289, 0, 0, 289, 286,
1375 290, 290, 290, 0, 0, 290, 287, 0, 0, 291,
1377 291, 291, 285, 288, 291, 292, 292, 292, 0, 0,
1378 292, 0, 293, 293, 293, 289, 287, 293, 0, 288,
1379 0, 0, 290, 0, 294, 294, 294, 0, 289, 294,
1380 0, 291, 0, 0, 296, 296, 296, 292, 291, 296,
1381 290, 297, 297, 297, 293, 0, 297, 298, 298, 298,
1382 0, 0, 298, 299, 299, 299, 294, 292, 299, 0,
1383 0, 0, 0, 299, 293, 0, 296, 300, 300, 300,
1384 0, 0, 300, 297, 0, 294, 301, 301, 301, 298,
1385 296, 301, 302, 302, 302, 299, 0, 302, 0, 0,
1386 297, 0, 298, 303, 303, 303, 0, 0, 303, 300,
1388 304, 304, 304, 0, 0, 304, 300, 0, 301, 0,
1389 305, 305, 305, 301, 302, 305, 0, 306, 306, 306,
1390 0, 302, 306, 0, 0, 303, 307, 307, 307, 0,
1391 303, 307, 304, 308, 308, 308, 0, 0, 308, 309,
1392 309, 309, 305, 0, 309, 305, 310, 310, 310, 306,
1393 0, 310, 311, 311, 311, 0, 0, 311, 307, 0,
1394 0, 312, 312, 312, 0, 308, 312, 306, 0, 307,
1395 0, 309, 313, 313, 313, 0, 308, 313, 310, 0,
1396 0, 314, 314, 314, 311, 310, 314, 315, 315, 315,
1397 0, 311, 315, 312, 316, 316, 316, 0, 0, 316,
1399 317, 317, 317, 0, 313, 317, 319, 319, 319, 313,
1400 0, 319, 0, 314, 0, 320, 320, 320, 0, 315,
1401 320, 0, 321, 321, 321, 0, 316, 321, 0, 315,
1402 0, 0, 317, 0, 0, 0, 314, 0, 319, 0,
1403 322, 322, 322, 0, 317, 322, 0, 320, 324, 324,
1404 324, 0, 0, 324, 321, 0, 319, 325, 325, 325,
1405 0, 0, 325, 327, 327, 327, 0, 0, 327, 320,
1406 321, 0, 322, 0, 328, 328, 328, 0, 0, 328,
1407 324, 329, 329, 329, 0, 0, 329, 0, 322, 325,
1408 0, 331, 331, 331, 0, 327, 331, 332, 332, 332,
1410 0, 0, 332, 0, 0, 327, 328, 333, 333, 333,
1411 0, 0, 333, 329, 0, 0, 329, 334, 334, 334,
1412 0, 0, 334, 331, 0, 0, 328, 0, 0, 332,
1413 331, 335, 335, 335, 0, 0, 335, 0, 0, 333,
1414 332, 0, 338, 338, 338, 0, 333, 338, 0, 334,
1415 339, 339, 339, 0, 0, 339, 340, 340, 340, 0,
1416 0, 340, 0, 335, 334, 341, 341, 341, 0, 0,
1417 341, 0, 0, 0, 338, 0, 0, 338, 335, 342,
1418 342, 342, 339, 0, 342, 0, 0, 0, 340, 343,
1419 343, 343, 0, 0, 343, 0, 0, 341, 0, 344,
1421 344, 344, 0, 340, 344, 345, 345, 345, 0, 0,
1422 345, 342, 0, 0, 346, 346, 346, 341, 342, 346,
1423 0, 343, 348, 348, 348, 0, 0, 348, 349, 349,
1424 349, 344, 0, 349, 0, 0, 0, 345, 0, 343,
1425 350, 350, 350, 0, 0, 350, 346, 351, 351, 351,
1426 344, 0, 351, 0, 348, 0, 345, 352, 352, 352,
1427 349, 346, 352, 348, 353, 353, 353, 0, 0, 353,
1428 0, 0, 350, 354, 354, 354, 0, 0, 354, 351,
1429 355, 355, 355, 0, 0, 355, 0, 0, 0, 352,
1430 0, 350, 357, 357, 357, 0, 353, 357, 351, 358,
1432 358, 358, 0, 0, 358, 354, 361, 361, 361, 0,
1433 0, 361, 355, 0, 354, 362, 362, 362, 0, 355,
1434 362, 365, 365, 365, 357, 0, 365, 366, 366, 366,
1435 0, 358, 366, 0, 0, 367, 367, 367, 361, 0,
1436 367, 0, 0, 0, 0, 361, 0, 362, 0, 0,
1437 0, 0, 0, 365, 0, 0, 0, 0, 0, 366,
1438 0, 0, 0, 0, 0, 0, 362, 367, 0, 0,
1439 0, 0, 365, 371, 371, 371, 371, 372, 372, 372,
1440 372, 373, 0, 373, 373, 374, 0, 0, 374, 375,
1441 375, 375, 375, 376, 376, 376, 376, 377, 0, 377,
1443 377, 378, 378, 379, 379, 379, 379, 370, 370, 370,
1444 370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
1445 370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
1446 370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
1447 370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
1448 370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
1449 370, 370, 370, 370, 370, 370, 370, 370
1453 static char *yy_last_accepting_cpos;
1460 135, 137, 139, 144, 145, 150, 151, 152, 164, 167,
1461 172, 179, 188, 200, 212, 222, 232, 242, 251, 260,
1462 269, 278, 287, 296, 305, 314, 323, 332, 341, 350,
1463 359, 368, 377, 386, 395, 404, 413, 422, 431, 440,
1464 449, 458, 467, 476, 485, 586, 602, 651, 659, 674,
1465 675, 676, 677, 678, 679, 681, 699, 712, 717, 721,
1472 #define REJECT reject_used_but_not_detected
1473 #define yymore() yymore_used_but_not_detected
1474 #define YY_MORE_ADJ 0
1475 #define YY_RESTORE_YY_MORE_OFFSET
1477 #line 1 "netconf_lexer.ll"
1483 #line 8 "netconf_lexer.ll"
1486 #ifndef __clang_analyzer__
1496 #include <boost/lexical_cast.hpp>
1511 bool start_token_flag =
false;
1514 unsigned int comment_start_line = 0;
1516 using namespace isc;
1522 #define YY_FATAL_ERROR(msg) isc::netconf::ParserContext::fatal(msg)
1523 #line 1523 "netconf_lexer.cc"
1538 #define YY_NO_INPUT 1
1544 #line 98 "netconf_lexer.ll"
1548 #define YY_USER_ACTION driver.loc_.columns(yyleng);
1549 #line 1549 "netconf_lexer.cc"
1550 #line 1550 "netconf_lexer.cc"
1555 #define DIR_INCLUDE 3
1558 #ifndef YY_NO_UNISTD_H
1570 #ifndef YY_EXTRA_TYPE
1571 #define YY_EXTRA_TYPE void *
1578 static int yy_init_globals (
void );
1621 #ifndef YY_SKIP_YYWRAP
1623 extern "C" int yywrap (
void );
1625 extern int yywrap (
void );
1638 static void yy_flex_strncpy (
char *,
const char *,
int );
1641 #ifdef YY_NEED_STRLEN
1642 static int yy_flex_strlen (
const char * );
1649 static int yyinput (
void );
1651 static int input (
void );
1663 #ifndef YY_READ_BUF_SIZE
1666 #define YY_READ_BUF_SIZE 16384
1668 #define YY_READ_BUF_SIZE 8192
1678 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1688 #define YY_INPUT(buf,result,max_size) \
1690 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1694 for ( n = 0; n < max_size && \
1695 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1696 buf[n] = (char) c; \
1698 buf[n++] = (char) c; \
1699 if ( c == EOF && ferror( yyin ) ) \
1700 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1706 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1708 if( errno != EINTR) \
1710 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1728 #define yyterminate() return YY_NULL
1732 #ifndef YY_START_STACK_INCR
1733 #define YY_START_STACK_INCR 25
1737 #ifndef YY_FATAL_ERROR
1739 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1760 #define YY_DECL_IS_OURS 1
1763 extern int yylex (
void);
1765 #define YY_DECL int yylex (void)
1774 #ifndef YY_USER_ACTION
1775 #define YY_USER_ACTION
1780 #define YY_BREAK break;
1784 #define YY_RULE_SETUP \
1832 #line 104 "netconf_lexer.ll"
1836 #line 108 "netconf_lexer.ll"
1850 if (start_token_flag) {
1851 start_token_flag =
false;
1852 switch (start_token_value) {
1853 case ParserContext::PARSER_JSON:
1855 return NetconfParser::make_START_JSON(driver.loc_);
1856 case ParserContext::PARSER_NETCONF:
1857 return NetconfParser::make_START_NETCONF(driver.loc_);
1858 case ParserContext::PARSER_SUB_NETCONF:
1859 return NetconfParser::make_START_SUB_NETCONF(driver.loc_);
1864 #line 1864 "netconf_lexer.cc"
1869 yy_cp = (yy_c_buf_p);
1872 *
yy_cp = (yy_hold_char);
1880 yy_current_state = (yy_start);
1885 if ( yy_accept[yy_current_state] )
1887 (yy_last_accepting_state) = yy_current_state;
1888 (yy_last_accepting_cpos) =
yy_cp;
1890 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1892 yy_current_state = (int) yy_def[yy_current_state];
1893 if ( yy_current_state >= 371 )
1894 yy_c = yy_meta[yy_c];
1896 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1899 while ( yy_current_state != 370 );
1900 yy_cp = (yy_last_accepting_cpos);
1901 yy_current_state = (yy_last_accepting_state);
1905 yy_act = yy_accept[yy_current_state];
1917 fprintf( stderr,
"--scanner backing up\n" );
1919 fprintf( stderr,
"--accepting rule at line %ld (\"%s\")\n",
1922 fprintf( stderr,
"--accepting default rule (\"%s\")\n",
1925 fprintf( stderr,
"--(end of buffer or a NUL)\n" );
1927 fprintf( stderr,
"--EOF (start condition %d)\n",
YY_START );
1935 *
yy_cp = (yy_hold_char);
1936 yy_cp = (yy_last_accepting_cpos);
1937 yy_current_state = (yy_last_accepting_state);
1938 goto yy_find_action;
1942 #line 135 "netconf_lexer.ll"
1947 #line 137 "netconf_lexer.ll"
1952 #line 139 "netconf_lexer.ll"
1955 comment_start_line = driver.loc_.end.line;;
1960 #line 144 "netconf_lexer.ll"
1965 #line 145 "netconf_lexer.ll"
1969 #line 146 "netconf_lexer.ll"
1976 #line 150 "netconf_lexer.ll"
1981 #line 151 "netconf_lexer.ll"
1986 #line 152 "netconf_lexer.ll"
1991 std::string tmp(
yytext+1);
1992 tmp.resize(tmp.size() - 1);
1994 driver.includeFile(tmp);
2000 #line 161 "netconf_lexer.ll"
2007 #line 164 "netconf_lexer.ll"
2012 #line 167 "netconf_lexer.ll"
2021 #line 172 "netconf_lexer.ll"
2024 driver.loc_.lines(
yyleng);
2030 #line 179 "netconf_lexer.ll"
2032 switch(driver.ctx_) {
2033 case ParserContext::CONFIG:
2034 return NetconfParser::make_NETCONF(driver.loc_);
2036 return NetconfParser::make_STRING(
"Netconf", driver.loc_);
2042 #line 188 "netconf_lexer.ll"
2044 switch(driver.ctx_) {
2045 case ParserContext::NETCONF:
2047 case ParserContext::CONTROL_SOCKET:
2048 case ParserContext::LOGGERS:
2049 return NetconfParser::make_USER_CONTEXT(driver.loc_);
2051 return NetconfParser::make_STRING(
"user-context", driver.loc_);
2057 #line 200 "netconf_lexer.ll"
2059 switch(driver.ctx_) {
2060 case ParserContext::NETCONF:
2062 case ParserContext::CONTROL_SOCKET:
2063 case ParserContext::LOGGERS:
2064 return NetconfParser::make_COMMENT(driver.loc_);
2066 return NetconfParser::make_STRING(
"comment", driver.loc_);
2072 #line 212 "netconf_lexer.ll"
2074 switch(driver.ctx_) {
2075 case ParserContext::NETCONF:
2077 return NetconfParser::make_BOOT_UPDATE(driver.loc_);
2079 return NetconfParser::make_STRING(
"boot-update", driver.loc_);
2085 #line 222 "netconf_lexer.ll"
2087 switch(driver.ctx_) {
2088 case ParserContext::NETCONF:
2090 return NetconfParser::make_SUBSCRIBE_CHANGES(driver.loc_);
2092 return NetconfParser::make_STRING(
"subscribe-changes", driver.loc_);
2098 #line 232 "netconf_lexer.ll"
2100 switch(driver.ctx_) {
2101 case ParserContext::NETCONF:
2103 return NetconfParser::make_VALIDATE_CHANGES(driver.loc_);
2105 return NetconfParser::make_STRING(
"validate-changes", driver.loc_);
2111 #line 242 "netconf_lexer.ll"
2113 switch(driver.ctx_) {
2114 case ParserContext::NETCONF:
2115 return NetconfParser::make_MANAGED_SERVERS(driver.loc_);
2117 return NetconfParser::make_STRING(
"managed-servers", driver.loc_);
2123 #line 251 "netconf_lexer.ll"
2125 switch(driver.ctx_) {
2126 case ParserContext::MANAGED_SERVERS:
2127 return NetconfParser::make_DHCP4_SERVER(driver.loc_);
2129 return NetconfParser::make_STRING(
"dhcp4", driver.loc_);
2135 #line 260 "netconf_lexer.ll"
2137 switch(driver.ctx_) {
2138 case ParserContext::MANAGED_SERVERS:
2139 return NetconfParser::make_DHCP6_SERVER(driver.loc_);
2141 return NetconfParser::make_STRING(
"dhcp6", driver.loc_);
2147 #line 269 "netconf_lexer.ll"
2149 switch(driver.ctx_) {
2150 case ParserContext::MANAGED_SERVERS:
2151 return NetconfParser::make_D2_SERVER(driver.loc_);
2153 return NetconfParser::make_STRING(
"d2", driver.loc_);
2159 #line 278 "netconf_lexer.ll"
2161 switch(driver.ctx_) {
2162 case ParserContext::MANAGED_SERVERS:
2163 return NetconfParser::make_CA_SERVER(driver.loc_);
2165 return NetconfParser::make_STRING(
"ca", driver.loc_);
2171 #line 287 "netconf_lexer.ll"
2173 switch(driver.ctx_) {
2175 return NetconfParser::make_MODEL(driver.loc_);
2177 return NetconfParser::make_STRING(
"model", driver.loc_);
2183 #line 296 "netconf_lexer.ll"
2185 switch(driver.ctx_) {
2187 return NetconfParser::make_CONTROL_SOCKET(driver.loc_);
2189 return NetconfParser::make_STRING(
"control-socket", driver.loc_);
2195 #line 305 "netconf_lexer.ll"
2197 switch(driver.ctx_) {
2198 case ParserContext::SOCKET_TYPE:
2199 return NetconfParser::make_UNIX(driver.loc_);
2201 return NetconfParser::make_STRING(
"unix", driver.loc_);
2207 #line 314 "netconf_lexer.ll"
2209 switch(driver.ctx_) {
2210 case ParserContext::SOCKET_TYPE:
2211 return NetconfParser::make_HTTP(driver.loc_);
2213 return NetconfParser::make_STRING(
"http", driver.loc_);
2219 #line 323 "netconf_lexer.ll"
2221 switch(driver.ctx_) {
2222 case ParserContext::SOCKET_TYPE:
2223 return NetconfParser::make_STDOUT(driver.loc_);
2225 return NetconfParser::make_STRING(
"stdout", driver.loc_);
2231 #line 332 "netconf_lexer.ll"
2233 switch(driver.ctx_) {
2234 case ParserContext::CONTROL_SOCKET:
2235 return NetconfParser::make_SOCKET_TYPE(driver.loc_);
2237 return NetconfParser::make_STRING(
"socket-type", driver.loc_);
2243 #line 341 "netconf_lexer.ll"
2245 switch(driver.ctx_) {
2246 case ParserContext::CONTROL_SOCKET:
2247 return NetconfParser::make_SOCKET_NAME(driver.loc_);
2249 return NetconfParser::make_STRING(
"socket-name", driver.loc_);
2255 #line 350 "netconf_lexer.ll"
2257 switch(driver.ctx_) {
2258 case ParserContext::CONTROL_SOCKET:
2259 return NetconfParser::make_SOCKET_URL(driver.loc_);
2261 return NetconfParser::make_STRING(
"socket-url", driver.loc_);
2267 #line 359 "netconf_lexer.ll"
2269 switch(driver.ctx_) {
2270 case ParserContext::NETCONF:
2271 return NetconfParser::make_HOOKS_LIBRARIES(driver.loc_);
2273 return NetconfParser::make_STRING(
"hooks-libraries", driver.loc_);
2279 #line 368 "netconf_lexer.ll"
2281 switch(driver.ctx_) {
2282 case ParserContext::HOOKS_LIBRARIES:
2283 return NetconfParser::make_LIBRARY(driver.loc_);
2285 return NetconfParser::make_STRING(
"library", driver.loc_);
2291 #line 377 "netconf_lexer.ll"
2293 switch(driver.ctx_) {
2294 case ParserContext::HOOKS_LIBRARIES:
2295 return NetconfParser::make_PARAMETERS(driver.loc_);
2297 return NetconfParser::make_STRING(
"parameters", driver.loc_);
2303 #line 386 "netconf_lexer.ll"
2305 switch(driver.ctx_) {
2306 case ParserContext::NETCONF:
2307 return NetconfParser::make_LOGGERS(driver.loc_);
2309 return NetconfParser::make_STRING(
"loggers", driver.loc_);
2315 #line 395 "netconf_lexer.ll"
2317 switch(driver.ctx_) {
2318 case ParserContext::LOGGERS:
2319 return NetconfParser::make_NAME(driver.loc_);
2321 return NetconfParser::make_STRING(
"name", driver.loc_);
2327 #line 404 "netconf_lexer.ll"
2329 switch(driver.ctx_) {
2330 case ParserContext::LOGGERS:
2331 return NetconfParser::make_OUTPUT_OPTIONS(driver.loc_);
2333 return NetconfParser::make_STRING(
"output_options", driver.loc_);
2339 #line 413 "netconf_lexer.ll"
2341 switch(driver.ctx_) {
2342 case ParserContext::LOGGERS:
2343 return NetconfParser::make_OUTPUT_OPTIONS(driver.loc_);
2345 return NetconfParser::make_STRING(
"output-options", driver.loc_);
2351 #line 422 "netconf_lexer.ll"
2353 switch(driver.ctx_) {
2354 case ParserContext::OUTPUT_OPTIONS:
2355 return NetconfParser::make_OUTPUT(driver.loc_);
2357 return NetconfParser::make_STRING(
"output", driver.loc_);
2363 #line 431 "netconf_lexer.ll"
2365 switch(driver.ctx_) {
2366 case ParserContext::OUTPUT_OPTIONS:
2367 return NetconfParser::make_FLUSH(driver.loc_);
2369 return NetconfParser::make_STRING(
"flush", driver.loc_);
2375 #line 440 "netconf_lexer.ll"
2377 switch(driver.ctx_) {
2378 case ParserContext::OUTPUT_OPTIONS:
2379 return NetconfParser::make_MAXSIZE(driver.loc_);
2381 return NetconfParser::make_STRING(
"maxsize", driver.loc_);
2387 #line 449 "netconf_lexer.ll"
2389 switch(driver.ctx_) {
2390 case ParserContext::OUTPUT_OPTIONS:
2391 return NetconfParser::make_MAXVER(driver.loc_);
2393 return NetconfParser::make_STRING(
"maxver", driver.loc_);
2399 #line 458 "netconf_lexer.ll"
2401 switch(driver.ctx_) {
2402 case ParserContext::OUTPUT_OPTIONS:
2403 return NetconfParser::make_PATTERN(driver.loc_);
2405 return NetconfParser::make_STRING(
"pattern", driver.loc_);
2411 #line 467 "netconf_lexer.ll"
2413 switch(driver.ctx_) {
2414 case ParserContext::LOGGERS:
2415 return NetconfParser::make_DEBUGLEVEL(driver.loc_);
2417 return NetconfParser::make_STRING(
"debuglevel", driver.loc_);
2423 #line 476 "netconf_lexer.ll"
2425 switch(driver.ctx_) {
2426 case ParserContext::LOGGERS:
2427 return NetconfParser::make_SEVERITY(driver.loc_);
2429 return NetconfParser::make_STRING(
"severity", driver.loc_);
2435 #line 485 "netconf_lexer.ll"
2440 std::string raw(
yytext+1);
2441 size_t len = raw.size() - 1;
2443 std::string decoded;
2444 decoded.reserve(len);
2445 for (
size_t pos = 0; pos < len; ++pos) {
2451 driver.error(driver.loc_,
"Bad quote in \"" + raw +
"\"");
2457 driver.error(driver.loc_,
"Overflow escape in \"" + raw +
"\"");
2464 decoded.push_back(c);
2467 decoded.push_back(
'\b');
2470 decoded.push_back(
'\f');
2473 decoded.push_back(
'\n');
2476 decoded.push_back(
'\r');
2479 decoded.push_back(
'\t');
2484 if (pos + 4 > len) {
2486 driver.error(driver.loc_,
2487 "Overflow unicode escape in \"" + raw +
"\"");
2489 if ((raw[pos] !=
'0') || (raw[pos + 1] !=
'0')) {
2490 driver.error(driver.loc_,
2491 "Unsupported unicode escape in \"" + raw +
"\"",
2496 if ((c >=
'0') && (c <=
'9')) {
2498 }
else if ((c >=
'A') && (c <=
'F')) {
2499 b = (c -
'A' + 10) << 4;
2500 }
else if ((c >=
'a') && (c <=
'f')) {
2501 b = (c -
'a' + 10) << 4;
2504 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
2508 if ((c >=
'0') && (c <=
'9')) {
2510 }
else if ((c >=
'A') && (c <=
'F')) {
2512 }
else if ((c >=
'a') && (c <=
'f')) {
2516 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
2518 decoded.push_back(
static_cast<char>(b & 0xff));
2522 driver.error(driver.loc_,
"Bad escape in \"" + raw +
"\"");
2526 if ((c >= 0) && (c < 0x20)) {
2528 driver.error(driver.loc_,
"Invalid control in \"" + raw +
"\"");
2530 decoded.push_back(c);
2534 return NetconfParser::make_STRING(decoded, driver.loc_);
2540 #line 586 "netconf_lexer.ll"
2543 std::string raw(
yytext+1);
2544 size_t len = raw.size() - 1;
2546 for (; pos < len; ++pos) {
2548 if ((c >= 0) && (c < 0x20)) {
2552 driver.error(driver.loc_,
2553 "Invalid control in " + std::string(
yytext),
2560 #line 602 "netconf_lexer.ll"
2563 std::string raw(
yytext+1);
2564 size_t len = raw.size() - 1;
2567 for (; pos < len; ++pos) {
2586 if ((pos + 4 > len) ||
2587 !std::isxdigit(raw[pos + 1]) ||
2588 !std::isxdigit(raw[pos + 2]) ||
2589 !std::isxdigit(raw[pos + 3]) ||
2590 !std::isxdigit(raw[pos + 4])) {
2601 std::string trailer =
"";
2602 if (raw[len - 1] ==
'\\') {
2605 driver.error(driver.loc_,
2606 "Bad escape in " + std::string(
yytext) + trailer,
2612 #line 651 "netconf_lexer.ll"
2615 std::string raw(
yytext+1);
2616 driver.error(driver.loc_,
2617 "Overflow escape in " + std::string(
yytext),
2623 #line 659 "netconf_lexer.ll"
2626 std::string raw(
yytext+1);
2627 size_t pos = raw.size() - 1;
2628 for (; pos > 0; --pos) {
2634 driver.error(driver.loc_,
2635 "Overflow unicode escape in " + std::string(
yytext),
2641 #line 674 "netconf_lexer.ll"
2642 {
return NetconfParser::make_LSQUARE_BRACKET(driver.loc_); }
2646 #line 675 "netconf_lexer.ll"
2647 {
return NetconfParser::make_RSQUARE_BRACKET(driver.loc_); }
2651 #line 676 "netconf_lexer.ll"
2652 {
return NetconfParser::make_LCURLY_BRACKET(driver.loc_); }
2656 #line 677 "netconf_lexer.ll"
2657 {
return NetconfParser::make_RCURLY_BRACKET(driver.loc_); }
2661 #line 678 "netconf_lexer.ll"
2662 {
return NetconfParser::make_COMMA(driver.loc_); }
2666 #line 679 "netconf_lexer.ll"
2667 {
return NetconfParser::make_COLON(driver.loc_); }
2671 #line 681 "netconf_lexer.ll"
2675 int64_t integer = 0;
2681 integer = boost::lexical_cast<int64_t>(tmp);
2682 }
catch (
const boost::bad_lexical_cast &) {
2683 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
2687 return NetconfParser::make_INTEGER(integer, driver.loc_);
2692 #line 699 "netconf_lexer.ll"
2698 fp = boost::lexical_cast<double>(tmp);
2699 }
catch (
const boost::bad_lexical_cast &) {
2700 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to a floating point.");
2703 return NetconfParser::make_FLOAT(fp, driver.loc_);
2708 #line 712 "netconf_lexer.ll"
2711 return NetconfParser::make_BOOLEAN(tmp ==
"true", driver.loc_);
2716 #line 717 "netconf_lexer.ll"
2718 return NetconfParser::make_NULL_TYPE(driver.loc_);
2723 #line 721 "netconf_lexer.ll"
2724 driver.error (driver.loc_,
"JSON true reserved keyword is lower case only");
2728 #line 723 "netconf_lexer.ll"
2729 driver.error (driver.loc_,
"JSON false reserved keyword is lower case only");
2733 #line 725 "netconf_lexer.ll"
2734 driver.error (driver.loc_,
"JSON null reserved keyword is lower case only");
2738 #line 727 "netconf_lexer.ll"
2739 driver.error (driver.loc_,
"Invalid character: " + std::string(
yytext));
2742 #line 729 "netconf_lexer.ll"
2744 if (driver.states_.empty()) {
2745 return NetconfParser::make_END(driver.loc_);
2747 driver.loc_ = driver.locs_.back();
2748 driver.locs_.pop_back();
2749 driver.file_ = driver.files_.back();
2750 driver.files_.pop_back();
2751 if (driver.sfile_) {
2752 fclose(driver.sfile_);
2755 if (!driver.sfiles_.empty()) {
2756 driver.sfile_ = driver.sfiles_.back();
2757 driver.sfiles_.pop_back();
2760 netconf__switch_to_buffer(driver.states_.back());
2761 driver.states_.pop_back();
2768 #line 752 "netconf_lexer.ll"
2771 #line 2771 "netconf_lexer.cc"
2779 *
yy_cp = (yy_hold_char);
2813 (yy_c_buf_p) = (
yytext_ptr) + yy_amount_of_matched_text;
2815 yy_current_state = yy_get_previous_state( );
2826 yy_next_state = yy_try_NUL_trans( yy_current_state );
2830 if ( yy_next_state )
2833 yy_cp = ++(yy_c_buf_p);
2834 yy_current_state = yy_next_state;
2841 yy_cp = (yy_last_accepting_cpos);
2842 yy_current_state = (yy_last_accepting_state);
2843 goto yy_find_action;
2847 else switch ( yy_get_next_buffer( ) )
2851 (yy_did_buffer_switch_on_eof) = 0;
2872 if ( ! (yy_did_buffer_switch_on_eof) )
2882 yy_current_state = yy_get_previous_state( );
2884 yy_cp = (yy_c_buf_p);
2892 yy_current_state = yy_get_previous_state( );
2894 yy_cp = (yy_c_buf_p);
2896 goto yy_find_action;
2903 "fatal flex scanner internal error--no action found" );
2924 static int yy_get_next_buffer (
void)
2931 int number_to_move, i;
2936 "fatal flex scanner internal error--end of buffer missed" );
2960 number_to_move = (int) ((yy_c_buf_p) - (
yytext_ptr) - 1);
2962 for ( i = 0; i < number_to_move; ++i )
2963 *(dest++) = *(source++);
2976 while ( num_to_read <= 0 )
2982 int yy_c_buf_p_offset =
2989 if ( new_size <= 0 )
3005 "fatal error - scanner input buffer overflow" );
3007 (yy_c_buf_p) = &b->
yy_ch_buf[yy_c_buf_p_offset];
3019 (yy_n_chars), num_to_read );
3024 if ( (yy_n_chars) == 0 )
3045 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3049 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
3054 (yy_n_chars) += number_to_move;
3076 yy_current_state = (yy_start);
3082 if ( yy_accept[yy_current_state] )
3084 (yy_last_accepting_state) = yy_current_state;
3085 (yy_last_accepting_cpos) =
yy_cp;
3087 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3089 yy_current_state = (int) yy_def[yy_current_state];
3090 if ( yy_current_state >= 371 )
3091 yy_c = yy_meta[yy_c];
3093 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3096 return yy_current_state;
3112 char *
yy_cp = (yy_c_buf_p);
3115 if ( yy_accept[yy_current_state] )
3117 (yy_last_accepting_state) = yy_current_state;
3118 (yy_last_accepting_cpos) =
yy_cp;
3120 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3122 yy_current_state = (int) yy_def[yy_current_state];
3123 if ( yy_current_state >= 371 )
3124 yy_c = yy_meta[yy_c];
3126 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3127 yy_is_jam = (yy_current_state == 370);
3129 return yy_is_jam ? 0 : yy_current_state;
3141 static int yyinput (
void)
3143 static int input (
void)
3152 *(yy_c_buf_p) = (yy_hold_char);
3162 *(yy_c_buf_p) =
'\0';
3169 switch ( yy_get_next_buffer( ) )
3192 if ( ! (yy_did_buffer_switch_on_eof) )
3208 c = *(
unsigned char *) (yy_c_buf_p);
3209 *(yy_c_buf_p) =
'\0';
3210 (yy_hold_char) = *++(yy_c_buf_p);
3268 *(yy_c_buf_p) = (yy_hold_char);
3281 (yy_did_buffer_switch_on_eof) = 1;
3297 (yy_hold_char) = *(yy_c_buf_p);
3445 if (new_buffer == NULL)
3454 *(yy_c_buf_p) = (yy_hold_char);
3461 (yy_buffer_stack_top)++;
3466 (yy_did_buffer_switch_on_eof) = 1;
3486 if ((yy_buffer_stack_top) > 0)
3487 --(yy_buffer_stack_top);
3491 (yy_did_buffer_switch_on_eof) = 1;
3508 if (!(yy_buffer_stack)) {
3518 if ( ! (yy_buffer_stack) )
3519 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
3521 memset((yy_buffer_stack), 0, num_to_alloc *
sizeof(
struct yy_buffer_state*));
3523 (yy_buffer_stack_max) = num_to_alloc;
3524 (yy_buffer_stack_top) = 0;
3528 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3533 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3538 if ( ! (yy_buffer_stack) )
3539 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
3542 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size *
sizeof(
struct yy_buffer_state*));
3543 (yy_buffer_stack_max) = num_to_alloc;
3622 for ( i = 0; i < _yybytes_len; ++i )
3623 buf[i] = yybytes[i];
3640 #ifndef YY_EXIT_FAILURE
3641 #define YY_EXIT_FAILURE 2
3645 static void yynoreturn yy_fatal_error (
const char* msg )
3647 fprintf( stderr,
"%s\n", msg );
3661 yy_size_t yyless_macro_arg = (n); \
3662 YY_LESS_LINENO(yyless_macro_arg);\
3663 yytext[yyleng] = (yy_hold_char); \
3664 (yy_c_buf_p) = yytext + yyless_macro_arg; \
3665 (yy_hold_char) = *(yy_c_buf_p); \
3666 *(yy_c_buf_p) = '\0'; \
3667 yyleng = yyless_macro_arg; \
3766 static int yy_init_globals (
void)
3772 (yy_buffer_stack) = NULL;
3773 (yy_buffer_stack_top) = 0;
3774 (yy_buffer_stack_max) = 0;
3775 (yy_c_buf_p) = NULL;
3808 yyfree((yy_buffer_stack) );
3809 (yy_buffer_stack) = NULL;
3826 static void yy_flex_strncpy (
char* s1,
const char * s2,
int n )
3830 for ( i = 0; i < n; ++i )
3835 #ifdef YY_NEED_STRLEN
3836 static int yy_flex_strlen (
const char * s )
3839 for ( n = 0; s[n]; ++n )
3848 return malloc(size);
3861 return realloc(ptr, size);
3866 free( (
char *) ptr );
3871 #define YYTABLES_NAME "yytables"
3876 #line 752 "netconf_lexer.ll"
3882 ParserContext::scanStringBegin(
const std::string& str,
ParserType parser_type)
3884 start_token_flag =
true;
3885 start_token_value = parser_type;
3889 loc_.initialize(&file_);
3892 buffer = netconf__scan_bytes(str.c_str(), str.size());
3894 fatal(
"cannot scan string");
3900 ParserContext::scanFileBegin(FILE * f,
3901 const std::string& filename,
3904 start_token_flag =
true;
3905 start_token_value = parser_type;
3909 loc_.initialize(&file_);
3914 buffer = netconf__create_buffer(f, 65536 );
3916 fatal(
"cannot scan file " + filename);
3918 netconf__switch_to_buffer(buffer);
3922 ParserContext::scanEnd() {
3926 static_cast<void>(netconf_lex_destroy());
3928 while (!sfiles_.empty()) {
3929 FILE* f = sfiles_.back();
3936 while (!states_.empty()) {
3937 netconf__delete_buffer(states_.back());
3943 ParserContext::includeFile(
const std::string& filename) {
3944 if (states_.size() > 10) {
3945 fatal(
"Too many nested include.");
3948 FILE* f = fopen(filename.c_str(),
"r");
3950 fatal(
"Can't open include file " + filename);
3953 sfiles_.push_back(sfile_);
3958 buffer = netconf__create_buffer(f, 65536 );
3960 fatal(
"Can't scan include file " + filename);
3962 netconf__switch_to_buffer(buffer);
3963 files_.push_back(file_);
3965 locs_.push_back(loc_);
3966 loc_.initialize(&file_);
3975 void dummy() { yy_fatal_error(
"Fix me: how to disable its definition?"); }
unsigned char flex_uint8_t
Evaluation error exception raised when trying to parse.
ParserType
Defines currently supported scopes.
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
Defines the logger used by the top-level component of kea-lfc.
#define yy_load_buffer_state
unsigned char flex_uint8_t
unsigned int flex_uint32_t
#define yypush_buffer_state
#define yyget_in
Get the input stream.
struct yy_buffer_state * YY_BUFFER_STATE
#define YY_RESTORE_YY_MORE_OFFSET
#define yyget_leng
Get the length of the current token.
#define yyget_out
Get the output stream.
#define yyensure_buffer_stack
#define EOB_ACT_END_OF_FILE
#define YY_CURRENT_BUFFER_LVALUE
#define yyget_text
Get the current token.
#define yy_switch_to_buffer
#define YY_CURRENT_BUFFER
#define YY_INPUT(buf, result, max_size)
#define YY_STATE_EOF(state)
#define YY_END_OF_BUFFER_CHAR
#define YY_FATAL_ERROR(msg)
unsigned short int flex_uint16_t
#define yypop_buffer_state
Removes and deletes the top of the stack, if present.
#define YY_DO_BEFORE_ACTION
#define EOB_ACT_LAST_MATCH
#define YY_BUFFER_EOF_PENDING
#define EOB_ACT_CONTINUE_SCAN
#define yyget_lineno
Get the current line number.
int yy_bs_column
The column count.
int yy_bs_lineno
The line count.