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 66
695#define YY_END_OF_BUFFER 67
705 59, 59, 0, 0, 0, 0, 0, 0, 0, 0,
706 67, 65, 10, 11, 65, 1, 57, 53, 59, 59,
707 65, 56, 56, 54, 65, 65, 65, 65, 65, 49,
708 50, 65, 65, 65, 51, 52, 5, 5, 5, 65,
709 65, 65, 10, 11, 0, 0, 44, 0, 0, 0,
710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711 0, 0, 1, 57, 57, 0, 59, 56, 56, 0,
712 59, 3, 2, 55, 56, 6, 0, 59, 0, 0,
713 0, 0, 0, 0, 4, 0, 0, 9, 0, 45,
714 0, 0, 0, 47, 0, 0, 0, 0, 0, 0,
716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 0, 0, 0, 0, 0, 0, 57, 0, 57,
718 2, 58, 55, 0, 0, 0, 0, 0, 0, 0,
719 0, 8, 0, 0, 46, 48, 0, 0, 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, 58, 0, 0, 58, 0, 64, 62, 0,
723 61, 60, 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, 0, 0, 0, 0,
727 0, 58, 63, 60, 0, 0, 0, 0, 0, 0,
728 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,
729 0, 0, 34, 0, 0, 0, 0, 0, 0, 0,
730 24, 0, 0, 0, 0, 0, 0, 0, 0, 19,
731 20, 38, 0, 0, 0, 0, 0, 0, 22, 0,
732 0, 0, 0, 0, 0, 0, 0, 0, 7, 0,
733 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,
734 37, 0, 0, 0, 0, 0, 0, 26, 0, 0,
735 0, 12, 0, 14, 0, 0, 0, 31, 33, 0,
736 39, 0, 0, 0, 41, 0, 0, 0, 0, 0,
738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
739 43, 0, 0, 0, 0, 0, 0, 0, 0, 0,
740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
741 0, 0, 0, 42, 0, 0, 0, 0, 32, 0,
742 0, 29, 0, 0, 0, 15, 0, 0, 0, 0,
743 0, 28, 27, 0, 0, 0, 0, 0, 0, 0,
744 0, 0, 13, 0, 0, 0, 0, 0, 0, 0,
745 0, 23, 0, 0, 36, 35, 0, 0, 30, 18,
749static const YY_CHAR yy_ec[256] =
751 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
752 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
753 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
754 1, 4, 5, 6, 7, 5, 5, 5, 5, 5,
755 5, 8, 9, 10, 11, 12, 13, 14, 15, 16,
756 15, 17, 15, 18, 15, 15, 15, 19, 5, 20,
757 5, 21, 22, 5, 23, 24, 24, 24, 25, 26,
758 5, 5, 5, 5, 5, 27, 5, 28, 5, 5,
759 5, 29, 30, 31, 32, 5, 5, 5, 5, 5,
760 33, 34, 35, 5, 36, 5, 37, 38, 39, 40,
762 41, 42, 43, 44, 45, 5, 46, 47, 48, 49,
763 50, 51, 5, 52, 53, 54, 55, 56, 5, 57,
764 58, 59, 60, 5, 61, 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,
771 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,
777 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
781static const YY_CHAR yy_meta[62] =
783 1, 1, 2, 1, 1, 3, 1, 1, 1, 1,
784 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
785 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
786 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
787 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
788 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
794 0, 0, 60, 63, 66, 0, 64, 68, 65, 67,
795 288, 2619, 86, 281, 127, 0, 107, 2619, 122, 127,
796 85, 172, 184, 2619, 259, 142, 77, 63, 102, 2619,
797 2619, 79, 117, 121, 2619, 2619, 2619, 101, 265, 221,
798 0, 228, 102, 236, 158, 202, 2619, 209, 210, 226,
799 232, 239, 255, 266, 284, 290, 302, 308, 320, 342,
800 350, 364, 0, 344, 363, 391, 396, 408, 426, 439,
801 444, 2619, 0, 456, 474, 2619, 203, 401, 167, 179,
802 130, 204, 227, 138, 2619, 183, 189, 2619, 173, 2619,
803 469, 429, 185, 492, 521, 499, 507, 551, 563, 569,
805 575, 581, 587, 604, 593, 610, 616, 623, 631, 645,
806 652, 667, 660, 675, 681, 687, 701, 702, 462, 514,
807 0, 715, 735, 748, 194, 248, 205, 241, 250, 212,
808 134, 2619, 735, 140, 2619, 2619, 763, 789, 805, 811,
809 2619, 818, 824, 830, 845, 853, 860, 866, 879, 887,
810 895, 904, 916, 922, 929, 945, 951, 959, 967, 974,
811 988, 1001, 996, 1027, 1001, 1009, 238, 2619, 2619, 274,
812 2619, 2619, 80, 1027, 1064, 1049, 1066, 1090, 1107, 1113,
813 1119, 1126, 1132, 1143, 1153, 1166, 1172, 1180, 1189, 1195,
814 1201, 1209, 1224, 1236, 1243, 1249, 1258, 1265, 1279, 1272,
816 1048, 1293, 2619, 2619, 77, 1292, 1328, 1316, 1299, 1322,
817 1328, 1357, 1375, 1381, 1387, 2619, 1393, 1399, 1405, 1416,
818 1422, 1428, 2619, 1434, 1446, 1452, 1458, 1464, 1475, 1488,
819 2619, 1494, 1504, 55, 1510, 1524, 1533, 1544, 1554, 2619,
820 2619, 2619, 1560, 1567, 1578, 1596, 1603, 1612, 2619, 1618,
821 1632, 1639, 1647, 1656, 1662, 1668, 1674, 1681, 2619, 1691,
822 1697, 1704, 1715, 1726, 1738, 1744, 1750, 1756, 1762, 2619,
823 2619, 1768, 1774, 1785, 1791, 1797, 1803, 2619, 1809, 1826,
824 1832, 2619, 1843, 2619, 1861, 1868, 1881, 2619, 2619, 1887,
825 2619, 1895, 1902, 1910, 2619, 1921, 1929, 1936, 1946, 1955,
827 1966, 1972, 1984, 2001, 2007, 2013, 2021, 2027, 2042, 2057,
828 2619, 2065, 2071, 2077, 2083, 2100, 2106, 2113, 2124, 2130,
829 2136, 2147, 2159, 2166, 2173, 2181, 2189, 2195, 2207, 2215,
830 2225, 2231, 2237, 2619, 2250, 2260, 2272, 2279, 2619, 2285,
831 2294, 2619, 2302, 2308, 2324, 2619, 2331, 2337, 2346, 2354,
832 2367, 2619, 2619, 2373, 2383, 2389, 2396, 2403, 2412, 2418,
833 2425, 2433, 2619, 2452, 2439, 2459, 2473, 2482, 2488, 2495,
834 2502, 2619, 2508, 2517, 2619, 2619, 2529, 2538, 2619, 2619,
835 2544, 2551, 2558, 2619, 2619, 2619, 2597, 2600, 2603, 68,
836 2606, 2609, 2612, 2615
842 386, 1, 387, 387, 1, 5, 5, 5, 5, 5,
843 386, 386, 386, 386, 388, 389, 386, 386, 386, 386,
844 386, 386, 386, 386, 386, 386, 386, 386, 386, 386,
845 386, 386, 386, 386, 386, 386, 386, 386, 386, 386,
846 390, 386, 386, 386, 391, 388, 386, 388, 392, 388,
847 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
848 388, 388, 389, 386, 386, 386, 386, 386, 386, 386,
849 386, 386, 393, 386, 386, 386, 386, 386, 386, 386,
850 386, 386, 386, 386, 386, 386, 390, 386, 391, 386,
851 386, 388, 394, 388, 392, 388, 388, 388, 388, 388,
853 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
854 388, 388, 388, 388, 388, 388, 388, 386, 386, 386,
855 393, 386, 386, 386, 386, 386, 386, 386, 386, 386,
856 386, 386, 388, 394, 386, 386, 95, 388, 388, 388,
857 386, 388, 388, 388, 388, 388, 388, 388, 388, 388,
858 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
859 388, 388, 386, 386, 386, 386, 386, 386, 386, 386,
860 386, 386, 386, 388, 95, 388, 388, 388, 388, 388,
861 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
862 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
864 386, 386, 386, 386, 386, 388, 95, 388, 388, 388,
865 388, 388, 388, 388, 388, 386, 388, 388, 388, 388,
866 388, 388, 386, 388, 388, 388, 388, 388, 388, 388,
867 386, 388, 388, 386, 388, 388, 388, 388, 388, 386,
868 386, 386, 388, 388, 388, 388, 388, 388, 386, 388,
869 388, 388, 388, 388, 388, 388, 388, 388, 386, 388,
870 388, 388, 388, 388, 388, 388, 388, 388, 388, 386,
871 386, 388, 388, 388, 388, 388, 388, 386, 388, 388,
872 388, 386, 388, 386, 388, 388, 388, 386, 386, 388,
873 386, 388, 388, 388, 386, 388, 388, 388, 388, 388,
875 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
876 386, 388, 388, 388, 388, 388, 388, 388, 388, 388,
877 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
878 388, 388, 388, 386, 388, 388, 388, 388, 386, 388,
879 388, 386, 388, 388, 388, 386, 388, 388, 388, 388,
880 388, 386, 386, 388, 388, 388, 388, 388, 388, 388,
881 388, 388, 386, 388, 388, 388, 388, 388, 388, 388,
882 388, 386, 388, 388, 386, 386, 388, 388, 386, 386,
883 388, 388, 388, 386, 386, 0, 386, 386, 386, 386,
890 12, 13, 14, 13, 12, 15, 16, 12, 17, 18,
891 19, 20, 21, 22, 23, 23, 23, 23, 24, 25,
892 12, 12, 12, 12, 26, 27, 12, 28, 12, 12,
893 29, 12, 30, 12, 31, 12, 12, 12, 12, 12,
894 26, 32, 12, 12, 12, 12, 12, 12, 33, 12,
895 12, 12, 12, 34, 12, 12, 12, 12, 12, 35,
896 36, 38, 14, 38, 38, 14, 38, 39, 87, 41,
897 39, 12, 12, 41, 12, 12, 12, 12, 12, 12,
898 12, 12, 12, 12, 12, 12, 42, 43, 42, 43,
899 12, 12, 72, 12, 80, 259, 12, 73, 12, 79,
901 12, 79, 43, 43, 43, 43, 12, 12, 12, 12,
902 40, 12, 12, 79, 12, 82, 234, 80, 64, 12,
903 65, 65, 65, 65, 65, 12, 12, 45, 45, 45,
904 81, 66, 47, 67, 205, 68, 69, 69, 69, 69,
905 71, 71, 71, 71, 71, 135, 70, 66, 80, 81,
906 77, 70, 77, 81, 48, 78, 78, 78, 78, 78,
907 49, 127, 70, 90, 50, 51, 52, 70, 53, 127,
908 54, 83, 84, 55, 56, 57, 58, 59, 90, 60,
909 173, 61, 62, 67, 127, 74, 74, 74, 74, 74,
910 135, 91, 130, 125, 132, 67, 70, 75, 75, 75,
912 75, 75, 45, 45, 45, 126, 91, 47, 70, 45,
913 45, 45, 70, 125, 47, 94, 78, 78, 78, 78,
914 78, 131, 46, 167, 70, 126, 45, 45, 45, 169,
915 125, 47, 45, 45, 45, 49, 169, 47, 44, 45,
916 45, 45, 49, 46, 47, 169, 167, 46, 88, 92,
917 128, 46, 172, 126, 98, 45, 45, 45, 46, 49,
918 47, 46, 203, 46, 95, 49, 45, 45, 45, 86,
919 167, 47, 49, 129, 168, 96, 168, 85, 203, 99,
920 76, 97, 100, 44, 45, 45, 45, 386, 49, 47,
921 45, 45, 45, 170, 168, 47, 171, 386, 203, 49,
923 386, 101, 45, 45, 45, 386, 386, 47, 45, 45,
924 45, 386, 386, 47, 204, 102, 386, 49, 386, 103,
925 45, 45, 45, 49, 386, 47, 106, 386, 104, 386,
926 386, 386, 386, 105, 386, 49, 386, 386, 108, 107,
927 386, 49, 45, 45, 45, 386, 386, 47, 386, 386,
928 45, 45, 45, 49, 386, 47, 110, 118, 118, 118,
929 118, 118, 109, 386, 45, 45, 45, 386, 66, 47,
930 386, 386, 386, 386, 64, 49, 65, 65, 65, 65,
931 65, 386, 111, 49, 66, 386, 386, 66, 386, 386,
932 386, 112, 386, 386, 386, 113, 114, 49, 115, 119,
934 117, 119, 116, 66, 120, 120, 120, 120, 120, 71,
935 71, 71, 71, 71, 78, 78, 78, 78, 78, 67,
936 70, 74, 74, 74, 74, 74, 386, 386, 386, 45,
937 45, 45, 70, 386, 47, 386, 70, 67, 386, 75,
938 75, 75, 75, 75, 386, 386, 386, 77, 70, 77,
939 70, 386, 78, 78, 78, 78, 78, 71, 71, 71,
940 71, 71, 49, 386, 386, 386, 70, 122, 70, 123,
941 123, 123, 123, 123, 89, 120, 120, 120, 120, 120,
942 124, 89, 133, 386, 70, 67, 386, 75, 75, 75,
943 75, 75, 45, 45, 45, 386, 124, 47, 70, 45,
945 45, 45, 89, 386, 47, 386, 89, 45, 45, 45,
946 89, 386, 47, 386, 70, 386, 386, 89, 386, 386,
947 89, 386, 89, 89, 386, 49, 136, 120, 120, 120,
948 120, 120, 49, 386, 137, 137, 137, 137, 137, 386,
949 49, 386, 386, 137, 137, 137, 137, 386, 138, 386,
950 386, 45, 45, 45, 139, 140, 141, 137, 137, 137,
951 137, 137, 137, 45, 45, 45, 386, 386, 47, 45,
952 45, 45, 386, 386, 47, 45, 45, 45, 386, 386,
953 47, 45, 45, 45, 49, 386, 47, 45, 45, 45,
954 386, 386, 47, 45, 45, 45, 49, 386, 47, 386,
956 142, 386, 49, 386, 45, 45, 45, 143, 49, 47,
957 45, 45, 45, 386, 49, 47, 45, 45, 45, 386,
958 49, 47, 386, 45, 45, 45, 49, 386, 47, 144,
959 145, 45, 45, 45, 386, 148, 47, 49, 386, 386,
960 146, 147, 386, 49, 386, 45, 45, 45, 386, 49,
961 47, 386, 45, 45, 45, 151, 49, 47, 149, 386,
962 45, 45, 45, 386, 49, 47, 150, 45, 45, 45,
963 152, 386, 47, 386, 386, 45, 45, 45, 49, 386,
964 47, 45, 45, 45, 153, 49, 47, 45, 45, 45,
965 386, 386, 47, 49, 386, 386, 154, 386, 155, 158,
967 49, 45, 45, 45, 386, 157, 47, 156, 49, 386,
968 386, 386, 159, 386, 49, 118, 118, 118, 118, 118,
969 49, 386, 386, 386, 386, 160, 66, 161, 163, 163,
970 163, 163, 163, 386, 49, 45, 45, 45, 386, 164,
971 47, 386, 66, 386, 386, 386, 122, 162, 123, 123,
972 123, 123, 123, 386, 386, 164, 165, 386, 165, 124,
973 386, 166, 166, 166, 166, 166, 386, 386, 49, 386,
974 386, 386, 386, 174, 386, 124, 175, 175, 175, 175,
975 175, 386, 386, 386, 386, 175, 175, 175, 175, 45,
976 45, 45, 386, 386, 47, 386, 386, 386, 386, 175,
978 175, 175, 175, 175, 175, 45, 45, 45, 386, 386,
979 47, 45, 45, 45, 386, 386, 47, 386, 45, 45,
980 45, 386, 49, 47, 45, 45, 45, 386, 386, 47,
981 45, 45, 45, 386, 386, 47, 386, 386, 49, 386,
982 386, 386, 176, 386, 49, 45, 45, 45, 386, 386,
983 47, 49, 177, 45, 45, 45, 386, 49, 47, 386,
984 45, 45, 45, 49, 178, 47, 45, 45, 45, 386,
985 386, 47, 179, 386, 180, 386, 386, 386, 49, 45,
986 45, 45, 181, 386, 47, 386, 49, 45, 45, 45,
987 182, 386, 47, 49, 386, 45, 45, 45, 386, 49,
989 47, 386, 386, 183, 45, 45, 45, 386, 185, 47,
990 386, 184, 49, 386, 386, 186, 45, 45, 45, 386,
991 49, 47, 45, 45, 45, 386, 386, 47, 49, 45,
992 45, 45, 386, 386, 47, 189, 386, 49, 386, 187,
993 386, 386, 188, 386, 190, 45, 45, 45, 386, 49,
994 47, 45, 45, 45, 386, 49, 47, 386, 192, 45,
995 45, 45, 49, 386, 47, 386, 191, 45, 45, 45,
996 386, 386, 47, 386, 45, 45, 45, 386, 49, 47,
997 386, 386, 193, 386, 49, 194, 386, 386, 45, 45,
998 45, 386, 49, 47, 386, 386, 195, 386, 386, 386,
1000 49, 45, 45, 45, 386, 386, 47, 49, 196, 163,
1001 163, 163, 163, 163, 166, 166, 166, 166, 166, 197,
1002 164, 49, 166, 166, 166, 166, 166, 45, 45, 45,
1003 198, 386, 47, 386, 49, 201, 164, 201, 386, 199,
1004 202, 202, 202, 202, 202, 200, 386, 386, 386, 45,
1005 45, 45, 386, 386, 47, 386, 386, 386, 386, 208,
1006 49, 202, 202, 202, 202, 202, 45, 45, 45, 386,
1007 386, 47, 386, 386, 386, 386, 206, 207, 207, 207,
1008 207, 207, 49, 386, 386, 386, 207, 207, 207, 207,
1009 45, 45, 45, 386, 386, 47, 386, 386, 386, 49,
1011 207, 207, 207, 207, 207, 207, 209, 45, 45, 45,
1012 386, 386, 47, 45, 45, 45, 386, 386, 47, 45,
1013 45, 45, 386, 49, 47, 386, 45, 45, 45, 212,
1014 213, 47, 45, 45, 45, 386, 386, 216, 386, 386,
1015 49, 210, 386, 45, 45, 45, 49, 386, 47, 211,
1016 386, 386, 49, 45, 45, 45, 386, 386, 47, 49,
1017 386, 386, 214, 386, 386, 49, 45, 45, 45, 386,
1018 386, 47, 45, 45, 45, 386, 49, 47, 215, 217,
1019 45, 45, 45, 386, 386, 47, 49, 386, 386, 45,
1020 45, 45, 386, 218, 47, 45, 45, 45, 386, 49,
1022 223, 45, 45, 45, 386, 49, 47, 386, 219, 45,
1023 45, 45, 386, 49, 47, 386, 220, 386, 386, 386,
1024 221, 386, 49, 386, 45, 45, 45, 386, 49, 47,
1025 386, 386, 386, 386, 49, 222, 45, 45, 45, 386,
1026 386, 47, 49, 45, 45, 45, 386, 386, 47, 45,
1027 45, 45, 386, 386, 47, 224, 225, 49, 45, 45,
1028 45, 386, 386, 47, 226, 45, 45, 45, 386, 49,
1029 231, 386, 45, 45, 45, 386, 49, 47, 386, 45,
1030 45, 45, 49, 228, 47, 386, 386, 227, 386, 232,
1031 386, 49, 45, 45, 45, 386, 230, 47, 49, 45,
1033 45, 45, 386, 229, 47, 49, 202, 202, 202, 202,
1034 202, 233, 49, 386, 386, 386, 45, 45, 45, 386,
1035 386, 47, 45, 45, 45, 49, 386, 47, 45, 45,
1036 45, 386, 49, 47, 386, 386, 386, 386, 386, 386,
1037 235, 46, 46, 46, 46, 46, 386, 237, 386, 49,
1038 46, 46, 46, 46, 386, 49, 386, 45, 45, 45,
1039 386, 49, 240, 386, 46, 46, 46, 46, 46, 46,
1040 236, 238, 386, 386, 239, 45, 45, 45, 386, 386,
1041 241, 45, 45, 45, 386, 386, 242, 45, 45, 45,
1042 49, 386, 47, 45, 45, 45, 386, 243, 47, 45,
1044 45, 45, 386, 386, 47, 45, 45, 45, 49, 386,
1045 47, 386, 386, 386, 49, 386, 45, 45, 45, 386,
1046 49, 47, 45, 45, 45, 386, 49, 47, 45, 45,
1047 45, 386, 49, 249, 45, 45, 45, 386, 49, 47,
1048 386, 386, 386, 386, 244, 246, 45, 45, 45, 49,
1049 245, 47, 45, 45, 45, 49, 386, 47, 45, 45,
1050 45, 49, 386, 47, 45, 45, 45, 49, 386, 47,
1051 386, 386, 386, 248, 247, 45, 45, 45, 386, 49,
1052 47, 386, 386, 386, 386, 49, 251, 250, 45, 45,
1053 45, 49, 386, 47, 45, 45, 45, 49, 386, 47,
1055 386, 386, 253, 252, 45, 45, 45, 386, 49, 47,
1056 45, 45, 45, 386, 386, 47, 386, 254, 386, 386,
1057 386, 49, 386, 386, 45, 45, 45, 49, 255, 47,
1058 386, 386, 257, 45, 45, 45, 386, 49, 47, 256,
1059 258, 386, 386, 49, 45, 45, 45, 386, 386, 47,
1060 386, 260, 386, 386, 45, 45, 45, 49, 386, 47,
1061 45, 45, 45, 386, 386, 47, 49, 45, 45, 45,
1062 386, 386, 47, 386, 261, 386, 386, 49, 45, 45,
1063 45, 386, 386, 47, 386, 386, 262, 49, 386, 386,
1064 263, 386, 386, 49, 264, 386, 45, 45, 45, 386,
1066 49, 47, 386, 45, 45, 45, 265, 386, 47, 386,
1067 386, 49, 45, 45, 45, 386, 386, 270, 45, 45,
1068 45, 386, 386, 271, 266, 386, 386, 386, 272, 49,
1069 267, 386, 45, 45, 45, 268, 49, 47, 386, 45,
1070 45, 45, 386, 269, 47, 49, 386, 45, 45, 45,
1071 386, 49, 47, 273, 386, 386, 45, 45, 45, 386,
1072 386, 47, 45, 45, 45, 49, 277, 278, 45, 45,
1073 45, 386, 49, 47, 45, 45, 45, 386, 386, 47,
1074 49, 45, 45, 45, 386, 274, 47, 275, 386, 49,
1075 386, 45, 45, 45, 386, 49, 282, 45, 45, 45,
1077 276, 49, 47, 386, 45, 45, 45, 49, 386, 284,
1078 386, 386, 279, 386, 49, 45, 45, 45, 386, 386,
1079 47, 386, 386, 280, 49, 285, 45, 45, 45, 386,
1080 49, 47, 386, 386, 281, 386, 283, 49, 45, 45,
1081 45, 386, 386, 47, 45, 45, 45, 386, 49, 288,
1082 45, 45, 45, 386, 386, 289, 45, 45, 45, 49,
1083 386, 47, 45, 45, 45, 386, 290, 291, 45, 45,
1084 45, 49, 386, 47, 45, 45, 45, 49, 386, 47,
1085 386, 286, 287, 49, 386, 45, 45, 45, 386, 49,
1086 47, 45, 45, 45, 386, 49, 295, 45, 45, 45,
1088 386, 49, 47, 45, 45, 45, 386, 49, 47, 45,
1089 45, 45, 386, 386, 47, 386, 386, 292, 49, 386,
1090 386, 386, 386, 293, 49, 294, 45, 45, 45, 386,
1091 49, 47, 45, 45, 45, 386, 49, 47, 386, 386,
1092 386, 386, 49, 45, 45, 45, 300, 386, 47, 386,
1093 386, 297, 386, 386, 296, 386, 298, 299, 386, 49,
1094 386, 45, 45, 45, 386, 49, 47, 386, 45, 45,
1095 45, 386, 302, 47, 301, 386, 49, 386, 386, 303,
1096 386, 45, 45, 45, 386, 386, 47, 45, 45, 45,
1097 386, 386, 47, 386, 49, 45, 45, 45, 386, 386,
1099 47, 49, 45, 45, 45, 386, 386, 47, 305, 386,
1100 45, 45, 45, 304, 49, 47, 386, 386, 306, 386,
1101 49, 45, 45, 45, 386, 386, 311, 386, 49, 45,
1102 45, 45, 386, 386, 47, 49, 45, 45, 45, 307,
1103 386, 47, 386, 49, 386, 308, 45, 45, 45, 386,
1104 386, 47, 309, 386, 49, 45, 45, 45, 386, 386,
1105 47, 310, 49, 386, 386, 312, 45, 45, 45, 49,
1106 386, 47, 45, 45, 45, 386, 386, 47, 386, 49,
1107 386, 386, 317, 386, 45, 45, 45, 386, 49, 47,
1108 386, 386, 386, 313, 386, 315, 386, 314, 386, 49,
1110 386, 45, 45, 45, 386, 49, 47, 45, 45, 45,
1111 386, 386, 47, 45, 45, 45, 386, 49, 47, 316,
1112 386, 45, 45, 45, 386, 386, 47, 45, 45, 45,
1113 386, 386, 47, 386, 49, 386, 386, 318, 386, 386,
1114 49, 386, 45, 45, 45, 386, 49, 47, 386, 386,
1115 319, 386, 386, 320, 49, 386, 386, 45, 45, 45,
1116 49, 322, 47, 386, 321, 45, 45, 45, 386, 386,
1117 47, 45, 45, 45, 386, 49, 47, 45, 45, 45,
1118 323, 386, 47, 45, 45, 45, 386, 386, 47, 386,
1119 49, 386, 386, 329, 386, 324, 386, 386, 49, 386,
1121 45, 45, 45, 386, 49, 47, 45, 45, 45, 325,
1122 49, 47, 326, 45, 45, 45, 49, 386, 47, 386,
1123 386, 327, 386, 328, 45, 45, 45, 386, 386, 47,
1124 45, 45, 45, 49, 386, 334, 45, 45, 45, 49,
1125 330, 47, 386, 386, 331, 386, 49, 45, 45, 45,
1126 386, 386, 47, 332, 386, 386, 386, 49, 386, 45,
1127 45, 45, 333, 49, 47, 386, 45, 45, 45, 49,
1128 386, 47, 335, 45, 45, 45, 386, 386, 339, 386,
1129 49, 45, 45, 45, 386, 386, 47, 386, 386, 45,
1130 45, 45, 49, 386, 47, 45, 45, 45, 336, 49,
1132 342, 386, 386, 337, 386, 386, 49, 45, 45, 45,
1133 338, 386, 47, 386, 49, 45, 45, 45, 386, 386,
1134 47, 340, 49, 386, 386, 45, 45, 45, 49, 341,
1135 47, 45, 45, 45, 386, 386, 346, 45, 45, 45,
1136 49, 386, 47, 386, 386, 343, 386, 386, 49, 386,
1137 45, 45, 45, 386, 386, 47, 386, 386, 49, 386,
1138 45, 45, 45, 386, 49, 47, 386, 386, 345, 386,
1139 49, 344, 45, 45, 45, 386, 386, 47, 386, 45,
1140 45, 45, 347, 49, 47, 45, 45, 45, 386, 386,
1141 352, 386, 386, 49, 45, 45, 45, 386, 386, 353,
1143 386, 348, 45, 45, 45, 49, 386, 47, 45, 45,
1144 45, 386, 49, 47, 386, 349, 386, 386, 49, 386,
1145 386, 350, 386, 386, 45, 45, 45, 49, 351, 47,
1146 386, 45, 45, 45, 386, 49, 47, 45, 45, 45,
1147 386, 49, 47, 386, 386, 354, 45, 45, 45, 386,
1148 386, 47, 386, 386, 45, 45, 45, 49, 386, 47,
1149 356, 355, 386, 386, 49, 386, 386, 45, 45, 45,
1150 49, 357, 47, 45, 45, 45, 386, 386, 47, 49,
1151 386, 358, 386, 45, 45, 45, 359, 49, 363, 45,
1152 45, 45, 386, 386, 47, 386, 45, 45, 45, 386,
1154 49, 47, 360, 45, 45, 45, 49, 386, 47, 362,
1155 386, 386, 45, 45, 45, 361, 49, 47, 45, 45,
1156 45, 386, 49, 47, 386, 45, 45, 45, 386, 49,
1157 47, 386, 386, 45, 45, 45, 49, 364, 47, 45,
1158 45, 45, 386, 366, 372, 49, 386, 386, 386, 365,
1159 386, 49, 45, 45, 45, 386, 386, 47, 49, 45,
1160 45, 45, 386, 367, 47, 386, 49, 386, 386, 386,
1161 368, 386, 49, 45, 45, 45, 386, 369, 47, 386,
1162 386, 370, 45, 45, 45, 49, 386, 375, 45, 45,
1163 45, 386, 49, 376, 371, 45, 45, 45, 386, 386,
1165 47, 386, 45, 45, 45, 386, 49, 47, 45, 45,
1166 45, 373, 386, 379, 386, 49, 386, 45, 45, 45,
1167 386, 49, 380, 386, 386, 374, 386, 386, 49, 45,
1168 45, 45, 386, 386, 47, 49, 386, 377, 45, 45,
1169 45, 49, 378, 47, 45, 45, 45, 386, 386, 47,
1170 49, 45, 45, 45, 386, 386, 384, 386, 45, 45,
1171 45, 386, 49, 385, 386, 386, 386, 386, 386, 381,
1172 386, 49, 386, 386, 386, 386, 386, 49, 386, 386,
1173 386, 386, 386, 386, 49, 386, 386, 386, 386, 386,
1174 382, 49, 386, 386, 386, 386, 383, 37, 37, 37,
1176 46, 46, 46, 63, 386, 63, 89, 89, 89, 93,
1177 93, 93, 121, 386, 121, 134, 134, 134, 11, 386,
1178 386, 386, 386, 386, 386, 386, 386, 386, 386, 386,
1179 386, 386, 386, 386, 386, 386, 386, 386, 386, 386,
1180 386, 386, 386, 386, 386, 386, 386, 386, 386, 386,
1181 386, 386, 386, 386, 386, 386, 386, 386, 386, 386,
1182 386, 386, 386, 386, 386, 386, 386, 386, 386, 386,
1183 386, 386, 386, 386, 386, 386, 386, 386, 386, 386
1188 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1189 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1190 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1191 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1192 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1193 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1194 1, 3, 3, 3, 4, 4, 4, 3, 390, 7,
1195 4, 5, 5, 8, 5, 5, 5, 5, 5, 5,
1196 5, 5, 5, 5, 5, 5, 9, 13, 10, 13,
1197 5, 5, 21, 5, 28, 234, 5, 21, 5, 27,
1199 5, 32, 38, 43, 38, 43, 5, 5, 7, 9,
1200 5, 10, 8, 27, 5, 32, 205, 28, 17, 5,
1201 17, 17, 17, 17, 17, 5, 5, 15, 15, 15,
1202 29, 17, 15, 19, 173, 19, 19, 19, 19, 19,
1203 20, 20, 20, 20, 20, 134, 19, 17, 33, 34,
1204 26, 20, 26, 29, 15, 26, 26, 26, 26, 26,
1205 15, 81, 19, 45, 15, 15, 15, 20, 15, 84,
1206 15, 33, 34, 15, 15, 15, 15, 15, 89, 15,
1207 131, 15, 15, 22, 81, 22, 22, 22, 22, 22,
1208 93, 45, 84, 79, 87, 23, 22, 23, 23, 23,
1210 23, 23, 46, 46, 46, 80, 89, 46, 23, 48,
1211 48, 48, 22, 79, 48, 49, 77, 77, 77, 77,
1212 77, 86, 49, 125, 23, 80, 50, 50, 50, 127,
1213 82, 50, 51, 51, 51, 46, 130, 51, 44, 52,
1214 52, 52, 48, 49, 52, 127, 125, 49, 42, 48,
1215 82, 49, 130, 83, 52, 53, 53, 53, 49, 50,
1216 53, 49, 167, 49, 49, 51, 54, 54, 54, 40,
1217 128, 54, 52, 83, 126, 50, 129, 39, 167, 52,
1218 25, 51, 52, 14, 55, 55, 55, 11, 53, 55,
1219 56, 56, 56, 128, 126, 56, 129, 0, 170, 54,
1221 0, 53, 57, 57, 57, 0, 0, 57, 58, 58,
1222 58, 0, 0, 58, 170, 54, 0, 55, 0, 54,
1223 59, 59, 59, 56, 0, 59, 56, 0, 55, 0,
1224 0, 0, 0, 55, 0, 57, 0, 0, 57, 56,
1225 0, 58, 60, 60, 60, 0, 0, 60, 0, 0,
1226 61, 61, 61, 59, 0, 61, 59, 64, 64, 64,
1227 64, 64, 58, 0, 62, 62, 62, 0, 64, 62,
1228 0, 0, 0, 0, 65, 60, 65, 65, 65, 65,
1229 65, 0, 60, 61, 64, 0, 0, 65, 0, 0,
1230 0, 60, 0, 0, 0, 60, 60, 62, 61, 66,
1232 62, 66, 61, 65, 66, 66, 66, 66, 66, 67,
1233 67, 67, 67, 67, 78, 78, 78, 78, 78, 68,
1234 67, 68, 68, 68, 68, 68, 0, 0, 0, 92,
1235 92, 92, 68, 0, 92, 0, 67, 69, 0, 69,
1236 69, 69, 69, 69, 0, 0, 0, 70, 68, 70,
1237 69, 0, 70, 70, 70, 70, 70, 71, 71, 71,
1238 71, 71, 92, 0, 0, 0, 69, 74, 71, 74,
1239 74, 74, 74, 74, 91, 119, 119, 119, 119, 119,
1240 74, 91, 92, 0, 71, 75, 0, 75, 75, 75,
1241 75, 75, 94, 94, 94, 0, 74, 94, 75, 96,
1243 96, 96, 91, 0, 96, 0, 91, 97, 97, 97,
1244 91, 0, 97, 0, 75, 0, 0, 91, 0, 0,
1245 91, 0, 91, 91, 0, 94, 95, 120, 120, 120,
1246 120, 120, 96, 0, 95, 95, 95, 95, 95, 0,
1247 97, 0, 0, 95, 95, 95, 95, 0, 96, 0,
1248 0, 98, 98, 98, 97, 97, 98, 95, 95, 95,
1249 95, 95, 95, 99, 99, 99, 0, 0, 99, 100,
1250 100, 100, 0, 0, 100, 101, 101, 101, 0, 0,
1251 101, 102, 102, 102, 98, 0, 102, 103, 103, 103,
1252 0, 0, 103, 105, 105, 105, 99, 0, 105, 0,
1254 99, 0, 100, 0, 104, 104, 104, 100, 101, 104,
1255 106, 106, 106, 0, 102, 106, 107, 107, 107, 0,
1256 103, 107, 0, 108, 108, 108, 105, 0, 108, 101,
1257 102, 109, 109, 109, 0, 105, 109, 104, 0, 0,
1258 103, 104, 0, 106, 0, 110, 110, 110, 0, 107,
1259 110, 0, 111, 111, 111, 107, 108, 111, 106, 0,
1260 113, 113, 113, 0, 109, 113, 106, 112, 112, 112,
1261 108, 0, 112, 0, 0, 114, 114, 114, 110, 0,
1262 114, 115, 115, 115, 109, 111, 115, 116, 116, 116,
1263 0, 0, 116, 113, 0, 0, 110, 0, 110, 113,
1265 112, 117, 117, 117, 0, 112, 117, 111, 114, 0,
1266 0, 0, 114, 0, 115, 118, 118, 118, 118, 118,
1267 116, 0, 0, 0, 0, 115, 118, 116, 122, 122,
1268 122, 122, 122, 0, 117, 133, 133, 133, 0, 122,
1269 133, 0, 118, 0, 0, 0, 123, 117, 123, 123,
1270 123, 123, 123, 0, 0, 122, 124, 0, 124, 123,
1271 0, 124, 124, 124, 124, 124, 0, 0, 133, 0,
1272 0, 0, 0, 133, 0, 123, 137, 137, 137, 137,
1273 137, 0, 0, 0, 0, 137, 137, 137, 137, 138,
1274 138, 138, 0, 0, 138, 0, 0, 0, 0, 137,
1276 137, 137, 137, 137, 137, 139, 139, 139, 0, 0,
1277 139, 140, 140, 140, 0, 0, 140, 0, 142, 142,
1278 142, 0, 138, 142, 143, 143, 143, 0, 0, 143,
1279 144, 144, 144, 0, 0, 144, 0, 0, 139, 0,
1280 0, 0, 138, 0, 140, 145, 145, 145, 0, 0,
1281 145, 142, 139, 146, 146, 146, 0, 143, 146, 0,
1282 147, 147, 147, 144, 140, 147, 148, 148, 148, 0,
1283 0, 148, 142, 0, 143, 0, 0, 0, 145, 149,
1284 149, 149, 144, 0, 149, 0, 146, 150, 150, 150,
1285 145, 0, 150, 147, 0, 151, 151, 151, 0, 148,
1287 151, 0, 0, 146, 152, 152, 152, 0, 148, 152,
1288 0, 147, 149, 0, 0, 149, 153, 153, 153, 0,
1289 150, 153, 154, 154, 154, 0, 0, 154, 151, 155,
1290 155, 155, 0, 0, 155, 151, 0, 152, 0, 150,
1291 0, 0, 150, 0, 152, 156, 156, 156, 0, 153,
1292 156, 157, 157, 157, 0, 154, 157, 0, 154, 158,
1293 158, 158, 155, 0, 158, 0, 153, 159, 159, 159,
1294 0, 0, 159, 0, 160, 160, 160, 0, 156, 160,
1295 0, 0, 155, 0, 157, 156, 0, 0, 161, 161,
1296 161, 0, 158, 161, 0, 0, 157, 0, 0, 0,
1298 159, 162, 162, 162, 0, 0, 162, 160, 158, 163,
1299 163, 163, 163, 163, 165, 165, 165, 165, 165, 159,
1300 163, 161, 166, 166, 166, 166, 166, 174, 174, 174,
1301 160, 0, 174, 0, 162, 164, 163, 164, 0, 161,
1302 164, 164, 164, 164, 164, 162, 0, 0, 0, 176,
1303 176, 176, 0, 0, 176, 0, 0, 0, 0, 176,
1304 174, 201, 201, 201, 201, 201, 177, 177, 177, 0,
1305 0, 177, 0, 0, 0, 0, 174, 175, 175, 175,
1306 175, 175, 176, 0, 0, 0, 175, 175, 175, 175,
1307 178, 178, 178, 0, 0, 178, 0, 0, 0, 177,
1309 175, 175, 175, 175, 175, 175, 177, 179, 179, 179,
1310 0, 0, 179, 180, 180, 180, 0, 0, 180, 181,
1311 181, 181, 0, 178, 181, 0, 182, 182, 182, 180,
1312 180, 182, 183, 183, 183, 0, 0, 183, 0, 0,
1313 179, 178, 0, 184, 184, 184, 180, 0, 184, 179,
1314 0, 0, 181, 185, 185, 185, 0, 0, 185, 182,
1315 0, 0, 181, 0, 0, 183, 186, 186, 186, 0,
1316 0, 186, 187, 187, 187, 0, 184, 187, 182, 184,
1317 188, 188, 188, 0, 0, 188, 185, 0, 0, 189,
1318 189, 189, 0, 185, 189, 190, 190, 190, 0, 186,
1320 190, 191, 191, 191, 0, 187, 191, 0, 186, 192,
1321 192, 192, 0, 188, 192, 0, 187, 0, 0, 0,
1322 188, 0, 189, 0, 193, 193, 193, 0, 190, 193,
1323 0, 0, 0, 0, 191, 189, 194, 194, 194, 0,
1324 0, 194, 192, 195, 195, 195, 0, 0, 195, 196,
1325 196, 196, 0, 0, 196, 191, 192, 193, 197, 197,
1326 197, 0, 0, 197, 193, 198, 198, 198, 0, 194,
1327 198, 0, 200, 200, 200, 0, 195, 200, 0, 199,
1328 199, 199, 196, 195, 199, 0, 0, 194, 0, 199,
1329 0, 197, 206, 206, 206, 0, 197, 206, 198, 209,
1331 209, 209, 0, 196, 209, 200, 202, 202, 202, 202,
1332 202, 200, 199, 0, 0, 0, 208, 208, 208, 0,
1333 0, 208, 210, 210, 210, 206, 0, 210, 211, 211,
1334 211, 0, 209, 211, 0, 0, 0, 0, 0, 0,
1335 206, 207, 207, 207, 207, 207, 0, 209, 0, 208,
1336 207, 207, 207, 207, 0, 210, 0, 212, 212, 212,
1337 0, 211, 212, 0, 207, 207, 207, 207, 207, 207,
1338 208, 210, 0, 0, 211, 213, 213, 213, 0, 0,
1339 213, 214, 214, 214, 0, 0, 214, 215, 215, 215,
1340 212, 0, 215, 217, 217, 217, 0, 215, 217, 218,
1342 218, 218, 0, 0, 218, 219, 219, 219, 213, 0,
1343 219, 0, 0, 0, 214, 0, 220, 220, 220, 0,
1344 215, 220, 221, 221, 221, 0, 217, 221, 222, 222,
1345 222, 0, 218, 222, 224, 224, 224, 0, 219, 224,
1346 0, 0, 0, 0, 217, 219, 225, 225, 225, 220,
1347 218, 225, 226, 226, 226, 221, 0, 226, 227, 227,
1348 227, 222, 0, 227, 228, 228, 228, 224, 0, 228,
1349 0, 0, 0, 221, 220, 229, 229, 229, 0, 225,
1350 229, 0, 0, 0, 0, 226, 225, 224, 230, 230,
1351 230, 227, 0, 230, 232, 232, 232, 228, 0, 232,
1353 0, 0, 227, 226, 233, 233, 233, 0, 229, 233,
1354 235, 235, 235, 0, 0, 235, 0, 228, 0, 0,
1355 0, 230, 0, 0, 236, 236, 236, 232, 229, 236,
1356 0, 0, 232, 237, 237, 237, 0, 233, 237, 230,
1357 233, 0, 0, 235, 238, 238, 238, 0, 0, 238,
1358 0, 235, 0, 0, 239, 239, 239, 236, 0, 239,
1359 243, 243, 243, 0, 0, 243, 237, 244, 244, 244,
1360 0, 0, 244, 0, 236, 0, 0, 238, 245, 245,
1361 245, 0, 0, 245, 0, 0, 237, 239, 0, 0,
1362 238, 0, 0, 243, 239, 0, 246, 246, 246, 0,
1364 244, 246, 0, 247, 247, 247, 243, 0, 247, 0,
1365 0, 245, 248, 248, 248, 0, 0, 248, 250, 250,
1366 250, 0, 0, 250, 244, 0, 0, 0, 250, 246,
1367 245, 0, 251, 251, 251, 246, 247, 251, 0, 252,
1368 252, 252, 0, 247, 252, 248, 0, 253, 253, 253,
1369 0, 250, 253, 250, 0, 0, 254, 254, 254, 0,
1370 0, 254, 255, 255, 255, 251, 254, 255, 256, 256,
1371 256, 0, 252, 256, 257, 257, 257, 0, 0, 257,
1372 253, 258, 258, 258, 0, 251, 258, 252, 0, 254,
1373 0, 260, 260, 260, 0, 255, 260, 261, 261, 261,
1375 253, 256, 261, 0, 262, 262, 262, 257, 0, 262,
1376 0, 0, 256, 0, 258, 263, 263, 263, 0, 0,
1377 263, 0, 0, 257, 260, 263, 264, 264, 264, 0,
1378 261, 264, 0, 0, 258, 0, 261, 262, 265, 265,
1379 265, 0, 0, 265, 266, 266, 266, 0, 263, 266,
1380 267, 267, 267, 0, 0, 267, 268, 268, 268, 264,
1381 0, 268, 269, 269, 269, 0, 268, 269, 272, 272,
1382 272, 265, 0, 272, 273, 273, 273, 266, 0, 273,
1383 0, 264, 265, 267, 0, 274, 274, 274, 0, 268,
1384 274, 275, 275, 275, 0, 269, 275, 276, 276, 276,
1386 0, 272, 276, 277, 277, 277, 0, 273, 277, 279,
1387 279, 279, 0, 0, 279, 0, 0, 272, 274, 0,
1388 0, 0, 0, 273, 275, 274, 280, 280, 280, 0,
1389 276, 280, 281, 281, 281, 0, 277, 281, 0, 0,
1390 0, 0, 279, 283, 283, 283, 279, 0, 283, 0,
1391 0, 277, 0, 0, 276, 0, 277, 277, 0, 280,
1392 0, 285, 285, 285, 0, 281, 285, 0, 286, 286,
1393 286, 0, 281, 286, 280, 0, 283, 0, 0, 283,
1394 0, 287, 287, 287, 0, 0, 287, 290, 290, 290,
1395 0, 0, 290, 0, 285, 292, 292, 292, 0, 0,
1397 292, 286, 293, 293, 293, 0, 0, 293, 286, 0,
1398 294, 294, 294, 285, 287, 294, 0, 0, 287, 0,
1399 290, 296, 296, 296, 0, 0, 296, 0, 292, 297,
1400 297, 297, 0, 0, 297, 293, 298, 298, 298, 290,
1401 0, 298, 0, 294, 0, 292, 299, 299, 299, 0,
1402 0, 299, 293, 0, 296, 300, 300, 300, 0, 0,
1403 300, 294, 297, 0, 0, 297, 301, 301, 301, 298,
1404 0, 301, 302, 302, 302, 0, 0, 302, 0, 299,
1405 0, 0, 302, 0, 303, 303, 303, 0, 300, 303,
1406 0, 0, 0, 298, 0, 300, 0, 299, 0, 301,
1408 0, 304, 304, 304, 0, 302, 304, 305, 305, 305,
1409 0, 0, 305, 306, 306, 306, 0, 303, 306, 301,
1410 0, 307, 307, 307, 0, 0, 307, 308, 308, 308,
1411 0, 0, 308, 0, 304, 0, 0, 303, 0, 0,
1412 305, 0, 309, 309, 309, 0, 306, 309, 0, 0,
1413 304, 0, 0, 305, 307, 0, 0, 310, 310, 310,
1414 308, 307, 310, 0, 306, 312, 312, 312, 0, 0,
1415 312, 313, 313, 313, 0, 309, 313, 314, 314, 314,
1416 308, 0, 314, 315, 315, 315, 0, 0, 315, 0,
1417 310, 0, 0, 315, 0, 309, 0, 0, 312, 0,
1419 316, 316, 316, 0, 313, 316, 317, 317, 317, 310,
1420 314, 317, 312, 318, 318, 318, 315, 0, 318, 0,
1421 0, 313, 0, 314, 319, 319, 319, 0, 0, 319,
1422 320, 320, 320, 316, 0, 320, 321, 321, 321, 317,
1423 316, 321, 0, 0, 317, 0, 318, 322, 322, 322,
1424 0, 0, 322, 318, 0, 0, 0, 319, 0, 323,
1425 323, 323, 319, 320, 323, 0, 324, 324, 324, 321,
1426 0, 324, 321, 325, 325, 325, 0, 0, 325, 0,
1427 322, 326, 326, 326, 0, 0, 326, 0, 0, 327,
1428 327, 327, 323, 0, 327, 328, 328, 328, 322, 324,
1430 328, 0, 0, 323, 0, 0, 325, 329, 329, 329,
1431 324, 0, 329, 0, 326, 330, 330, 330, 0, 0,
1432 330, 326, 327, 0, 0, 331, 331, 331, 328, 327,
1433 331, 332, 332, 332, 0, 0, 332, 333, 333, 333,
1434 329, 0, 333, 0, 0, 329, 0, 0, 330, 0,
1435 335, 335, 335, 0, 0, 335, 0, 0, 331, 0,
1436 336, 336, 336, 0, 332, 336, 0, 0, 331, 0,
1437 333, 330, 337, 337, 337, 0, 0, 337, 0, 338,
1438 338, 338, 333, 335, 338, 340, 340, 340, 0, 0,
1439 340, 0, 0, 336, 341, 341, 341, 0, 0, 341,
1441 0, 335, 343, 343, 343, 337, 0, 343, 344, 344,
1442 344, 0, 338, 344, 0, 336, 0, 0, 340, 0,
1443 0, 337, 0, 0, 345, 345, 345, 341, 338, 345,
1444 0, 347, 347, 347, 0, 343, 347, 348, 348, 348,
1445 0, 344, 348, 0, 0, 343, 349, 349, 349, 0,
1446 0, 349, 0, 0, 350, 350, 350, 345, 0, 350,
1447 345, 344, 0, 0, 347, 0, 0, 351, 351, 351,
1448 348, 347, 351, 354, 354, 354, 0, 0, 354, 349,
1449 0, 348, 0, 355, 355, 355, 349, 350, 355, 356,
1450 356, 356, 0, 0, 356, 0, 357, 357, 357, 0,
1452 351, 357, 350, 358, 358, 358, 354, 0, 358, 354,
1453 0, 0, 359, 359, 359, 351, 355, 359, 360, 360,
1454 360, 0, 356, 360, 0, 361, 361, 361, 0, 357,
1455 361, 0, 0, 362, 362, 362, 358, 356, 362, 365,
1456 365, 365, 0, 358, 365, 359, 0, 0, 0, 357,
1457 0, 360, 364, 364, 364, 0, 0, 364, 361, 366,
1458 366, 366, 0, 359, 366, 0, 362, 0, 0, 0,
1459 360, 0, 365, 367, 367, 367, 0, 361, 367, 0,
1460 0, 362, 368, 368, 368, 364, 0, 368, 369, 369,
1461 369, 0, 366, 369, 364, 370, 370, 370, 0, 0,
1463 370, 0, 371, 371, 371, 0, 367, 371, 373, 373,
1464 373, 366, 0, 373, 0, 368, 0, 374, 374, 374,
1465 0, 369, 374, 0, 0, 367, 0, 0, 370, 377,
1466 377, 377, 0, 0, 377, 371, 0, 370, 378, 378,
1467 378, 373, 371, 378, 381, 381, 381, 0, 0, 381,
1468 374, 382, 382, 382, 0, 0, 382, 0, 383, 383,
1469 383, 0, 377, 383, 0, 0, 0, 0, 0, 377,
1470 0, 378, 0, 0, 0, 0, 0, 381, 0, 0,
1471 0, 0, 0, 0, 382, 0, 0, 0, 0, 0,
1472 378, 383, 0, 0, 0, 0, 381, 387, 387, 387,
1474 388, 388, 388, 389, 0, 389, 391, 391, 391, 392,
1475 392, 392, 393, 0, 393, 394, 394, 394, 386, 386,
1476 386, 386, 386, 386, 386, 386, 386, 386, 386, 386,
1477 386, 386, 386, 386, 386, 386, 386, 386, 386, 386,
1478 386, 386, 386, 386, 386, 386, 386, 386, 386, 386,
1479 386, 386, 386, 386, 386, 386, 386, 386, 386, 386,
1480 386, 386, 386, 386, 386, 386, 386, 386, 386, 386,
1481 386, 386, 386, 386, 386, 386, 386, 386, 386, 386
1485static char *yy_last_accepting_cpos;
1492 135, 137, 139, 144, 145, 150, 151, 152, 164, 167,
1493 172, 179, 188, 200, 212, 222, 232, 242, 251, 260,
1494 269, 278, 287, 296, 305, 314, 323, 332, 341, 350,
1495 359, 368, 377, 386, 395, 404, 413, 422, 431, 440,
1496 449, 458, 467, 476, 577, 593, 642, 650, 665, 666,
1497 667, 668, 669, 670, 672, 691, 708, 714, 729, 742,
1498 747, 751, 753, 755, 757
1504#define REJECT reject_used_but_not_detected
1505#define yymore() yymore_used_but_not_detected
1506#define YY_MORE_ADJ 0
1507#define YY_RESTORE_YY_MORE_OFFSET
1509#line 1 "netconf_lexer.ll"
1515#line 8 "netconf_lexer.ll"
1518#ifndef __clang_analyzer__
1528#include <boost/lexical_cast.hpp>
1543bool start_token_flag =
false;
1546unsigned int comment_start_line = 0;
1554#define YY_FATAL_ERROR(msg) isc::netconf::ParserContext::fatal(msg)
1555#line 1555 "netconf_lexer.cc"
1570#define YY_NO_INPUT 1
1576#line 98 "netconf_lexer.ll"
1580#define YY_USER_ACTION driver.loc_.columns(yyleng);
1581#line 1581 "netconf_lexer.cc"
1582#line 1582 "netconf_lexer.cc"
1587#define DIR_INCLUDE 3
1590#ifndef YY_NO_UNISTD_H
1602#ifndef YY_EXTRA_TYPE
1603#define YY_EXTRA_TYPE void *
1610static int yy_init_globals (
void );
1653#ifndef YY_SKIP_YYWRAP
1655extern "C" int yywrap (
void );
1657extern int yywrap (
void );
1670static void yy_flex_strncpy (
char *,
const char *,
int );
1673#ifdef YY_NEED_STRLEN
1674static int yy_flex_strlen (
const char * );
1681static int yyinput (
void );
1683static int input (
void );
1695#ifndef YY_READ_BUF_SIZE
1698#define YY_READ_BUF_SIZE 16384
1700#define YY_READ_BUF_SIZE 8192
1710#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1720#define YY_INPUT(buf,result,max_size) \
1722 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1726 for ( n = 0; n < max_size && \
1727 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1728 buf[n] = (char) c; \
1730 buf[n++] = (char) c; \
1731 if ( c == EOF && ferror( yyin ) ) \
1732 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1738 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1740 if( errno != EINTR) \
1742 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1760#define yyterminate() return YY_NULL
1764#ifndef YY_START_STACK_INCR
1765#define YY_START_STACK_INCR 25
1769#ifndef YY_FATAL_ERROR
1771#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1792#define YY_DECL_IS_OURS 1
1795extern int yylex (
void);
1797#define YY_DECL int yylex (void)
1806#ifndef YY_USER_ACTION
1807#define YY_USER_ACTION
1812#define YY_BREAK break;
1816#define YY_RULE_SETUP \
1864#line 104 "netconf_lexer.ll"
1868#line 108 "netconf_lexer.ll"
1882 if (start_token_flag) {
1883 start_token_flag =
false;
1884 switch (start_token_value) {
1896#line 1896 "netconf_lexer.cc"
1901 yy_cp = (yy_c_buf_p);
1904 *
yy_cp = (yy_hold_char);
1912 yy_current_state = (yy_start);
1917 if ( yy_accept[yy_current_state] )
1919 (yy_last_accepting_state) = yy_current_state;
1920 (yy_last_accepting_cpos) =
yy_cp;
1922 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1924 yy_current_state = (int) yy_def[yy_current_state];
1925 if ( yy_current_state >= 387 )
1926 yy_c = yy_meta[yy_c];
1928 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1931 while ( yy_current_state != 386 );
1932 yy_cp = (yy_last_accepting_cpos);
1933 yy_current_state = (yy_last_accepting_state);
1937 yy_act = yy_accept[yy_current_state];
1949 fprintf( stderr,
"--scanner backing up\n" );
1951 fprintf( stderr,
"--accepting rule at line %ld (\"%s\")\n",
1954 fprintf( stderr,
"--accepting default rule (\"%s\")\n",
1957 fprintf( stderr,
"--(end of buffer or a NUL)\n" );
1959 fprintf( stderr,
"--EOF (start condition %d)\n",
YY_START );
1967 *
yy_cp = (yy_hold_char);
1968 yy_cp = (yy_last_accepting_cpos);
1969 yy_current_state = (yy_last_accepting_state);
1970 goto yy_find_action;
1974#line 135 "netconf_lexer.ll"
1979#line 137 "netconf_lexer.ll"
1984#line 139 "netconf_lexer.ll"
1987 comment_start_line = driver.loc_.end.line;;
1992#line 144 "netconf_lexer.ll"
1997#line 145 "netconf_lexer.ll"
2001#line 146 "netconf_lexer.ll"
2008#line 150 "netconf_lexer.ll"
2013#line 151 "netconf_lexer.ll"
2018#line 152 "netconf_lexer.ll"
2023 std::string tmp(
yytext+1);
2024 tmp.resize(tmp.size() - 1);
2026 driver.includeFile(tmp);
2032#line 161 "netconf_lexer.ll"
2039#line 164 "netconf_lexer.ll"
2044#line 167 "netconf_lexer.ll"
2053#line 172 "netconf_lexer.ll"
2056 driver.loc_.lines(
yyleng);
2062#line 179 "netconf_lexer.ll"
2064 switch(driver.ctx_) {
2074#line 188 "netconf_lexer.ll"
2076 switch(driver.ctx_) {
2089#line 200 "netconf_lexer.ll"
2091 switch(driver.ctx_) {
2104#line 212 "netconf_lexer.ll"
2106 switch(driver.ctx_) {
2117#line 222 "netconf_lexer.ll"
2119 switch(driver.ctx_) {
2130#line 232 "netconf_lexer.ll"
2132 switch(driver.ctx_) {
2143#line 242 "netconf_lexer.ll"
2145 switch(driver.ctx_) {
2155#line 251 "netconf_lexer.ll"
2157 switch(driver.ctx_) {
2167#line 260 "netconf_lexer.ll"
2169 switch(driver.ctx_) {
2179#line 269 "netconf_lexer.ll"
2181 switch(driver.ctx_) {
2191#line 278 "netconf_lexer.ll"
2193 switch(driver.ctx_) {
2203#line 287 "netconf_lexer.ll"
2205 switch(driver.ctx_) {
2215#line 296 "netconf_lexer.ll"
2217 switch(driver.ctx_) {
2227#line 305 "netconf_lexer.ll"
2229 switch(driver.ctx_) {
2239#line 314 "netconf_lexer.ll"
2241 switch(driver.ctx_) {
2251#line 323 "netconf_lexer.ll"
2253 switch(driver.ctx_) {
2263#line 332 "netconf_lexer.ll"
2265 switch(driver.ctx_) {
2275#line 341 "netconf_lexer.ll"
2277 switch(driver.ctx_) {
2287#line 350 "netconf_lexer.ll"
2289 switch(driver.ctx_) {
2299#line 359 "netconf_lexer.ll"
2301 switch(driver.ctx_) {
2311#line 368 "netconf_lexer.ll"
2313 switch(driver.ctx_) {
2323#line 377 "netconf_lexer.ll"
2325 switch(driver.ctx_) {
2335#line 386 "netconf_lexer.ll"
2337 switch(driver.ctx_) {
2347#line 395 "netconf_lexer.ll"
2349 switch(driver.ctx_) {
2359#line 404 "netconf_lexer.ll"
2361 switch(driver.ctx_) {
2371#line 413 "netconf_lexer.ll"
2373 switch(driver.ctx_) {
2383#line 422 "netconf_lexer.ll"
2385 switch(driver.ctx_) {
2395#line 431 "netconf_lexer.ll"
2397 switch(driver.ctx_) {
2407#line 440 "netconf_lexer.ll"
2409 switch(driver.ctx_) {
2419#line 449 "netconf_lexer.ll"
2421 switch(driver.ctx_) {
2431#line 458 "netconf_lexer.ll"
2433 switch(driver.ctx_) {
2443#line 467 "netconf_lexer.ll"
2445 switch(driver.ctx_) {
2455#line 476 "netconf_lexer.ll"
2460 std::string raw(
yytext+1);
2461 size_t len = raw.size() - 1;
2463 std::string decoded;
2464 decoded.reserve(len);
2465 for (
size_t pos = 0; pos < len; ++pos) {
2471 driver.error(driver.loc_,
"Bad quote in \"" + raw +
"\"");
2477 driver.error(driver.loc_,
"Overflow escape in \"" + raw +
"\"");
2484 decoded.push_back(c);
2487 decoded.push_back(
'\b');
2490 decoded.push_back(
'\f');
2493 decoded.push_back(
'\n');
2496 decoded.push_back(
'\r');
2499 decoded.push_back(
'\t');
2504 if (pos + 4 > len) {
2506 driver.error(driver.loc_,
2507 "Overflow unicode escape in \"" + raw +
"\"");
2509 if ((raw[pos] !=
'0') || (raw[pos + 1] !=
'0')) {
2510 driver.error(driver.loc_,
2511 "Unsupported unicode escape in \"" + raw +
"\"",
2516 if ((c >=
'0') && (c <=
'9')) {
2518 }
else if ((c >=
'A') && (c <=
'F')) {
2519 b = (c -
'A' + 10) << 4;
2520 }
else if ((c >=
'a') && (c <=
'f')) {
2521 b = (c -
'a' + 10) << 4;
2524 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
2528 if ((c >=
'0') && (c <=
'9')) {
2530 }
else if ((c >=
'A') && (c <=
'F')) {
2532 }
else if ((c >=
'a') && (c <=
'f')) {
2536 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
2538 decoded.push_back(
static_cast<char>(b & 0xff));
2542 driver.error(driver.loc_,
"Bad escape in \"" + raw +
"\"");
2546 if ((c >= 0) && (c < 0x20)) {
2548 driver.error(driver.loc_,
"Invalid control in \"" + raw +
"\"");
2550 decoded.push_back(c);
2560#line 577 "netconf_lexer.ll"
2563 std::string raw(
yytext+1);
2564 size_t len = raw.size() - 1;
2566 for (; pos < len; ++pos) {
2568 if ((c >= 0) && (c < 0x20)) {
2572 driver.error(driver.loc_,
2573 "Invalid control in " + std::string(
yytext),
2580#line 593 "netconf_lexer.ll"
2583 std::string raw(
yytext+1);
2584 size_t len = raw.size() - 1;
2587 for (; pos < len; ++pos) {
2606 if ((pos + 4 > len) ||
2607 !std::isxdigit(raw[pos + 1]) ||
2608 !std::isxdigit(raw[pos + 2]) ||
2609 !std::isxdigit(raw[pos + 3]) ||
2610 !std::isxdigit(raw[pos + 4])) {
2621 std::string trailer =
"";
2622 if (raw[len - 1] ==
'\\') {
2625 driver.error(driver.loc_,
2626 "Bad escape in " + std::string(
yytext) + trailer,
2632#line 642 "netconf_lexer.ll"
2635 std::string raw(
yytext+1);
2636 driver.error(driver.loc_,
2637 "Overflow escape in " + std::string(
yytext),
2643#line 650 "netconf_lexer.ll"
2646 std::string raw(
yytext+1);
2647 size_t pos = raw.size() - 1;
2648 for (; pos > 0; --pos) {
2654 driver.error(driver.loc_,
2655 "Overflow unicode escape in " + std::string(
yytext),
2661#line 665 "netconf_lexer.ll"
2666#line 666 "netconf_lexer.ll"
2671#line 667 "netconf_lexer.ll"
2676#line 668 "netconf_lexer.ll"
2681#line 669 "netconf_lexer.ll"
2686#line 670 "netconf_lexer.ll"
2691#line 672 "netconf_lexer.ll"
2695 int64_t integer = 0;
2701 integer = boost::lexical_cast<int64_t>(tmp);
2702 }
catch (
const boost::bad_lexical_cast &) {
2703 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
2706 driver.warning(driver.loc_,
"leading zeros in integers will be deprecated.");
2713#line 691 "netconf_lexer.ll"
2717 int64_t integer = 0;
2723 integer = boost::lexical_cast<int64_t>(tmp);
2724 }
catch (
const boost::bad_lexical_cast &) {
2725 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
2733#line 708 "netconf_lexer.ll"
2737 driver.error(driver.loc_,
"Deprecated plus sign in " + tmp +
" number.");
2742#line 714 "netconf_lexer.ll"
2748 fp = boost::lexical_cast<double>(tmp);
2749 }
catch (
const boost::bad_lexical_cast &) {
2750 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to a floating point.");
2753 driver.warning(driver.loc_,
"leading zeros in numbers will be deprecated.");
2760#line 729 "netconf_lexer.ll"
2766 fp = boost::lexical_cast<double>(tmp);
2767 }
catch (
const boost::bad_lexical_cast &) {
2768 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to a floating point.");
2776#line 742 "netconf_lexer.ll"
2784#line 747 "netconf_lexer.ll"
2791#line 751 "netconf_lexer.ll"
2792driver.error (driver.loc_,
"JSON true reserved keyword is lower case only");
2796#line 753 "netconf_lexer.ll"
2797driver.error (driver.loc_,
"JSON false reserved keyword is lower case only");
2801#line 755 "netconf_lexer.ll"
2802driver.error (driver.loc_,
"JSON null reserved keyword is lower case only");
2806#line 757 "netconf_lexer.ll"
2807driver.error (driver.loc_,
"Invalid character: " + std::string(
yytext));
2810#line 759 "netconf_lexer.ll"
2812 if (driver.states_.empty()) {
2815 driver.loc_ = driver.locs_.back();
2816 driver.locs_.pop_back();
2817 driver.file_ = driver.files_.back();
2818 driver.files_.pop_back();
2819 if (driver.sfile_) {
2820 fclose(driver.sfile_);
2823 if (!driver.sfiles_.empty()) {
2824 driver.sfile_ = driver.sfiles_.back();
2825 driver.sfiles_.pop_back();
2828 netconf__switch_to_buffer(driver.states_.back());
2829 driver.states_.pop_back();
2836#line 782 "netconf_lexer.ll"
2839#line 2839 "netconf_lexer.cc"
2847 *
yy_cp = (yy_hold_char);
2881 (yy_c_buf_p) = (
yytext_ptr) + yy_amount_of_matched_text;
2883 yy_current_state = yy_get_previous_state( );
2894 yy_next_state = yy_try_NUL_trans( yy_current_state );
2898 if ( yy_next_state )
2901 yy_cp = ++(yy_c_buf_p);
2902 yy_current_state = yy_next_state;
2909 yy_cp = (yy_last_accepting_cpos);
2910 yy_current_state = (yy_last_accepting_state);
2911 goto yy_find_action;
2915 else switch ( yy_get_next_buffer( ) )
2919 (yy_did_buffer_switch_on_eof) = 0;
2940 if ( ! (yy_did_buffer_switch_on_eof) )
2950 yy_current_state = yy_get_previous_state( );
2952 yy_cp = (yy_c_buf_p);
2960 yy_current_state = yy_get_previous_state( );
2962 yy_cp = (yy_c_buf_p);
2964 goto yy_find_action;
2971 "fatal flex scanner internal error--no action found" );
2992static int yy_get_next_buffer (
void)
2999 int number_to_move, i;
3004 "fatal flex scanner internal error--end of buffer missed" );
3028 number_to_move = (int) ((yy_c_buf_p) - (
yytext_ptr) - 1);
3030 for ( i = 0; i < number_to_move; ++i )
3031 *(dest++) = *(source++);
3044 while ( num_to_read <= 0 )
3050 int yy_c_buf_p_offset =
3057 if ( new_size <= 0 )
3073 "fatal error - scanner input buffer overflow" );
3075 (yy_c_buf_p) = &b->
yy_ch_buf[yy_c_buf_p_offset];
3087 (yy_n_chars), num_to_read );
3092 if ( (yy_n_chars) == 0 )
3113 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3117 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
3122 (yy_n_chars) += number_to_move;
3144 yy_current_state = (yy_start);
3150 if ( yy_accept[yy_current_state] )
3152 (yy_last_accepting_state) = yy_current_state;
3153 (yy_last_accepting_cpos) =
yy_cp;
3155 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3157 yy_current_state = (int) yy_def[yy_current_state];
3158 if ( yy_current_state >= 387 )
3159 yy_c = yy_meta[yy_c];
3161 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3164 return yy_current_state;
3180 char *
yy_cp = (yy_c_buf_p);
3183 if ( yy_accept[yy_current_state] )
3185 (yy_last_accepting_state) = yy_current_state;
3186 (yy_last_accepting_cpos) =
yy_cp;
3188 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3190 yy_current_state = (int) yy_def[yy_current_state];
3191 if ( yy_current_state >= 387 )
3192 yy_c = yy_meta[yy_c];
3194 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3195 yy_is_jam = (yy_current_state == 386);
3197 return yy_is_jam ? 0 : yy_current_state;
3209 static int yyinput (
void)
3211 static int input (
void)
3220 *(yy_c_buf_p) = (yy_hold_char);
3230 *(yy_c_buf_p) =
'\0';
3234 int offset = (int) ((yy_c_buf_p) - (
yytext_ptr));
3237 switch ( yy_get_next_buffer( ) )
3260 if ( ! (yy_did_buffer_switch_on_eof) )
3276 c = *(
unsigned char *) (yy_c_buf_p);
3277 *(yy_c_buf_p) =
'\0';
3278 (yy_hold_char) = *++(yy_c_buf_p);
3336 *(yy_c_buf_p) = (yy_hold_char);
3349 (yy_did_buffer_switch_on_eof) = 1;
3365 (yy_hold_char) = *(yy_c_buf_p);
3513 if (new_buffer == NULL)
3522 *(yy_c_buf_p) = (yy_hold_char);
3529 (yy_buffer_stack_top)++;
3534 (yy_did_buffer_switch_on_eof) = 1;
3554 if ((yy_buffer_stack_top) > 0)
3555 --(yy_buffer_stack_top);
3559 (yy_did_buffer_switch_on_eof) = 1;
3576 if (!(yy_buffer_stack)) {
3586 if ( ! (yy_buffer_stack) )
3587 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
3589 memset((yy_buffer_stack), 0, num_to_alloc *
sizeof(
struct yy_buffer_state*));
3591 (yy_buffer_stack_max) = num_to_alloc;
3592 (yy_buffer_stack_top) = 0;
3596 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3601 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3606 if ( ! (yy_buffer_stack) )
3607 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
3610 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size *
sizeof(
struct yy_buffer_state*));
3611 (yy_buffer_stack_max) = num_to_alloc;
3690 for ( i = 0; i < _yybytes_len; ++i )
3691 buf[i] = yybytes[i];
3708#ifndef YY_EXIT_FAILURE
3709#define YY_EXIT_FAILURE 2
3713static void yynoreturn yy_fatal_error (
const char* msg )
3715 fprintf( stderr,
"%s\n", msg );
3729 int yyless_macro_arg = (n); \
3730 YY_LESS_LINENO(yyless_macro_arg);\
3731 yytext[yyleng] = (yy_hold_char); \
3732 (yy_c_buf_p) = yytext + yyless_macro_arg; \
3733 (yy_hold_char) = *(yy_c_buf_p); \
3734 *(yy_c_buf_p) = '\0'; \
3735 yyleng = yyless_macro_arg; \
3834static int yy_init_globals (
void)
3840 (yy_buffer_stack) = NULL;
3841 (yy_buffer_stack_top) = 0;
3842 (yy_buffer_stack_max) = 0;
3843 (yy_c_buf_p) = NULL;
3876 yyfree((yy_buffer_stack) );
3877 (yy_buffer_stack) = NULL;
3894static void yy_flex_strncpy (
char* s1,
const char * s2,
int n )
3898 for ( i = 0; i < n; ++i )
3903#ifdef YY_NEED_STRLEN
3904static int yy_flex_strlen (
const char * s )
3907 for ( n = 0; s[n]; ++n )
3916 return malloc(size);
3929 return realloc(ptr, size);
3934 free( (
char *) ptr );
3939#define YYTABLES_NAME "yytables"
3944#line 782 "netconf_lexer.ll"
3952 start_token_flag =
true;
3953 start_token_value = parser_type;
3960 buffer = netconf__scan_bytes(
str.c_str(),
str.size());
3962 fatal(
"cannot scan string");
3969 const std::string& filename,
3972 start_token_flag =
true;
3973 start_token_value = parser_type;
3982 buffer = netconf__create_buffer(f, 65536 );
3984 fatal(
"cannot scan file " + filename);
3986 netconf__switch_to_buffer(buffer);
3994 static_cast<void>(netconf_lex_destroy());
4005 netconf__delete_buffer(
states_.back());
4013 fatal(
"Too many nested include.");
4016 FILE* f = fopen(filename.c_str(),
"r");
4018 fatal(
"Can't open include file " + filename);
4026 buffer = netconf__create_buffer(f, 65536 );
4028 fatal(
"Can't scan include file " + filename);
4030 netconf__switch_to_buffer(buffer);
4043 void dummy() { yy_fatal_error(
"Fix me: how to disable its definition?"); }
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_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.
unsigned char flex_uint8_t
unsigned int flex_uint32_t
struct yy_buffer_state * YY_BUFFER_STATE
#define YY_RESTORE_YY_MORE_OFFSET
#define EOB_ACT_END_OF_FILE
#define YY_CURRENT_BUFFER_LVALUE
#define YY_CURRENT_BUFFER
#define YY_END_OF_BUFFER_CHAR
unsigned short int flex_uint16_t
#define YY_DO_BEFORE_ACTION
#define EOB_ACT_LAST_MATCH
#define YY_BUFFER_EOF_PENDING
#define EOB_ACT_CONTINUE_SCAN
#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
#define yypush_buffer_state
#define yyget_in
Get the input stream.
#define yyget_leng
Get the length of the current token.
#define yyget_out
Get the output stream.
#define yyensure_buffer_stack
#define yyget_text
Get the current token.
#define yy_switch_to_buffer
#define YY_INPUT(buf, result, max_size)
#define YY_STATE_EOF(state)
#define YY_FATAL_ERROR(msg)
#define yypop_buffer_state
Removes and deletes the top of the stack, if present.
#define yyget_lineno
Get the current line number.
int yy_bs_column
The column count.
int yy_bs_lineno
The line count.