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
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
341#define INT8_MIN (-128)
344#define INT16_MIN (-32767-1)
347#define INT32_MIN (-2147483647-1)
350#define INT8_MAX (127)
353#define INT16_MAX (32767)
356#define INT32_MAX (2147483647)
359#define UINT8_MAX (255U)
362#define UINT16_MAX (65535U)
365#define UINT32_MAX (4294967295U)
369#define SIZE_MAX (~(size_t)0)
385#if defined(__GNUC__) && __GNUC__ >= 3
386#define yynoreturn __attribute__((__noreturn__))
400#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
414#define BEGIN (yy_start) = 1 + 2 *
419#define YY_START (((yy_start) - 1) / 2)
420#define YYSTATE YY_START
422#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
424#define YY_NEW_FILE yyrestart( yyin )
425#define YY_END_OF_BUFFER_CHAR 0
434#define YY_BUF_SIZE 32768
436#define YY_BUF_SIZE 16384
442#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
444#ifndef YY_TYPEDEF_YY_BUFFER_STATE
445#define YY_TYPEDEF_YY_BUFFER_STATE
449#ifndef YY_TYPEDEF_YY_SIZE_T
450#define YY_TYPEDEF_YY_SIZE_T
464#define EOB_ACT_CONTINUE_SCAN 0
465#define EOB_ACT_END_OF_FILE 1
466#define EOB_ACT_LAST_MATCH 2
468 #define YY_LESS_LINENO(n)
469 #define YY_LINENO_REWIND_TO(ptr)
476 int yyless_macro_arg = (n); \
477 YY_LESS_LINENO(yyless_macro_arg);\
478 *yy_cp = (yy_hold_char); \
479 YY_RESTORE_YY_MORE_OFFSET \
480 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
481 YY_DO_BEFORE_ACTION; \
484#define unput(c) yyunput( c, (yytext_ptr) )
486#ifndef YY_STRUCT_YY_BUFFER_STATE
487#define YY_STRUCT_YY_BUFFER_STATE
539#define YY_BUFFER_NEW 0
540#define YY_BUFFER_NORMAL 1
551#define YY_BUFFER_EOF_PENDING 2
561static size_t yy_buffer_stack_top = 0;
562static size_t yy_buffer_stack_max = 0;
575#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
576 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
581#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
588static char yy_hold_char;
589static int yy_n_chars;
593static char *yy_c_buf_p = NULL;
594static int yy_init = 0;
595static int yy_start = 0;
600static int yy_did_buffer_switch_on_eof;
616#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
628#define yy_new_buffer yy_create_buffer
629#define yy_set_interactive(is_interactive) \
631 if ( ! YY_CURRENT_BUFFER ){ \
632 yyensure_buffer_stack (); \
633 YY_CURRENT_BUFFER_LVALUE = \
634 yy_create_buffer( yyin, YY_BUF_SIZE ); \
636 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
638#define yy_set_bol(at_bol) \
640 if ( ! YY_CURRENT_BUFFER ){\
641 yyensure_buffer_stack (); \
642 YY_CURRENT_BUFFER_LVALUE = \
643 yy_create_buffer( yyin, YY_BUF_SIZE ); \
645 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
647#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
652#define netconf_wrap() (1)
653#define YY_SKIP_YYWRAP
669#define yytext_ptr yytext
677static int yy_get_next_buffer (
void );
678static void yynoreturn yy_fatal_error (
const char* msg );
685#define YY_DO_BEFORE_ACTION \
686 (yytext_ptr) = yy_bp; \
688 yyleng = (int) (yy_cp - yy_bp); \
689 (yy_hold_char) = *yy_cp; \
692 (yy_c_buf_p) = yy_cp;
694#define YY_NUM_RULES 64
695#define YY_END_OF_BUFFER 65
705 57, 57, 0, 0, 0, 0, 0, 0, 0, 0,
706 65, 63, 10, 11, 63, 1, 57, 54, 57, 57,
707 63, 56, 55, 63, 63, 63, 63, 63, 50, 51,
708 63, 63, 63, 52, 53, 5, 5, 5, 63, 63,
709 63, 10, 11, 0, 0, 45, 0, 0, 0, 0,
710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711 0, 1, 57, 57, 0, 56, 57, 3, 2, 6,
712 0, 57, 0, 0, 0, 0, 0, 0, 4, 0,
713 0, 9, 0, 46, 0, 0, 0, 48, 0, 0,
714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
718 8, 0, 0, 47, 49, 0, 0, 22, 0, 0,
719 21, 0, 0, 0, 0, 0, 0, 0, 0, 0,
720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
721 0, 0, 0, 62, 60, 0, 59, 58, 0, 0,
722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
724 0, 0, 0, 0, 0, 0, 61, 58, 0, 0,
725 0, 0, 0, 0, 0, 0, 0, 0, 0, 26,
727 0, 0, 0, 0, 0, 0, 35, 0, 0, 0,
728 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,
729 0, 0, 0, 19, 20, 39, 0, 0, 0, 0,
730 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
731 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
732 0, 0, 0, 41, 38, 0, 0, 0, 0, 0,
733 0, 27, 0, 0, 0, 12, 0, 14, 0, 0,
734 0, 32, 34, 0, 40, 0, 0, 0, 42, 0,
735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
736 0, 0, 0, 0, 44, 0, 0, 0, 0, 0,
738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
739 0, 0, 0, 0, 0, 0, 0, 43, 0, 0,
740 0, 0, 33, 0, 0, 30, 0, 0, 0, 15,
741 0, 0, 0, 0, 0, 29, 28, 0, 0, 0,
742 0, 0, 0, 0, 0, 0, 13, 0, 0, 0,
743 0, 0, 0, 0, 0, 24, 0, 0, 37, 36,
744 0, 0, 31, 18, 0, 0, 0, 17, 16, 0
747static const YY_CHAR yy_ec[256] =
749 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
750 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
751 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
752 1, 4, 5, 6, 7, 5, 5, 5, 5, 5,
753 5, 8, 9, 10, 11, 12, 13, 14, 14, 15,
754 14, 16, 14, 17, 14, 14, 14, 18, 5, 19,
755 5, 20, 21, 5, 22, 23, 23, 23, 24, 25,
756 5, 5, 5, 5, 5, 26, 5, 27, 5, 5,
757 5, 28, 29, 30, 31, 5, 5, 5, 5, 5,
758 32, 33, 34, 5, 35, 5, 36, 37, 38, 39,
760 40, 41, 42, 43, 44, 5, 45, 46, 47, 48,
761 49, 50, 5, 51, 52, 53, 54, 55, 5, 56,
762 57, 58, 59, 5, 60, 5, 5, 5, 5, 5,
763 5, 5, 5, 5, 5, 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,
771 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,
779static const YY_CHAR yy_meta[61] =
781 1, 1, 2, 1, 1, 3, 1, 1, 1, 1,
782 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
783 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
784 1, 1, 4, 1, 1, 1, 4, 1, 1, 1,
785 4, 1, 1, 1, 1, 1, 1, 4, 1, 1,
786 4, 1, 4, 4, 1, 1, 1, 1, 1, 1
791 0, 0, 59, 62, 65, 0, 63, 67, 47, 64,
792 286, 2508, 84, 259, 125, 0, 105, 2508, 120, 125,
793 85, 169, 2508, 238, 139, 65, 69, 82, 2508, 2508,
794 80, 84, 118, 2508, 2508, 2508, 92, 205, 168, 0,
795 193, 110, 205, 97, 186, 2508, 193, 184, 201, 209,
796 221, 238, 245, 264, 254, 271, 279, 290, 299, 308,
797 314, 0, 314, 347, 358, 364, 368, 2508, 0, 2508,
798 214, 320, 121, 152, 128, 174, 217, 160, 2508, 168,
799 199, 2508, 137, 2508, 0, 388, 195, 394, 436, 400,
800 410, 422, 429, 462, 477, 483, 490, 499, 505, 511,
802 518, 524, 544, 553, 559, 566, 578, 587, 594, 601,
803 616, 622, 0, 223, 223, 255, 224, 242, 259, 130,
804 2508, 634, 155, 2508, 2508, 659, 656, 2508, 645, 684,
805 2508, 700, 709, 717, 723, 729, 737, 743, 771, 780,
806 788, 794, 800, 808, 814, 823, 836, 851, 858, 869,
807 876, 884, 282, 2508, 2508, 300, 2508, 2508, 103, 891,
808 927, 902, 913, 928, 953, 968, 974, 986, 996, 1003,
809 1009, 1019, 1025, 1031, 1042, 1053, 1064, 1075, 1081, 1090,
810 1097, 1103, 1109, 1123, 1132, 1143, 2508, 2508, 112, 1152,
811 1187, 1160, 1172, 1166, 1185, 1231, 1237, 1243, 1249, 2508,
813 1255, 1265, 1271, 1277, 1288, 1294, 2508, 1311, 1317, 1323,
814 1335, 1345, 1352, 1359, 2508, 1369, 1380, 64, 1387, 1393,
815 1416, 1428, 1435, 2508, 2508, 2508, 1444, 1450, 1456, 1464,
816 1478, 1490, 2508, 1498, 1511, 1518, 1524, 1534, 1540, 1546,
817 1552, 1559, 2508, 1569, 1580, 1592, 1603, 1614, 1620, 1626,
818 1632, 1638, 1649, 2508, 2508, 1655, 1672, 1678, 1684, 1690,
819 1696, 2508, 1706, 1713, 1724, 2508, 1730, 2508, 1739, 1750,
820 1767, 2508, 2508, 1773, 2508, 1779, 1786, 1793, 2508, 1807,
821 1814, 1821, 1829, 1836, 1850, 1857, 1864, 1871, 1883, 1890,
822 1899, 1905, 1912, 1924, 2508, 1934, 1941, 1947, 1953, 1967,
824 1976, 1982, 1993, 2000, 2010, 2017, 2026, 2033, 2039, 2046,
825 2052, 2061, 2072, 2081, 2087, 2094, 2100, 2508, 2106, 2115,
826 2122, 2140, 2508, 2148, 2157, 2508, 2163, 2174, 2181, 2508,
827 2191, 2197, 2207, 2217, 2231, 2508, 2508, 2242, 2250, 2256,
828 2265, 2279, 2289, 2299, 2305, 2314, 2508, 2322, 2328, 2340,
829 2347, 2357, 2364, 2373, 2380, 2508, 2392, 2399, 2508, 2508,
830 2406, 2415, 2508, 2508, 2421, 2427, 2435, 2508, 2508, 2508,
831 2473, 2477, 2481, 2485, 2489, 2493, 2497, 2499, 2503
836 370, 1, 371, 371, 1, 5, 5, 5, 5, 5,
837 370, 370, 370, 370, 372, 373, 370, 370, 370, 370,
838 370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
839 370, 370, 370, 370, 370, 370, 370, 370, 370, 374,
840 370, 370, 370, 375, 372, 370, 372, 376, 372, 372,
841 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
842 372, 373, 370, 370, 370, 370, 370, 370, 377, 370,
843 370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
844 374, 370, 375, 370, 378, 372, 379, 372, 376, 372,
845 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
847 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
848 372, 372, 377, 370, 370, 370, 370, 370, 370, 370,
849 370, 372, 379, 370, 370, 89, 372, 370, 372, 372,
850 370, 372, 372, 372, 372, 372, 372, 372, 372, 372,
851 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
852 372, 372, 370, 370, 370, 370, 370, 370, 370, 372,
853 89, 372, 372, 372, 372, 372, 372, 372, 372, 372,
854 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
855 372, 372, 372, 372, 372, 372, 370, 370, 370, 372,
856 89, 372, 372, 372, 372, 372, 372, 372, 372, 370,
858 372, 372, 372, 372, 372, 372, 370, 372, 372, 372,
859 372, 372, 372, 372, 370, 372, 372, 370, 372, 372,
860 372, 372, 372, 370, 370, 370, 372, 372, 372, 372,
861 372, 372, 370, 372, 372, 372, 372, 372, 372, 372,
862 372, 372, 370, 372, 372, 372, 372, 372, 372, 372,
863 372, 372, 372, 370, 370, 372, 372, 372, 372, 372,
864 372, 370, 372, 372, 372, 370, 372, 370, 372, 372,
865 372, 370, 370, 372, 370, 372, 372, 372, 370, 372,
866 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
867 372, 372, 372, 372, 370, 372, 372, 372, 372, 372,
869 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
870 372, 372, 372, 372, 372, 372, 372, 370, 372, 372,
871 372, 372, 370, 372, 372, 370, 372, 372, 372, 370,
872 372, 372, 372, 372, 372, 370, 370, 372, 372, 372,
873 372, 372, 372, 372, 372, 372, 370, 372, 372, 372,
874 372, 372, 372, 372, 372, 370, 372, 372, 370, 370,
875 372, 372, 370, 370, 372, 372, 372, 370, 370, 0,
876 370, 370, 370, 370, 370, 370, 370, 370, 370
881 12, 13, 14, 13, 12, 15, 16, 12, 17, 18,
882 19, 20, 21, 22, 22, 22, 22, 23, 24, 12,
883 12, 12, 12, 25, 26, 12, 27, 12, 12, 28,
884 12, 29, 12, 30, 12, 12, 12, 12, 12, 25,
885 31, 12, 12, 12, 12, 12, 12, 32, 12, 12,
886 12, 12, 33, 12, 12, 12, 12, 12, 34, 35,
887 37, 14, 37, 37, 14, 37, 38, 41, 40, 38,
888 12, 12, 40, 12, 12, 12, 12, 12, 12, 12,
889 12, 12, 12, 12, 41, 42, 73, 42, 12, 12,
890 12, 12, 68, 42, 12, 42, 12, 69, 12, 74,
892 73, 73, 84, 243, 12, 12, 12, 12, 39, 75,
893 12, 42, 12, 42, 74, 76, 63, 12, 64, 64,
894 64, 64, 74, 12, 12, 44, 44, 44, 65, 85,
895 46, 63, 75, 66, 66, 66, 66, 77, 67, 67,
896 67, 67, 84, 65, 65, 75, 114, 71, 65, 71,
897 218, 47, 72, 72, 72, 72, 189, 48, 116, 65,
898 124, 49, 50, 51, 65, 52, 114, 53, 78, 85,
899 54, 55, 56, 57, 58, 159, 59, 115, 60, 61,
900 63, 116, 66, 66, 66, 66, 44, 44, 44, 88,
901 116, 46, 65, 44, 44, 44, 45, 115, 46, 114,
903 124, 44, 44, 44, 121, 120, 46, 43, 65, 44,
904 44, 44, 82, 119, 46, 80, 45, 79, 48, 117,
905 45, 44, 44, 44, 45, 48, 46, 72, 72, 72,
906 72, 45, 86, 48, 45, 93, 45, 89, 44, 44,
907 44, 48, 115, 46, 91, 44, 44, 44, 154, 90,
908 46, 153, 153, 48, 44, 44, 44, 92, 70, 46,
909 94, 43, 118, 95, 44, 44, 44, 154, 154, 46,
910 48, 44, 44, 44, 153, 156, 46, 48, 155, 44,
911 44, 44, 155, 96, 46, 370, 48, 157, 370, 101,
912 44, 44, 44, 97, 155, 46, 48, 98, 158, 44,
914 44, 44, 102, 48, 46, 187, 103, 99, 44, 44,
915 44, 48, 100, 46, 44, 44, 44, 370, 370, 46,
916 370, 187, 48, 187, 370, 105, 370, 67, 67, 67,
917 67, 48, 104, 72, 72, 72, 72, 65, 106, 188,
918 48, 370, 370, 370, 370, 370, 48, 107, 370, 112,
919 370, 108, 109, 65, 370, 110, 370, 370, 63, 111,
920 64, 64, 64, 64, 370, 370, 71, 370, 71, 370,
921 65, 72, 72, 72, 72, 63, 370, 66, 66, 66,
922 66, 67, 67, 67, 67, 370, 65, 65, 44, 44,
923 44, 65, 370, 46, 44, 44, 44, 370, 370, 46,
925 44, 44, 44, 65, 370, 46, 370, 65, 370, 370,
926 44, 44, 44, 370, 370, 128, 370, 370, 370, 370,
927 48, 370, 44, 44, 44, 370, 48, 46, 370, 44,
928 44, 44, 48, 370, 131, 370, 370, 370, 370, 370,
929 122, 125, 48, 370, 370, 370, 370, 370, 127, 126,
930 126, 126, 126, 370, 48, 370, 370, 126, 126, 126,
931 126, 48, 44, 44, 44, 370, 370, 46, 129, 130,
932 370, 126, 126, 126, 126, 126, 126, 44, 44, 44,
933 370, 370, 46, 44, 44, 44, 370, 370, 46, 370,
934 44, 44, 44, 370, 48, 46, 370, 370, 132, 44,
936 44, 44, 370, 370, 46, 44, 44, 44, 370, 48,
937 46, 44, 44, 44, 133, 48, 46, 370, 44, 44,
938 44, 370, 48, 46, 44, 44, 44, 370, 370, 46,
939 370, 48, 370, 370, 370, 370, 134, 48, 135, 370,
940 370, 137, 370, 48, 44, 44, 44, 370, 370, 46,
941 48, 136, 138, 44, 44, 44, 48, 370, 46, 44,
942 44, 44, 141, 370, 46, 139, 44, 44, 44, 370,
943 370, 46, 370, 140, 370, 370, 48, 370, 44, 44,
944 44, 370, 370, 46, 370, 48, 370, 44, 44, 44,
945 142, 48, 46, 370, 44, 44, 44, 370, 48, 46,
947 370, 44, 44, 44, 370, 143, 46, 370, 370, 144,
948 48, 145, 370, 370, 370, 147, 44, 44, 44, 48,
949 146, 46, 44, 44, 44, 148, 48, 46, 370, 370,
950 149, 370, 370, 48, 44, 44, 44, 370, 370, 46,
951 370, 370, 370, 370, 150, 44, 44, 44, 48, 370,
952 46, 370, 370, 370, 48, 151, 44, 44, 44, 370,
953 370, 46, 370, 370, 370, 370, 48, 152, 370, 370,
954 370, 160, 161, 161, 161, 161, 370, 48, 370, 370,
955 161, 161, 161, 161, 44, 44, 44, 370, 48, 46,
956 370, 163, 370, 370, 161, 161, 161, 161, 161, 161,
958 44, 44, 44, 370, 370, 46, 370, 370, 162, 44,
959 44, 44, 370, 370, 46, 370, 48, 44, 44, 44,
960 370, 370, 46, 44, 44, 44, 370, 370, 46, 44,
961 44, 44, 48, 370, 46, 370, 164, 44, 44, 44,
962 370, 48, 46, 44, 44, 44, 370, 370, 46, 48,
963 370, 370, 370, 165, 370, 48, 370, 370, 166, 370,
964 370, 48, 370, 370, 370, 370, 370, 168, 167, 48,
965 370, 44, 44, 44, 370, 48, 46, 370, 169, 370,
966 44, 44, 44, 370, 171, 46, 370, 170, 44, 44,
967 44, 370, 370, 46, 44, 44, 44, 370, 370, 46,
969 44, 44, 44, 48, 370, 46, 172, 370, 44, 44,
970 44, 370, 48, 46, 44, 44, 44, 370, 370, 46,
971 48, 370, 370, 44, 44, 44, 48, 175, 46, 370,
972 370, 173, 48, 176, 174, 370, 44, 44, 44, 370,
973 48, 46, 370, 178, 370, 370, 48, 370, 370, 177,
974 370, 44, 44, 44, 370, 48, 46, 370, 44, 44,
975 44, 370, 180, 46, 370, 370, 179, 370, 48, 44,
976 44, 44, 370, 370, 46, 370, 44, 44, 44, 370,
977 181, 46, 370, 48, 44, 44, 44, 370, 370, 46,
978 48, 44, 44, 44, 370, 370, 46, 370, 370, 182,
980 370, 48, 44, 44, 44, 370, 370, 46, 48, 183,
981 370, 370, 192, 44, 44, 44, 48, 370, 46, 370,
982 370, 370, 370, 48, 184, 370, 185, 186, 44, 44,
983 44, 370, 370, 46, 48, 370, 370, 370, 370, 190,
984 191, 191, 191, 191, 370, 48, 370, 370, 191, 191,
985 191, 191, 193, 44, 44, 44, 370, 370, 46, 370,
986 48, 370, 191, 191, 191, 191, 191, 191, 44, 44,
987 44, 370, 370, 46, 44, 44, 44, 370, 194, 46,
988 370, 370, 370, 196, 197, 48, 44, 44, 44, 370,
989 370, 46, 370, 370, 195, 370, 44, 44, 44, 370,
991 48, 200, 370, 44, 44, 44, 48, 370, 46, 44,
992 44, 44, 370, 370, 46, 370, 198, 370, 48, 44,
993 44, 44, 370, 370, 46, 44, 44, 44, 48, 370,
994 46, 44, 44, 44, 370, 48, 46, 199, 201, 370,
995 370, 48, 44, 44, 44, 370, 370, 46, 202, 370,
996 370, 48, 370, 44, 44, 44, 370, 48, 207, 370,
997 203, 370, 370, 48, 44, 44, 44, 370, 204, 46,
998 205, 370, 370, 370, 48, 44, 44, 44, 370, 370,
999 46, 44, 44, 44, 370, 48, 46, 206, 370, 370,
1000 44, 44, 44, 370, 370, 46, 48, 44, 44, 44,
1002 370, 370, 46, 44, 44, 44, 370, 48, 46, 44,
1003 44, 44, 370, 48, 46, 370, 370, 208, 370, 370,
1004 210, 209, 48, 44, 44, 44, 370, 370, 215, 48,
1005 370, 370, 44, 44, 44, 48, 212, 46, 370, 370,
1006 211, 48, 216, 44, 44, 44, 214, 370, 46, 370,
1007 370, 370, 44, 44, 44, 48, 213, 46, 370, 370,
1008 44, 44, 44, 370, 48, 46, 44, 44, 44, 370,
1009 370, 46, 44, 44, 44, 48, 370, 46, 370, 370,
1010 370, 217, 370, 370, 48, 44, 44, 44, 370, 370,
1011 46, 370, 48, 370, 370, 370, 370, 370, 48, 219,
1013 45, 45, 45, 45, 48, 370, 370, 370, 45, 45,
1014 45, 45, 370, 220, 222, 370, 370, 48, 370, 221,
1015 370, 370, 45, 45, 45, 45, 45, 45, 370, 370,
1016 223, 44, 44, 44, 370, 370, 224, 44, 44, 44,
1017 370, 370, 225, 44, 44, 44, 370, 370, 226, 44,
1018 44, 44, 370, 370, 46, 44, 44, 44, 370, 227,
1019 46, 370, 370, 48, 370, 44, 44, 44, 370, 48,
1020 46, 44, 44, 44, 370, 48, 46, 44, 44, 44,
1021 370, 48, 46, 370, 370, 370, 370, 48, 44, 44,
1022 44, 370, 370, 46, 44, 44, 44, 48, 370, 233,
1024 370, 370, 370, 48, 370, 228, 370, 370, 370, 48,
1025 230, 44, 44, 44, 370, 229, 46, 44, 44, 44,
1026 48, 370, 46, 44, 44, 44, 48, 370, 46, 370,
1027 370, 370, 370, 370, 231, 44, 44, 44, 232, 370,
1028 46, 370, 370, 48, 370, 44, 44, 44, 370, 48,
1029 46, 370, 44, 44, 44, 48, 235, 46, 370, 44,
1030 44, 44, 370, 234, 46, 370, 370, 48, 370, 44,
1031 44, 44, 370, 236, 46, 370, 370, 48, 237, 370,
1032 44, 44, 44, 370, 48, 46, 370, 44, 44, 44,
1033 370, 48, 46, 44, 44, 44, 370, 238, 46, 370,
1035 370, 48, 370, 370, 239, 370, 241, 370, 370, 240,
1036 370, 370, 48, 370, 370, 242, 44, 44, 44, 48,
1037 370, 46, 370, 370, 370, 48, 370, 244, 44, 44,
1038 44, 370, 370, 46, 370, 44, 44, 44, 370, 370,
1039 46, 370, 245, 370, 44, 44, 44, 370, 48, 46,
1040 44, 44, 44, 370, 370, 46, 44, 44, 44, 370,
1041 48, 46, 370, 370, 44, 44, 44, 48, 246, 46,
1042 370, 370, 370, 247, 248, 370, 48, 370, 44, 44,
1043 44, 370, 48, 46, 370, 370, 370, 370, 48, 249,
1044 44, 44, 44, 370, 370, 254, 48, 370, 44, 44,
1046 44, 370, 252, 255, 370, 370, 250, 251, 256, 370,
1047 48, 44, 44, 44, 370, 370, 46, 253, 44, 44,
1048 44, 370, 48, 46, 44, 44, 44, 370, 370, 46,
1049 48, 370, 257, 370, 44, 44, 44, 370, 370, 46,
1050 44, 44, 44, 48, 261, 262, 44, 44, 44, 370,
1051 48, 46, 44, 44, 44, 370, 48, 46, 370, 44,
1052 44, 44, 370, 258, 46, 259, 48, 370, 370, 44,
1053 44, 44, 48, 370, 266, 370, 260, 370, 48, 370,
1054 44, 44, 44, 370, 48, 46, 370, 370, 370, 263,
1055 370, 48, 44, 44, 44, 370, 370, 268, 370, 370,
1057 264, 48, 370, 44, 44, 44, 370, 370, 46, 370,
1058 370, 265, 48, 269, 44, 44, 44, 370, 267, 46,
1059 44, 44, 44, 370, 48, 46, 44, 44, 44, 370,
1060 370, 272, 44, 44, 44, 48, 370, 273, 44, 44,
1061 44, 370, 370, 46, 370, 370, 48, 370, 274, 44,
1062 44, 44, 48, 370, 275, 44, 44, 44, 48, 370,
1063 46, 370, 370, 271, 48, 370, 370, 370, 270, 370,
1064 48, 370, 44, 44, 44, 370, 370, 46, 44, 44,
1065 44, 48, 370, 46, 44, 44, 44, 48, 370, 279,
1066 44, 44, 44, 370, 370, 46, 44, 44, 44, 370,
1068 370, 46, 370, 276, 48, 370, 44, 44, 44, 370,
1069 48, 46, 370, 44, 44, 44, 48, 278, 46, 370,
1070 277, 370, 48, 370, 44, 44, 44, 370, 48, 46,
1071 44, 44, 44, 370, 370, 46, 370, 370, 48, 44,
1072 44, 44, 284, 281, 46, 48, 280, 370, 282, 283,
1073 44, 44, 44, 370, 370, 46, 48, 370, 370, 370,
1074 285, 370, 48, 286, 370, 287, 370, 44, 44, 44,
1075 370, 48, 46, 44, 44, 44, 370, 370, 46, 44,
1076 44, 44, 48, 370, 46, 370, 44, 44, 44, 289,
1077 288, 46, 370, 44, 44, 44, 370, 370, 46, 48,
1079 370, 370, 370, 290, 370, 48, 370, 44, 44, 44,
1080 370, 48, 295, 370, 44, 44, 44, 370, 48, 46,
1081 370, 44, 44, 44, 291, 48, 46, 370, 292, 44,
1082 44, 44, 370, 370, 46, 293, 44, 44, 44, 48,
1083 370, 46, 370, 294, 370, 370, 48, 370, 370, 296,
1084 44, 44, 44, 48, 370, 46, 370, 44, 44, 44,
1085 370, 48, 46, 370, 44, 44, 44, 301, 48, 46,
1086 370, 44, 44, 44, 370, 299, 46, 297, 370, 298,
1087 370, 370, 48, 44, 44, 44, 370, 370, 46, 48,
1088 44, 44, 44, 370, 370, 46, 48, 370, 370, 44,
1090 44, 44, 300, 48, 46, 44, 44, 44, 370, 370,
1091 46, 370, 44, 44, 44, 48, 302, 46, 370, 303,
1092 370, 370, 48, 370, 44, 44, 44, 370, 304, 46,
1093 370, 48, 370, 370, 44, 44, 44, 48, 306, 46,
1094 305, 44, 44, 44, 48, 370, 46, 44, 44, 44,
1095 370, 370, 46, 44, 44, 44, 48, 307, 46, 370,
1096 370, 370, 370, 313, 308, 370, 48, 44, 44, 44,
1097 370, 370, 46, 48, 370, 309, 44, 44, 44, 48,
1098 310, 46, 44, 44, 44, 48, 370, 46, 370, 370,
1099 311, 370, 312, 44, 44, 44, 370, 370, 46, 48,
1101 44, 44, 44, 370, 370, 318, 314, 370, 48, 370,
1102 44, 44, 44, 315, 48, 46, 370, 44, 44, 44,
1103 370, 316, 46, 370, 370, 48, 44, 44, 44, 370,
1104 317, 46, 48, 44, 44, 44, 370, 370, 46, 44,
1105 44, 44, 48, 370, 323, 319, 44, 44, 44, 48,
1106 370, 46, 44, 44, 44, 370, 370, 46, 48, 370,
1107 370, 44, 44, 44, 370, 48, 326, 320, 370, 321,
1108 370, 48, 44, 44, 44, 370, 322, 46, 48, 370,
1109 370, 44, 44, 44, 48, 324, 46, 44, 44, 44,
1110 370, 325, 46, 48, 44, 44, 44, 370, 370, 330,
1112 44, 44, 44, 370, 48, 46, 44, 44, 44, 327,
1113 370, 46, 370, 48, 370, 44, 44, 44, 370, 48,
1114 46, 370, 44, 44, 44, 370, 48, 46, 370, 329,
1115 370, 370, 48, 370, 370, 370, 328, 370, 48, 370,
1116 44, 44, 44, 370, 331, 46, 370, 48, 44, 44,
1117 44, 370, 370, 336, 48, 370, 332, 44, 44, 44,
1118 370, 370, 337, 44, 44, 44, 370, 370, 46, 333,
1119 334, 370, 48, 370, 44, 44, 44, 370, 370, 46,
1120 48, 44, 44, 44, 370, 370, 46, 370, 335, 48,
1121 370, 44, 44, 44, 370, 48, 46, 44, 44, 44,
1123 370, 370, 46, 370, 370, 338, 48, 44, 44, 44,
1124 370, 370, 46, 48, 370, 370, 340, 44, 44, 44,
1125 370, 370, 46, 48, 370, 370, 339, 370, 370, 48,
1126 341, 44, 44, 44, 370, 370, 46, 370, 370, 48,
1127 342, 370, 44, 44, 44, 370, 343, 46, 370, 48,
1128 44, 44, 44, 370, 370, 347, 44, 44, 44, 370,
1129 370, 46, 370, 48, 344, 44, 44, 44, 370, 370,
1130 46, 370, 370, 370, 48, 370, 370, 346, 345, 44,
1131 44, 44, 48, 370, 46, 370, 370, 370, 48, 44,
1132 44, 44, 370, 370, 46, 370, 370, 48, 370, 44,
1134 44, 44, 370, 348, 46, 44, 44, 44, 370, 370,
1135 46, 48, 370, 370, 44, 44, 44, 349, 350, 46,
1136 370, 48, 44, 44, 44, 370, 370, 46, 44, 44,
1137 44, 48, 370, 356, 370, 370, 370, 48, 370, 351,
1138 44, 44, 44, 370, 370, 46, 48, 44, 44, 44,
1139 352, 370, 46, 370, 48, 370, 353, 44, 44, 44,
1140 48, 354, 359, 355, 44, 44, 44, 370, 370, 360,
1141 370, 370, 48, 44, 44, 44, 370, 370, 46, 48,
1142 44, 44, 44, 370, 370, 46, 370, 370, 370, 48,
1143 370, 357, 44, 44, 44, 370, 48, 363, 358, 44,
1145 44, 44, 370, 370, 364, 48, 44, 44, 44, 370,
1146 370, 46, 48, 370, 361, 44, 44, 44, 370, 362,
1147 46, 44, 44, 44, 48, 370, 46, 44, 44, 44,
1148 370, 48, 368, 370, 370, 44, 44, 44, 48, 370,
1149 369, 370, 370, 370, 370, 365, 370, 48, 370, 370,
1150 370, 370, 370, 48, 370, 370, 370, 370, 370, 48,
1151 370, 370, 370, 370, 370, 370, 366, 48, 370, 370,
1152 370, 370, 367, 36, 36, 36, 36, 45, 45, 45,
1153 45, 62, 370, 62, 62, 81, 370, 370, 81, 83,
1154 83, 83, 83, 87, 87, 87, 87, 113, 370, 113,
1156 113, 83, 83, 123, 123, 123, 123, 11, 370, 370,
1157 370, 370, 370, 370, 370, 370, 370, 370, 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
1167 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
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 3, 3, 3, 4, 4, 4, 3, 9, 7, 4,
1174 5, 5, 8, 5, 5, 5, 5, 5, 5, 5,
1175 5, 5, 5, 5, 10, 13, 26, 13, 5, 5,
1176 9, 5, 21, 37, 5, 37, 5, 21, 5, 27,
1178 26, 31, 44, 218, 5, 5, 7, 10, 5, 28,
1179 8, 42, 5, 42, 32, 31, 17, 5, 17, 17,
1180 17, 17, 27, 5, 5, 15, 15, 15, 17, 44,
1181 15, 19, 28, 19, 19, 19, 19, 32, 20, 20,
1182 20, 20, 83, 19, 17, 33, 73, 25, 20, 25,
1183 189, 15, 25, 25, 25, 25, 159, 15, 75, 19,
1184 123, 15, 15, 15, 20, 15, 73, 15, 33, 83,
1185 15, 15, 15, 15, 15, 120, 15, 74, 15, 15,
1186 22, 75, 22, 22, 22, 22, 45, 45, 45, 48,
1187 78, 45, 22, 47, 47, 47, 48, 74, 47, 76,
1189 87, 49, 49, 49, 81, 80, 49, 43, 22, 50,
1190 50, 50, 41, 78, 50, 39, 48, 38, 45, 76,
1191 48, 51, 51, 51, 48, 47, 51, 71, 71, 71,
1192 71, 48, 47, 49, 48, 51, 48, 48, 52, 52,
1193 52, 50, 77, 52, 50, 53, 53, 53, 115, 49,
1194 53, 114, 117, 51, 55, 55, 55, 50, 24, 55,
1195 51, 14, 77, 51, 54, 54, 54, 118, 115, 54,
1196 52, 56, 56, 56, 114, 117, 56, 53, 116, 57,
1197 57, 57, 119, 52, 57, 11, 55, 118, 0, 55,
1198 58, 58, 58, 53, 116, 58, 54, 53, 119, 59,
1200 59, 59, 55, 56, 59, 153, 56, 54, 60, 60,
1201 60, 57, 54, 60, 61, 61, 61, 0, 0, 61,
1202 0, 153, 58, 156, 0, 58, 0, 63, 63, 63,
1203 63, 59, 57, 72, 72, 72, 72, 63, 59, 156,
1204 60, 0, 0, 0, 0, 0, 61, 59, 0, 61,
1205 0, 59, 59, 63, 0, 60, 0, 0, 64, 60,
1206 64, 64, 64, 64, 0, 0, 65, 0, 65, 0,
1207 64, 65, 65, 65, 65, 66, 0, 66, 66, 66,
1208 66, 67, 67, 67, 67, 0, 64, 66, 86, 86,
1209 86, 67, 0, 86, 88, 88, 88, 0, 0, 88,
1211 90, 90, 90, 66, 0, 90, 0, 67, 0, 0,
1212 91, 91, 91, 0, 0, 91, 0, 0, 0, 0,
1213 86, 0, 92, 92, 92, 0, 88, 92, 0, 93,
1214 93, 93, 90, 0, 93, 0, 0, 0, 0, 0,
1215 86, 89, 91, 0, 0, 0, 0, 0, 90, 89,
1216 89, 89, 89, 0, 92, 0, 0, 89, 89, 89,
1217 89, 93, 94, 94, 94, 0, 0, 94, 92, 92,
1218 0, 89, 89, 89, 89, 89, 89, 95, 95, 95,
1219 0, 0, 95, 96, 96, 96, 0, 0, 96, 0,
1220 97, 97, 97, 0, 94, 97, 0, 0, 94, 98,
1222 98, 98, 0, 0, 98, 99, 99, 99, 0, 95,
1223 99, 100, 100, 100, 95, 96, 100, 0, 101, 101,
1224 101, 0, 97, 101, 102, 102, 102, 0, 0, 102,
1225 0, 98, 0, 0, 0, 0, 96, 99, 97, 0,
1226 0, 99, 0, 100, 103, 103, 103, 0, 0, 103,
1227 101, 98, 100, 104, 104, 104, 102, 0, 104, 105,
1228 105, 105, 102, 0, 105, 101, 106, 106, 106, 0,
1229 0, 106, 0, 101, 0, 0, 103, 0, 107, 107,
1230 107, 0, 0, 107, 0, 104, 0, 108, 108, 108,
1231 103, 105, 108, 0, 109, 109, 109, 0, 106, 109,
1233 0, 110, 110, 110, 0, 104, 110, 0, 0, 105,
1234 107, 105, 0, 0, 0, 107, 111, 111, 111, 108,
1235 106, 111, 112, 112, 112, 108, 109, 112, 0, 0,
1236 109, 0, 0, 110, 122, 122, 122, 0, 0, 122,
1237 0, 0, 0, 0, 110, 129, 129, 129, 111, 0,
1238 129, 0, 0, 0, 112, 111, 127, 127, 127, 0,
1239 0, 127, 0, 0, 0, 0, 122, 112, 0, 0,
1240 0, 122, 126, 126, 126, 126, 0, 129, 0, 0,
1241 126, 126, 126, 126, 130, 130, 130, 0, 127, 130,
1242 0, 129, 0, 0, 126, 126, 126, 126, 126, 126,
1244 132, 132, 132, 0, 0, 132, 0, 0, 127, 133,
1245 133, 133, 0, 0, 133, 0, 130, 134, 134, 134,
1246 0, 0, 134, 135, 135, 135, 0, 0, 135, 136,
1247 136, 136, 132, 0, 136, 0, 130, 137, 137, 137,
1248 0, 133, 137, 138, 138, 138, 0, 0, 138, 134,
1249 0, 0, 0, 132, 0, 135, 0, 0, 133, 0,
1250 0, 136, 0, 0, 0, 0, 0, 135, 134, 137,
1251 0, 139, 139, 139, 0, 138, 139, 0, 136, 0,
1252 140, 140, 140, 0, 138, 140, 0, 137, 141, 141,
1253 141, 0, 0, 141, 142, 142, 142, 0, 0, 142,
1255 143, 143, 143, 139, 0, 143, 139, 0, 144, 144,
1256 144, 0, 140, 144, 145, 145, 145, 0, 0, 145,
1257 141, 0, 0, 146, 146, 146, 142, 141, 146, 0,
1258 0, 140, 143, 142, 140, 0, 147, 147, 147, 0,
1259 144, 147, 0, 144, 0, 0, 145, 0, 0, 143,
1260 0, 148, 148, 148, 0, 146, 148, 0, 149, 149,
1261 149, 0, 146, 149, 0, 0, 145, 0, 147, 150,
1262 150, 150, 0, 0, 150, 0, 151, 151, 151, 0,
1263 147, 151, 0, 148, 152, 152, 152, 0, 0, 152,
1264 149, 160, 160, 160, 0, 0, 160, 0, 0, 148,
1266 0, 150, 162, 162, 162, 0, 0, 162, 151, 149,
1267 0, 0, 162, 163, 163, 163, 152, 0, 163, 0,
1268 0, 0, 0, 160, 150, 0, 151, 152, 164, 164,
1269 164, 0, 0, 164, 162, 0, 0, 0, 0, 160,
1270 161, 161, 161, 161, 0, 163, 0, 0, 161, 161,
1271 161, 161, 163, 165, 165, 165, 0, 0, 165, 0,
1272 164, 0, 161, 161, 161, 161, 161, 161, 166, 166,
1273 166, 0, 0, 166, 167, 167, 167, 0, 164, 167,
1274 0, 0, 0, 166, 166, 165, 168, 168, 168, 0,
1275 0, 168, 0, 0, 165, 0, 169, 169, 169, 0,
1277 166, 169, 0, 170, 170, 170, 167, 0, 170, 171,
1278 171, 171, 0, 0, 171, 0, 167, 0, 168, 172,
1279 172, 172, 0, 0, 172, 173, 173, 173, 169, 0,
1280 173, 174, 174, 174, 0, 170, 174, 168, 170, 0,
1281 0, 171, 175, 175, 175, 0, 0, 175, 171, 0,
1282 0, 172, 0, 176, 176, 176, 0, 173, 176, 0,
1283 172, 0, 0, 174, 177, 177, 177, 0, 173, 177,
1284 174, 0, 0, 0, 175, 178, 178, 178, 0, 0,
1285 178, 179, 179, 179, 0, 176, 179, 175, 0, 0,
1286 180, 180, 180, 0, 0, 180, 177, 181, 181, 181,
1288 0, 0, 181, 182, 182, 182, 0, 178, 182, 183,
1289 183, 183, 0, 179, 183, 0, 0, 177, 0, 0,
1290 179, 178, 180, 184, 184, 184, 0, 0, 184, 181,
1291 0, 0, 185, 185, 185, 182, 181, 185, 0, 0,
1292 180, 183, 185, 186, 186, 186, 183, 0, 186, 0,
1293 0, 0, 190, 190, 190, 184, 182, 190, 0, 0,
1294 192, 192, 192, 0, 185, 192, 194, 194, 194, 0,
1295 0, 194, 193, 193, 193, 186, 0, 193, 0, 0,
1296 0, 186, 0, 0, 190, 195, 195, 195, 0, 0,
1297 195, 0, 192, 0, 0, 0, 0, 0, 194, 190,
1299 191, 191, 191, 191, 193, 0, 0, 0, 191, 191,
1300 191, 191, 0, 192, 194, 0, 0, 195, 0, 193,
1301 0, 0, 191, 191, 191, 191, 191, 191, 0, 0,
1302 195, 196, 196, 196, 0, 0, 196, 197, 197, 197,
1303 0, 0, 197, 198, 198, 198, 0, 0, 198, 199,
1304 199, 199, 0, 0, 199, 201, 201, 201, 0, 199,
1305 201, 0, 0, 196, 0, 202, 202, 202, 0, 197,
1306 202, 203, 203, 203, 0, 198, 203, 204, 204, 204,
1307 0, 199, 204, 0, 0, 0, 0, 201, 205, 205,
1308 205, 0, 0, 205, 206, 206, 206, 202, 0, 206,
1310 0, 0, 0, 203, 0, 201, 0, 0, 0, 204,
1311 203, 208, 208, 208, 0, 202, 208, 209, 209, 209,
1312 205, 0, 209, 210, 210, 210, 206, 0, 210, 0,
1313 0, 0, 0, 0, 204, 211, 211, 211, 205, 0,
1314 211, 0, 0, 208, 0, 212, 212, 212, 0, 209,
1315 212, 0, 213, 213, 213, 210, 209, 213, 0, 214,
1316 214, 214, 0, 208, 214, 0, 0, 211, 0, 216,
1317 216, 216, 0, 210, 216, 0, 0, 212, 211, 0,
1318 217, 217, 217, 0, 213, 217, 0, 219, 219, 219,
1319 0, 214, 219, 220, 220, 220, 0, 212, 220, 0,
1321 0, 216, 0, 0, 213, 0, 216, 0, 0, 214,
1322 0, 0, 217, 0, 0, 217, 221, 221, 221, 219,
1323 0, 221, 0, 0, 0, 220, 0, 219, 222, 222,
1324 222, 0, 0, 222, 0, 223, 223, 223, 0, 0,
1325 223, 0, 220, 0, 227, 227, 227, 0, 221, 227,
1326 228, 228, 228, 0, 0, 228, 229, 229, 229, 0,
1327 222, 229, 0, 0, 230, 230, 230, 223, 221, 230,
1328 0, 0, 0, 222, 223, 0, 227, 0, 231, 231,
1329 231, 0, 228, 231, 0, 0, 0, 0, 229, 227,
1330 232, 232, 232, 0, 0, 232, 230, 0, 234, 234,
1332 234, 0, 230, 234, 0, 0, 228, 229, 234, 0,
1333 231, 235, 235, 235, 0, 0, 235, 231, 236, 236,
1334 236, 0, 232, 236, 237, 237, 237, 0, 0, 237,
1335 234, 0, 234, 0, 238, 238, 238, 0, 0, 238,
1336 239, 239, 239, 235, 238, 239, 240, 240, 240, 0,
1337 236, 240, 241, 241, 241, 0, 237, 241, 0, 242,
1338 242, 242, 0, 235, 242, 236, 238, 0, 0, 244,
1339 244, 244, 239, 0, 244, 0, 237, 0, 240, 0,
1340 245, 245, 245, 0, 241, 245, 0, 0, 0, 240,
1341 0, 242, 246, 246, 246, 0, 0, 246, 0, 0,
1343 241, 244, 0, 247, 247, 247, 0, 0, 247, 0,
1344 0, 242, 245, 247, 248, 248, 248, 0, 245, 248,
1345 249, 249, 249, 0, 246, 249, 250, 250, 250, 0,
1346 0, 250, 251, 251, 251, 247, 0, 251, 252, 252,
1347 252, 0, 0, 252, 0, 0, 248, 0, 252, 253,
1348 253, 253, 249, 0, 253, 256, 256, 256, 250, 0,
1349 256, 0, 0, 249, 251, 0, 0, 0, 248, 0,
1350 252, 0, 257, 257, 257, 0, 0, 257, 258, 258,
1351 258, 253, 0, 258, 259, 259, 259, 256, 0, 259,
1352 260, 260, 260, 0, 0, 260, 261, 261, 261, 0,
1354 0, 261, 0, 256, 257, 0, 263, 263, 263, 0,
1355 258, 263, 0, 264, 264, 264, 259, 258, 264, 0,
1356 257, 0, 260, 0, 265, 265, 265, 0, 261, 265,
1357 267, 267, 267, 0, 0, 267, 0, 0, 263, 269,
1358 269, 269, 263, 261, 269, 264, 260, 0, 261, 261,
1359 270, 270, 270, 0, 0, 270, 265, 0, 0, 0,
1360 264, 0, 267, 265, 0, 267, 0, 271, 271, 271,
1361 0, 269, 271, 274, 274, 274, 0, 0, 274, 276,
1362 276, 276, 270, 0, 276, 0, 277, 277, 277, 270,
1363 269, 277, 0, 278, 278, 278, 0, 0, 278, 271,
1365 0, 0, 0, 271, 0, 274, 0, 280, 280, 280,
1366 0, 276, 280, 0, 281, 281, 281, 0, 277, 281,
1367 0, 282, 282, 282, 274, 278, 282, 0, 276, 283,
1368 283, 283, 0, 0, 283, 277, 284, 284, 284, 280,
1369 0, 284, 0, 278, 0, 0, 281, 0, 0, 281,
1370 285, 285, 285, 282, 0, 285, 0, 286, 286, 286,
1371 0, 283, 286, 0, 287, 287, 287, 286, 284, 287,
1372 0, 288, 288, 288, 0, 284, 288, 282, 0, 283,
1373 0, 0, 285, 289, 289, 289, 0, 0, 289, 286,
1374 290, 290, 290, 0, 0, 290, 287, 0, 0, 291,
1376 291, 291, 285, 288, 291, 292, 292, 292, 0, 0,
1377 292, 0, 293, 293, 293, 289, 287, 293, 0, 288,
1378 0, 0, 290, 0, 294, 294, 294, 0, 289, 294,
1379 0, 291, 0, 0, 296, 296, 296, 292, 291, 296,
1380 290, 297, 297, 297, 293, 0, 297, 298, 298, 298,
1381 0, 0, 298, 299, 299, 299, 294, 292, 299, 0,
1382 0, 0, 0, 299, 293, 0, 296, 300, 300, 300,
1383 0, 0, 300, 297, 0, 294, 301, 301, 301, 298,
1384 296, 301, 302, 302, 302, 299, 0, 302, 0, 0,
1385 297, 0, 298, 303, 303, 303, 0, 0, 303, 300,
1387 304, 304, 304, 0, 0, 304, 300, 0, 301, 0,
1388 305, 305, 305, 301, 302, 305, 0, 306, 306, 306,
1389 0, 302, 306, 0, 0, 303, 307, 307, 307, 0,
1390 303, 307, 304, 308, 308, 308, 0, 0, 308, 309,
1391 309, 309, 305, 0, 309, 305, 310, 310, 310, 306,
1392 0, 310, 311, 311, 311, 0, 0, 311, 307, 0,
1393 0, 312, 312, 312, 0, 308, 312, 306, 0, 307,
1394 0, 309, 313, 313, 313, 0, 308, 313, 310, 0,
1395 0, 314, 314, 314, 311, 310, 314, 315, 315, 315,
1396 0, 311, 315, 312, 316, 316, 316, 0, 0, 316,
1398 317, 317, 317, 0, 313, 317, 319, 319, 319, 313,
1399 0, 319, 0, 314, 0, 320, 320, 320, 0, 315,
1400 320, 0, 321, 321, 321, 0, 316, 321, 0, 315,
1401 0, 0, 317, 0, 0, 0, 314, 0, 319, 0,
1402 322, 322, 322, 0, 317, 322, 0, 320, 324, 324,
1403 324, 0, 0, 324, 321, 0, 319, 325, 325, 325,
1404 0, 0, 325, 327, 327, 327, 0, 0, 327, 320,
1405 321, 0, 322, 0, 328, 328, 328, 0, 0, 328,
1406 324, 329, 329, 329, 0, 0, 329, 0, 322, 325,
1407 0, 331, 331, 331, 0, 327, 331, 332, 332, 332,
1409 0, 0, 332, 0, 0, 327, 328, 333, 333, 333,
1410 0, 0, 333, 329, 0, 0, 329, 334, 334, 334,
1411 0, 0, 334, 331, 0, 0, 328, 0, 0, 332,
1412 331, 335, 335, 335, 0, 0, 335, 0, 0, 333,
1413 332, 0, 338, 338, 338, 0, 333, 338, 0, 334,
1414 339, 339, 339, 0, 0, 339, 340, 340, 340, 0,
1415 0, 340, 0, 335, 334, 341, 341, 341, 0, 0,
1416 341, 0, 0, 0, 338, 0, 0, 338, 335, 342,
1417 342, 342, 339, 0, 342, 0, 0, 0, 340, 343,
1418 343, 343, 0, 0, 343, 0, 0, 341, 0, 344,
1420 344, 344, 0, 340, 344, 345, 345, 345, 0, 0,
1421 345, 342, 0, 0, 346, 346, 346, 341, 342, 346,
1422 0, 343, 348, 348, 348, 0, 0, 348, 349, 349,
1423 349, 344, 0, 349, 0, 0, 0, 345, 0, 343,
1424 350, 350, 350, 0, 0, 350, 346, 351, 351, 351,
1425 344, 0, 351, 0, 348, 0, 345, 352, 352, 352,
1426 349, 346, 352, 348, 353, 353, 353, 0, 0, 353,
1427 0, 0, 350, 354, 354, 354, 0, 0, 354, 351,
1428 355, 355, 355, 0, 0, 355, 0, 0, 0, 352,
1429 0, 350, 357, 357, 357, 0, 353, 357, 351, 358,
1431 358, 358, 0, 0, 358, 354, 361, 361, 361, 0,
1432 0, 361, 355, 0, 354, 362, 362, 362, 0, 355,
1433 362, 365, 365, 365, 357, 0, 365, 366, 366, 366,
1434 0, 358, 366, 0, 0, 367, 367, 367, 361, 0,
1435 367, 0, 0, 0, 0, 361, 0, 362, 0, 0,
1436 0, 0, 0, 365, 0, 0, 0, 0, 0, 366,
1437 0, 0, 0, 0, 0, 0, 362, 367, 0, 0,
1438 0, 0, 365, 371, 371, 371, 371, 372, 372, 372,
1439 372, 373, 0, 373, 373, 374, 0, 0, 374, 375,
1440 375, 375, 375, 376, 376, 376, 376, 377, 0, 377,
1442 377, 378, 378, 379, 379, 379, 379, 370, 370, 370,
1443 370, 370, 370, 370, 370, 370, 370, 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
1452static char *yy_last_accepting_cpos;
1459 135, 137, 139, 144, 145, 150, 151, 152, 164, 167,
1460 172, 179, 188, 200, 212, 222, 232, 242, 251, 260,
1461 269, 278, 287, 296, 305, 314, 323, 332, 341, 350,
1462 359, 368, 377, 386, 395, 404, 413, 422, 431, 440,
1463 449, 458, 467, 476, 485, 586, 602, 651, 659, 674,
1464 675, 676, 677, 678, 679, 681, 699, 712, 717, 721,
1471#define REJECT reject_used_but_not_detected
1472#define yymore() yymore_used_but_not_detected
1473#define YY_MORE_ADJ 0
1474#define YY_RESTORE_YY_MORE_OFFSET
1476#line 1 "netconf_lexer.ll"
1482#line 8 "netconf_lexer.ll"
1485#ifndef __clang_analyzer__
1495#include <boost/lexical_cast.hpp>
1510bool start_token_flag =
false;
1513unsigned int comment_start_line = 0;
1521#define YY_FATAL_ERROR(msg) isc::netconf::ParserContext::fatal(msg)
1522#line 1522 "netconf_lexer.cc"
1537#define YY_NO_INPUT 1
1543#line 98 "netconf_lexer.ll"
1547#define YY_USER_ACTION driver.loc_.columns(yyleng);
1548#line 1548 "netconf_lexer.cc"
1549#line 1549 "netconf_lexer.cc"
1554#define DIR_INCLUDE 3
1557#ifndef YY_NO_UNISTD_H
1569#ifndef YY_EXTRA_TYPE
1570#define YY_EXTRA_TYPE void *
1577static int yy_init_globals (
void );
1620#ifndef YY_SKIP_YYWRAP
1622extern "C" int yywrap (
void );
1624extern int yywrap (
void );
1637static void yy_flex_strncpy (
char *,
const char *,
int );
1640#ifdef YY_NEED_STRLEN
1641static int yy_flex_strlen (
const char * );
1648static int yyinput (
void );
1650static int input (
void );
1662#ifndef YY_READ_BUF_SIZE
1665#define YY_READ_BUF_SIZE 16384
1667#define YY_READ_BUF_SIZE 8192
1677#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1687#define YY_INPUT(buf,result,max_size) \
1689 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1693 for ( n = 0; n < max_size && \
1694 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1695 buf[n] = (char) c; \
1697 buf[n++] = (char) c; \
1698 if ( c == EOF && ferror( yyin ) ) \
1699 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1705 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1707 if( errno != EINTR) \
1709 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1727#define yyterminate() return YY_NULL
1731#ifndef YY_START_STACK_INCR
1732#define YY_START_STACK_INCR 25
1736#ifndef YY_FATAL_ERROR
1738#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1759#define YY_DECL_IS_OURS 1
1762extern int yylex (
void);
1764#define YY_DECL int yylex (void)
1773#ifndef YY_USER_ACTION
1774#define YY_USER_ACTION
1779#define YY_BREAK break;
1783#define YY_RULE_SETUP \
1831#line 104 "netconf_lexer.ll"
1835#line 108 "netconf_lexer.ll"
1849 if (start_token_flag) {
1850 start_token_flag =
false;
1851 switch (start_token_value) {
1863#line 1863 "netconf_lexer.cc"
1868 yy_cp = (yy_c_buf_p);
1871 *
yy_cp = (yy_hold_char);
1879 yy_current_state = (yy_start);
1884 if ( yy_accept[yy_current_state] )
1886 (yy_last_accepting_state) = yy_current_state;
1887 (yy_last_accepting_cpos) =
yy_cp;
1889 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1891 yy_current_state = (int) yy_def[yy_current_state];
1892 if ( yy_current_state >= 371 )
1893 yy_c = yy_meta[yy_c];
1895 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1898 while ( yy_current_state != 370 );
1899 yy_cp = (yy_last_accepting_cpos);
1900 yy_current_state = (yy_last_accepting_state);
1904 yy_act = yy_accept[yy_current_state];
1916 fprintf( stderr,
"--scanner backing up\n" );
1918 fprintf( stderr,
"--accepting rule at line %ld (\"%s\")\n",
1921 fprintf( stderr,
"--accepting default rule (\"%s\")\n",
1924 fprintf( stderr,
"--(end of buffer or a NUL)\n" );
1926 fprintf( stderr,
"--EOF (start condition %d)\n",
YY_START );
1934 *
yy_cp = (yy_hold_char);
1935 yy_cp = (yy_last_accepting_cpos);
1936 yy_current_state = (yy_last_accepting_state);
1937 goto yy_find_action;
1941#line 135 "netconf_lexer.ll"
1946#line 137 "netconf_lexer.ll"
1951#line 139 "netconf_lexer.ll"
1954 comment_start_line = driver.loc_.end.line;;
1959#line 144 "netconf_lexer.ll"
1964#line 145 "netconf_lexer.ll"
1968#line 146 "netconf_lexer.ll"
1975#line 150 "netconf_lexer.ll"
1980#line 151 "netconf_lexer.ll"
1985#line 152 "netconf_lexer.ll"
1990 std::string tmp(
yytext+1);
1991 tmp.resize(tmp.size() - 1);
1993 driver.includeFile(tmp);
1999#line 161 "netconf_lexer.ll"
2006#line 164 "netconf_lexer.ll"
2011#line 167 "netconf_lexer.ll"
2020#line 172 "netconf_lexer.ll"
2023 driver.loc_.lines(
yyleng);
2029#line 179 "netconf_lexer.ll"
2031 switch(driver.ctx_) {
2041#line 188 "netconf_lexer.ll"
2043 switch(driver.ctx_) {
2056#line 200 "netconf_lexer.ll"
2058 switch(driver.ctx_) {
2071#line 212 "netconf_lexer.ll"
2073 switch(driver.ctx_) {
2084#line 222 "netconf_lexer.ll"
2086 switch(driver.ctx_) {
2097#line 232 "netconf_lexer.ll"
2099 switch(driver.ctx_) {
2110#line 242 "netconf_lexer.ll"
2112 switch(driver.ctx_) {
2122#line 251 "netconf_lexer.ll"
2124 switch(driver.ctx_) {
2134#line 260 "netconf_lexer.ll"
2136 switch(driver.ctx_) {
2146#line 269 "netconf_lexer.ll"
2148 switch(driver.ctx_) {
2158#line 278 "netconf_lexer.ll"
2160 switch(driver.ctx_) {
2170#line 287 "netconf_lexer.ll"
2172 switch(driver.ctx_) {
2182#line 296 "netconf_lexer.ll"
2184 switch(driver.ctx_) {
2194#line 305 "netconf_lexer.ll"
2196 switch(driver.ctx_) {
2206#line 314 "netconf_lexer.ll"
2208 switch(driver.ctx_) {
2218#line 323 "netconf_lexer.ll"
2220 switch(driver.ctx_) {
2230#line 332 "netconf_lexer.ll"
2232 switch(driver.ctx_) {
2242#line 341 "netconf_lexer.ll"
2244 switch(driver.ctx_) {
2254#line 350 "netconf_lexer.ll"
2256 switch(driver.ctx_) {
2266#line 359 "netconf_lexer.ll"
2268 switch(driver.ctx_) {
2278#line 368 "netconf_lexer.ll"
2280 switch(driver.ctx_) {
2290#line 377 "netconf_lexer.ll"
2292 switch(driver.ctx_) {
2302#line 386 "netconf_lexer.ll"
2304 switch(driver.ctx_) {
2314#line 395 "netconf_lexer.ll"
2316 switch(driver.ctx_) {
2326#line 404 "netconf_lexer.ll"
2328 switch(driver.ctx_) {
2338#line 413 "netconf_lexer.ll"
2340 switch(driver.ctx_) {
2350#line 422 "netconf_lexer.ll"
2352 switch(driver.ctx_) {
2362#line 431 "netconf_lexer.ll"
2364 switch(driver.ctx_) {
2374#line 440 "netconf_lexer.ll"
2376 switch(driver.ctx_) {
2386#line 449 "netconf_lexer.ll"
2388 switch(driver.ctx_) {
2398#line 458 "netconf_lexer.ll"
2400 switch(driver.ctx_) {
2410#line 467 "netconf_lexer.ll"
2412 switch(driver.ctx_) {
2422#line 476 "netconf_lexer.ll"
2424 switch(driver.ctx_) {
2434#line 485 "netconf_lexer.ll"
2439 std::string raw(
yytext+1);
2440 size_t len = raw.size() - 1;
2442 std::string decoded;
2443 decoded.reserve(len);
2444 for (
size_t pos = 0; pos < len; ++pos) {
2450 driver.error(driver.loc_,
"Bad quote in \"" + raw +
"\"");
2456 driver.error(driver.loc_,
"Overflow escape in \"" + raw +
"\"");
2463 decoded.push_back(c);
2466 decoded.push_back(
'\b');
2469 decoded.push_back(
'\f');
2472 decoded.push_back(
'\n');
2475 decoded.push_back(
'\r');
2478 decoded.push_back(
'\t');
2483 if (pos + 4 > len) {
2485 driver.error(driver.loc_,
2486 "Overflow unicode escape in \"" + raw +
"\"");
2488 if ((raw[pos] !=
'0') || (raw[pos + 1] !=
'0')) {
2489 driver.error(driver.loc_,
2490 "Unsupported unicode escape in \"" + raw +
"\"",
2495 if ((c >=
'0') && (c <=
'9')) {
2497 }
else if ((c >=
'A') && (c <=
'F')) {
2498 b = (c -
'A' + 10) << 4;
2499 }
else if ((c >=
'a') && (c <=
'f')) {
2500 b = (c -
'a' + 10) << 4;
2503 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
2507 if ((c >=
'0') && (c <=
'9')) {
2509 }
else if ((c >=
'A') && (c <=
'F')) {
2511 }
else if ((c >=
'a') && (c <=
'f')) {
2515 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
2517 decoded.push_back(
static_cast<char>(b & 0xff));
2521 driver.error(driver.loc_,
"Bad escape in \"" + raw +
"\"");
2525 if ((c >= 0) && (c < 0x20)) {
2527 driver.error(driver.loc_,
"Invalid control in \"" + raw +
"\"");
2529 decoded.push_back(c);
2539#line 586 "netconf_lexer.ll"
2542 std::string raw(
yytext+1);
2543 size_t len = raw.size() - 1;
2545 for (; pos < len; ++pos) {
2547 if ((c >= 0) && (c < 0x20)) {
2551 driver.error(driver.loc_,
2552 "Invalid control in " + std::string(
yytext),
2559#line 602 "netconf_lexer.ll"
2562 std::string raw(
yytext+1);
2563 size_t len = raw.size() - 1;
2566 for (; pos < len; ++pos) {
2585 if ((pos + 4 > len) ||
2586 !std::isxdigit(raw[pos + 1]) ||
2587 !std::isxdigit(raw[pos + 2]) ||
2588 !std::isxdigit(raw[pos + 3]) ||
2589 !std::isxdigit(raw[pos + 4])) {
2600 std::string trailer =
"";
2601 if (raw[len - 1] ==
'\\') {
2604 driver.error(driver.loc_,
2605 "Bad escape in " + std::string(
yytext) + trailer,
2611#line 651 "netconf_lexer.ll"
2614 std::string raw(
yytext+1);
2615 driver.error(driver.loc_,
2616 "Overflow escape in " + std::string(
yytext),
2622#line 659 "netconf_lexer.ll"
2625 std::string raw(
yytext+1);
2626 size_t pos = raw.size() - 1;
2627 for (; pos > 0; --pos) {
2633 driver.error(driver.loc_,
2634 "Overflow unicode escape in " + std::string(
yytext),
2640#line 674 "netconf_lexer.ll"
2645#line 675 "netconf_lexer.ll"
2650#line 676 "netconf_lexer.ll"
2655#line 677 "netconf_lexer.ll"
2660#line 678 "netconf_lexer.ll"
2665#line 679 "netconf_lexer.ll"
2670#line 681 "netconf_lexer.ll"
2674 int64_t integer = 0;
2680 integer = boost::lexical_cast<int64_t>(tmp);
2681 }
catch (
const boost::bad_lexical_cast &) {
2682 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
2691#line 699 "netconf_lexer.ll"
2697 fp = boost::lexical_cast<double>(tmp);
2698 }
catch (
const boost::bad_lexical_cast &) {
2699 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to a floating point.");
2707#line 712 "netconf_lexer.ll"
2715#line 717 "netconf_lexer.ll"
2722#line 721 "netconf_lexer.ll"
2723driver.error (driver.loc_,
"JSON true reserved keyword is lower case only");
2727#line 723 "netconf_lexer.ll"
2728driver.error (driver.loc_,
"JSON false reserved keyword is lower case only");
2732#line 725 "netconf_lexer.ll"
2733driver.error (driver.loc_,
"JSON null reserved keyword is lower case only");
2737#line 727 "netconf_lexer.ll"
2738driver.error (driver.loc_,
"Invalid character: " + std::string(
yytext));
2741#line 729 "netconf_lexer.ll"
2743 if (driver.states_.empty()) {
2746 driver.loc_ = driver.locs_.back();
2747 driver.locs_.pop_back();
2748 driver.file_ = driver.files_.back();
2749 driver.files_.pop_back();
2750 if (driver.sfile_) {
2751 fclose(driver.sfile_);
2754 if (!driver.sfiles_.empty()) {
2755 driver.sfile_ = driver.sfiles_.back();
2756 driver.sfiles_.pop_back();
2759 netconf__switch_to_buffer(driver.states_.back());
2760 driver.states_.pop_back();
2767#line 752 "netconf_lexer.ll"
2770#line 2770 "netconf_lexer.cc"
2778 *
yy_cp = (yy_hold_char);
2812 (yy_c_buf_p) = (
yytext_ptr) + yy_amount_of_matched_text;
2814 yy_current_state = yy_get_previous_state( );
2825 yy_next_state = yy_try_NUL_trans( yy_current_state );
2829 if ( yy_next_state )
2832 yy_cp = ++(yy_c_buf_p);
2833 yy_current_state = yy_next_state;
2840 yy_cp = (yy_last_accepting_cpos);
2841 yy_current_state = (yy_last_accepting_state);
2842 goto yy_find_action;
2846 else switch ( yy_get_next_buffer( ) )
2850 (yy_did_buffer_switch_on_eof) = 0;
2871 if ( ! (yy_did_buffer_switch_on_eof) )
2881 yy_current_state = yy_get_previous_state( );
2883 yy_cp = (yy_c_buf_p);
2891 yy_current_state = yy_get_previous_state( );
2893 yy_cp = (yy_c_buf_p);
2895 goto yy_find_action;
2902 "fatal flex scanner internal error--no action found" );
2923static int yy_get_next_buffer (
void)
2930 int number_to_move, i;
2935 "fatal flex scanner internal error--end of buffer missed" );
2959 number_to_move = (int) ((yy_c_buf_p) - (
yytext_ptr) - 1);
2961 for ( i = 0; i < number_to_move; ++i )
2962 *(dest++) = *(source++);
2975 while ( num_to_read <= 0 )
2981 int yy_c_buf_p_offset =
2988 if ( new_size <= 0 )
3004 "fatal error - scanner input buffer overflow" );
3006 (yy_c_buf_p) = &b->
yy_ch_buf[yy_c_buf_p_offset];
3018 (yy_n_chars), num_to_read );
3023 if ( (yy_n_chars) == 0 )
3044 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3048 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
3053 (yy_n_chars) += number_to_move;
3075 yy_current_state = (yy_start);
3081 if ( yy_accept[yy_current_state] )
3083 (yy_last_accepting_state) = yy_current_state;
3084 (yy_last_accepting_cpos) =
yy_cp;
3086 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3088 yy_current_state = (int) yy_def[yy_current_state];
3089 if ( yy_current_state >= 371 )
3090 yy_c = yy_meta[yy_c];
3092 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3095 return yy_current_state;
3111 char *
yy_cp = (yy_c_buf_p);
3114 if ( yy_accept[yy_current_state] )
3116 (yy_last_accepting_state) = yy_current_state;
3117 (yy_last_accepting_cpos) =
yy_cp;
3119 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3121 yy_current_state = (int) yy_def[yy_current_state];
3122 if ( yy_current_state >= 371 )
3123 yy_c = yy_meta[yy_c];
3125 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3126 yy_is_jam = (yy_current_state == 370);
3128 return yy_is_jam ? 0 : yy_current_state;
3140 static int yyinput (
void)
3142 static int input (
void)
3151 *(yy_c_buf_p) = (yy_hold_char);
3161 *(yy_c_buf_p) =
'\0';
3165 int offset = (int) ((yy_c_buf_p) - (
yytext_ptr));
3168 switch ( yy_get_next_buffer( ) )
3191 if ( ! (yy_did_buffer_switch_on_eof) )
3207 c = *(
unsigned char *) (yy_c_buf_p);
3208 *(yy_c_buf_p) =
'\0';
3209 (yy_hold_char) = *++(yy_c_buf_p);
3267 *(yy_c_buf_p) = (yy_hold_char);
3280 (yy_did_buffer_switch_on_eof) = 1;
3296 (yy_hold_char) = *(yy_c_buf_p);
3444 if (new_buffer == NULL)
3453 *(yy_c_buf_p) = (yy_hold_char);
3460 (yy_buffer_stack_top)++;
3465 (yy_did_buffer_switch_on_eof) = 1;
3485 if ((yy_buffer_stack_top) > 0)
3486 --(yy_buffer_stack_top);
3490 (yy_did_buffer_switch_on_eof) = 1;
3507 if (!(yy_buffer_stack)) {
3517 if ( ! (yy_buffer_stack) )
3518 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
3520 memset((yy_buffer_stack), 0, num_to_alloc *
sizeof(
struct yy_buffer_state*));
3522 (yy_buffer_stack_max) = num_to_alloc;
3523 (yy_buffer_stack_top) = 0;
3527 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3532 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3537 if ( ! (yy_buffer_stack) )
3538 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
3541 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size *
sizeof(
struct yy_buffer_state*));
3542 (yy_buffer_stack_max) = num_to_alloc;
3621 for ( i = 0; i < _yybytes_len; ++i )
3622 buf[i] = yybytes[i];
3639#ifndef YY_EXIT_FAILURE
3640#define YY_EXIT_FAILURE 2
3644static void yynoreturn yy_fatal_error (
const char* msg )
3646 fprintf( stderr,
"%s\n", msg );
3660 int yyless_macro_arg = (n); \
3661 YY_LESS_LINENO(yyless_macro_arg);\
3662 yytext[yyleng] = (yy_hold_char); \
3663 (yy_c_buf_p) = yytext + yyless_macro_arg; \
3664 (yy_hold_char) = *(yy_c_buf_p); \
3665 *(yy_c_buf_p) = '\0'; \
3666 yyleng = yyless_macro_arg; \
3765static int yy_init_globals (
void)
3771 (yy_buffer_stack) = NULL;
3772 (yy_buffer_stack_top) = 0;
3773 (yy_buffer_stack_max) = 0;
3774 (yy_c_buf_p) = NULL;
3807 yyfree((yy_buffer_stack) );
3808 (yy_buffer_stack) = NULL;
3825static void yy_flex_strncpy (
char* s1,
const char * s2,
int n )
3829 for ( i = 0; i < n; ++i )
3834#ifdef YY_NEED_STRLEN
3835static int yy_flex_strlen (
const char * s )
3838 for ( n = 0; s[n]; ++n )
3847 return malloc(size);
3860 return realloc(ptr, size);
3865 free( (
char *) ptr );
3870#define YYTABLES_NAME "yytables"
3875#line 752 "netconf_lexer.ll"
3883 start_token_flag =
true;
3884 start_token_value = parser_type;
3891 buffer = netconf__scan_bytes(str.c_str(), str.size());
3893 fatal(
"cannot scan string");
3900 const std::string& filename,
3903 start_token_flag =
true;
3904 start_token_value = parser_type;
3913 buffer = netconf__create_buffer(f, 65536 );
3915 fatal(
"cannot scan file " + filename);
3917 netconf__switch_to_buffer(buffer);
3925 static_cast<void>(netconf_lex_destroy());
3936 netconf__delete_buffer(
states_.back());
3944 fatal(
"Too many nested include.");
3947 FILE* f = fopen(filename.c_str(),
"r");
3949 fatal(
"Can't open include file " + filename);
3957 buffer = netconf__create_buffer(f, 65536 );
3959 fatal(
"Can't scan include file " + filename);
3961 netconf__switch_to_buffer(buffer);
3974 void dummy() { yy_fatal_error(
"Fix me: how to disable its definition?"); }
unsigned char flex_uint8_t
#define YY_CURRENT_BUFFER
Evaluation error exception raised when trying to parse.
static symbol_type make_NETCONF(const location_type &l)
static symbol_type make_SOCKET_URL(const location_type &l)
static symbol_type make_MAXVER(const location_type &l)
static symbol_type make_OUTPUT_OPTIONS(const location_type &l)
static symbol_type make_MAXSIZE(const location_type &l)
static symbol_type make_INTEGER(const int64_t &v, const location_type &l)
static symbol_type make_HOOKS_LIBRARIES(const location_type &l)
static symbol_type make_CONTROL_SOCKET(const location_type &l)
static symbol_type make_OUTPUT(const location_type &l)
static symbol_type make_DHCP6_SERVER(const location_type &l)
static symbol_type make_BOOT_UPDATE(const location_type &l)
static symbol_type make_NULL_TYPE(const location_type &l)
static symbol_type make_DEBUGLEVEL(const location_type &l)
static symbol_type make_HTTP(const location_type &l)
static symbol_type make_VALIDATE_CHANGES(const location_type &l)
static symbol_type make_END(const location_type &l)
static symbol_type make_LIBRARY(const location_type &l)
static symbol_type make_LOGGERS(const location_type &l)
static symbol_type make_LCURLY_BRACKET(const location_type &l)
static symbol_type make_STRING(const string &v, const location_type &l)
static symbol_type make_STDOUT(const location_type &l)
static symbol_type make_SOCKET_TYPE(const location_type &l)
static symbol_type make_LSQUARE_BRACKET(const location_type &l)
static symbol_type make_DHCP4_SERVER(const location_type &l)
static symbol_type make_D2_SERVER(const location_type &l)
static symbol_type make_PARAMETERS(const location_type &l)
static symbol_type make_NAME(const location_type &l)
static symbol_type make_FLUSH(const location_type &l)
static symbol_type make_START_JSON(const location_type &l)
static symbol_type make_UNIX(const location_type &l)
static symbol_type make_PATTERN(const location_type &l)
static symbol_type make_COMMENT(const location_type &l)
static symbol_type make_SEVERITY(const location_type &l)
static symbol_type make_MANAGED_SERVERS(const location_type &l)
static symbol_type make_SUBSCRIBE_CHANGES(const location_type &l)
static symbol_type make_CA_SERVER(const location_type &l)
static symbol_type make_COLON(const location_type &l)
static symbol_type make_RCURLY_BRACKET(const location_type &l)
static symbol_type make_USER_CONTEXT(const location_type &l)
static symbol_type make_COMMA(const location_type &l)
static symbol_type make_RSQUARE_BRACKET(const location_type &l)
static symbol_type make_START_NETCONF(const location_type &l)
static symbol_type make_MODEL(const location_type &l)
static symbol_type make_START_SUB_NETCONF(const location_type &l)
static symbol_type make_BOOLEAN(const bool &v, const location_type &l)
static symbol_type make_FLOAT(const double &v, const location_type &l)
static symbol_type make_SOCKET_NAME(const location_type &l)
void scanStringBegin(const std::string &str, ParserType type)
Method called before scanning starts on a string.
void scanFileBegin(FILE *f, const std::string &filename, ParserType type)
Method called before scanning starts on a file.
std::vector< std::string > files_
File name stack.
@ HOOKS_LIBRARIES
Used while parsing Netconf/loggers structures.
@ CONFIG
Used while parsing content of Netconf.
@ MANAGED_SERVERS
Used while parsing Netconf/managed-servers.
@ SERVER
Used while parsing Netconf/manages-servers/*/control-socket.
@ LOGGERS
Used while parsing Netconf/loggers/output-options structures.
@ SOCKET_TYPE
Used while parsing Netconf/hooks-libraries.
@ CONTROL_SOCKET
Used while parsing Netconf/managed-servers/*/control-socket/socket-type.
void includeFile(const std::string &filename)
Divert input to an include file.
std::vector< isc::netconf::location > locs_
Location stack.
FILE * sfile_
sFile (aka FILE)
isc::netconf::location loc_
Location of the current token.
ParserType
Defines currently supported scopes.
@ PARSER_NETCONF
This parser will expect the content as Netconf config wrapped in a map (that's the regular config fil...
@ PARSER_JSON
This parser will parse the content as generic JSON.
@ PARSER_SUB_NETCONF
This parser will expect only the content of Netconf.
std::vector< FILE * > sfiles_
sFile (aka FILE) stack
std::string file_
File name.
std::vector< struct yy_buffer_state * > states_
Lexer state stack.
void scanEnd()
Method called after the last tokens are scanned.
#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.