1 #line 1 "netconf_lexer.cc"
3 #line 3 "netconf_lexer.cc"
5 #define YY_INT_ALIGNED short int
12 #define yy_create_buffer netconf__create_buffer
13 #define yy_delete_buffer netconf__delete_buffer
14 #define yy_scan_buffer netconf__scan_buffer
15 #define yy_scan_string netconf__scan_string
16 #define yy_scan_bytes netconf__scan_bytes
17 #define yy_init_buffer netconf__init_buffer
18 #define yy_flush_buffer netconf__flush_buffer
19 #define yy_load_buffer_state netconf__load_buffer_state
20 #define yy_switch_to_buffer netconf__switch_to_buffer
21 #define yypush_buffer_state netconf_push_buffer_state
22 #define yypop_buffer_state netconf_pop_buffer_state
23 #define yyensure_buffer_stack netconf_ensure_buffer_stack
24 #define yy_flex_debug netconf__flex_debug
25 #define yyin netconf_in
26 #define yyleng netconf_leng
27 #define yylex netconf_lex
28 #define yylineno netconf_lineno
29 #define yyout netconf_out
30 #define yyrestart netconf_restart
31 #define yytext netconf_text
32 #define yywrap netconf_wrap
33 #define yyalloc netconf_alloc
34 #define yyrealloc netconf_realloc
35 #define yyfree netconf_free
42 #define YY_FLEX_MAJOR_VERSION 2
43 #define YY_FLEX_MINOR_VERSION 6
44 #define YY_FLEX_SUBMINOR_VERSION 4
45 #if YY_FLEX_SUBMINOR_VERSION > 0
53 #ifdef yy_create_buffer
54 #define netconf__create_buffer_ALREADY_DEFINED
56 #define yy_create_buffer netconf__create_buffer
59 #ifdef yy_delete_buffer
60 #define netconf__delete_buffer_ALREADY_DEFINED
62 #define yy_delete_buffer netconf__delete_buffer
66 #define netconf__scan_buffer_ALREADY_DEFINED
68 #define yy_scan_buffer netconf__scan_buffer
72 #define netconf__scan_string_ALREADY_DEFINED
74 #define yy_scan_string netconf__scan_string
78 #define netconf__scan_bytes_ALREADY_DEFINED
80 #define yy_scan_bytes netconf__scan_bytes
84 #define netconf__init_buffer_ALREADY_DEFINED
86 #define yy_init_buffer netconf__init_buffer
89 #ifdef yy_flush_buffer
90 #define netconf__flush_buffer_ALREADY_DEFINED
92 #define yy_flush_buffer netconf__flush_buffer
95 #ifdef yy_load_buffer_state
96 #define netconf__load_buffer_state_ALREADY_DEFINED
98 #define yy_load_buffer_state netconf__load_buffer_state
101 #ifdef yy_switch_to_buffer
102 #define netconf__switch_to_buffer_ALREADY_DEFINED
104 #define yy_switch_to_buffer netconf__switch_to_buffer
107 #ifdef yypush_buffer_state
108 #define netconf_push_buffer_state_ALREADY_DEFINED
110 #define yypush_buffer_state netconf_push_buffer_state
113 #ifdef yypop_buffer_state
114 #define netconf_pop_buffer_state_ALREADY_DEFINED
116 #define yypop_buffer_state netconf_pop_buffer_state
119 #ifdef yyensure_buffer_stack
120 #define netconf_ensure_buffer_stack_ALREADY_DEFINED
122 #define yyensure_buffer_stack netconf_ensure_buffer_stack
126 #define netconf_lex_ALREADY_DEFINED
128 #define yylex netconf_lex
132 #define netconf_restart_ALREADY_DEFINED
134 #define yyrestart netconf_restart
138 #define netconf_lex_init_ALREADY_DEFINED
140 #define yylex_init netconf_lex_init
143 #ifdef yylex_init_extra
144 #define netconf_lex_init_extra_ALREADY_DEFINED
146 #define yylex_init_extra netconf_lex_init_extra
150 #define netconf_lex_destroy_ALREADY_DEFINED
152 #define yylex_destroy netconf_lex_destroy
156 #define netconf_get_debug_ALREADY_DEFINED
158 #define yyget_debug netconf_get_debug
162 #define netconf_set_debug_ALREADY_DEFINED
164 #define yyset_debug netconf_set_debug
168 #define netconf_get_extra_ALREADY_DEFINED
170 #define yyget_extra netconf_get_extra
174 #define netconf_set_extra_ALREADY_DEFINED
176 #define yyset_extra netconf_set_extra
180 #define netconf_get_in_ALREADY_DEFINED
182 #define yyget_in netconf_get_in
186 #define netconf_set_in_ALREADY_DEFINED
188 #define yyset_in netconf_set_in
192 #define netconf_get_out_ALREADY_DEFINED
194 #define yyget_out netconf_get_out
198 #define netconf_set_out_ALREADY_DEFINED
200 #define yyset_out netconf_set_out
204 #define netconf_get_leng_ALREADY_DEFINED
206 #define yyget_leng netconf_get_leng
210 #define netconf_get_text_ALREADY_DEFINED
212 #define yyget_text netconf_get_text
216 #define netconf_get_lineno_ALREADY_DEFINED
218 #define yyget_lineno netconf_get_lineno
222 #define netconf_set_lineno_ALREADY_DEFINED
224 #define yyset_lineno netconf_set_lineno
228 #define netconf_wrap_ALREADY_DEFINED
230 #define yywrap netconf_wrap
236 #define netconf_alloc_ALREADY_DEFINED
238 #define yyalloc netconf_alloc
242 #define netconf_realloc_ALREADY_DEFINED
244 #define yyrealloc netconf_realloc
248 #define netconf_free_ALREADY_DEFINED
250 #define yyfree netconf_free
256 #define netconf_text_ALREADY_DEFINED
258 #define yytext netconf_text
262 #define netconf_leng_ALREADY_DEFINED
264 #define yyleng netconf_leng
268 #define netconf_in_ALREADY_DEFINED
270 #define yyin netconf_in
274 #define netconf_out_ALREADY_DEFINED
276 #define yyout netconf_out
280 #define netconf__flex_debug_ALREADY_DEFINED
282 #define yy_flex_debug netconf__flex_debug
286 #define netconf_lineno_ALREADY_DEFINED
288 #define yylineno netconf_lineno
315 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
320 #ifndef __STDC_LIMIT_MACROS
321 #define __STDC_LIMIT_MACROS 1
324 #include <inttypes.h>
341 #define INT8_MIN (-128)
344 #define INT16_MIN (-32767-1)
347 #define INT32_MIN (-2147483647-1)
350 #define INT8_MAX (127)
353 #define INT16_MAX (32767)
356 #define INT32_MAX (2147483647)
359 #define UINT8_MAX (255U)
362 #define UINT16_MAX (65535U)
365 #define UINT32_MAX (4294967295U)
369 #define SIZE_MAX (~(size_t)0)
383 #define yyconst const
385 #if defined(__GNUC__) && __GNUC__ >= 3
386 #define yynoreturn __attribute__((__noreturn__))
400 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
414 #define BEGIN (yy_start) = 1 + 2 *
419 #define YY_START (((yy_start) - 1) / 2)
420 #define YYSTATE YY_START
422 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
424 #define YY_NEW_FILE yyrestart( yyin )
425 #define YY_END_OF_BUFFER_CHAR 0
434 #define YY_BUF_SIZE 32768
436 #define YY_BUF_SIZE 16384
442 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
444 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
445 #define YY_TYPEDEF_YY_BUFFER_STATE
449 #ifndef YY_TYPEDEF_YY_SIZE_T
450 #define YY_TYPEDEF_YY_SIZE_T
464 #define EOB_ACT_CONTINUE_SCAN 0
465 #define EOB_ACT_END_OF_FILE 1
466 #define EOB_ACT_LAST_MATCH 2
468 #define YY_LESS_LINENO(n)
469 #define YY_LINENO_REWIND_TO(ptr)
476 int yyless_macro_arg = (n); \
477 YY_LESS_LINENO(yyless_macro_arg);\
478 *yy_cp = (yy_hold_char); \
479 YY_RESTORE_YY_MORE_OFFSET \
480 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
481 YY_DO_BEFORE_ACTION; \
484 #define unput(c) yyunput( c, (yytext_ptr) )
486 #ifndef YY_STRUCT_YY_BUFFER_STATE
487 #define YY_STRUCT_YY_BUFFER_STATE
539 #define YY_BUFFER_NEW 0
540 #define YY_BUFFER_NORMAL 1
551 #define YY_BUFFER_EOF_PENDING 2
561 static size_t yy_buffer_stack_top = 0;
562 static size_t yy_buffer_stack_max = 0;
575 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
576 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
581 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
588 static char yy_hold_char;
589 static int yy_n_chars;
593 static char *yy_c_buf_p = NULL;
594 static int yy_init = 0;
595 static int yy_start = 0;
600 static int yy_did_buffer_switch_on_eof;
616 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
628 #define yy_new_buffer yy_create_buffer
629 #define yy_set_interactive(is_interactive) \
631 if ( ! YY_CURRENT_BUFFER ){ \
632 yyensure_buffer_stack (); \
633 YY_CURRENT_BUFFER_LVALUE = \
634 yy_create_buffer( yyin, YY_BUF_SIZE ); \
636 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
638 #define yy_set_bol(at_bol) \
640 if ( ! YY_CURRENT_BUFFER ){\
641 yyensure_buffer_stack (); \
642 YY_CURRENT_BUFFER_LVALUE = \
643 yy_create_buffer( yyin, YY_BUF_SIZE ); \
645 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
647 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
652 #define netconf_wrap() (1)
653 #define YY_SKIP_YYWRAP
669 #define yytext_ptr yytext
677 static int yy_get_next_buffer (
void );
678 static void yynoreturn yy_fatal_error (
const char* msg );
685 #define YY_DO_BEFORE_ACTION \
686 (yytext_ptr) = yy_bp; \
688 yyleng = (int) (yy_cp - yy_bp); \
689 (yy_hold_char) = *yy_cp; \
692 (yy_c_buf_p) = yy_cp;
694 #define YY_NUM_RULES 62
695 #define YY_END_OF_BUFFER 63
705 55, 55, 0, 0, 0, 0, 0, 0, 0, 0,
706 63, 61, 10, 11, 61, 1, 55, 52, 55, 55,
707 61, 54, 53, 61, 61, 61, 61, 61, 48, 49,
708 61, 61, 61, 50, 51, 5, 5, 5, 61, 61,
709 61, 10, 11, 0, 0, 44, 0, 0, 0, 0,
710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711 0, 0, 1, 55, 55, 0, 54, 55, 3, 2,
712 6, 0, 55, 0, 0, 0, 0, 0, 0, 4,
713 0, 0, 9, 0, 45, 0, 0, 0, 0, 47,
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, 0, 0, 2, 0, 0, 0, 0, 0,
718 0, 0, 8, 0, 0, 0, 0, 46, 0, 0,
719 22, 0, 0, 21, 0, 0, 0, 0, 0, 0,
720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
721 0, 0, 0, 0, 0, 60, 58, 0, 57, 56,
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, 0, 0, 0, 59,
725 56, 0, 0, 0, 0, 0, 0, 0, 0, 0,
727 0, 0, 0, 0, 26, 0, 0, 0, 0, 0,
728 0, 36, 0, 0, 0, 0, 0, 0, 25, 0,
729 0, 0, 0, 0, 0, 0, 0, 0, 0, 19,
730 20, 39, 0, 0, 0, 0, 0, 0, 23, 0,
731 0, 0, 0, 0, 0, 0, 0, 7, 0, 0,
732 0, 0, 0, 0, 0, 0, 0, 0, 0, 41,
733 38, 0, 0, 0, 0, 27, 0, 0, 0, 34,
734 12, 0, 14, 0, 0, 0, 32, 35, 0, 40,
735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
736 0, 0, 0, 0, 0, 0, 43, 0, 0, 0,
738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
739 0, 0, 0, 0, 0, 0, 0, 0, 42, 0,
740 0, 0, 33, 0, 0, 30, 0, 0, 0, 15,
741 0, 0, 0, 0, 29, 28, 0, 0, 0, 0,
742 0, 0, 0, 0, 13, 0, 0, 0, 0, 0,
743 0, 0, 24, 0, 0, 37, 0, 0, 31, 18,
747 static 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,
779 static const YY_CHAR yy_meta[61] =
781 1, 1, 2, 3, 3, 4, 3, 3, 3, 3,
782 3, 3, 5, 6, 6, 6, 6, 3, 3, 3,
783 3, 6, 6, 6, 6, 3, 3, 3, 3, 3,
784 3, 3, 5, 3, 3, 6, 7, 6, 6, 6,
785 7, 3, 3, 3, 3, 3, 3, 5, 3, 3,
786 5, 3, 5, 5, 3, 3, 3, 3, 3, 3
791 0, 0, 59, 62, 65, 0, 63, 67, 47, 64,
792 291, 2481, 84, 286, 125, 0, 105, 2481, 120, 125,
793 85, 169, 2481, 262, 139, 65, 69, 82, 2481, 2481,
794 80, 84, 118, 2481, 2481, 2481, 92, 269, 230, 0,
795 256, 110, 270, 97, 186, 2481, 193, 199, 197, 210,
796 219, 234, 255, 263, 269, 278, 284, 291, 297, 303,
797 320, 338, 0, 345, 363, 375, 381, 385, 2481, 0,
798 2481, 332, 349, 121, 144, 128, 152, 171, 160, 2481,
799 222, 248, 2481, 198, 2481, 169, 405, 411, 209, 417,
800 451, 428, 439, 450, 478, 493, 499, 506, 512, 518,
802 532, 540, 546, 552, 574, 586, 594, 602, 608, 614,
803 622, 628, 648, 661, 0, 177, 181, 184, 189, 207,
804 204, 130, 2481, 0, 667, 673, 155, 2481, 698, 695,
805 2481, 683, 723, 2481, 739, 748, 756, 762, 768, 776,
806 782, 810, 819, 827, 833, 839, 847, 853, 862, 875,
807 895, 903, 909, 917, 222, 2481, 2481, 223, 2481, 2481,
808 103, 0, 924, 931, 967, 937, 992, 1008, 943, 1014,
809 1020, 1032, 1042, 1049, 1055, 1065, 1071, 1077, 1088, 1099,
810 1110, 1121, 1127, 1134, 1143, 1149, 1155, 1169, 1183, 2481,
811 2481, 104, 0, 1190, 1197, 1232, 1204, 1211, 1218, 1230,
813 1259, 1276, 1282, 1288, 2481, 1294, 1300, 1310, 1316, 1322,
814 1328, 2481, 1334, 1351, 1357, 1363, 1369, 1375, 2481, 1391,
815 1397, 64, 0, 1403, 1409, 1437, 1445, 1451, 1459, 2481,
816 2481, 2481, 1470, 1479, 1487, 1499, 1507, 1516, 2481, 1522,
817 1528, 1540, 1557, 1550, 1563, 1569, 1576, 2481, 1583, 1597,
818 1609, 1618, 1625, 1631, 1637, 1643, 1651, 1660, 1666, 2481,
819 2481, 1672, 1686, 1694, 1700, 2481, 1706, 1712, 1722, 2481,
820 2481, 1728, 2481, 1734, 1767, 1773, 2481, 2481, 1779, 2481,
821 1786, 1792, 1802, 1812, 1820, 1827, 1836, 1848, 1855, 1861,
822 1869, 1883, 1889, 1897, 1903, 1909, 2481, 1918, 1925, 1943,
824 1951, 1965, 1971, 1977, 1985, 1991, 2000, 2010, 2019, 2025,
825 2036, 2044, 2053, 2064, 2072, 2079, 2086, 2092, 2481, 2098,
826 2105, 2112, 2481, 2133, 2140, 2481, 2149, 2156, 2162, 2481,
827 2168, 2174, 2182, 2210, 2481, 2481, 2218, 2224, 2230, 2236,
828 2243, 2258, 2264, 2271, 2481, 2278, 2284, 2292, 2299, 2312,
829 2320, 2327, 2481, 2333, 2340, 2481, 2346, 2355, 2481, 2481,
830 2362, 2368, 2375, 2481, 2481, 2481, 2414, 2421, 2428, 2435,
831 2442, 2449, 2456, 2460, 2465, 2467, 2469, 2471, 2473
836 366, 1, 367, 367, 1, 5, 5, 5, 5, 5,
837 366, 366, 366, 366, 368, 369, 366, 366, 366, 366,
838 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
839 366, 366, 366, 366, 366, 366, 366, 366, 366, 370,
840 366, 366, 366, 371, 368, 366, 368, 368, 372, 368,
841 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
842 368, 368, 369, 366, 366, 366, 366, 366, 366, 373,
843 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
844 366, 370, 366, 371, 366, 374, 368, 368, 375, 368,
845 372, 368, 368, 368, 368, 368, 368, 368, 368, 368,
847 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
848 368, 368, 368, 368, 373, 366, 366, 366, 366, 366,
849 366, 366, 366, 376, 368, 368, 375, 366, 372, 368,
850 366, 368, 368, 366, 368, 368, 368, 368, 368, 368,
851 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
852 368, 368, 368, 368, 366, 366, 366, 366, 366, 366,
853 366, 377, 368, 368, 372, 368, 368, 368, 368, 368,
854 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
855 368, 368, 368, 368, 368, 368, 368, 368, 368, 366,
856 366, 366, 378, 368, 368, 372, 368, 368, 368, 368,
858 368, 368, 368, 368, 366, 368, 368, 368, 368, 368,
859 368, 366, 368, 368, 368, 368, 368, 368, 366, 368,
860 368, 366, 379, 368, 368, 368, 368, 368, 368, 366,
861 366, 366, 368, 368, 368, 368, 368, 368, 366, 368,
862 368, 368, 368, 368, 368, 368, 368, 366, 368, 368,
863 368, 368, 368, 368, 368, 368, 368, 368, 368, 366,
864 366, 368, 368, 368, 368, 366, 368, 368, 368, 366,
865 366, 368, 366, 368, 368, 368, 366, 366, 368, 366,
866 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
867 368, 368, 368, 368, 368, 368, 366, 368, 368, 368,
869 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
870 368, 368, 368, 368, 368, 368, 368, 368, 366, 368,
871 368, 368, 366, 368, 368, 366, 368, 368, 368, 366,
872 368, 368, 368, 368, 366, 366, 368, 368, 368, 368,
873 368, 368, 368, 368, 366, 368, 368, 368, 368, 368,
874 368, 368, 366, 368, 368, 366, 368, 368, 366, 366,
875 368, 368, 368, 366, 366, 0, 366, 366, 366, 366,
876 366, 366, 366, 366, 366, 366, 366, 366, 366
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, 74, 42, 12, 12,
890 12, 12, 69, 42, 12, 42, 12, 70, 12, 75,
892 74, 74, 85, 248, 12, 12, 12, 12, 39, 76,
893 12, 42, 12, 42, 75, 77, 64, 12, 65, 65,
894 65, 65, 75, 12, 12, 44, 44, 44, 66, 86,
895 46, 64, 76, 67, 67, 67, 67, 78, 68, 68,
896 68, 68, 222, 66, 66, 76, 116, 72, 66, 72,
897 47, 48, 73, 73, 73, 73, 192, 49, 118, 66,
898 128, 50, 51, 52, 66, 53, 116, 54, 79, 117,
899 55, 56, 57, 58, 59, 161, 60, 116, 61, 62,
900 64, 118, 67, 67, 67, 67, 44, 44, 44, 117,
901 118, 46, 66, 44, 44, 44, 117, 119, 46, 44,
903 44, 44, 90, 85, 46, 155, 156, 157, 66, 45,
904 44, 44, 44, 121, 128, 46, 120, 155, 49, 44,
905 44, 44, 124, 157, 46, 49, 156, 157, 155, 45,
906 86, 49, 156, 45, 44, 44, 44, 45, 88, 46,
907 158, 87, 49, 160, 45, 190, 190, 45, 95, 45,
908 91, 49, 159, 123, 93, 44, 44, 44, 92, 122,
909 46, 190, 191, 44, 44, 44, 49, 94, 46, 44,
910 44, 44, 43, 96, 46, 83, 97, 81, 44, 44,
911 44, 80, 71, 46, 44, 44, 44, 49, 43, 46,
912 366, 44, 44, 44, 366, 49, 46, 44, 44, 44,
914 98, 49, 46, 44, 44, 44, 366, 366, 46, 366,
915 49, 99, 101, 103, 366, 100, 49, 102, 366, 105,
916 44, 44, 44, 49, 366, 46, 104, 366, 366, 49,
917 366, 366, 107, 366, 366, 49, 366, 366, 44, 44,
918 44, 366, 108, 46, 106, 73, 73, 73, 73, 366,
919 366, 109, 49, 366, 366, 110, 111, 366, 68, 68,
920 68, 68, 73, 73, 73, 73, 366, 112, 66, 366,
921 49, 113, 366, 114, 64, 366, 65, 65, 65, 65,
922 366, 366, 366, 72, 66, 72, 66, 366, 73, 73,
923 73, 73, 64, 366, 67, 67, 67, 67, 68, 68,
925 68, 68, 66, 366, 66, 44, 44, 44, 66, 366,
926 46, 44, 44, 44, 366, 366, 46, 44, 44, 44,
927 66, 366, 46, 366, 66, 366, 366, 366, 44, 44,
928 44, 366, 366, 46, 366, 366, 366, 49, 366, 44,
929 44, 44, 366, 49, 131, 366, 125, 366, 366, 49,
930 44, 44, 44, 366, 366, 46, 366, 366, 366, 366,
931 49, 366, 366, 126, 129, 129, 129, 129, 366, 366,
932 366, 49, 129, 129, 129, 129, 130, 366, 44, 44,
933 44, 366, 49, 134, 366, 366, 129, 129, 129, 129,
934 129, 129, 366, 44, 44, 44, 132, 133, 46, 44,
936 44, 44, 366, 366, 46, 366, 44, 44, 44, 366,
937 49, 46, 44, 44, 44, 366, 366, 46, 44, 44,
938 44, 366, 366, 46, 366, 49, 366, 366, 366, 135,
939 366, 49, 44, 44, 44, 366, 136, 46, 49, 366,
940 44, 44, 44, 366, 49, 46, 44, 44, 44, 366,
941 49, 46, 44, 44, 44, 366, 366, 46, 366, 137,
942 138, 366, 366, 366, 49, 366, 366, 366, 140, 366,
943 139, 366, 49, 366, 44, 44, 44, 366, 49, 46,
944 366, 141, 366, 366, 49, 366, 44, 44, 44, 366,
945 144, 46, 366, 142, 44, 44, 44, 366, 366, 46,
947 366, 143, 44, 44, 44, 366, 49, 46, 44, 44,
948 44, 366, 366, 46, 44, 44, 44, 366, 49, 46,
949 145, 366, 44, 44, 44, 366, 49, 46, 44, 44,
950 44, 366, 366, 46, 49, 366, 366, 366, 146, 366,
951 49, 366, 366, 366, 147, 149, 49, 366, 44, 44,
952 44, 366, 150, 46, 49, 366, 148, 366, 151, 366,
953 49, 44, 44, 44, 366, 366, 46, 44, 44, 44,
954 366, 152, 46, 44, 44, 44, 366, 366, 46, 366,
955 49, 366, 366, 44, 44, 44, 366, 153, 46, 366,
956 366, 366, 366, 49, 366, 44, 44, 44, 366, 49,
958 46, 366, 366, 366, 366, 49, 154, 366, 163, 366,
959 164, 165, 165, 165, 165, 49, 366, 366, 366, 165,
960 165, 165, 165, 44, 44, 44, 366, 49, 46, 167,
961 366, 366, 366, 165, 165, 165, 165, 165, 165, 44,
962 44, 44, 366, 366, 46, 366, 366, 166, 44, 44,
963 44, 366, 366, 46, 366, 49, 44, 44, 44, 366,
964 366, 46, 44, 44, 44, 366, 366, 46, 44, 44,
965 44, 49, 366, 46, 366, 168, 44, 44, 44, 366,
966 49, 46, 44, 44, 44, 366, 366, 46, 49, 366,
967 366, 366, 169, 366, 49, 366, 366, 170, 366, 366,
969 49, 366, 366, 366, 366, 366, 172, 171, 49, 366,
970 44, 44, 44, 366, 49, 46, 366, 173, 366, 44,
971 44, 44, 366, 175, 46, 366, 174, 44, 44, 44,
972 366, 366, 46, 44, 44, 44, 366, 366, 46, 44,
973 44, 44, 49, 366, 46, 176, 366, 44, 44, 44,
974 366, 49, 46, 44, 44, 44, 366, 366, 46, 49,
975 366, 366, 44, 44, 44, 49, 179, 46, 366, 366,
976 177, 49, 180, 178, 366, 44, 44, 44, 366, 49,
977 46, 366, 182, 366, 366, 49, 366, 366, 181, 366,
978 366, 366, 183, 366, 49, 44, 44, 44, 366, 366,
980 46, 366, 366, 44, 44, 44, 184, 49, 46, 44,
981 44, 44, 366, 366, 46, 366, 366, 44, 44, 44,
982 366, 366, 46, 185, 44, 44, 44, 49, 366, 46,
983 366, 44, 44, 44, 366, 49, 46, 44, 44, 44,
984 366, 49, 46, 44, 44, 44, 186, 197, 46, 49,
985 366, 366, 366, 366, 366, 366, 49, 366, 187, 188,
986 189, 366, 366, 49, 366, 366, 366, 194, 366, 49,
987 366, 366, 366, 366, 366, 49, 366, 366, 366, 195,
988 196, 196, 196, 196, 200, 366, 366, 366, 196, 196,
989 196, 196, 44, 44, 44, 366, 366, 46, 366, 366,
991 366, 366, 196, 196, 196, 196, 196, 196, 44, 44,
992 44, 366, 366, 46, 44, 44, 44, 366, 366, 46,
993 44, 44, 44, 366, 49, 46, 366, 366, 366, 201,
994 202, 198, 44, 44, 44, 366, 366, 46, 366, 366,
995 49, 366, 44, 44, 44, 366, 49, 205, 366, 44,
996 44, 44, 49, 366, 46, 44, 44, 44, 199, 366,
997 46, 366, 203, 366, 49, 44, 44, 44, 366, 366,
998 46, 44, 44, 44, 49, 366, 46, 44, 44, 44,
999 366, 49, 46, 204, 206, 366, 366, 49, 44, 44,
1000 44, 366, 366, 46, 207, 366, 366, 49, 366, 44,
1002 44, 44, 366, 49, 212, 366, 208, 366, 366, 49,
1003 44, 44, 44, 366, 209, 46, 210, 366, 366, 366,
1004 49, 44, 44, 44, 366, 366, 46, 44, 44, 44,
1005 366, 49, 46, 211, 44, 44, 44, 366, 366, 46,
1006 366, 366, 49, 44, 44, 44, 366, 366, 46, 44,
1007 44, 44, 366, 49, 46, 44, 44, 44, 366, 49,
1008 219, 366, 366, 213, 366, 366, 49, 214, 366, 44,
1009 44, 44, 366, 216, 46, 49, 366, 215, 366, 220,
1010 366, 49, 366, 44, 44, 44, 218, 49, 46, 366,
1011 44, 44, 44, 366, 366, 46, 217, 44, 44, 44,
1013 366, 49, 46, 366, 44, 44, 44, 366, 366, 46,
1014 366, 44, 44, 44, 366, 49, 46, 366, 44, 44,
1015 44, 221, 49, 46, 366, 366, 366, 366, 366, 49,
1016 44, 44, 44, 366, 366, 46, 49, 224, 366, 366,
1017 366, 366, 366, 49, 225, 45, 45, 45, 45, 366,
1018 49, 366, 366, 45, 45, 45, 45, 226, 227, 44,
1019 44, 44, 49, 366, 230, 366, 228, 45, 45, 45,
1020 45, 45, 45, 366, 366, 229, 44, 44, 44, 366,
1021 366, 231, 44, 44, 44, 366, 366, 232, 44, 44,
1022 44, 49, 366, 46, 44, 44, 44, 366, 233, 46,
1024 44, 44, 44, 366, 366, 46, 366, 366, 49, 366,
1025 44, 44, 44, 366, 49, 46, 44, 44, 44, 366,
1026 49, 46, 44, 44, 44, 366, 49, 46, 44, 44,
1027 44, 366, 49, 239, 44, 44, 44, 366, 366, 46,
1028 366, 366, 49, 366, 234, 366, 366, 366, 49, 236,
1029 235, 44, 44, 44, 49, 366, 46, 44, 44, 44,
1030 49, 366, 46, 44, 44, 44, 49, 366, 46, 44,
1031 44, 44, 238, 237, 46, 44, 44, 44, 366, 366,
1032 46, 366, 366, 49, 366, 366, 240, 366, 366, 49,
1033 241, 44, 44, 44, 366, 49, 46, 44, 44, 44,
1035 242, 49, 46, 44, 44, 44, 366, 49, 46, 44,
1036 44, 44, 366, 366, 46, 243, 366, 366, 366, 366,
1037 366, 244, 366, 49, 366, 245, 366, 366, 246, 49,
1038 366, 366, 247, 366, 366, 49, 366, 44, 44, 44,
1039 366, 49, 46, 366, 249, 44, 44, 44, 366, 250,
1040 46, 44, 44, 44, 366, 366, 46, 366, 366, 44,
1041 44, 44, 366, 366, 46, 366, 366, 366, 366, 49,
1042 44, 44, 44, 366, 366, 46, 366, 49, 366, 44,
1043 44, 44, 366, 49, 46, 366, 251, 44, 44, 44,
1044 366, 49, 46, 366, 366, 366, 253, 252, 254, 44,
1046 44, 44, 49, 366, 46, 366, 366, 44, 44, 44,
1047 366, 49, 46, 366, 366, 255, 44, 44, 44, 49,
1048 366, 260, 44, 44, 44, 366, 366, 261, 44, 44,
1049 44, 49, 366, 46, 366, 256, 366, 258, 257, 49,
1050 44, 44, 44, 366, 366, 46, 259, 366, 49, 366,
1051 44, 44, 44, 366, 49, 266, 262, 44, 44, 44,
1052 49, 366, 46, 44, 44, 44, 366, 265, 46, 44,
1053 44, 44, 49, 366, 46, 366, 44, 44, 44, 366,
1054 263, 46, 49, 44, 44, 44, 366, 366, 270, 49,
1055 366, 366, 264, 366, 366, 49, 366, 44, 44, 44,
1057 366, 49, 271, 366, 366, 366, 267, 366, 49, 44,
1058 44, 44, 366, 366, 46, 49, 366, 268, 44, 44,
1059 44, 366, 366, 273, 366, 44, 44, 44, 269, 49,
1060 46, 44, 44, 44, 366, 274, 46, 44, 44, 44,
1061 366, 49, 46, 44, 44, 44, 366, 272, 277, 366,
1062 49, 44, 44, 44, 366, 366, 278, 49, 366, 366,
1063 44, 44, 44, 49, 366, 46, 44, 44, 44, 49,
1064 279, 280, 44, 44, 44, 49, 366, 46, 366, 366,
1065 276, 366, 366, 49, 366, 275, 44, 44, 44, 366,
1066 366, 46, 49, 366, 44, 44, 44, 366, 49, 46,
1068 44, 44, 44, 366, 49, 46, 44, 44, 44, 366,
1069 366, 46, 44, 44, 44, 366, 366, 46, 49, 366,
1070 281, 366, 44, 44, 44, 282, 49, 46, 44, 44,
1071 44, 366, 49, 46, 44, 44, 44, 366, 49, 46,
1072 366, 366, 287, 366, 49, 366, 366, 284, 366, 366,
1073 283, 366, 285, 286, 49, 366, 366, 366, 366, 288,
1074 49, 289, 366, 290, 366, 366, 49, 44, 44, 44,
1075 366, 366, 46, 44, 44, 44, 366, 366, 46, 44,
1076 44, 44, 366, 366, 46, 291, 44, 44, 44, 366,
1077 366, 46, 44, 44, 44, 366, 366, 46, 366, 49,
1079 366, 366, 44, 44, 44, 49, 292, 297, 366, 293,
1080 366, 49, 44, 44, 44, 366, 366, 46, 49, 366,
1081 44, 44, 44, 366, 49, 46, 366, 44, 44, 44,
1082 294, 366, 46, 366, 49, 295, 44, 44, 44, 366,
1083 366, 46, 296, 366, 49, 366, 366, 298, 44, 44,
1084 44, 366, 49, 46, 366, 44, 44, 44, 366, 49,
1085 46, 44, 44, 44, 366, 303, 46, 366, 49, 44,
1086 44, 44, 366, 366, 46, 301, 299, 300, 366, 366,
1087 49, 366, 366, 44, 44, 44, 366, 49, 46, 44,
1088 44, 44, 366, 49, 46, 366, 366, 44, 44, 44,
1090 302, 49, 46, 44, 44, 44, 366, 366, 46, 44,
1091 44, 44, 366, 304, 46, 49, 366, 305, 44, 44,
1092 44, 49, 366, 46, 366, 44, 44, 44, 306, 49,
1093 46, 366, 366, 366, 366, 49, 308, 366, 366, 307,
1094 366, 49, 366, 44, 44, 44, 366, 366, 46, 366,
1095 49, 44, 44, 44, 366, 309, 46, 49, 366, 366,
1096 310, 314, 366, 366, 311, 44, 44, 44, 366, 366,
1097 46, 44, 44, 44, 312, 49, 46, 44, 44, 44,
1098 366, 366, 46, 49, 366, 44, 44, 44, 313, 366,
1099 46, 44, 44, 44, 366, 366, 319, 49, 366, 366,
1101 44, 44, 44, 49, 315, 46, 366, 366, 316, 49,
1102 44, 44, 44, 366, 366, 46, 317, 49, 366, 44,
1103 44, 44, 318, 49, 46, 44, 44, 44, 366, 366,
1104 323, 366, 49, 366, 366, 320, 44, 44, 44, 366,
1105 366, 46, 49, 366, 44, 44, 44, 366, 366, 46,
1106 366, 49, 366, 44, 44, 44, 366, 49, 326, 366,
1107 321, 366, 322, 366, 44, 44, 44, 366, 49, 46,
1108 366, 366, 44, 44, 44, 324, 49, 46, 366, 44,
1109 44, 44, 366, 325, 46, 49, 44, 44, 44, 366,
1110 366, 330, 44, 44, 44, 366, 49, 46, 44, 44,
1112 44, 327, 366, 46, 49, 44, 44, 44, 366, 366,
1113 46, 49, 44, 44, 44, 366, 366, 46, 49, 366,
1114 366, 329, 366, 366, 49, 366, 366, 328, 366, 366,
1115 49, 366, 366, 44, 44, 44, 331, 49, 335, 366,
1116 44, 44, 44, 366, 49, 336, 366, 366, 332, 44,
1117 44, 44, 366, 366, 46, 366, 44, 44, 44, 333,
1118 334, 46, 44, 44, 44, 49, 366, 46, 44, 44,
1119 44, 366, 49, 46, 44, 44, 44, 366, 366, 46,
1120 366, 49, 44, 44, 44, 366, 366, 46, 49, 366,
1121 366, 337, 366, 366, 49, 366, 366, 339, 366, 366,
1123 49, 366, 366, 366, 366, 366, 49, 340, 338, 366,
1124 44, 44, 44, 366, 49, 46, 366, 341, 44, 44,
1125 44, 342, 366, 46, 44, 44, 44, 366, 366, 345,
1126 44, 44, 44, 366, 366, 46, 44, 44, 44, 366,
1127 366, 46, 49, 44, 44, 44, 366, 366, 46, 366,
1128 49, 366, 366, 344, 366, 366, 49, 343, 44, 44,
1129 44, 366, 49, 46, 44, 44, 44, 366, 49, 46,
1130 366, 44, 44, 44, 366, 49, 46, 346, 44, 44,
1131 44, 366, 348, 46, 44, 44, 44, 366, 347, 353,
1132 49, 366, 44, 44, 44, 366, 49, 46, 366, 44,
1134 44, 44, 366, 49, 46, 366, 366, 366, 349, 366,
1135 49, 366, 44, 44, 44, 350, 49, 356, 351, 352,
1136 44, 44, 44, 366, 49, 46, 366, 44, 44, 44,
1137 366, 49, 46, 44, 44, 44, 366, 366, 359, 366,
1138 44, 44, 44, 354, 49, 360, 44, 44, 44, 366,
1139 355, 46, 49, 366, 366, 44, 44, 44, 366, 49,
1140 46, 357, 44, 44, 44, 49, 358, 46, 44, 44,
1141 44, 366, 49, 364, 366, 44, 44, 44, 49, 366,
1142 365, 366, 366, 366, 366, 361, 366, 49, 366, 366,
1143 366, 366, 366, 366, 49, 366, 366, 366, 366, 366,
1145 49, 366, 366, 366, 366, 366, 362, 49, 366, 366,
1146 366, 366, 366, 363, 36, 36, 36, 36, 36, 36,
1147 36, 45, 45, 45, 45, 45, 45, 45, 63, 366,
1148 63, 63, 63, 63, 63, 82, 366, 82, 366, 82,
1149 82, 82, 84, 84, 84, 84, 84, 84, 84, 89,
1150 89, 89, 89, 89, 89, 89, 115, 366, 115, 115,
1151 115, 115, 115, 84, 84, 366, 84, 127, 127, 127,
1152 127, 127, 162, 162, 193, 193, 223, 223, 84, 84,
1153 11, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1154 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1156 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1157 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1158 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1159 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1165 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1166 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
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 3, 3, 3, 4, 4, 4, 3, 9, 7, 4,
1172 5, 5, 8, 5, 5, 5, 5, 5, 5, 5,
1173 5, 5, 5, 5, 10, 13, 26, 13, 5, 5,
1174 9, 5, 21, 37, 5, 37, 5, 21, 5, 27,
1176 26, 31, 44, 222, 5, 5, 7, 10, 5, 28,
1177 8, 42, 5, 42, 32, 31, 17, 5, 17, 17,
1178 17, 17, 27, 5, 5, 15, 15, 15, 17, 44,
1179 15, 19, 28, 19, 19, 19, 19, 32, 20, 20,
1180 20, 20, 192, 19, 17, 33, 74, 25, 20, 25,
1181 15, 15, 25, 25, 25, 25, 161, 15, 76, 19,
1182 127, 15, 15, 15, 20, 15, 74, 15, 33, 75,
1183 15, 15, 15, 15, 15, 122, 15, 77, 15, 15,
1184 22, 76, 22, 22, 22, 22, 45, 45, 45, 75,
1185 79, 45, 22, 47, 47, 47, 78, 77, 47, 48,
1187 48, 48, 49, 84, 48, 116, 117, 118, 22, 49,
1188 50, 50, 50, 79, 89, 50, 78, 119, 45, 51,
1189 51, 51, 86, 118, 51, 47, 117, 121, 116, 49,
1190 84, 48, 120, 49, 52, 52, 52, 49, 48, 52,
1191 119, 47, 50, 121, 49, 155, 158, 49, 52, 49,
1192 49, 51, 120, 82, 51, 53, 53, 53, 50, 81,
1193 53, 155, 158, 54, 54, 54, 52, 51, 54, 55,
1194 55, 55, 43, 52, 55, 41, 52, 39, 56, 56,
1195 56, 38, 24, 56, 57, 57, 57, 53, 14, 57,
1196 11, 58, 58, 58, 0, 54, 58, 59, 59, 59,
1198 53, 55, 59, 60, 60, 60, 0, 0, 60, 0,
1199 56, 54, 55, 56, 0, 54, 57, 55, 0, 57,
1200 61, 61, 61, 58, 0, 61, 56, 0, 0, 59,
1201 0, 0, 59, 0, 0, 60, 0, 0, 62, 62,
1202 62, 0, 60, 62, 58, 72, 72, 72, 72, 0,
1203 0, 60, 61, 0, 0, 60, 60, 0, 64, 64,
1204 64, 64, 73, 73, 73, 73, 0, 61, 64, 0,
1205 62, 61, 0, 62, 65, 0, 65, 65, 65, 65,
1206 0, 0, 0, 66, 64, 66, 65, 0, 66, 66,
1207 66, 66, 67, 0, 67, 67, 67, 67, 68, 68,
1209 68, 68, 65, 0, 67, 87, 87, 87, 68, 0,
1210 87, 88, 88, 88, 0, 0, 88, 90, 90, 90,
1211 67, 0, 90, 0, 68, 0, 0, 0, 92, 92,
1212 92, 0, 0, 92, 0, 0, 0, 87, 0, 93,
1213 93, 93, 0, 88, 93, 0, 87, 0, 0, 90,
1214 94, 94, 94, 0, 0, 94, 0, 0, 0, 0,
1215 92, 0, 0, 88, 91, 91, 91, 91, 0, 0,
1216 0, 93, 91, 91, 91, 91, 92, 0, 95, 95,
1217 95, 0, 94, 95, 0, 0, 91, 91, 91, 91,
1218 91, 91, 0, 96, 96, 96, 94, 94, 96, 97,
1220 97, 97, 0, 0, 97, 0, 98, 98, 98, 0,
1221 95, 98, 99, 99, 99, 0, 0, 99, 100, 100,
1222 100, 0, 0, 100, 0, 96, 0, 0, 0, 96,
1223 0, 97, 101, 101, 101, 0, 97, 101, 98, 0,
1224 102, 102, 102, 0, 99, 102, 103, 103, 103, 0,
1225 100, 103, 104, 104, 104, 0, 0, 104, 0, 98,
1226 99, 0, 0, 0, 101, 0, 0, 0, 101, 0,
1227 100, 0, 102, 0, 105, 105, 105, 0, 103, 105,
1228 0, 102, 0, 0, 104, 0, 106, 106, 106, 0,
1229 104, 106, 0, 103, 107, 107, 107, 0, 0, 107,
1231 0, 103, 108, 108, 108, 0, 105, 108, 109, 109,
1232 109, 0, 0, 109, 110, 110, 110, 0, 106, 110,
1233 105, 0, 111, 111, 111, 0, 107, 111, 112, 112,
1234 112, 0, 0, 112, 108, 0, 0, 0, 106, 0,
1235 109, 0, 0, 0, 107, 109, 110, 0, 113, 113,
1236 113, 0, 110, 113, 111, 0, 108, 0, 111, 0,
1237 112, 114, 114, 114, 0, 0, 114, 125, 125, 125,
1238 0, 112, 125, 126, 126, 126, 0, 0, 126, 0,
1239 113, 0, 0, 132, 132, 132, 0, 113, 132, 0,
1240 0, 0, 0, 114, 0, 130, 130, 130, 0, 125,
1242 130, 0, 0, 0, 0, 126, 114, 0, 125, 0,
1243 126, 129, 129, 129, 129, 132, 0, 0, 0, 129,
1244 129, 129, 129, 133, 133, 133, 0, 130, 133, 132,
1245 0, 0, 0, 129, 129, 129, 129, 129, 129, 135,
1246 135, 135, 0, 0, 135, 0, 0, 130, 136, 136,
1247 136, 0, 0, 136, 0, 133, 137, 137, 137, 0,
1248 0, 137, 138, 138, 138, 0, 0, 138, 139, 139,
1249 139, 135, 0, 139, 0, 133, 140, 140, 140, 0,
1250 136, 140, 141, 141, 141, 0, 0, 141, 137, 0,
1251 0, 0, 135, 0, 138, 0, 0, 136, 0, 0,
1253 139, 0, 0, 0, 0, 0, 138, 137, 140, 0,
1254 142, 142, 142, 0, 141, 142, 0, 139, 0, 143,
1255 143, 143, 0, 141, 143, 0, 140, 144, 144, 144,
1256 0, 0, 144, 145, 145, 145, 0, 0, 145, 146,
1257 146, 146, 142, 0, 146, 142, 0, 147, 147, 147,
1258 0, 143, 147, 148, 148, 148, 0, 0, 148, 144,
1259 0, 0, 149, 149, 149, 145, 144, 149, 0, 0,
1260 143, 146, 145, 143, 0, 150, 150, 150, 0, 147,
1261 150, 0, 147, 0, 0, 148, 0, 0, 146, 0,
1262 0, 0, 148, 0, 149, 151, 151, 151, 0, 0,
1264 151, 0, 0, 152, 152, 152, 149, 150, 152, 153,
1265 153, 153, 0, 0, 153, 0, 0, 154, 154, 154,
1266 0, 0, 154, 150, 163, 163, 163, 151, 0, 163,
1267 0, 164, 164, 164, 0, 152, 164, 166, 166, 166,
1268 0, 153, 166, 169, 169, 169, 151, 166, 169, 154,
1269 0, 0, 0, 0, 0, 0, 163, 0, 152, 153,
1270 154, 0, 0, 164, 0, 0, 0, 163, 0, 166,
1271 0, 0, 0, 0, 0, 169, 0, 0, 0, 164,
1272 165, 165, 165, 165, 169, 0, 0, 0, 165, 165,
1273 165, 165, 167, 167, 167, 0, 0, 167, 0, 0,
1275 0, 0, 165, 165, 165, 165, 165, 165, 168, 168,
1276 168, 0, 0, 168, 170, 170, 170, 0, 0, 170,
1277 171, 171, 171, 0, 167, 171, 0, 0, 0, 170,
1278 170, 167, 172, 172, 172, 0, 0, 172, 0, 0,
1279 168, 0, 173, 173, 173, 0, 170, 173, 0, 174,
1280 174, 174, 171, 0, 174, 175, 175, 175, 168, 0,
1281 175, 0, 171, 0, 172, 176, 176, 176, 0, 0,
1282 176, 177, 177, 177, 173, 0, 177, 178, 178, 178,
1283 0, 174, 178, 172, 174, 0, 0, 175, 179, 179,
1284 179, 0, 0, 179, 175, 0, 0, 176, 0, 180,
1286 180, 180, 0, 177, 180, 0, 176, 0, 0, 178,
1287 181, 181, 181, 0, 177, 181, 178, 0, 0, 0,
1288 179, 182, 182, 182, 0, 0, 182, 183, 183, 183,
1289 0, 180, 183, 179, 184, 184, 184, 0, 0, 184,
1290 0, 0, 181, 185, 185, 185, 0, 0, 185, 186,
1291 186, 186, 0, 182, 186, 187, 187, 187, 0, 183,
1292 187, 0, 0, 181, 0, 0, 184, 182, 0, 188,
1293 188, 188, 0, 184, 188, 185, 0, 183, 0, 188,
1294 0, 186, 0, 189, 189, 189, 186, 187, 189, 0,
1295 194, 194, 194, 0, 0, 194, 185, 195, 195, 195,
1297 0, 188, 195, 0, 197, 197, 197, 0, 0, 197,
1298 0, 198, 198, 198, 0, 189, 198, 0, 199, 199,
1299 199, 189, 194, 199, 0, 0, 0, 0, 0, 195,
1300 200, 200, 200, 0, 0, 200, 197, 194, 0, 0,
1301 0, 0, 0, 198, 195, 196, 196, 196, 196, 0,
1302 199, 0, 0, 196, 196, 196, 196, 197, 198, 201,
1303 201, 201, 200, 0, 201, 0, 199, 196, 196, 196,
1304 196, 196, 196, 0, 0, 200, 202, 202, 202, 0,
1305 0, 202, 203, 203, 203, 0, 0, 203, 204, 204,
1306 204, 201, 0, 204, 206, 206, 206, 0, 204, 206,
1308 207, 207, 207, 0, 0, 207, 0, 0, 202, 0,
1309 208, 208, 208, 0, 203, 208, 209, 209, 209, 0,
1310 204, 209, 210, 210, 210, 0, 206, 210, 211, 211,
1311 211, 0, 207, 211, 213, 213, 213, 0, 0, 213,
1312 0, 0, 208, 0, 206, 0, 0, 0, 209, 208,
1313 207, 214, 214, 214, 210, 0, 214, 215, 215, 215,
1314 211, 0, 215, 216, 216, 216, 213, 0, 216, 217,
1315 217, 217, 210, 209, 217, 218, 218, 218, 0, 0,
1316 218, 0, 0, 214, 0, 0, 213, 0, 0, 215,
1317 214, 220, 220, 220, 0, 216, 220, 221, 221, 221,
1319 215, 217, 221, 224, 224, 224, 0, 218, 224, 225,
1320 225, 225, 0, 0, 225, 216, 0, 0, 0, 0,
1321 0, 217, 0, 220, 0, 218, 0, 0, 220, 221,
1322 0, 0, 221, 0, 0, 224, 0, 226, 226, 226,
1323 0, 225, 226, 0, 224, 227, 227, 227, 0, 225,
1324 227, 228, 228, 228, 0, 0, 228, 0, 0, 229,
1325 229, 229, 0, 0, 229, 0, 0, 0, 0, 226,
1326 233, 233, 233, 0, 0, 233, 0, 227, 0, 234,
1327 234, 234, 0, 228, 234, 0, 226, 235, 235, 235,
1328 0, 229, 235, 0, 0, 0, 228, 227, 229, 236,
1330 236, 236, 233, 0, 236, 0, 0, 237, 237, 237,
1331 0, 234, 237, 0, 0, 233, 238, 238, 238, 235,
1332 0, 238, 240, 240, 240, 0, 0, 240, 241, 241,
1333 241, 236, 0, 241, 0, 234, 0, 236, 235, 237,
1334 242, 242, 242, 0, 0, 242, 237, 0, 238, 0,
1335 244, 244, 244, 0, 240, 244, 240, 243, 243, 243,
1336 241, 0, 243, 245, 245, 245, 0, 243, 245, 246,
1337 246, 246, 242, 0, 246, 0, 247, 247, 247, 0,
1338 241, 247, 244, 249, 249, 249, 0, 0, 249, 243,
1339 0, 0, 242, 0, 0, 245, 0, 250, 250, 250,
1341 0, 246, 250, 0, 0, 0, 245, 0, 247, 251,
1342 251, 251, 0, 0, 251, 249, 0, 246, 252, 252,
1343 252, 0, 0, 252, 0, 253, 253, 253, 247, 250,
1344 253, 254, 254, 254, 0, 253, 254, 255, 255, 255,
1345 0, 251, 255, 256, 256, 256, 0, 251, 256, 0,
1346 252, 257, 257, 257, 0, 0, 257, 253, 0, 0,
1347 258, 258, 258, 254, 0, 258, 259, 259, 259, 255,
1348 258, 259, 262, 262, 262, 256, 0, 262, 0, 0,
1349 255, 0, 0, 257, 0, 254, 263, 263, 263, 0,
1350 0, 263, 258, 0, 264, 264, 264, 0, 259, 264,
1352 265, 265, 265, 0, 262, 265, 267, 267, 267, 0,
1353 0, 267, 268, 268, 268, 0, 0, 268, 263, 0,
1354 262, 0, 269, 269, 269, 263, 264, 269, 272, 272,
1355 272, 0, 265, 272, 274, 274, 274, 0, 267, 274,
1356 0, 0, 267, 0, 268, 0, 0, 265, 0, 0,
1357 264, 0, 265, 265, 269, 0, 0, 0, 0, 268,
1358 272, 269, 0, 272, 0, 0, 274, 275, 275, 275,
1359 0, 0, 275, 276, 276, 276, 0, 0, 276, 279,
1360 279, 279, 0, 0, 279, 274, 281, 281, 281, 0,
1361 0, 281, 282, 282, 282, 0, 0, 282, 0, 275,
1363 0, 0, 283, 283, 283, 276, 275, 283, 0, 276,
1364 0, 279, 284, 284, 284, 0, 0, 284, 281, 0,
1365 285, 285, 285, 0, 282, 285, 0, 286, 286, 286,
1366 279, 0, 286, 0, 283, 281, 287, 287, 287, 0,
1367 0, 287, 282, 0, 284, 0, 0, 284, 288, 288,
1368 288, 0, 285, 288, 0, 289, 289, 289, 0, 286,
1369 289, 290, 290, 290, 0, 289, 290, 0, 287, 291,
1370 291, 291, 0, 0, 291, 287, 285, 286, 0, 0,
1371 288, 0, 0, 292, 292, 292, 0, 289, 292, 293,
1372 293, 293, 0, 290, 293, 0, 0, 294, 294, 294,
1374 288, 291, 294, 295, 295, 295, 0, 0, 295, 296,
1375 296, 296, 0, 290, 296, 292, 0, 291, 298, 298,
1376 298, 293, 0, 298, 0, 299, 299, 299, 292, 294,
1377 299, 0, 0, 0, 0, 295, 294, 0, 0, 293,
1378 0, 296, 0, 300, 300, 300, 0, 0, 300, 0,
1379 298, 301, 301, 301, 0, 295, 301, 299, 0, 0,
1380 296, 301, 0, 0, 298, 302, 302, 302, 0, 0,
1381 302, 303, 303, 303, 299, 300, 303, 304, 304, 304,
1382 0, 0, 304, 301, 0, 305, 305, 305, 300, 0,
1383 305, 306, 306, 306, 0, 0, 306, 302, 0, 0,
1385 307, 307, 307, 303, 302, 307, 0, 0, 303, 304,
1386 308, 308, 308, 0, 0, 308, 304, 305, 0, 309,
1387 309, 309, 305, 306, 309, 310, 310, 310, 0, 0,
1388 310, 0, 307, 0, 0, 307, 311, 311, 311, 0,
1389 0, 311, 308, 0, 312, 312, 312, 0, 0, 312,
1390 0, 309, 0, 313, 313, 313, 0, 310, 313, 0,
1391 308, 0, 309, 0, 314, 314, 314, 0, 311, 314,
1392 0, 0, 315, 315, 315, 311, 312, 315, 0, 316,
1393 316, 316, 0, 312, 316, 313, 317, 317, 317, 0,
1394 0, 317, 318, 318, 318, 0, 314, 318, 320, 320,
1396 320, 314, 0, 320, 315, 321, 321, 321, 0, 0,
1397 321, 316, 322, 322, 322, 0, 0, 322, 317, 0,
1398 0, 316, 0, 0, 318, 0, 0, 315, 0, 0,
1399 320, 0, 0, 324, 324, 324, 318, 321, 324, 0,
1400 325, 325, 325, 0, 322, 325, 0, 0, 320, 327,
1401 327, 327, 0, 0, 327, 0, 328, 328, 328, 321,
1402 322, 328, 329, 329, 329, 324, 0, 329, 331, 331,
1403 331, 0, 325, 331, 332, 332, 332, 0, 0, 332,
1404 0, 327, 333, 333, 333, 0, 0, 333, 328, 0,
1405 0, 327, 0, 0, 329, 0, 0, 329, 0, 0,
1407 331, 0, 0, 0, 0, 0, 332, 331, 328, 0,
1408 334, 334, 334, 0, 333, 334, 0, 332, 337, 337,
1409 337, 333, 0, 337, 338, 338, 338, 0, 0, 338,
1410 339, 339, 339, 0, 0, 339, 340, 340, 340, 0,
1411 0, 340, 334, 341, 341, 341, 0, 0, 341, 0,
1412 337, 0, 0, 337, 0, 0, 338, 334, 342, 342,
1413 342, 0, 339, 342, 343, 343, 343, 0, 340, 343,
1414 0, 344, 344, 344, 0, 341, 344, 339, 346, 346,
1415 346, 0, 341, 346, 347, 347, 347, 0, 340, 347,
1416 342, 0, 348, 348, 348, 0, 343, 348, 0, 349,
1418 349, 349, 0, 344, 349, 0, 0, 0, 342, 0,
1419 346, 0, 350, 350, 350, 343, 347, 350, 344, 346,
1420 351, 351, 351, 0, 348, 351, 0, 352, 352, 352,
1421 0, 349, 352, 354, 354, 354, 0, 0, 354, 0,
1422 355, 355, 355, 348, 350, 355, 357, 357, 357, 0,
1423 349, 357, 351, 0, 0, 358, 358, 358, 0, 352,
1424 358, 351, 361, 361, 361, 354, 352, 361, 362, 362,
1425 362, 0, 355, 362, 0, 363, 363, 363, 357, 0,
1426 363, 0, 0, 0, 0, 357, 0, 358, 0, 0,
1427 0, 0, 0, 0, 361, 0, 0, 0, 0, 0,
1429 362, 0, 0, 0, 0, 0, 358, 363, 0, 0,
1430 0, 0, 0, 361, 367, 367, 367, 367, 367, 367,
1431 367, 368, 368, 368, 368, 368, 368, 368, 369, 0,
1432 369, 369, 369, 369, 369, 370, 0, 370, 0, 370,
1433 370, 370, 371, 371, 371, 371, 371, 371, 371, 372,
1434 372, 372, 372, 372, 372, 372, 373, 0, 373, 373,
1435 373, 373, 373, 374, 374, 0, 374, 375, 375, 375,
1436 375, 375, 376, 376, 377, 377, 378, 378, 379, 379,
1437 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1438 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1440 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1441 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1442 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1443 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1448 static char *yy_last_accepting_cpos;
1455 133, 135, 137, 142, 143, 148, 149, 150, 162, 165,
1456 170, 177, 186, 198, 210, 220, 230, 240, 249, 258,
1457 267, 276, 285, 294, 303, 312, 321, 330, 339, 348,
1458 357, 366, 375, 384, 393, 402, 411, 420, 429, 438,
1459 447, 456, 465, 474, 573, 578, 583, 588, 589, 590,
1460 591, 592, 593, 595, 613, 626, 631, 635, 637, 639,
1467 #define REJECT reject_used_but_not_detected
1468 #define yymore() yymore_used_but_not_detected
1469 #define YY_MORE_ADJ 0
1470 #define YY_RESTORE_YY_MORE_OFFSET
1472 #line 1 "netconf_lexer.ll"
1478 #line 8 "netconf_lexer.ll"
1481 #ifndef __clang_analyzer__
1489 #include <boost/lexical_cast.hpp>
1504 bool start_token_flag =
false;
1507 unsigned int comment_start_line = 0;
1509 using namespace isc;
1515 #define YY_FATAL_ERROR(msg) isc::netconf::ParserContext::fatal(msg)
1516 #line 1516 "netconf_lexer.cc"
1531 #define YY_NO_INPUT 1
1537 #line 96 "netconf_lexer.ll"
1541 #define YY_USER_ACTION driver.loc_.columns(yyleng);
1542 #line 1542 "netconf_lexer.cc"
1543 #line 1543 "netconf_lexer.cc"
1548 #define DIR_INCLUDE 3
1551 #ifndef YY_NO_UNISTD_H
1563 #ifndef YY_EXTRA_TYPE
1564 #define YY_EXTRA_TYPE void *
1571 static int yy_init_globals (
void );
1614 #ifndef YY_SKIP_YYWRAP
1616 extern "C" int yywrap (
void );
1618 extern int yywrap (
void );
1631 static void yy_flex_strncpy (
char *,
const char *,
int );
1634 #ifdef YY_NEED_STRLEN
1635 static int yy_flex_strlen (
const char * );
1642 static int yyinput (
void );
1644 static int input (
void );
1656 #ifndef YY_READ_BUF_SIZE
1659 #define YY_READ_BUF_SIZE 16384
1661 #define YY_READ_BUF_SIZE 8192
1671 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1681 #define YY_INPUT(buf,result,max_size) \
1683 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1687 for ( n = 0; n < max_size && \
1688 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1689 buf[n] = (char) c; \
1691 buf[n++] = (char) c; \
1692 if ( c == EOF && ferror( yyin ) ) \
1693 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1699 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1701 if( errno != EINTR) \
1703 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1721 #define yyterminate() return YY_NULL
1725 #ifndef YY_START_STACK_INCR
1726 #define YY_START_STACK_INCR 25
1730 #ifndef YY_FATAL_ERROR
1732 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1753 #define YY_DECL_IS_OURS 1
1756 extern int yylex (
void);
1758 #define YY_DECL int yylex (void)
1767 #ifndef YY_USER_ACTION
1768 #define YY_USER_ACTION
1773 #define YY_BREAK break;
1777 #define YY_RULE_SETUP \
1825 #line 102 "netconf_lexer.ll"
1829 #line 106 "netconf_lexer.ll"
1843 if (start_token_flag) {
1844 start_token_flag =
false;
1845 switch (start_token_value) {
1846 case ParserContext::PARSER_JSON:
1848 return NetconfParser::make_START_JSON(driver.loc_);
1849 case ParserContext::PARSER_NETCONF:
1850 return NetconfParser::make_START_NETCONF(driver.loc_);
1851 case ParserContext::PARSER_SUB_NETCONF:
1852 return NetconfParser::make_START_SUB_NETCONF(driver.loc_);
1857 #line 1857 "netconf_lexer.cc"
1862 yy_cp = (yy_c_buf_p);
1865 *
yy_cp = (yy_hold_char);
1873 yy_current_state = (yy_start);
1878 if ( yy_accept[yy_current_state] )
1880 (yy_last_accepting_state) = yy_current_state;
1881 (yy_last_accepting_cpos) =
yy_cp;
1883 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1885 yy_current_state = (int) yy_def[yy_current_state];
1886 if ( yy_current_state >= 367 )
1887 yy_c = yy_meta[yy_c];
1889 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1892 while ( yy_current_state != 366 );
1893 yy_cp = (yy_last_accepting_cpos);
1894 yy_current_state = (yy_last_accepting_state);
1898 yy_act = yy_accept[yy_current_state];
1910 fprintf( stderr,
"--scanner backing up\n" );
1912 fprintf( stderr,
"--accepting rule at line %ld (\"%s\")\n",
1915 fprintf( stderr,
"--accepting default rule (\"%s\")\n",
1918 fprintf( stderr,
"--(end of buffer or a NUL)\n" );
1920 fprintf( stderr,
"--EOF (start condition %d)\n",
YY_START );
1928 *
yy_cp = (yy_hold_char);
1929 yy_cp = (yy_last_accepting_cpos);
1930 yy_current_state = (yy_last_accepting_state);
1931 goto yy_find_action;
1935 #line 133 "netconf_lexer.ll"
1940 #line 135 "netconf_lexer.ll"
1945 #line 137 "netconf_lexer.ll"
1948 comment_start_line = driver.loc_.end.line;;
1953 #line 142 "netconf_lexer.ll"
1958 #line 143 "netconf_lexer.ll"
1962 #line 144 "netconf_lexer.ll"
1969 #line 148 "netconf_lexer.ll"
1974 #line 149 "netconf_lexer.ll"
1979 #line 150 "netconf_lexer.ll"
1984 std::string tmp(
yytext+1);
1985 tmp.resize(tmp.size() - 1);
1987 driver.includeFile(tmp);
1993 #line 159 "netconf_lexer.ll"
2000 #line 162 "netconf_lexer.ll"
2005 #line 165 "netconf_lexer.ll"
2014 #line 170 "netconf_lexer.ll"
2017 driver.loc_.lines(
yyleng);
2023 #line 177 "netconf_lexer.ll"
2025 switch(driver.ctx_) {
2026 case ParserContext::CONFIG:
2027 return NetconfParser::make_NETCONF(driver.loc_);
2029 return NetconfParser::make_STRING(
"Netconf", driver.loc_);
2035 #line 186 "netconf_lexer.ll"
2037 switch(driver.ctx_) {
2038 case ParserContext::NETCONF:
2039 case ParserContext::SERVER:
2040 case ParserContext::CONTROL_SOCKET:
2041 case ParserContext::LOGGERS:
2042 return NetconfParser::make_USER_CONTEXT(driver.loc_);
2044 return NetconfParser::make_STRING(
"user-context", driver.loc_);
2050 #line 198 "netconf_lexer.ll"
2052 switch(driver.ctx_) {
2053 case ParserContext::NETCONF:
2054 case ParserContext::SERVER:
2055 case ParserContext::CONTROL_SOCKET:
2056 case ParserContext::LOGGERS:
2057 return NetconfParser::make_COMMENT(driver.loc_);
2059 return NetconfParser::make_STRING(
"comment", driver.loc_);
2065 #line 210 "netconf_lexer.ll"
2067 switch(driver.ctx_) {
2068 case ParserContext::NETCONF:
2069 case ParserContext::SERVER:
2070 return NetconfParser::make_BOOT_UPDATE(driver.loc_);
2072 return NetconfParser::make_STRING(
"boot-update", driver.loc_);
2078 #line 220 "netconf_lexer.ll"
2080 switch(driver.ctx_) {
2081 case ParserContext::NETCONF:
2082 case ParserContext::SERVER:
2083 return NetconfParser::make_SUBSCRIBE_CHANGES(driver.loc_);
2085 return NetconfParser::make_STRING(
"subscribe-changes", driver.loc_);
2091 #line 230 "netconf_lexer.ll"
2093 switch(driver.ctx_) {
2094 case ParserContext::NETCONF:
2095 case ParserContext::SERVER:
2096 return NetconfParser::make_VALIDATE_CHANGES(driver.loc_);
2098 return NetconfParser::make_STRING(
"validate-changes", driver.loc_);
2104 #line 240 "netconf_lexer.ll"
2106 switch(driver.ctx_) {
2107 case ParserContext::NETCONF:
2108 return NetconfParser::make_MANAGED_SERVERS(driver.loc_);
2110 return NetconfParser::make_STRING(
"managed-servers", driver.loc_);
2116 #line 249 "netconf_lexer.ll"
2118 switch(driver.ctx_) {
2119 case ParserContext::MANAGED_SERVERS:
2120 return NetconfParser::make_DHCP4_SERVER(driver.loc_);
2122 return NetconfParser::make_STRING(
"dhcp4", driver.loc_);
2128 #line 258 "netconf_lexer.ll"
2130 switch(driver.ctx_) {
2131 case ParserContext::MANAGED_SERVERS:
2132 return NetconfParser::make_DHCP6_SERVER(driver.loc_);
2134 return NetconfParser::make_STRING(
"dhcp6", driver.loc_);
2140 #line 267 "netconf_lexer.ll"
2142 switch(driver.ctx_) {
2143 case ParserContext::MANAGED_SERVERS:
2144 return NetconfParser::make_D2_SERVER(driver.loc_);
2146 return NetconfParser::make_STRING(
"d2", driver.loc_);
2152 #line 276 "netconf_lexer.ll"
2154 switch(driver.ctx_) {
2155 case ParserContext::MANAGED_SERVERS:
2156 return NetconfParser::make_CA_SERVER(driver.loc_);
2158 return NetconfParser::make_STRING(
"ca", driver.loc_);
2164 #line 285 "netconf_lexer.ll"
2166 switch(driver.ctx_) {
2167 case ParserContext::SERVER:
2168 return NetconfParser::make_MODEL(driver.loc_);
2170 return NetconfParser::make_STRING(
"model", driver.loc_);
2176 #line 294 "netconf_lexer.ll"
2178 switch(driver.ctx_) {
2179 case ParserContext::SERVER:
2180 return NetconfParser::make_CONTROL_SOCKET(driver.loc_);
2182 return NetconfParser::make_STRING(
"control-socket", driver.loc_);
2188 #line 303 "netconf_lexer.ll"
2190 switch(driver.ctx_) {
2191 case ParserContext::SOCKET_TYPE:
2192 return NetconfParser::make_UNIX(driver.loc_);
2194 return NetconfParser::make_STRING(
"unix", driver.loc_);
2200 #line 312 "netconf_lexer.ll"
2202 switch(driver.ctx_) {
2203 case ParserContext::SOCKET_TYPE:
2204 return NetconfParser::make_HTTP(driver.loc_);
2206 return NetconfParser::make_STRING(
"http", driver.loc_);
2212 #line 321 "netconf_lexer.ll"
2214 switch(driver.ctx_) {
2215 case ParserContext::SOCKET_TYPE:
2216 return NetconfParser::make_STDOUT(driver.loc_);
2218 return NetconfParser::make_STRING(
"stdout", driver.loc_);
2224 #line 330 "netconf_lexer.ll"
2226 switch(driver.ctx_) {
2227 case ParserContext::CONTROL_SOCKET:
2228 return NetconfParser::make_SOCKET_TYPE(driver.loc_);
2230 return NetconfParser::make_STRING(
"socket-type", driver.loc_);
2236 #line 339 "netconf_lexer.ll"
2238 switch(driver.ctx_) {
2239 case ParserContext::CONTROL_SOCKET:
2240 return NetconfParser::make_SOCKET_NAME(driver.loc_);
2242 return NetconfParser::make_STRING(
"socket-name", driver.loc_);
2248 #line 348 "netconf_lexer.ll"
2250 switch(driver.ctx_) {
2251 case ParserContext::CONTROL_SOCKET:
2252 return NetconfParser::make_SOCKET_URL(driver.loc_);
2254 return NetconfParser::make_STRING(
"socket-url", driver.loc_);
2260 #line 357 "netconf_lexer.ll"
2262 switch(driver.ctx_) {
2263 case ParserContext::NETCONF:
2264 return NetconfParser::make_HOOKS_LIBRARIES(driver.loc_);
2266 return NetconfParser::make_STRING(
"hooks-libraries", driver.loc_);
2272 #line 366 "netconf_lexer.ll"
2274 switch(driver.ctx_) {
2275 case ParserContext::HOOKS_LIBRARIES:
2276 return NetconfParser::make_LIBRARY(driver.loc_);
2278 return NetconfParser::make_STRING(
"library", driver.loc_);
2284 #line 375 "netconf_lexer.ll"
2286 switch(driver.ctx_) {
2287 case ParserContext::HOOKS_LIBRARIES:
2288 return NetconfParser::make_PARAMETERS(driver.loc_);
2290 return NetconfParser::make_STRING(
"parameters", driver.loc_);
2296 #line 384 "netconf_lexer.ll"
2298 switch(driver.ctx_) {
2299 case ParserContext::CONFIG:
2300 return NetconfParser::make_LOGGING(driver.loc_);
2302 return NetconfParser::make_STRING(
"Logging", driver.loc_);
2308 #line 393 "netconf_lexer.ll"
2310 switch(driver.ctx_) {
2311 case ParserContext::LOGGING:
2312 return NetconfParser::make_LOGGERS(driver.loc_);
2314 return NetconfParser::make_STRING(
"loggers", driver.loc_);
2320 #line 402 "netconf_lexer.ll"
2322 switch(driver.ctx_) {
2323 case ParserContext::LOGGERS:
2324 return NetconfParser::make_NAME(driver.loc_);
2326 return NetconfParser::make_STRING(
"name", driver.loc_);
2332 #line 411 "netconf_lexer.ll"
2334 switch(driver.ctx_) {
2335 case ParserContext::LOGGERS:
2336 return NetconfParser::make_OUTPUT_OPTIONS(driver.loc_);
2338 return NetconfParser::make_STRING(
"output_options", driver.loc_);
2344 #line 420 "netconf_lexer.ll"
2346 switch(driver.ctx_) {
2347 case ParserContext::OUTPUT_OPTIONS:
2348 return NetconfParser::make_OUTPUT(driver.loc_);
2350 return NetconfParser::make_STRING(
"output", driver.loc_);
2356 #line 429 "netconf_lexer.ll"
2358 switch(driver.ctx_) {
2359 case ParserContext::OUTPUT_OPTIONS:
2360 return NetconfParser::make_FLUSH(driver.loc_);
2362 return NetconfParser::make_STRING(
"flush", driver.loc_);
2368 #line 438 "netconf_lexer.ll"
2370 switch(driver.ctx_) {
2371 case ParserContext::OUTPUT_OPTIONS:
2372 return NetconfParser::make_MAXSIZE(driver.loc_);
2374 return NetconfParser::make_STRING(
"maxsize", driver.loc_);
2380 #line 447 "netconf_lexer.ll"
2382 switch(driver.ctx_) {
2383 case ParserContext::OUTPUT_OPTIONS:
2384 return NetconfParser::make_MAXVER(driver.loc_);
2386 return NetconfParser::make_STRING(
"maxver", driver.loc_);
2392 #line 456 "netconf_lexer.ll"
2394 switch(driver.ctx_) {
2395 case ParserContext::LOGGERS:
2396 return NetconfParser::make_DEBUGLEVEL(driver.loc_);
2398 return NetconfParser::make_STRING(
"debuglevel", driver.loc_);
2404 #line 465 "netconf_lexer.ll"
2406 switch(driver.ctx_) {
2407 case ParserContext::LOGGERS:
2408 return NetconfParser::make_SEVERITY(driver.loc_);
2410 return NetconfParser::make_STRING(
"severity", driver.loc_);
2416 #line 474 "netconf_lexer.ll"
2421 std::string raw(
yytext+1);
2422 size_t len = raw.size() - 1;
2424 std::string decoded;
2425 decoded.reserve(len);
2426 for (
size_t pos = 0; pos < len; ++pos) {
2432 driver.error(driver.loc_,
"Bad quote in \"" + raw +
"\"");
2438 driver.error(driver.loc_,
"Overflow escape in \"" + raw +
"\"");
2445 decoded.push_back(c);
2448 decoded.push_back(
'\b');
2451 decoded.push_back(
'\f');
2454 decoded.push_back(
'\n');
2457 decoded.push_back(
'\r');
2460 decoded.push_back(
'\t');
2465 if (pos + 4 > len) {
2467 driver.error(driver.loc_,
2468 "Overflow unicode escape in \"" + raw +
"\"");
2470 if ((raw[pos] !=
'0') || (raw[pos + 1] !=
'0')) {
2471 driver.error(driver.loc_,
"Unsupported unicode escape in \"" + raw +
"\"");
2475 if ((c >=
'0') && (c <=
'9')) {
2477 }
else if ((c >=
'A') && (c <=
'F')) {
2478 b = (c -
'A' + 10) << 4;
2479 }
else if ((c >=
'a') && (c <=
'f')) {
2480 b = (c -
'a' + 10) << 4;
2483 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
2487 if ((c >=
'0') && (c <=
'9')) {
2489 }
else if ((c >=
'A') && (c <=
'F')) {
2491 }
else if ((c >=
'a') && (c <=
'f')) {
2495 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
2497 decoded.push_back(
static_cast<char>(b & 0xff));
2501 driver.error(driver.loc_,
"Bad escape in \"" + raw +
"\"");
2505 if ((c >= 0) && (c < 0x20)) {
2507 driver.error(driver.loc_,
"Invalid control in \"" + raw +
"\"");
2509 decoded.push_back(c);
2513 return NetconfParser::make_STRING(decoded, driver.loc_);
2519 #line 573 "netconf_lexer.ll"
2522 driver.error(driver.loc_,
"Invalid control in " + std::string(
yytext));
2528 #line 578 "netconf_lexer.ll"
2531 driver.error(driver.loc_,
"Bad escape in " + std::string(
yytext));
2536 #line 583 "netconf_lexer.ll"
2539 driver.error(driver.loc_,
"Overflow escape in " + std::string(
yytext));
2544 #line 588 "netconf_lexer.ll"
2545 {
return NetconfParser::make_LSQUARE_BRACKET(driver.loc_); }
2549 #line 589 "netconf_lexer.ll"
2550 {
return NetconfParser::make_RSQUARE_BRACKET(driver.loc_); }
2554 #line 590 "netconf_lexer.ll"
2555 {
return NetconfParser::make_LCURLY_BRACKET(driver.loc_); }
2559 #line 591 "netconf_lexer.ll"
2560 {
return NetconfParser::make_RCURLY_BRACKET(driver.loc_); }
2564 #line 592 "netconf_lexer.ll"
2565 {
return NetconfParser::make_COMMA(driver.loc_); }
2569 #line 593 "netconf_lexer.ll"
2570 {
return NetconfParser::make_COLON(driver.loc_); }
2574 #line 595 "netconf_lexer.ll"
2578 int64_t integer = 0;
2584 integer = boost::lexical_cast<int64_t>(tmp);
2585 }
catch (
const boost::bad_lexical_cast &) {
2586 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
2590 return NetconfParser::make_INTEGER(integer, driver.loc_);
2595 #line 613 "netconf_lexer.ll"
2601 fp = boost::lexical_cast<double>(tmp);
2602 }
catch (
const boost::bad_lexical_cast &) {
2603 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to a floating point.");
2606 return NetconfParser::make_FLOAT(fp, driver.loc_);
2611 #line 626 "netconf_lexer.ll"
2614 return NetconfParser::make_BOOLEAN(tmp ==
"true", driver.loc_);
2619 #line 631 "netconf_lexer.ll"
2621 return NetconfParser::make_NULL_TYPE(driver.loc_);
2626 #line 635 "netconf_lexer.ll"
2627 driver.error (driver.loc_,
"JSON true reserved keyword is lower case only");
2631 #line 637 "netconf_lexer.ll"
2632 driver.error (driver.loc_,
"JSON false reserved keyword is lower case only");
2636 #line 639 "netconf_lexer.ll"
2637 driver.error (driver.loc_,
"JSON null reserved keyword is lower case only");
2641 #line 641 "netconf_lexer.ll"
2642 driver.error (driver.loc_,
"Invalid character: " + std::string(
yytext));
2645 #line 643 "netconf_lexer.ll"
2647 if (driver.states_.empty()) {
2648 return NetconfParser::make_END(driver.loc_);
2650 driver.loc_ = driver.locs_.back();
2651 driver.locs_.pop_back();
2652 driver.file_ = driver.files_.back();
2653 driver.files_.pop_back();
2654 if (driver.sfile_) {
2655 fclose(driver.sfile_);
2658 if (!driver.sfiles_.empty()) {
2659 driver.sfile_ = driver.sfiles_.back();
2660 driver.sfiles_.pop_back();
2663 netconf__switch_to_buffer(driver.states_.back());
2664 driver.states_.pop_back();
2671 #line 666 "netconf_lexer.ll"
2674 #line 2674 "netconf_lexer.cc"
2682 *
yy_cp = (yy_hold_char);
2716 (yy_c_buf_p) = (
yytext_ptr) + yy_amount_of_matched_text;
2718 yy_current_state = yy_get_previous_state( );
2729 yy_next_state = yy_try_NUL_trans( yy_current_state );
2733 if ( yy_next_state )
2736 yy_cp = ++(yy_c_buf_p);
2737 yy_current_state = yy_next_state;
2744 yy_cp = (yy_last_accepting_cpos);
2745 yy_current_state = (yy_last_accepting_state);
2746 goto yy_find_action;
2750 else switch ( yy_get_next_buffer( ) )
2754 (yy_did_buffer_switch_on_eof) = 0;
2775 if ( ! (yy_did_buffer_switch_on_eof) )
2785 yy_current_state = yy_get_previous_state( );
2787 yy_cp = (yy_c_buf_p);
2795 yy_current_state = yy_get_previous_state( );
2797 yy_cp = (yy_c_buf_p);
2799 goto yy_find_action;
2806 "fatal flex scanner internal error--no action found" );
2827 static int yy_get_next_buffer (
void)
2834 int number_to_move, i;
2839 "fatal flex scanner internal error--end of buffer missed" );
2863 number_to_move = (int) ((yy_c_buf_p) - (
yytext_ptr) - 1);
2865 for ( i = 0; i < number_to_move; ++i )
2866 *(dest++) = *(source++);
2879 while ( num_to_read <= 0 )
2885 int yy_c_buf_p_offset =
2892 if ( new_size <= 0 )
2908 "fatal error - scanner input buffer overflow" );
2910 (yy_c_buf_p) = &b->
yy_ch_buf[yy_c_buf_p_offset];
2922 (yy_n_chars), num_to_read );
2927 if ( (yy_n_chars) == 0 )
2948 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
2952 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
2957 (yy_n_chars) += number_to_move;
2979 yy_current_state = (yy_start);
2985 if ( yy_accept[yy_current_state] )
2987 (yy_last_accepting_state) = yy_current_state;
2988 (yy_last_accepting_cpos) =
yy_cp;
2990 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2992 yy_current_state = (int) yy_def[yy_current_state];
2993 if ( yy_current_state >= 367 )
2994 yy_c = yy_meta[yy_c];
2996 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2999 return yy_current_state;
3015 char *
yy_cp = (yy_c_buf_p);
3018 if ( yy_accept[yy_current_state] )
3020 (yy_last_accepting_state) = yy_current_state;
3021 (yy_last_accepting_cpos) =
yy_cp;
3023 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3025 yy_current_state = (int) yy_def[yy_current_state];
3026 if ( yy_current_state >= 367 )
3027 yy_c = yy_meta[yy_c];
3029 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3030 yy_is_jam = (yy_current_state == 366);
3032 return yy_is_jam ? 0 : yy_current_state;
3044 static int yyinput (
void)
3046 static int input (
void)
3055 *(yy_c_buf_p) = (yy_hold_char);
3065 *(yy_c_buf_p) =
'\0';
3069 int offset = (int) ((yy_c_buf_p) - (
yytext_ptr));
3072 switch ( yy_get_next_buffer( ) )
3095 if ( ! (yy_did_buffer_switch_on_eof) )
3111 c = *(
unsigned char *) (yy_c_buf_p);
3112 *(yy_c_buf_p) =
'\0';
3113 (yy_hold_char) = *++(yy_c_buf_p);
3171 *(yy_c_buf_p) = (yy_hold_char);
3184 (yy_did_buffer_switch_on_eof) = 1;
3200 (yy_hold_char) = *(yy_c_buf_p);
3348 if (new_buffer == NULL)
3357 *(yy_c_buf_p) = (yy_hold_char);
3364 (yy_buffer_stack_top)++;
3369 (yy_did_buffer_switch_on_eof) = 1;
3389 if ((yy_buffer_stack_top) > 0)
3390 --(yy_buffer_stack_top);
3394 (yy_did_buffer_switch_on_eof) = 1;
3411 if (!(yy_buffer_stack)) {
3421 if ( ! (yy_buffer_stack) )
3422 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
3424 memset((yy_buffer_stack), 0, num_to_alloc *
sizeof(
struct yy_buffer_state*));
3426 (yy_buffer_stack_max) = num_to_alloc;
3427 (yy_buffer_stack_top) = 0;
3431 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3436 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3441 if ( ! (yy_buffer_stack) )
3442 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
3445 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size *
sizeof(
struct yy_buffer_state*));
3446 (yy_buffer_stack_max) = num_to_alloc;
3525 for ( i = 0; i < _yybytes_len; ++i )
3526 buf[i] = yybytes[i];
3543 #ifndef YY_EXIT_FAILURE
3544 #define YY_EXIT_FAILURE 2
3548 static void yynoreturn yy_fatal_error (
const char* msg )
3550 fprintf( stderr,
"%s\n", msg );
3564 int yyless_macro_arg = (n); \
3565 YY_LESS_LINENO(yyless_macro_arg);\
3566 yytext[yyleng] = (yy_hold_char); \
3567 (yy_c_buf_p) = yytext + yyless_macro_arg; \
3568 (yy_hold_char) = *(yy_c_buf_p); \
3569 *(yy_c_buf_p) = '\0'; \
3570 yyleng = yyless_macro_arg; \
3669 static int yy_init_globals (
void)
3675 (yy_buffer_stack) = NULL;
3676 (yy_buffer_stack_top) = 0;
3677 (yy_buffer_stack_max) = 0;
3678 (yy_c_buf_p) = NULL;
3711 yyfree((yy_buffer_stack) );
3712 (yy_buffer_stack) = NULL;
3729 static void yy_flex_strncpy (
char* s1,
const char * s2,
int n )
3733 for ( i = 0; i < n; ++i )
3738 #ifdef YY_NEED_STRLEN
3739 static int yy_flex_strlen (
const char * s )
3742 for ( n = 0; s[n]; ++n )
3751 return malloc(size);
3764 return realloc(ptr, size);
3769 free( (
char *) ptr );
3774 #define YYTABLES_NAME "yytables"
3779 #line 666 "netconf_lexer.ll"
3785 ParserContext::scanStringBegin(
const std::string& str,
ParserType parser_type)
3787 start_token_flag =
true;
3788 start_token_value = parser_type;
3792 loc_.initialize(&file_);
3795 buffer = netconf__scan_bytes(str.c_str(), str.size());
3797 fatal(
"cannot scan string");
3803 ParserContext::scanFileBegin(FILE * f,
3804 const std::string& filename,
3807 start_token_flag =
true;
3808 start_token_value = parser_type;
3812 loc_.initialize(&file_);
3817 buffer = netconf__create_buffer(f, 65536 );
3819 fatal(
"cannot scan file " + filename);
3821 netconf__switch_to_buffer(buffer);
3825 ParserContext::scanEnd() {
3829 static_cast<void>(netconf_lex_destroy());
3831 while (!sfiles_.empty()) {
3832 FILE* f = sfiles_.back();
3839 while (!states_.empty()) {
3840 netconf__delete_buffer(states_.back());
3846 ParserContext::includeFile(
const std::string& filename) {
3847 if (states_.size() > 10) {
3848 fatal(
"Too many nested include.");
3851 FILE* f = fopen(filename.c_str(),
"r");
3853 fatal(
"Can't open include file " + filename);
3856 sfiles_.push_back(sfile_);
3861 buffer = netconf__create_buffer(f, 65536 );
3863 fatal(
"Can't scan include file " + filename);
3865 netconf__switch_to_buffer(buffer);
3866 files_.push_back(file_);
3868 locs_.push_back(loc_);
3869 loc_.initialize(&file_);
3878 void dummy() { yy_fatal_error(
"Fix me: how to disable its definition?"); }