]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#65,!65] regen flex/bison
authorFrancis Dupont <fdupont@isc.org>
Tue, 9 Oct 2018 21:21:56 +0000 (21:21 +0000)
committerFrancis Dupont <fdupont@isc.org>
Tue, 9 Oct 2018 21:21:56 +0000 (21:21 +0000)
src/bin/netconf/location.hh
src/bin/netconf/netconf_lexer.cc
src/bin/netconf/netconf_parser.cc
src/bin/netconf/netconf_parser.h
src/bin/netconf/position.hh
src/bin/netconf/stack.hh

index f44548e0d2032d9b8377bdc2ec9546cca4709107..5369188d2e287c861bfc48a2d5bd4db4bc2cc7fc 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201809281126
+// Generated 201810092120
 // A Bison parser, made by GNU Bison 3.0.5.
 
 // Locations for Bison parsers in C++
index e21369136cae431d1d67eab48fa8fa65cfb6160e..5f55acdc7e165602b1e7b5fe964f9f65917f944a 100644 (file)
@@ -691,8 +691,8 @@ static void yynoreturn yy_fatal_error ( const char* msg  );
 /* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\
        (yy_c_buf_p) = yy_cp;
 /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
-#define YY_NUM_RULES 59
-#define YY_END_OF_BUFFER 60
+#define YY_NUM_RULES 62
+#define YY_END_OF_BUFFER 63
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -700,43 +700,48 @@ struct yy_trans_info
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
-static const flex_int16_t yy_accept[321] =
+static const flex_int16_t yy_accept[367] =
     {   0,
-       52,   52,    0,    0,    0,    0,    0,    0,    0,    0,
-       60,   58,   10,   11,   58,    1,   52,   49,   52,   52,
-       58,   51,   50,   58,   58,   58,   58,   58,   45,   46,
-       58,   58,   58,   47,   48,    5,    5,    5,   58,   58,
-       58,   10,   11,    0,    0,   41,    0,    0,    0,    0,
+       55,   55,    0,    0,    0,    0,    0,    0,    0,    0,
+       63,   61,   10,   11,   61,    1,   55,   52,   55,   55,
+       61,   54,   53,   61,   61,   61,   61,   61,   48,   49,
+       61,   61,   61,   50,   51,    5,    5,    5,   61,   61,
+       61,   10,   11,    0,    0,   44,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        1,   52,   52,    0,   51,   52,    3,    2,    6,    0,
-       52,    0,    0,    0,    0,    0,    0,    4,    0,    0,
-        9,    0,   42,    0,    0,    0,    0,   44,    0,    0,
+        0,    0,    1,   55,   55,    0,   54,   55,    3,    2,
+        6,    0,   55,    0,    0,    0,    0,    0,    0,    4,
+        0,    0,    9,    0,   45,    0,    0,    0,    0,   47,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    2,
-        0,    0,    0,    0,    0,    0,    0,    8,    0,    0,
-        0,    0,   43,    0,   19,    0,    0,   18,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,   57,   55,    0,
-       54,   53,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    2,    0,    0,    0,    0,    0,
+        0,    0,    8,    0,    0,    0,    0,   46,    0,    0,
+       22,    0,    0,   21,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   56,   53,
+        0,    0,    0,    0,    0,   60,   58,    0,   57,   56,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,   23,    0,    0,    0,    0,    0,    0,   33,
-
-        0,    0,    0,    0,    0,   22,    0,    0,    0,    0,
-        0,    0,    0,    0,   16,   17,   36,    0,    0,    0,
-        0,    0,    0,   20,    0,    0,    0,    0,    0,    0,
-        7,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,   38,   35,    0,    0,    0,    0,   24,    0,   31,
-       12,   14,    0,    0,    0,   29,   32,    0,   37,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,   40,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   39,    0,
-        0,    0,   30,    0,    0,   27,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,   59,
+       56,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+
+        0,    0,    0,    0,   26,    0,    0,    0,    0,    0,
+        0,   36,    0,    0,    0,    0,    0,    0,   25,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,   19,
+       20,   39,    0,    0,    0,    0,    0,    0,   23,    0,
+        0,    0,    0,    0,    0,    0,    0,    7,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,   41,
+       38,    0,    0,    0,    0,   27,    0,    0,    0,   34,
+       12,    0,   14,    0,    0,    0,   32,   35,    0,   40,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,   43,    0,    0,    0,
 
-        0,   26,   25,    0,    0,    0,    0,    0,   13,    0,
-        0,    0,    0,   21,    0,    0,   34,   28,   15,    0
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,   42,    0,
+        0,    0,   33,    0,    0,   30,    0,    0,    0,   15,
+        0,    0,    0,    0,   29,   28,    0,    0,    0,    0,
+        0,    0,    0,    0,   13,    0,    0,    0,    0,    0,
+        0,    0,   24,    0,    0,   37,    0,    0,   31,   18,
+        0,    0,    0,   17,   16,    0
     } ;
 
 static const YY_CHAR yy_ec[256] =
@@ -781,89 +786,97 @@ static const YY_CHAR yy_meta[61] =
         5,    3,    5,    5,    3,    3,    3,    3,    3,    3
     } ;
 
-static const flex_int16_t yy_base[334] =
+static const flex_int16_t yy_base[380] =
     {   0,
         0,    0,   59,   62,   65,    0,   63,   67,   47,   64,
-      277, 2083,   84,  269,  125,    0,  105, 2083,  120,  125,
-       85,  166, 2083,  250,  139,   65,   69,   82, 2083, 2083,
-       80,   84,  118, 2083, 2083, 2083,   92,  253,  211,    0,
-      235,  110,  243,   97,  183, 2083,  190,  196,  194,  207,
-      218,  251,  261,  267,  273,  279,  285,  301,  318,  324,
-        0,  326,  363,  338,  369,  374, 2083,    0, 2083,  345,
-      380,  121,  168,  157,  169,  179,  172, 2083,  196,  198,
-     2083,  137, 2083,  133,  398,  404,  170,  330,  444,  410,
-      416,  422,  469,  485,  444,  491,  498,  506,  432,  513,
-
-      519,  526,  532,  547,  554,  561,  569,  580,  587,    0,
-      189,  186,  177,  208,  204,  198,  116, 2083,    0,  604,
-      615,  155, 2083,  640, 2083,  627,  633, 2083,  639,  667,
-      681,  689,  695,  702,  709,  723,  717,  735,  746,  759,
-      775,  781,  787,  793,  800,  816,  204, 2083, 2083,  225,
-     2083, 2083,  105,    0,  822,  828,  864,  835,  857,  851,
-      893,  910,  916,  922,  928,  934,  944,  956,  969,  977,
-      989,  995, 1005, 1011, 1018, 1024, 1030, 1039, 2083, 2083,
-      118,    0, 1053, 1063, 1098, 1092, 1125, 1073, 1140, 1146,
-     1153, 1159, 2083, 1165, 1174, 1181, 1187, 1193, 1199, 2083,
-
-     1207, 1216, 1228, 1235, 1245, 2083, 1251,   64,    0, 1261,
-     1268, 1274, 1280, 1289, 2083, 2083, 2083, 1309, 1315, 1329,
-     1335, 1343, 1351, 2083, 1357, 1363, 1376, 1392, 1385, 1398,
-     2083, 1404, 1411, 1418, 1432, 1439, 1447, 1453, 1460, 1467,
-     1473, 2083, 2083, 1481, 1495, 1501, 1507, 2083, 1514, 2083,
-     2083, 2083, 1520, 1530, 1536, 2083, 2083, 1542, 2083, 1548,
-     1576, 1582, 1589, 1598, 1605, 1611, 1617, 1627, 1634, 1646,
-     1656, 1668, 2083, 1674, 1681, 1689, 1696, 1709, 1722, 1731,
-     1737, 1743, 1750, 1756, 1771, 1779, 1789, 1796, 2083, 1804,
-     1813, 1824, 2083, 1830, 1837, 2083, 1846, 1858, 1874, 1880,
-
-     1886, 2083, 2083, 1894, 1900, 1908, 1922, 1929, 2083, 1936,
-     1943, 1955, 1964, 2083, 1976, 1983, 2083, 2083, 2083, 2083,
-     2016, 2023, 2030, 2037, 2044, 2051, 2058, 2062, 2067, 2069,
-     2071, 2073, 2075
+      291, 2481,   84,  286,  125,    0,  105, 2481,  120,  125,
+       85,  169, 2481,  262,  139,   65,   69,   82, 2481, 2481,
+       80,   84,  118, 2481, 2481, 2481,   92,  269,  230,    0,
+      256,  110,  270,   97,  186, 2481,  193,  199,  197,  210,
+      219,  234,  255,  263,  269,  278,  284,  291,  297,  303,
+      320,  338,    0,  345,  363,  375,  381,  385, 2481,    0,
+     2481,  332,  349,  121,  144,  128,  152,  171,  160, 2481,
+      222,  248, 2481,  198, 2481,  169,  405,  411,  209,  417,
+      451,  428,  439,  450,  478,  493,  499,  506,  512,  518,
+
+      532,  540,  546,  552,  574,  586,  594,  602,  608,  614,
+      622,  628,  648,  661,    0,  177,  181,  184,  189,  207,
+      204,  130, 2481,    0,  667,  673,  155, 2481,  698,  695,
+     2481,  683,  723, 2481,  739,  748,  756,  762,  768,  776,
+      782,  810,  819,  827,  833,  839,  847,  853,  862,  875,
+      895,  903,  909,  917,  222, 2481, 2481,  223, 2481, 2481,
+      103,    0,  924,  931,  967,  937,  992, 1008,  943, 1014,
+     1020, 1032, 1042, 1049, 1055, 1065, 1071, 1077, 1088, 1099,
+     1110, 1121, 1127, 1134, 1143, 1149, 1155, 1169, 1183, 2481,
+     2481,  104,    0, 1190, 1197, 1232, 1204, 1211, 1218, 1230,
+
+     1259, 1276, 1282, 1288, 2481, 1294, 1300, 1310, 1316, 1322,
+     1328, 2481, 1334, 1351, 1357, 1363, 1369, 1375, 2481, 1391,
+     1397,   64,    0, 1403, 1409, 1437, 1445, 1451, 1459, 2481,
+     2481, 2481, 1470, 1479, 1487, 1499, 1507, 1516, 2481, 1522,
+     1528, 1540, 1557, 1550, 1563, 1569, 1576, 2481, 1583, 1597,
+     1609, 1618, 1625, 1631, 1637, 1643, 1651, 1660, 1666, 2481,
+     2481, 1672, 1686, 1694, 1700, 2481, 1706, 1712, 1722, 2481,
+     2481, 1728, 2481, 1734, 1767, 1773, 2481, 2481, 1779, 2481,
+     1786, 1792, 1802, 1812, 1820, 1827, 1836, 1848, 1855, 1861,
+     1869, 1883, 1889, 1897, 1903, 1909, 2481, 1918, 1925, 1943,
+
+     1951, 1965, 1971, 1977, 1985, 1991, 2000, 2010, 2019, 2025,
+     2036, 2044, 2053, 2064, 2072, 2079, 2086, 2092, 2481, 2098,
+     2105, 2112, 2481, 2133, 2140, 2481, 2149, 2156, 2162, 2481,
+     2168, 2174, 2182, 2210, 2481, 2481, 2218, 2224, 2230, 2236,
+     2243, 2258, 2264, 2271, 2481, 2278, 2284, 2292, 2299, 2312,
+     2320, 2327, 2481, 2333, 2340, 2481, 2346, 2355, 2481, 2481,
+     2362, 2368, 2375, 2481, 2481, 2481, 2414, 2421, 2428, 2435,
+     2442, 2449, 2456, 2460, 2465, 2467, 2469, 2471, 2473
     } ;
 
-static const flex_int16_t yy_def[334] =
+static const flex_int16_t yy_def[380] =
     {   0,
-      320,    1,  321,  321,    1,    5,    5,    5,    5,    5,
-      320,  320,  320,  320,  322,  323,  320,  320,  320,  320,
-      320,  320,  320,  320,  320,  320,  320,  320,  320,  320,
-      320,  320,  320,  320,  320,  320,  320,  320,  320,  324,
-      320,  320,  320,  325,  322,  320,  322,  322,  326,  322,
-      322,  322,  322,  322,  322,  322,  322,  322,  322,  322,
-      323,  320,  320,  320,  320,  320,  320,  327,  320,  320,
-      320,  320,  320,  320,  320,  320,  320,  320,  320,  324,
-      320,  325,  320,  328,  322,  322,  329,  322,  326,  322,
-      322,  322,  322,  322,  322,  322,  322,  322,  322,  322,
-
-      322,  322,  322,  322,  322,  322,  322,  322,  322,  327,
-      320,  320,  320,  320,  320,  320,  320,  320,  330,  322,
-      322,  329,  320,  326,  320,  322,  322,  320,  322,  322,
-      322,  322,  322,  322,  322,  322,  322,  322,  322,  322,
-      322,  322,  322,  322,  322,  322,  320,  320,  320,  320,
-      320,  320,  320,  331,  322,  322,  326,  322,  322,  322,
-      322,  322,  322,  322,  322,  322,  322,  322,  322,  322,
-      322,  322,  322,  322,  322,  322,  322,  322,  320,  320,
-      320,  332,  322,  322,  326,  322,  322,  322,  322,  322,
-      322,  322,  320,  322,  322,  322,  322,  322,  322,  320,
-
-      322,  322,  322,  322,  322,  320,  322,  320,  333,  322,
-      322,  322,  322,  322,  320,  320,  320,  322,  322,  322,
-      322,  322,  322,  320,  322,  322,  322,  322,  322,  322,
-      320,  322,  322,  322,  322,  322,  322,  322,  322,  322,
-      322,  320,  320,  322,  322,  322,  322,  320,  322,  320,
-      320,  320,  322,  322,  322,  320,  320,  322,  320,  322,
-      322,  322,  322,  322,  322,  322,  322,  322,  322,  322,
-      322,  322,  320,  322,  322,  322,  322,  322,  322,  322,
-      322,  322,  322,  322,  322,  322,  322,  322,  320,  322,
-      322,  322,  320,  322,  322,  320,  322,  322,  322,  322,
-
-      322,  320,  320,  322,  322,  322,  322,  322,  320,  322,
-      322,  322,  322,  320,  322,  322,  320,  320,  320,    0,
-      320,  320,  320,  320,  320,  320,  320,  320,  320,  320,
-      320,  320,  320
+      366,    1,  367,  367,    1,    5,    5,    5,    5,    5,
+      366,  366,  366,  366,  368,  369,  366,  366,  366,  366,
+      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
+      366,  366,  366,  366,  366,  366,  366,  366,  366,  370,
+      366,  366,  366,  371,  368,  366,  368,  368,  372,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  369,  366,  366,  366,  366,  366,  366,  373,
+      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
+      366,  370,  366,  371,  366,  374,  368,  368,  375,  368,
+      372,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  373,  366,  366,  366,  366,  366,
+      366,  366,  366,  376,  368,  368,  375,  366,  372,  368,
+      366,  368,  368,  366,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  366,  366,  366,  366,  366,  366,
+      366,  377,  368,  368,  372,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  366,
+      366,  366,  378,  368,  368,  372,  368,  368,  368,  368,
+
+      368,  368,  368,  368,  366,  368,  368,  368,  368,  368,
+      368,  366,  368,  368,  368,  368,  368,  368,  366,  368,
+      368,  366,  379,  368,  368,  368,  368,  368,  368,  366,
+      366,  366,  368,  368,  368,  368,  368,  368,  366,  368,
+      368,  368,  368,  368,  368,  368,  368,  366,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  366,
+      366,  368,  368,  368,  368,  366,  368,  368,  368,  366,
+      366,  368,  366,  368,  368,  368,  366,  366,  368,  366,
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  366,  368,  368,  368,
+
+      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
+      368,  368,  368,  368,  368,  368,  368,  368,  366,  368,
+      368,  368,  366,  368,  368,  366,  368,  368,  368,  366,
+      368,  368,  368,  368,  366,  366,  368,  368,  368,  368,
+      368,  368,  368,  368,  366,  368,  368,  368,  368,  368,
+      368,  368,  366,  368,  368,  366,  368,  368,  366,  366,
+      368,  368,  368,  366,  366,    0,  366,  366,  366,  366,
+      366,  366,  366,  366,  366,  366,  366,  366,  366
     } ;
 
-static const flex_int16_t yy_nxt[2144] =
+static const flex_int16_t yy_nxt[2542] =
     {   0,
        12,   13,   14,   13,   12,   15,   16,   12,   17,   18,
        19,   20,   21,   22,   22,   22,   22,   23,   24,   12,
@@ -873,237 +886,281 @@ static const flex_int16_t yy_nxt[2144] =
        12,   12,   33,   12,   12,   12,   12,   12,   34,   35,
        37,   14,   37,   37,   14,   37,   38,   41,   40,   38,
        12,   12,   40,   12,   12,   12,   12,   12,   12,   12,
-       12,   12,   12,   12,   41,   42,   72,   42,   12,   12,
-       12,   12,   67,   42,   12,   42,   12,   68,   12,   73,
-
-       72,   72,   83,  231,   12,   12,   12,   12,   39,   74,
-       12,   42,   12,   42,   73,   75,   62,   12,   63,   63,
-       63,   63,   73,   12,   12,   44,   44,   44,   64,   84,
-       46,   62,   74,   65,   65,   65,   65,   76,   66,   66,
-       66,   66,   83,   64,   64,   74,  111,   70,   64,   70,
-       47,   48,   71,   71,   71,   71,  208,   49,  181,   64,
-      123,  153,   50,   51,   64,   52,  111,   53,   77,   84,
-       54,   55,   56,   57,   58,  123,   59,   62,   60,   65,
-       65,   65,   65,   44,   44,   44,  119,  113,   46,   64,
-       44,   44,   44,  112,  111,   46,   44,   44,   44,   88,
-
-      149,   46,  113,  118,  112,   64,   45,   44,   44,   44,
-      113,  148,   46,  112,  114,   49,  149,  147,   44,   44,
-       44,  149,   49,   46,  115,  116,   45,  179,   49,  148,
-       45,  148,   92,  117,   45,   86,  147,  152,   85,   49,
-      147,   45,   90,  179,   45,   43,   45,   89,  179,  151,
-       49,   44,   44,   44,   81,   91,   46,   93,   79,  150,
-       94,   44,   44,   44,  180,   78,   46,   44,   44,   44,
-       69,   43,   46,   44,   44,   44,  320,  320,   46,   44,
-       44,   44,  320,   49,   46,   44,   44,   44,  320,  320,
-       46,  320,  320,   49,  320,  320,   95,  320,  320,   49,
-
-      320,   44,   44,   44,  320,   49,   46,  320,  100,   96,
-       98,   49,  320,   97,  102,   99,  320,   49,   44,   44,
-       44,  101,  320,   46,   44,   44,   44,  320,  320,   46,
-       44,   44,   44,   49,  320,   46,  104,  320,  103,   66,
-       66,   66,   66,  320,  320,  320,   70,  320,   70,   64,
-       49,   71,   71,   71,   71,  320,   49,  105,   71,   71,
-       71,   71,   49,  320,  320,   64,  106,  320,  320,  320,
-      107,  108,  320,  320,   62,  109,   63,   63,   63,   63,
-       62,  320,   65,   65,   65,   65,   64,   66,   66,   66,
-       66,  320,   64,   71,   71,   71,   71,   64,   44,   44,
-
-       44,  320,   64,   46,   44,   44,   44,  320,   64,   46,
-       44,   44,   44,   64,  320,  125,   44,   44,   44,  320,
-      320,   46,   44,   44,   44,  320,  320,  128,  320,  320,
-       49,  320,   44,   44,   44,  320,   49,   46,  320,  120,
-      320,  320,   49,  320,   44,   44,   44,  320,   49,   46,
-      320,  320,  320,  320,   49,  320,  121,  124,  124,  124,
-      124,  320,  126,  127,   49,  124,  124,  124,  124,   44,
-       44,   44,  320,  135,   46,  320,   49,  320,  320,  124,
-      124,  124,  124,  124,  124,   44,   44,   44,  320,  320,
-       46,   44,   44,   44,  320,  320,   46,  131,   44,   44,
-
-       44,   49,  320,   46,  320,  129,   44,   44,   44,  320,
-      320,   46,  320,   44,   44,   44,  320,   49,   46,   44,
-       44,   44,  130,   49,   46,  320,   44,   44,   44,  320,
-       49,   46,   44,   44,   44,  320,  320,   46,   49,  132,
-      320,  320,  134,  320,  320,   49,  320,   44,   44,   44,
-      133,   49,   46,  320,   44,   44,   44,  138,   49,   46,
-      136,   44,   44,   44,   49,  320,   46,  320,  137,   44,
-       44,   44,  139,  320,   46,  320,  320,  320,  320,   49,
-       44,   44,   44,  320,  140,   46,   49,   44,   44,   44,
-      320,  320,   46,   49,  320,  320,  320,  141,  143,  320,
-
-      320,   49,  320,  320,   44,   44,   44,  144,  142,   46,
-      320,  320,   49,  320,  320,   44,   44,   44,  320,   49,
-       46,  320,  320,  145,  320,  320,  146,   44,   44,   44,
-      320,  320,   46,   44,   44,   44,   49,  320,   46,   44,
-       44,   44,  320,  320,   46,  155,  320,   49,  320,  320,
-      320,  320,  156,  157,  157,  157,  157,  320,  320,   49,
-      320,  157,  157,  157,  157,   49,  320,   44,   44,   44,
-      320,   49,   46,  158,  320,  157,  157,  157,  157,  157,
-      157,   44,   44,   44,  320,  159,   46,  320,  320,   44,
-       44,   44,  160,  320,   46,   44,   44,   44,  320,   49,
-
-       46,  320,   44,   44,   44,  320,  320,   46,  320,   44,
-       44,   44,  320,   49,   46,  320,  161,   44,   44,   44,
-      320,   49,   46,   44,   44,   44,  320,   49,   46,  320,
-      320,  320,  162,  163,   49,   44,   44,   44,  320,  320,
-       46,   49,  320,  320,  164,  320,   44,   44,   44,   49,
-      166,   46,  165,  320,  320,   49,  320,  320,  167,   44,
-       44,   44,  320,  320,   46,  320,  320,   49,  168,  320,
-      320,  169,  320,  320,  170,   44,   44,   44,   49,  320,
-       46,   44,   44,   44,  320,  171,   46,   44,   44,   44,
-      320,   49,   46,   44,   44,   44,  320,  320,   46,  320,
-
-       44,   44,   44,  320,  320,   46,  320,   49,  172,  320,
-      173,  320,  320,   49,  320,  320,   44,   44,   44,   49,
-      174,   46,   44,   44,   44,   49,  320,   46,   44,   44,
-       44,  175,   49,   46,  320,   44,   44,   44,  320,  320,
-       46,  176,  320,  320,  320,  320,  320,  320,   49,  320,
-      320,   44,   44,   44,   49,  177,   46,   44,   44,   44,
-       49,  320,   46,  320,  320,  183,  178,   49,  320,  320,
-      320,  320,  320,  320,  186,  320,  184,  185,  185,  185,
-      185,  320,  320,   49,  320,  185,  185,  185,  185,   49,
-      320,  320,  188,   44,   44,   44,  320,  320,   46,  185,
-
-      185,  185,  185,  185,  185,  320,  320,  187,  189,  190,
-       44,   44,   44,  320,  320,   46,   44,   44,   44,  320,
-      320,   46,   44,   44,   44,   49,  320,  193,   44,   44,
-       44,  320,  320,   46,   44,   44,   44,  320,  320,   46,
-      320,  320,   49,  320,   44,   44,   44,  320,   49,   46,
-      320,  320,  191,  320,   49,  320,   44,   44,   44,  320,
-       49,   46,  320,  194,  320,  320,   49,  192,  320,   44,
-       44,   44,  320,  195,   46,  320,   49,   44,   44,   44,
-      320,  320,   46,  320,  320,  196,  320,  320,   49,   44,
-       44,   44,  320,  320,  200,   44,   44,   44,  320,  197,
-
-       46,   49,  320,  320,  320,   44,   44,   44,  198,   49,
-       46,   44,   44,   44,  320,  320,   46,  320,   44,   44,
-       44,   49,  199,   46,   44,   44,   44,   49,  320,   46,
-       44,   44,   44,  320,  320,  206,  320,   49,  320,   44,
-       44,   44,  320,   49,   46,  320,  320,  320,  201,  207,
-       49,  202,  320,   44,   44,   44,   49,  204,   46,  320,
-      320,  203,   49,   44,   44,   44,  320,  320,   46,  320,
-      320,   49,  320,   44,   44,   44,  320,  205,   46,  320,
-      320,  320,  320,  320,  320,   49,  320,  320,  320,  320,
-      320,  320,   44,   44,   44,   49,  320,   46,  320,  320,
-
-      210,  320,  320,  320,  320,   49,  320,  320,  320,  320,
-      211,   45,   45,   45,   45,  320,  320,  320,  214,   45,
-       45,   45,   45,  320,   49,   44,   44,   44,  320,  320,
-       46,  320,  320,   45,   45,   45,   45,   45,   45,  212,
-       44,   44,   44,  320,  320,  215,   44,   44,   44,  320,
-      320,  216,  320,   44,   44,   44,  320,   49,  217,   44,
-       44,   44,  320,  320,   46,   44,   44,   44,  320,  218,
-       46,  320,   49,  213,   44,   44,   44,  320,   49,   46,
-      320,   44,   44,   44,  320,   49,   46,   44,   44,   44,
-      320,   49,   46,   44,   44,   44,  320,   49,   46,   44,
-
-       44,   44,  320,  320,  224,  320,   49,   44,   44,   44,
-      320,  320,   46,   49,  320,  219,   44,   44,   44,   49,
-      221,   46,  320,  320,  220,   49,  320,  320,   44,   44,
-       44,   49,  320,   46,  320,   44,   44,   44,  320,   49,
-       46,  320,  320,  223,  222,   44,   44,   44,   49,  320,
-       46,   44,   44,   44,  320,  226,   46,  320,  320,  225,
-       49,   44,   44,   44,  320,  320,   46,   49,   44,   44,
-       44,  227,  320,   46,   44,   44,   44,   49,  320,   46,
-       44,   44,   44,   49,  320,   46,  320,  228,  230,   44,
-       44,   44,  320,   49,   46,  320,  320,  229,  320,  320,
-
-       49,  320,  232,  320,  320,  320,   49,  320,  233,   44,
-       44,   44,   49,  320,   46,   44,   44,   44,  320,  320,
-       46,   49,  320,  320,  320,  235,  234,  320,  236,   44,
-       44,   44,  320,  320,   46,   44,   44,   44,  320,  320,
-       46,   49,  320,   44,   44,   44,  320,   49,   46,  320,
-      320,   44,   44,   44,  237,  320,  242,   44,   44,   44,
-      320,   49,  243,   44,   44,   44,  320,   49,   46,  320,
-      320,  238,  320,  240,  320,   49,   44,   44,   44,  320,
-      239,   46,  241,   49,  320,   44,   44,   44,  320,   49,
-      248,  244,   44,   44,   44,   49,  320,   46,   44,   44,
-
-       44,  320,  247,   46,   44,   44,   44,  320,   49,  250,
-      320,   44,   44,   44,  320,  245,  251,   49,   44,   44,
-       44,  320,  320,  252,   49,  320,  320,  320,  246,  320,
-       49,  320,   44,   44,   44,  320,   49,   46,  320,   44,
-       44,   44,  253,   49,   46,  320,  249,   44,   44,   44,
-       49,  320,   46,   44,   44,   44,  320,  320,  256,  320,
-       44,   44,   44,  320,   49,  257,  320,   44,   44,   44,
-      320,   49,   46,   44,   44,   44,  320,  258,  259,   49,
-      320,   44,   44,   44,  320,   49,   46,  320,  320,  320,
-      255,  320,   49,  254,  320,   44,   44,   44,  320,   49,
-
-       46,   44,   44,   44,  320,   49,   46,   44,   44,   44,
-      320,  320,   46,   49,   44,   44,   44,  320,  320,   46,
-       44,   44,   44,  320,  320,   46,  320,   49,  320,  260,
-       44,   44,   44,   49,  261,   46,   44,   44,   44,   49,
-      320,   46,   44,   44,   44,  320,   49,   46,   44,   44,
-       44,  320,   49,   46,  263,  320,  320,  262,  320,  264,
-      265,  266,   49,  320,  320,  320,  320,  320,   49,  268,
-      320,  267,  269,  320,   49,  320,   44,   44,   44,  320,
-       49,   46,   44,   44,   44,  320,  320,  273,  320,   44,
-       44,   44,  320,  270,   46,  320,  320,  271,   44,   44,
-
-       44,  320,  320,   46,  320,   44,   44,   44,   49,  320,
-       46,   44,   44,   44,   49,  320,   46,   44,   44,   44,
-      320,   49,   46,  320,  274,  320,  272,   44,   44,   44,
-       49,  320,   46,  320,   44,   44,   44,   49,  320,   46,
-      320,  320,  320,   49,  320,  320,   44,   44,   44,   49,
-      320,   46,  320,  320,  275,  276,   44,   44,   44,   49,
-      320,   46,  320,  277,  320,  278,   49,  320,   44,   44,
-       44,  320,  279,   46,   44,   44,   44,  320,   49,   46,
-      320,   44,   44,   44,  280,  281,   46,  320,   49,   44,
-       44,   44,  320,  320,   46,  320,   44,   44,   44,  320,
-
-       49,   46,  320,  320,  320,  320,   49,  320,  282,   44,
-       44,   44,  320,   49,   46,  320,  320,  320,  320,  283,
-      284,   49,   44,   44,   44,  320,  320,  289,   49,  320,
-      285,   44,   44,   44,  286,  287,   46,   44,   44,   44,
-      320,   49,   46,   44,   44,   44,  288,  320,   46,  320,
-       44,   44,   44,  320,   49,  293,   44,   44,   44,  320,
-      320,   46,  320,   49,  320,  320,  290,  320,  320,   49,
-      320,   44,   44,   44,  320,   49,   46,  320,  320,   44,
-       44,   44,   49,  320,  296,  320,  292,  291,   49,   44,
-       44,   44,  320,  320,   46,  294,   44,   44,   44,  320,
-
-      320,   46,  320,   49,   44,   44,   44,  320,  320,   46,
-      295,   49,  320,   44,   44,   44,  320,  320,   46,  320,
-      320,   49,  320,  320,   44,   44,   44,  320,   49,   46,
-       44,   44,   44,  320,  320,  302,   49,   44,   44,   44,
-      298,  320,  303,  320,  297,   49,   44,   44,   44,  320,
-      320,   46,  320,  320,  299,  320,   49,  320,   44,   44,
-       44,  320,   49,   46,  320,  320,  320,  300,  320,   49,
-      320,  320,  301,  320,   44,   44,   44,  320,   49,   46,
-       44,   44,   44,  320,  320,   46,   44,   44,   44,  320,
-       49,   46,  320,  320,   44,   44,   44,  305,  304,  309,
-
-       44,   44,   44,  320,  320,   46,   49,  320,   44,   44,
-       44,  320,   49,   46,  320,  320,  320,  306,   49,  307,
-      320,  320,   44,   44,   44,  320,   49,   46,  320,   44,
-       44,   44,   49,  308,   46,  320,   44,   44,   44,  320,
-       49,  314,  320,   44,   44,   44,  320,  311,   46,  320,
-      320,  320,  310,  320,   49,   44,   44,   44,  320,  320,
-       46,   49,  320,  320,   44,   44,   44,  320,   49,  317,
-      320,  320,  312,  320,  320,   49,   44,   44,   44,  320,
-      313,  318,  320,   44,   44,   44,  320,   49,  319,  320,
-      320,  320,  320,  320,  315,  320,   49,  320,  320,  320,
-
-      320,  320,  320,  320,  320,  320,  316,  320,   49,  320,
-      320,  320,  320,  320,  320,   49,   36,   36,   36,   36,
-       36,   36,   36,   45,   45,   45,   45,   45,   45,   45,
-       61,  320,   61,   61,   61,   61,   61,   80,  320,   80,
-      320,   80,   80,   80,   82,   82,   82,   82,   82,   82,
-       82,   87,   87,   87,   87,   87,   87,   87,  110,  320,
-      110,  110,  110,  110,  110,   82,   82,  320,   82,  122,
-      122,  122,  122,  122,  154,  154,  182,  182,  209,  209,
-       82,   82,   11,  320,  320,  320,  320,  320,  320,  320,
-      320,  320,  320,  320,  320,  320,  320,  320,  320,  320,
-
-      320,  320,  320,  320,  320,  320,  320,  320,  320,  320,
-      320,  320,  320,  320,  320,  320,  320,  320,  320,  320,
-      320,  320,  320,  320,  320,  320,  320,  320,  320,  320,
-      320,  320,  320,  320,  320,  320,  320,  320,  320,  320,
-      320,  320,  320
+       12,   12,   12,   12,   41,   42,   74,   42,   12,   12,
+       12,   12,   69,   42,   12,   42,   12,   70,   12,   75,
+
+       74,   74,   85,  248,   12,   12,   12,   12,   39,   76,
+       12,   42,   12,   42,   75,   77,   64,   12,   65,   65,
+       65,   65,   75,   12,   12,   44,   44,   44,   66,   86,
+       46,   64,   76,   67,   67,   67,   67,   78,   68,   68,
+       68,   68,  222,   66,   66,   76,  116,   72,   66,   72,
+       47,   48,   73,   73,   73,   73,  192,   49,  118,   66,
+      128,   50,   51,   52,   66,   53,  116,   54,   79,  117,
+       55,   56,   57,   58,   59,  161,   60,  116,   61,   62,
+       64,  118,   67,   67,   67,   67,   44,   44,   44,  117,
+      118,   46,   66,   44,   44,   44,  117,  119,   46,   44,
+
+       44,   44,   90,   85,   46,  155,  156,  157,   66,   45,
+       44,   44,   44,  121,  128,   46,  120,  155,   49,   44,
+       44,   44,  124,  157,   46,   49,  156,  157,  155,   45,
+       86,   49,  156,   45,   44,   44,   44,   45,   88,   46,
+      158,   87,   49,  160,   45,  190,  190,   45,   95,   45,
+       91,   49,  159,  123,   93,   44,   44,   44,   92,  122,
+       46,  190,  191,   44,   44,   44,   49,   94,   46,   44,
+       44,   44,   43,   96,   46,   83,   97,   81,   44,   44,
+       44,   80,   71,   46,   44,   44,   44,   49,   43,   46,
+      366,   44,   44,   44,  366,   49,   46,   44,   44,   44,
+
+       98,   49,   46,   44,   44,   44,  366,  366,   46,  366,
+       49,   99,  101,  103,  366,  100,   49,  102,  366,  105,
+       44,   44,   44,   49,  366,   46,  104,  366,  366,   49,
+      366,  366,  107,  366,  366,   49,  366,  366,   44,   44,
+       44,  366,  108,   46,  106,   73,   73,   73,   73,  366,
+      366,  109,   49,  366,  366,  110,  111,  366,   68,   68,
+       68,   68,   73,   73,   73,   73,  366,  112,   66,  366,
+       49,  113,  366,  114,   64,  366,   65,   65,   65,   65,
+      366,  366,  366,   72,   66,   72,   66,  366,   73,   73,
+       73,   73,   64,  366,   67,   67,   67,   67,   68,   68,
+
+       68,   68,   66,  366,   66,   44,   44,   44,   66,  366,
+       46,   44,   44,   44,  366,  366,   46,   44,   44,   44,
+       66,  366,   46,  366,   66,  366,  366,  366,   44,   44,
+       44,  366,  366,   46,  366,  366,  366,   49,  366,   44,
+       44,   44,  366,   49,  131,  366,  125,  366,  366,   49,
+       44,   44,   44,  366,  366,   46,  366,  366,  366,  366,
+       49,  366,  366,  126,  129,  129,  129,  129,  366,  366,
+      366,   49,  129,  129,  129,  129,  130,  366,   44,   44,
+       44,  366,   49,  134,  366,  366,  129,  129,  129,  129,
+      129,  129,  366,   44,   44,   44,  132,  133,   46,   44,
+
+       44,   44,  366,  366,   46,  366,   44,   44,   44,  366,
+       49,   46,   44,   44,   44,  366,  366,   46,   44,   44,
+       44,  366,  366,   46,  366,   49,  366,  366,  366,  135,
+      366,   49,   44,   44,   44,  366,  136,   46,   49,  366,
+       44,   44,   44,  366,   49,   46,   44,   44,   44,  366,
+       49,   46,   44,   44,   44,  366,  366,   46,  366,  137,
+      138,  366,  366,  366,   49,  366,  366,  366,  140,  366,
+      139,  366,   49,  366,   44,   44,   44,  366,   49,   46,
+      366,  141,  366,  366,   49,  366,   44,   44,   44,  366,
+      144,   46,  366,  142,   44,   44,   44,  366,  366,   46,
+
+      366,  143,   44,   44,   44,  366,   49,   46,   44,   44,
+       44,  366,  366,   46,   44,   44,   44,  366,   49,   46,
+      145,  366,   44,   44,   44,  366,   49,   46,   44,   44,
+       44,  366,  366,   46,   49,  366,  366,  366,  146,  366,
+       49,  366,  366,  366,  147,  149,   49,  366,   44,   44,
+       44,  366,  150,   46,   49,  366,  148,  366,  151,  366,
+       49,   44,   44,   44,  366,  366,   46,   44,   44,   44,
+      366,  152,   46,   44,   44,   44,  366,  366,   46,  366,
+       49,  366,  366,   44,   44,   44,  366,  153,   46,  366,
+      366,  366,  366,   49,  366,   44,   44,   44,  366,   49,
+
+       46,  366,  366,  366,  366,   49,  154,  366,  163,  366,
+      164,  165,  165,  165,  165,   49,  366,  366,  366,  165,
+      165,  165,  165,   44,   44,   44,  366,   49,   46,  167,
+      366,  366,  366,  165,  165,  165,  165,  165,  165,   44,
+       44,   44,  366,  366,   46,  366,  366,  166,   44,   44,
+       44,  366,  366,   46,  366,   49,   44,   44,   44,  366,
+      366,   46,   44,   44,   44,  366,  366,   46,   44,   44,
+       44,   49,  366,   46,  366,  168,   44,   44,   44,  366,
+       49,   46,   44,   44,   44,  366,  366,   46,   49,  366,
+      366,  366,  169,  366,   49,  366,  366,  170,  366,  366,
+
+       49,  366,  366,  366,  366,  366,  172,  171,   49,  366,
+       44,   44,   44,  366,   49,   46,  366,  173,  366,   44,
+       44,   44,  366,  175,   46,  366,  174,   44,   44,   44,
+      366,  366,   46,   44,   44,   44,  366,  366,   46,   44,
+       44,   44,   49,  366,   46,  176,  366,   44,   44,   44,
+      366,   49,   46,   44,   44,   44,  366,  366,   46,   49,
+      366,  366,   44,   44,   44,   49,  179,   46,  366,  366,
+      177,   49,  180,  178,  366,   44,   44,   44,  366,   49,
+       46,  366,  182,  366,  366,   49,  366,  366,  181,  366,
+      366,  366,  183,  366,   49,   44,   44,   44,  366,  366,
+
+       46,  366,  366,   44,   44,   44,  184,   49,   46,   44,
+       44,   44,  366,  366,   46,  366,  366,   44,   44,   44,
+      366,  366,   46,  185,   44,   44,   44,   49,  366,   46,
+      366,   44,   44,   44,  366,   49,   46,   44,   44,   44,
+      366,   49,   46,   44,   44,   44,  186,  197,   46,   49,
+      366,  366,  366,  366,  366,  366,   49,  366,  187,  188,
+      189,  366,  366,   49,  366,  366,  366,  194,  366,   49,
+      366,  366,  366,  366,  366,   49,  366,  366,  366,  195,
+      196,  196,  196,  196,  200,  366,  366,  366,  196,  196,
+      196,  196,   44,   44,   44,  366,  366,   46,  366,  366,
+
+      366,  366,  196,  196,  196,  196,  196,  196,   44,   44,
+       44,  366,  366,   46,   44,   44,   44,  366,  366,   46,
+       44,   44,   44,  366,   49,   46,  366,  366,  366,  201,
+      202,  198,   44,   44,   44,  366,  366,   46,  366,  366,
+       49,  366,   44,   44,   44,  366,   49,  205,  366,   44,
+       44,   44,   49,  366,   46,   44,   44,   44,  199,  366,
+       46,  366,  203,  366,   49,   44,   44,   44,  366,  366,
+       46,   44,   44,   44,   49,  366,   46,   44,   44,   44,
+      366,   49,   46,  204,  206,  366,  366,   49,   44,   44,
+       44,  366,  366,   46,  207,  366,  366,   49,  366,   44,
+
+       44,   44,  366,   49,  212,  366,  208,  366,  366,   49,
+       44,   44,   44,  366,  209,   46,  210,  366,  366,  366,
+       49,   44,   44,   44,  366,  366,   46,   44,   44,   44,
+      366,   49,   46,  211,   44,   44,   44,  366,  366,   46,
+      366,  366,   49,   44,   44,   44,  366,  366,   46,   44,
+       44,   44,  366,   49,   46,   44,   44,   44,  366,   49,
+      219,  366,  366,  213,  366,  366,   49,  214,  366,   44,
+       44,   44,  366,  216,   46,   49,  366,  215,  366,  220,
+      366,   49,  366,   44,   44,   44,  218,   49,   46,  366,
+       44,   44,   44,  366,  366,   46,  217,   44,   44,   44,
+
+      366,   49,   46,  366,   44,   44,   44,  366,  366,   46,
+      366,   44,   44,   44,  366,   49,   46,  366,   44,   44,
+       44,  221,   49,   46,  366,  366,  366,  366,  366,   49,
+       44,   44,   44,  366,  366,   46,   49,  224,  366,  366,
+      366,  366,  366,   49,  225,   45,   45,   45,   45,  366,
+       49,  366,  366,   45,   45,   45,   45,  226,  227,   44,
+       44,   44,   49,  366,  230,  366,  228,   45,   45,   45,
+       45,   45,   45,  366,  366,  229,   44,   44,   44,  366,
+      366,  231,   44,   44,   44,  366,  366,  232,   44,   44,
+       44,   49,  366,   46,   44,   44,   44,  366,  233,   46,
+
+       44,   44,   44,  366,  366,   46,  366,  366,   49,  366,
+       44,   44,   44,  366,   49,   46,   44,   44,   44,  366,
+       49,   46,   44,   44,   44,  366,   49,   46,   44,   44,
+       44,  366,   49,  239,   44,   44,   44,  366,  366,   46,
+      366,  366,   49,  366,  234,  366,  366,  366,   49,  236,
+      235,   44,   44,   44,   49,  366,   46,   44,   44,   44,
+       49,  366,   46,   44,   44,   44,   49,  366,   46,   44,
+       44,   44,  238,  237,   46,   44,   44,   44,  366,  366,
+       46,  366,  366,   49,  366,  366,  240,  366,  366,   49,
+      241,   44,   44,   44,  366,   49,   46,   44,   44,   44,
+
+      242,   49,   46,   44,   44,   44,  366,   49,   46,   44,
+       44,   44,  366,  366,   46,  243,  366,  366,  366,  366,
+      366,  244,  366,   49,  366,  245,  366,  366,  246,   49,
+      366,  366,  247,  366,  366,   49,  366,   44,   44,   44,
+      366,   49,   46,  366,  249,   44,   44,   44,  366,  250,
+       46,   44,   44,   44,  366,  366,   46,  366,  366,   44,
+       44,   44,  366,  366,   46,  366,  366,  366,  366,   49,
+       44,   44,   44,  366,  366,   46,  366,   49,  366,   44,
+       44,   44,  366,   49,   46,  366,  251,   44,   44,   44,
+      366,   49,   46,  366,  366,  366,  253,  252,  254,   44,
+
+       44,   44,   49,  366,   46,  366,  366,   44,   44,   44,
+      366,   49,   46,  366,  366,  255,   44,   44,   44,   49,
+      366,  260,   44,   44,   44,  366,  366,  261,   44,   44,
+       44,   49,  366,   46,  366,  256,  366,  258,  257,   49,
+       44,   44,   44,  366,  366,   46,  259,  366,   49,  366,
+       44,   44,   44,  366,   49,  266,  262,   44,   44,   44,
+       49,  366,   46,   44,   44,   44,  366,  265,   46,   44,
+       44,   44,   49,  366,   46,  366,   44,   44,   44,  366,
+      263,   46,   49,   44,   44,   44,  366,  366,  270,   49,
+      366,  366,  264,  366,  366,   49,  366,   44,   44,   44,
+
+      366,   49,  271,  366,  366,  366,  267,  366,   49,   44,
+       44,   44,  366,  366,   46,   49,  366,  268,   44,   44,
+       44,  366,  366,  273,  366,   44,   44,   44,  269,   49,
+       46,   44,   44,   44,  366,  274,   46,   44,   44,   44,
+      366,   49,   46,   44,   44,   44,  366,  272,  277,  366,
+       49,   44,   44,   44,  366,  366,  278,   49,  366,  366,
+       44,   44,   44,   49,  366,   46,   44,   44,   44,   49,
+      279,  280,   44,   44,   44,   49,  366,   46,  366,  366,
+      276,  366,  366,   49,  366,  275,   44,   44,   44,  366,
+      366,   46,   49,  366,   44,   44,   44,  366,   49,   46,
+
+       44,   44,   44,  366,   49,   46,   44,   44,   44,  366,
+      366,   46,   44,   44,   44,  366,  366,   46,   49,  366,
+      281,  366,   44,   44,   44,  282,   49,   46,   44,   44,
+       44,  366,   49,   46,   44,   44,   44,  366,   49,   46,
+      366,  366,  287,  366,   49,  366,  366,  284,  366,  366,
+      283,  366,  285,  286,   49,  366,  366,  366,  366,  288,
+       49,  289,  366,  290,  366,  366,   49,   44,   44,   44,
+      366,  366,   46,   44,   44,   44,  366,  366,   46,   44,
+       44,   44,  366,  366,   46,  291,   44,   44,   44,  366,
+      366,   46,   44,   44,   44,  366,  366,   46,  366,   49,
+
+      366,  366,   44,   44,   44,   49,  292,  297,  366,  293,
+      366,   49,   44,   44,   44,  366,  366,   46,   49,  366,
+       44,   44,   44,  366,   49,   46,  366,   44,   44,   44,
+      294,  366,   46,  366,   49,  295,   44,   44,   44,  366,
+      366,   46,  296,  366,   49,  366,  366,  298,   44,   44,
+       44,  366,   49,   46,  366,   44,   44,   44,  366,   49,
+       46,   44,   44,   44,  366,  303,   46,  366,   49,   44,
+       44,   44,  366,  366,   46,  301,  299,  300,  366,  366,
+       49,  366,  366,   44,   44,   44,  366,   49,   46,   44,
+       44,   44,  366,   49,   46,  366,  366,   44,   44,   44,
+
+      302,   49,   46,   44,   44,   44,  366,  366,   46,   44,
+       44,   44,  366,  304,   46,   49,  366,  305,   44,   44,
+       44,   49,  366,   46,  366,   44,   44,   44,  306,   49,
+       46,  366,  366,  366,  366,   49,  308,  366,  366,  307,
+      366,   49,  366,   44,   44,   44,  366,  366,   46,  366,
+       49,   44,   44,   44,  366,  309,   46,   49,  366,  366,
+      310,  314,  366,  366,  311,   44,   44,   44,  366,  366,
+       46,   44,   44,   44,  312,   49,   46,   44,   44,   44,
+      366,  366,   46,   49,  366,   44,   44,   44,  313,  366,
+       46,   44,   44,   44,  366,  366,  319,   49,  366,  366,
+
+       44,   44,   44,   49,  315,   46,  366,  366,  316,   49,
+       44,   44,   44,  366,  366,   46,  317,   49,  366,   44,
+       44,   44,  318,   49,   46,   44,   44,   44,  366,  366,
+      323,  366,   49,  366,  366,  320,   44,   44,   44,  366,
+      366,   46,   49,  366,   44,   44,   44,  366,  366,   46,
+      366,   49,  366,   44,   44,   44,  366,   49,  326,  366,
+      321,  366,  322,  366,   44,   44,   44,  366,   49,   46,
+      366,  366,   44,   44,   44,  324,   49,   46,  366,   44,
+       44,   44,  366,  325,   46,   49,   44,   44,   44,  366,
+      366,  330,   44,   44,   44,  366,   49,   46,   44,   44,
+
+       44,  327,  366,   46,   49,   44,   44,   44,  366,  366,
+       46,   49,   44,   44,   44,  366,  366,   46,   49,  366,
+      366,  329,  366,  366,   49,  366,  366,  328,  366,  366,
+       49,  366,  366,   44,   44,   44,  331,   49,  335,  366,
+       44,   44,   44,  366,   49,  336,  366,  366,  332,   44,
+       44,   44,  366,  366,   46,  366,   44,   44,   44,  333,
+      334,   46,   44,   44,   44,   49,  366,   46,   44,   44,
+       44,  366,   49,   46,   44,   44,   44,  366,  366,   46,
+      366,   49,   44,   44,   44,  366,  366,   46,   49,  366,
+      366,  337,  366,  366,   49,  366,  366,  339,  366,  366,
+
+       49,  366,  366,  366,  366,  366,   49,  340,  338,  366,
+       44,   44,   44,  366,   49,   46,  366,  341,   44,   44,
+       44,  342,  366,   46,   44,   44,   44,  366,  366,  345,
+       44,   44,   44,  366,  366,   46,   44,   44,   44,  366,
+      366,   46,   49,   44,   44,   44,  366,  366,   46,  366,
+       49,  366,  366,  344,  366,  366,   49,  343,   44,   44,
+       44,  366,   49,   46,   44,   44,   44,  366,   49,   46,
+      366,   44,   44,   44,  366,   49,   46,  346,   44,   44,
+       44,  366,  348,   46,   44,   44,   44,  366,  347,  353,
+       49,  366,   44,   44,   44,  366,   49,   46,  366,   44,
+
+       44,   44,  366,   49,   46,  366,  366,  366,  349,  366,
+       49,  366,   44,   44,   44,  350,   49,  356,  351,  352,
+       44,   44,   44,  366,   49,   46,  366,   44,   44,   44,
+      366,   49,   46,   44,   44,   44,  366,  366,  359,  366,
+       44,   44,   44,  354,   49,  360,   44,   44,   44,  366,
+      355,   46,   49,  366,  366,   44,   44,   44,  366,   49,
+       46,  357,   44,   44,   44,   49,  358,   46,   44,   44,
+       44,  366,   49,  364,  366,   44,   44,   44,   49,  366,
+      365,  366,  366,  366,  366,  361,  366,   49,  366,  366,
+      366,  366,  366,  366,   49,  366,  366,  366,  366,  366,
+
+       49,  366,  366,  366,  366,  366,  362,   49,  366,  366,
+      366,  366,  366,  363,   36,   36,   36,   36,   36,   36,
+       36,   45,   45,   45,   45,   45,   45,   45,   63,  366,
+       63,   63,   63,   63,   63,   82,  366,   82,  366,   82,
+       82,   82,   84,   84,   84,   84,   84,   84,   84,   89,
+       89,   89,   89,   89,   89,   89,  115,  366,  115,  115,
+      115,  115,  115,   84,   84,  366,   84,  127,  127,  127,
+      127,  127,  162,  162,  193,  193,  223,  223,   84,   84,
+       11,  366,  366,  366,  366,  366,  366,  366,  366,  366,
+      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
+
+      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
+      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
+      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
+      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
+      366
     } ;
 
-static const flex_int16_t yy_chk[2144] =
+static const flex_int16_t yy_chk[2542] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -1116,231 +1173,275 @@ static const flex_int16_t yy_chk[2144] =
         5,    5,    5,    5,   10,   13,   26,   13,    5,    5,
         9,    5,   21,   37,    5,   37,    5,   21,    5,   27,
 
-       26,   31,   44,  208,    5,    5,    7,   10,    5,   28,
+       26,   31,   44,  222,    5,    5,    7,   10,    5,   28,
         8,   42,    5,   42,   32,   31,   17,    5,   17,   17,
        17,   17,   27,    5,    5,   15,   15,   15,   17,   44,
        15,   19,   28,   19,   19,   19,   19,   32,   20,   20,
-       20,   20,   82,   19,   17,   33,   72,   25,   20,   25,
-       15,   15,   25,   25,   25,   25,  181,   15,  153,   19,
-      122,  117,   15,   15,   20,   15,   72,   15,   33,   82,
-       15,   15,   15,   15,   15,   87,   15,   22,   15,   22,
-       22,   22,   22,   45,   45,   45,   84,   74,   45,   22,
-       47,   47,   47,   73,   75,   47,   48,   48,   48,   49,
-
-      113,   48,   77,   80,   76,   22,   49,   50,   50,   50,
-       74,  112,   50,   73,   75,   45,  113,  111,   51,   51,
-       51,  116,   47,   51,   76,   77,   49,  147,   48,  115,
-       49,  112,   51,   79,   49,   48,  114,  116,   47,   50,
-      111,   49,   50,  147,   49,   43,   49,   49,  150,  115,
-       51,   52,   52,   52,   41,   50,   52,   51,   39,  114,
-       51,   53,   53,   53,  150,   38,   53,   54,   54,   54,
-       24,   14,   54,   55,   55,   55,   11,    0,   55,   56,
-       56,   56,    0,   52,   56,   57,   57,   57,    0,    0,
-       57,    0,    0,   53,    0,    0,   52,    0,    0,   54,
-
-        0,   58,   58,   58,    0,   55,   58,    0,   55,   53,
-       54,   56,    0,   53,   56,   54,    0,   57,   59,   59,
-       59,   55,    0,   59,   60,   60,   60,    0,    0,   60,
-       88,   88,   88,   58,    0,   88,   58,    0,   57,   62,
-       62,   62,   62,    0,    0,    0,   64,    0,   64,   62,
-       59,   64,   64,   64,   64,    0,   60,   59,   70,   70,
-       70,   70,   88,    0,    0,   62,   59,    0,    0,    0,
-       59,   60,    0,    0,   63,   60,   63,   63,   63,   63,
-       65,    0,   65,   65,   65,   65,   63,   66,   66,   66,
-       66,    0,   65,   71,   71,   71,   71,   66,   85,   85,
-
-       85,    0,   63,   85,   86,   86,   86,    0,   65,   86,
-       90,   90,   90,   66,    0,   90,   91,   91,   91,    0,
-        0,   91,   92,   92,   92,    0,    0,   92,    0,    0,
-       85,    0,   99,   99,   99,    0,   86,   99,    0,   85,
-        0,    0,   90,    0,   95,   95,   95,    0,   91,   95,
-        0,    0,    0,    0,   92,    0,   86,   89,   89,   89,
-       89,    0,   91,   91,   99,   89,   89,   89,   89,   93,
-       93,   93,    0,   99,   93,    0,   95,    0,    0,   89,
-       89,   89,   89,   89,   89,   94,   94,   94,    0,    0,
-       94,   96,   96,   96,    0,    0,   96,   95,   97,   97,
-
-       97,   93,    0,   97,    0,   93,   98,   98,   98,    0,
-        0,   98,    0,  100,  100,  100,    0,   94,  100,  101,
-      101,  101,   94,   96,  101,    0,  102,  102,  102,    0,
-       97,  102,  103,  103,  103,    0,    0,  103,   98,   96,
-        0,    0,   98,    0,    0,  100,    0,  104,  104,  104,
-       97,  101,  104,    0,  105,  105,  105,  101,  102,  105,
-      100,  106,  106,  106,  103,    0,  106,    0,  100,  107,
-      107,  107,  102,    0,  107,    0,    0,    0,    0,  104,
-      108,  108,  108,    0,  103,  108,  105,  109,  109,  109,
-        0,    0,  109,  106,    0,    0,    0,  104,  106,    0,
-
-        0,  107,    0,    0,  120,  120,  120,  107,  105,  120,
-        0,    0,  108,    0,    0,  121,  121,  121,    0,  109,
-      121,    0,    0,  108,    0,    0,  109,  126,  126,  126,
-        0,    0,  126,  127,  127,  127,  120,    0,  127,  129,
-      129,  129,    0,    0,  129,  120,    0,  121,    0,    0,
-        0,    0,  121,  124,  124,  124,  124,    0,    0,  126,
-        0,  124,  124,  124,  124,  127,    0,  130,  130,  130,
-        0,  129,  130,  126,    0,  124,  124,  124,  124,  124,
-      124,  131,  131,  131,    0,  127,  131,    0,    0,  132,
-      132,  132,  129,    0,  132,  133,  133,  133,    0,  130,
-
-      133,    0,  134,  134,  134,    0,    0,  134,    0,  135,
-      135,  135,    0,  131,  135,    0,  130,  137,  137,  137,
-        0,  132,  137,  136,  136,  136,    0,  133,  136,    0,
-        0,    0,  131,  132,  134,  138,  138,  138,    0,    0,
-      138,  135,    0,    0,  133,    0,  139,  139,  139,  137,
-      135,  139,  134,    0,    0,  136,    0,    0,  136,  140,
-      140,  140,    0,    0,  140,    0,    0,  138,  137,    0,
-        0,  137,    0,    0,  138,  141,  141,  141,  139,    0,
-      141,  142,  142,  142,    0,  139,  142,  143,  143,  143,
-        0,  140,  143,  144,  144,  144,    0,    0,  144,    0,
-
-      145,  145,  145,    0,    0,  145,    0,  141,  140,    0,
-      141,    0,    0,  142,    0,    0,  146,  146,  146,  143,
-      142,  146,  155,  155,  155,  144,    0,  155,  156,  156,
-      156,  143,  145,  156,    0,  158,  158,  158,    0,    0,
-      158,  144,    0,    0,    0,    0,    0,    0,  146,    0,
-        0,  160,  160,  160,  155,  145,  160,  159,  159,  159,
-      156,    0,  159,    0,    0,  155,  146,  158,    0,    0,
-        0,    0,    0,    0,  158,    0,  156,  157,  157,  157,
-      157,    0,    0,  160,    0,  157,  157,  157,  157,  159,
-        0,    0,  160,  161,  161,  161,    0,    0,  161,  157,
-
-      157,  157,  157,  157,  157,    0,    0,  159,  161,  161,
-      162,  162,  162,    0,    0,  162,  163,  163,  163,    0,
-        0,  163,  164,  164,  164,  161,    0,  164,  165,  165,
-      165,    0,    0,  165,  166,  166,  166,    0,    0,  166,
-        0,    0,  162,    0,  167,  167,  167,    0,  163,  167,
-        0,    0,  162,    0,  164,    0,  168,  168,  168,    0,
-      165,  168,    0,  165,    0,    0,  166,  163,    0,  169,
-      169,  169,    0,  166,  169,    0,  167,  170,  170,  170,
-        0,    0,  170,    0,    0,  167,    0,    0,  168,  171,
-      171,  171,    0,    0,  171,  172,  172,  172,    0,  168,
-
-      172,  169,    0,    0,    0,  173,  173,  173,  169,  170,
-      173,  174,  174,  174,    0,    0,  174,    0,  175,  175,
-      175,  171,  170,  175,  176,  176,  176,  172,    0,  176,
-      177,  177,  177,    0,    0,  177,    0,  173,    0,  178,
-      178,  178,    0,  174,  178,    0,    0,    0,  172,  178,
-      175,  173,    0,  183,  183,  183,  176,  175,  183,    0,
-        0,  174,  177,  184,  184,  184,    0,    0,  184,    0,
-        0,  178,    0,  188,  188,  188,    0,  176,  188,    0,
-        0,    0,    0,    0,    0,  183,    0,    0,    0,    0,
-        0,    0,  186,  186,  186,  184,    0,  186,    0,    0,
-
-      183,    0,    0,    0,    0,  188,    0,    0,    0,    0,
-      184,  185,  185,  185,  185,    0,    0,    0,  188,  185,
-      185,  185,  185,    0,  186,  187,  187,  187,    0,    0,
-      187,    0,    0,  185,  185,  185,  185,  185,  185,  186,
-      189,  189,  189,    0,    0,  189,  190,  190,  190,    0,
-        0,  190,    0,  191,  191,  191,    0,  187,  191,  192,
-      192,  192,    0,    0,  192,  194,  194,  194,    0,  192,
-      194,    0,  189,  187,  195,  195,  195,    0,  190,  195,
-        0,  196,  196,  196,    0,  191,  196,  197,  197,  197,
-        0,  192,  197,  198,  198,  198,    0,  194,  198,  199,
-
-      199,  199,    0,    0,  199,    0,  195,  201,  201,  201,
-        0,    0,  201,  196,    0,  194,  202,  202,  202,  197,
-      196,  202,    0,    0,  195,  198,    0,    0,  203,  203,
-      203,  199,    0,  203,    0,  204,  204,  204,    0,  201,
-      204,    0,    0,  198,  197,  205,  205,  205,  202,    0,
-      205,  207,  207,  207,    0,  202,  207,    0,    0,  201,
-      203,  210,  210,  210,    0,    0,  210,  204,  211,  211,
-      211,  203,    0,  211,  212,  212,  212,  205,    0,  212,
-      213,  213,  213,  207,    0,  213,    0,  204,  207,  214,
-      214,  214,    0,  210,  214,    0,    0,  205,    0,    0,
-
-      211,    0,  210,    0,    0,    0,  212,    0,  211,  218,
-      218,  218,  213,    0,  218,  219,  219,  219,    0,    0,
-      219,  214,    0,    0,    0,  213,  212,    0,  214,  220,
-      220,  220,    0,    0,  220,  221,  221,  221,    0,    0,
-      221,  218,    0,  222,  222,  222,    0,  219,  222,    0,
-        0,  223,  223,  223,  218,    0,  223,  225,  225,  225,
-        0,  220,  225,  226,  226,  226,    0,  221,  226,    0,
-        0,  219,    0,  221,    0,  222,  227,  227,  227,    0,
-      220,  227,  222,  223,    0,  229,  229,  229,    0,  225,
-      229,  225,  228,  228,  228,  226,    0,  228,  230,  230,
-
-      230,    0,  228,  230,  232,  232,  232,    0,  227,  232,
-        0,  233,  233,  233,    0,  226,  233,  229,  234,  234,
-      234,    0,    0,  234,  228,    0,    0,    0,  227,    0,
-      230,    0,  235,  235,  235,    0,  232,  235,    0,  236,
-      236,  236,  235,  233,  236,    0,  230,  237,  237,  237,
-      234,    0,  237,  238,  238,  238,    0,    0,  238,    0,
-      239,  239,  239,    0,  235,  239,    0,  240,  240,  240,
-        0,  236,  240,  241,  241,  241,    0,  240,  241,  237,
-        0,  244,  244,  244,    0,  238,  244,    0,    0,    0,
-      237,    0,  239,  236,    0,  245,  245,  245,    0,  240,
-
-      245,  246,  246,  246,    0,  241,  246,  247,  247,  247,
-        0,    0,  247,  244,  249,  249,  249,    0,    0,  249,
-      253,  253,  253,    0,    0,  253,    0,  245,    0,  244,
-      254,  254,  254,  246,  245,  254,  255,  255,  255,  247,
-        0,  255,  258,  258,  258,    0,  249,  258,  260,  260,
-      260,    0,  253,  260,  247,    0,    0,  246,    0,  247,
-      247,  249,  254,    0,    0,    0,    0,    0,  255,  254,
-        0,  253,  255,    0,  258,    0,  261,  261,  261,    0,
-      260,  261,  262,  262,  262,    0,    0,  262,    0,  263,
-      263,  263,    0,  258,  263,    0,    0,  260,  264,  264,
-
-      264,    0,    0,  264,    0,  265,  265,  265,  261,    0,
-      265,  266,  266,  266,  262,    0,  266,  267,  267,  267,
-        0,  263,  267,    0,  263,    0,  261,  268,  268,  268,
-      264,    0,  268,    0,  269,  269,  269,  265,    0,  269,
-        0,    0,    0,  266,    0,    0,  270,  270,  270,  267,
-        0,  270,    0,    0,  264,  265,  271,  271,  271,  268,
-        0,  271,    0,  266,    0,  267,  269,    0,  272,  272,
-      272,    0,  268,  272,  274,  274,  274,    0,  270,  274,
-        0,  275,  275,  275,  269,  270,  275,    0,  271,  276,
-      276,  276,    0,    0,  276,    0,  277,  277,  277,    0,
-
-      272,  277,    0,    0,    0,    0,  274,    0,  271,  278,
-      278,  278,    0,  275,  278,    0,    0,    0,    0,  272,
-      274,  276,  279,  279,  279,    0,    0,  279,  277,    0,
-      275,  280,  280,  280,  276,  277,  280,  281,  281,  281,
-        0,  278,  281,  282,  282,  282,  278,    0,  282,    0,
-      283,  283,  283,    0,  279,  283,  284,  284,  284,    0,
-        0,  284,    0,  280,    0,    0,  280,    0,    0,  281,
-        0,  285,  285,  285,    0,  282,  285,    0,    0,  286,
-      286,  286,  283,    0,  286,    0,  282,  281,  284,  287,
-      287,  287,    0,    0,  287,  284,  288,  288,  288,    0,
-
-        0,  288,    0,  285,  290,  290,  290,    0,    0,  290,
-      285,  286,    0,  291,  291,  291,    0,    0,  291,    0,
-        0,  287,    0,    0,  292,  292,  292,    0,  288,  292,
-      294,  294,  294,    0,    0,  294,  290,  295,  295,  295,
-      288,    0,  295,    0,  287,  291,  297,  297,  297,    0,
-        0,  297,    0,    0,  290,    0,  292,    0,  298,  298,
-      298,    0,  294,  298,    0,    0,    0,  291,    0,  295,
-        0,    0,  292,    0,  299,  299,  299,    0,  297,  299,
-      300,  300,  300,    0,    0,  300,  301,  301,  301,    0,
-      298,  301,    0,    0,  304,  304,  304,  298,  297,  304,
-
-      305,  305,  305,    0,    0,  305,  299,    0,  306,  306,
-      306,    0,  300,  306,    0,    0,    0,  299,  301,  300,
-        0,    0,  307,  307,  307,    0,  304,  307,    0,  308,
-      308,  308,  305,  301,  308,    0,  310,  310,  310,    0,
-      306,  310,    0,  311,  311,  311,    0,  306,  311,    0,
-        0,    0,  305,    0,  307,  312,  312,  312,    0,    0,
-      312,  308,    0,    0,  313,  313,  313,    0,  310,  313,
-        0,    0,  307,    0,    0,  311,  315,  315,  315,    0,
-      308,  315,    0,  316,  316,  316,    0,  312,  316,    0,
-        0,    0,    0,    0,  311,    0,  313,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,  312,    0,  315,    0,
-        0,    0,    0,    0,    0,  316,  321,  321,  321,  321,
-      321,  321,  321,  322,  322,  322,  322,  322,  322,  322,
-      323,    0,  323,  323,  323,  323,  323,  324,    0,  324,
-        0,  324,  324,  324,  325,  325,  325,  325,  325,  325,
-      325,  326,  326,  326,  326,  326,  326,  326,  327,    0,
-      327,  327,  327,  327,  327,  328,  328,    0,  328,  329,
-      329,  329,  329,  329,  330,  330,  331,  331,  332,  332,
-      333,  333,  320,  320,  320,  320,  320,  320,  320,  320,
-      320,  320,  320,  320,  320,  320,  320,  320,  320,  320,
-
-      320,  320,  320,  320,  320,  320,  320,  320,  320,  320,
-      320,  320,  320,  320,  320,  320,  320,  320,  320,  320,
-      320,  320,  320,  320,  320,  320,  320,  320,  320,  320,
-      320,  320,  320,  320,  320,  320,  320,  320,  320,  320,
-      320,  320,  320
+       20,   20,  192,   19,   17,   33,   74,   25,   20,   25,
+       15,   15,   25,   25,   25,   25,  161,   15,   76,   19,
+      127,   15,   15,   15,   20,   15,   74,   15,   33,   75,
+       15,   15,   15,   15,   15,  122,   15,   77,   15,   15,
+       22,   76,   22,   22,   22,   22,   45,   45,   45,   75,
+       79,   45,   22,   47,   47,   47,   78,   77,   47,   48,
+
+       48,   48,   49,   84,   48,  116,  117,  118,   22,   49,
+       50,   50,   50,   79,   89,   50,   78,  119,   45,   51,
+       51,   51,   86,  118,   51,   47,  117,  121,  116,   49,
+       84,   48,  120,   49,   52,   52,   52,   49,   48,   52,
+      119,   47,   50,  121,   49,  155,  158,   49,   52,   49,
+       49,   51,  120,   82,   51,   53,   53,   53,   50,   81,
+       53,  155,  158,   54,   54,   54,   52,   51,   54,   55,
+       55,   55,   43,   52,   55,   41,   52,   39,   56,   56,
+       56,   38,   24,   56,   57,   57,   57,   53,   14,   57,
+       11,   58,   58,   58,    0,   54,   58,   59,   59,   59,
+
+       53,   55,   59,   60,   60,   60,    0,    0,   60,    0,
+       56,   54,   55,   56,    0,   54,   57,   55,    0,   57,
+       61,   61,   61,   58,    0,   61,   56,    0,    0,   59,
+        0,    0,   59,    0,    0,   60,    0,    0,   62,   62,
+       62,    0,   60,   62,   58,   72,   72,   72,   72,    0,
+        0,   60,   61,    0,    0,   60,   60,    0,   64,   64,
+       64,   64,   73,   73,   73,   73,    0,   61,   64,    0,
+       62,   61,    0,   62,   65,    0,   65,   65,   65,   65,
+        0,    0,    0,   66,   64,   66,   65,    0,   66,   66,
+       66,   66,   67,    0,   67,   67,   67,   67,   68,   68,
+
+       68,   68,   65,    0,   67,   87,   87,   87,   68,    0,
+       87,   88,   88,   88,    0,    0,   88,   90,   90,   90,
+       67,    0,   90,    0,   68,    0,    0,    0,   92,   92,
+       92,    0,    0,   92,    0,    0,    0,   87,    0,   93,
+       93,   93,    0,   88,   93,    0,   87,    0,    0,   90,
+       94,   94,   94,    0,    0,   94,    0,    0,    0,    0,
+       92,    0,    0,   88,   91,   91,   91,   91,    0,    0,
+        0,   93,   91,   91,   91,   91,   92,    0,   95,   95,
+       95,    0,   94,   95,    0,    0,   91,   91,   91,   91,
+       91,   91,    0,   96,   96,   96,   94,   94,   96,   97,
+
+       97,   97,    0,    0,   97,    0,   98,   98,   98,    0,
+       95,   98,   99,   99,   99,    0,    0,   99,  100,  100,
+      100,    0,    0,  100,    0,   96,    0,    0,    0,   96,
+        0,   97,  101,  101,  101,    0,   97,  101,   98,    0,
+      102,  102,  102,    0,   99,  102,  103,  103,  103,    0,
+      100,  103,  104,  104,  104,    0,    0,  104,    0,   98,
+       99,    0,    0,    0,  101,    0,    0,    0,  101,    0,
+      100,    0,  102,    0,  105,  105,  105,    0,  103,  105,
+        0,  102,    0,    0,  104,    0,  106,  106,  106,    0,
+      104,  106,    0,  103,  107,  107,  107,    0,    0,  107,
+
+        0,  103,  108,  108,  108,    0,  105,  108,  109,  109,
+      109,    0,    0,  109,  110,  110,  110,    0,  106,  110,
+      105,    0,  111,  111,  111,    0,  107,  111,  112,  112,
+      112,    0,    0,  112,  108,    0,    0,    0,  106,    0,
+      109,    0,    0,    0,  107,  109,  110,    0,  113,  113,
+      113,    0,  110,  113,  111,    0,  108,    0,  111,    0,
+      112,  114,  114,  114,    0,    0,  114,  125,  125,  125,
+        0,  112,  125,  126,  126,  126,    0,    0,  126,    0,
+      113,    0,    0,  132,  132,  132,    0,  113,  132,    0,
+        0,    0,    0,  114,    0,  130,  130,  130,    0,  125,
+
+      130,    0,    0,    0,    0,  126,  114,    0,  125,    0,
+      126,  129,  129,  129,  129,  132,    0,    0,    0,  129,
+      129,  129,  129,  133,  133,  133,    0,  130,  133,  132,
+        0,    0,    0,  129,  129,  129,  129,  129,  129,  135,
+      135,  135,    0,    0,  135,    0,    0,  130,  136,  136,
+      136,    0,    0,  136,    0,  133,  137,  137,  137,    0,
+        0,  137,  138,  138,  138,    0,    0,  138,  139,  139,
+      139,  135,    0,  139,    0,  133,  140,  140,  140,    0,
+      136,  140,  141,  141,  141,    0,    0,  141,  137,    0,
+        0,    0,  135,    0,  138,    0,    0,  136,    0,    0,
+
+      139,    0,    0,    0,    0,    0,  138,  137,  140,    0,
+      142,  142,  142,    0,  141,  142,    0,  139,    0,  143,
+      143,  143,    0,  141,  143,    0,  140,  144,  144,  144,
+        0,    0,  144,  145,  145,  145,    0,    0,  145,  146,
+      146,  146,  142,    0,  146,  142,    0,  147,  147,  147,
+        0,  143,  147,  148,  148,  148,    0,    0,  148,  144,
+        0,    0,  149,  149,  149,  145,  144,  149,    0,    0,
+      143,  146,  145,  143,    0,  150,  150,  150,    0,  147,
+      150,    0,  147,    0,    0,  148,    0,    0,  146,    0,
+        0,    0,  148,    0,  149,  151,  151,  151,    0,    0,
+
+      151,    0,    0,  152,  152,  152,  149,  150,  152,  153,
+      153,  153,    0,    0,  153,    0,    0,  154,  154,  154,
+        0,    0,  154,  150,  163,  163,  163,  151,    0,  163,
+        0,  164,  164,  164,    0,  152,  164,  166,  166,  166,
+        0,  153,  166,  169,  169,  169,  151,  166,  169,  154,
+        0,    0,    0,    0,    0,    0,  163,    0,  152,  153,
+      154,    0,    0,  164,    0,    0,    0,  163,    0,  166,
+        0,    0,    0,    0,    0,  169,    0,    0,    0,  164,
+      165,  165,  165,  165,  169,    0,    0,    0,  165,  165,
+      165,  165,  167,  167,  167,    0,    0,  167,    0,    0,
+
+        0,    0,  165,  165,  165,  165,  165,  165,  168,  168,
+      168,    0,    0,  168,  170,  170,  170,    0,    0,  170,
+      171,  171,  171,    0,  167,  171,    0,    0,    0,  170,
+      170,  167,  172,  172,  172,    0,    0,  172,    0,    0,
+      168,    0,  173,  173,  173,    0,  170,  173,    0,  174,
+      174,  174,  171,    0,  174,  175,  175,  175,  168,    0,
+      175,    0,  171,    0,  172,  176,  176,  176,    0,    0,
+      176,  177,  177,  177,  173,    0,  177,  178,  178,  178,
+        0,  174,  178,  172,  174,    0,    0,  175,  179,  179,
+      179,    0,    0,  179,  175,    0,    0,  176,    0,  180,
+
+      180,  180,    0,  177,  180,    0,  176,    0,    0,  178,
+      181,  181,  181,    0,  177,  181,  178,    0,    0,    0,
+      179,  182,  182,  182,    0,    0,  182,  183,  183,  183,
+        0,  180,  183,  179,  184,  184,  184,    0,    0,  184,
+        0,    0,  181,  185,  185,  185,    0,    0,  185,  186,
+      186,  186,    0,  182,  186,  187,  187,  187,    0,  183,
+      187,    0,    0,  181,    0,    0,  184,  182,    0,  188,
+      188,  188,    0,  184,  188,  185,    0,  183,    0,  188,
+        0,  186,    0,  189,  189,  189,  186,  187,  189,    0,
+      194,  194,  194,    0,    0,  194,  185,  195,  195,  195,
+
+        0,  188,  195,    0,  197,  197,  197,    0,    0,  197,
+        0,  198,  198,  198,    0,  189,  198,    0,  199,  199,
+      199,  189,  194,  199,    0,    0,    0,    0,    0,  195,
+      200,  200,  200,    0,    0,  200,  197,  194,    0,    0,
+        0,    0,    0,  198,  195,  196,  196,  196,  196,    0,
+      199,    0,    0,  196,  196,  196,  196,  197,  198,  201,
+      201,  201,  200,    0,  201,    0,  199,  196,  196,  196,
+      196,  196,  196,    0,    0,  200,  202,  202,  202,    0,
+        0,  202,  203,  203,  203,    0,    0,  203,  204,  204,
+      204,  201,    0,  204,  206,  206,  206,    0,  204,  206,
+
+      207,  207,  207,    0,    0,  207,    0,    0,  202,    0,
+      208,  208,  208,    0,  203,  208,  209,  209,  209,    0,
+      204,  209,  210,  210,  210,    0,  206,  210,  211,  211,
+      211,    0,  207,  211,  213,  213,  213,    0,    0,  213,
+        0,    0,  208,    0,  206,    0,    0,    0,  209,  208,
+      207,  214,  214,  214,  210,    0,  214,  215,  215,  215,
+      211,    0,  215,  216,  216,  216,  213,    0,  216,  217,
+      217,  217,  210,  209,  217,  218,  218,  218,    0,    0,
+      218,    0,    0,  214,    0,    0,  213,    0,    0,  215,
+      214,  220,  220,  220,    0,  216,  220,  221,  221,  221,
+
+      215,  217,  221,  224,  224,  224,    0,  218,  224,  225,
+      225,  225,    0,    0,  225,  216,    0,    0,    0,    0,
+        0,  217,    0,  220,    0,  218,    0,    0,  220,  221,
+        0,    0,  221,    0,    0,  224,    0,  226,  226,  226,
+        0,  225,  226,    0,  224,  227,  227,  227,    0,  225,
+      227,  228,  228,  228,    0,    0,  228,    0,    0,  229,
+      229,  229,    0,    0,  229,    0,    0,    0,    0,  226,
+      233,  233,  233,    0,    0,  233,    0,  227,    0,  234,
+      234,  234,    0,  228,  234,    0,  226,  235,  235,  235,
+        0,  229,  235,    0,    0,    0,  228,  227,  229,  236,
+
+      236,  236,  233,    0,  236,    0,    0,  237,  237,  237,
+        0,  234,  237,    0,    0,  233,  238,  238,  238,  235,
+        0,  238,  240,  240,  240,    0,    0,  240,  241,  241,
+      241,  236,    0,  241,    0,  234,    0,  236,  235,  237,
+      242,  242,  242,    0,    0,  242,  237,    0,  238,    0,
+      244,  244,  244,    0,  240,  244,  240,  243,  243,  243,
+      241,    0,  243,  245,  245,  245,    0,  243,  245,  246,
+      246,  246,  242,    0,  246,    0,  247,  247,  247,    0,
+      241,  247,  244,  249,  249,  249,    0,    0,  249,  243,
+        0,    0,  242,    0,    0,  245,    0,  250,  250,  250,
+
+        0,  246,  250,    0,    0,    0,  245,    0,  247,  251,
+      251,  251,    0,    0,  251,  249,    0,  246,  252,  252,
+      252,    0,    0,  252,    0,  253,  253,  253,  247,  250,
+      253,  254,  254,  254,    0,  253,  254,  255,  255,  255,
+        0,  251,  255,  256,  256,  256,    0,  251,  256,    0,
+      252,  257,  257,  257,    0,    0,  257,  253,    0,    0,
+      258,  258,  258,  254,    0,  258,  259,  259,  259,  255,
+      258,  259,  262,  262,  262,  256,    0,  262,    0,    0,
+      255,    0,    0,  257,    0,  254,  263,  263,  263,    0,
+        0,  263,  258,    0,  264,  264,  264,    0,  259,  264,
+
+      265,  265,  265,    0,  262,  265,  267,  267,  267,    0,
+        0,  267,  268,  268,  268,    0,    0,  268,  263,    0,
+      262,    0,  269,  269,  269,  263,  264,  269,  272,  272,
+      272,    0,  265,  272,  274,  274,  274,    0,  267,  274,
+        0,    0,  267,    0,  268,    0,    0,  265,    0,    0,
+      264,    0,  265,  265,  269,    0,    0,    0,    0,  268,
+      272,  269,    0,  272,    0,    0,  274,  275,  275,  275,
+        0,    0,  275,  276,  276,  276,    0,    0,  276,  279,
+      279,  279,    0,    0,  279,  274,  281,  281,  281,    0,
+        0,  281,  282,  282,  282,    0,    0,  282,    0,  275,
+
+        0,    0,  283,  283,  283,  276,  275,  283,    0,  276,
+        0,  279,  284,  284,  284,    0,    0,  284,  281,    0,
+      285,  285,  285,    0,  282,  285,    0,  286,  286,  286,
+      279,    0,  286,    0,  283,  281,  287,  287,  287,    0,
+        0,  287,  282,    0,  284,    0,    0,  284,  288,  288,
+      288,    0,  285,  288,    0,  289,  289,  289,    0,  286,
+      289,  290,  290,  290,    0,  289,  290,    0,  287,  291,
+      291,  291,    0,    0,  291,  287,  285,  286,    0,    0,
+      288,    0,    0,  292,  292,  292,    0,  289,  292,  293,
+      293,  293,    0,  290,  293,    0,    0,  294,  294,  294,
+
+      288,  291,  294,  295,  295,  295,    0,    0,  295,  296,
+      296,  296,    0,  290,  296,  292,    0,  291,  298,  298,
+      298,  293,    0,  298,    0,  299,  299,  299,  292,  294,
+      299,    0,    0,    0,    0,  295,  294,    0,    0,  293,
+        0,  296,    0,  300,  300,  300,    0,    0,  300,    0,
+      298,  301,  301,  301,    0,  295,  301,  299,    0,    0,
+      296,  301,    0,    0,  298,  302,  302,  302,    0,    0,
+      302,  303,  303,  303,  299,  300,  303,  304,  304,  304,
+        0,    0,  304,  301,    0,  305,  305,  305,  300,    0,
+      305,  306,  306,  306,    0,    0,  306,  302,    0,    0,
+
+      307,  307,  307,  303,  302,  307,    0,    0,  303,  304,
+      308,  308,  308,    0,    0,  308,  304,  305,    0,  309,
+      309,  309,  305,  306,  309,  310,  310,  310,    0,    0,
+      310,    0,  307,    0,    0,  307,  311,  311,  311,    0,
+        0,  311,  308,    0,  312,  312,  312,    0,    0,  312,
+        0,  309,    0,  313,  313,  313,    0,  310,  313,    0,
+      308,    0,  309,    0,  314,  314,  314,    0,  311,  314,
+        0,    0,  315,  315,  315,  311,  312,  315,    0,  316,
+      316,  316,    0,  312,  316,  313,  317,  317,  317,    0,
+        0,  317,  318,  318,  318,    0,  314,  318,  320,  320,
+
+      320,  314,    0,  320,  315,  321,  321,  321,    0,    0,
+      321,  316,  322,  322,  322,    0,    0,  322,  317,    0,
+        0,  316,    0,    0,  318,    0,    0,  315,    0,    0,
+      320,    0,    0,  324,  324,  324,  318,  321,  324,    0,
+      325,  325,  325,    0,  322,  325,    0,    0,  320,  327,
+      327,  327,    0,    0,  327,    0,  328,  328,  328,  321,
+      322,  328,  329,  329,  329,  324,    0,  329,  331,  331,
+      331,    0,  325,  331,  332,  332,  332,    0,    0,  332,
+        0,  327,  333,  333,  333,    0,    0,  333,  328,    0,
+        0,  327,    0,    0,  329,    0,    0,  329,    0,    0,
+
+      331,    0,    0,    0,    0,    0,  332,  331,  328,    0,
+      334,  334,  334,    0,  333,  334,    0,  332,  337,  337,
+      337,  333,    0,  337,  338,  338,  338,    0,    0,  338,
+      339,  339,  339,    0,    0,  339,  340,  340,  340,    0,
+        0,  340,  334,  341,  341,  341,    0,    0,  341,    0,
+      337,    0,    0,  337,    0,    0,  338,  334,  342,  342,
+      342,    0,  339,  342,  343,  343,  343,    0,  340,  343,
+        0,  344,  344,  344,    0,  341,  344,  339,  346,  346,
+      346,    0,  341,  346,  347,  347,  347,    0,  340,  347,
+      342,    0,  348,  348,  348,    0,  343,  348,    0,  349,
+
+      349,  349,    0,  344,  349,    0,    0,    0,  342,    0,
+      346,    0,  350,  350,  350,  343,  347,  350,  344,  346,
+      351,  351,  351,    0,  348,  351,    0,  352,  352,  352,
+        0,  349,  352,  354,  354,  354,    0,    0,  354,    0,
+      355,  355,  355,  348,  350,  355,  357,  357,  357,    0,
+      349,  357,  351,    0,    0,  358,  358,  358,    0,  352,
+      358,  351,  361,  361,  361,  354,  352,  361,  362,  362,
+      362,    0,  355,  362,    0,  363,  363,  363,  357,    0,
+      363,    0,    0,    0,    0,  357,    0,  358,    0,    0,
+        0,    0,    0,    0,  361,    0,    0,    0,    0,    0,
+
+      362,    0,    0,    0,    0,    0,  358,  363,    0,    0,
+        0,    0,    0,  361,  367,  367,  367,  367,  367,  367,
+      367,  368,  368,  368,  368,  368,  368,  368,  369,    0,
+      369,  369,  369,  369,  369,  370,    0,  370,    0,  370,
+      370,  370,  371,  371,  371,  371,  371,  371,  371,  372,
+      372,  372,  372,  372,  372,  372,  373,    0,  373,  373,
+      373,  373,  373,  374,  374,    0,  374,  375,  375,  375,
+      375,  375,  376,  376,  377,  377,  378,  378,  379,  379,
+      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
+      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
+
+      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
+      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
+      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
+      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
+      366
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -1349,14 +1450,15 @@ static char *yy_last_accepting_cpos;
 extern int yy_flex_debug;
 int yy_flex_debug = 1;
 
-static const flex_int16_t yy_rule_linenum[59] =
+static const flex_int16_t yy_rule_linenum[62] =
     {   0,
       133,  135,  137,  142,  143,  148,  149,  150,  162,  165,
-      170,  177,  186,  198,  210,  219,  228,  237,  246,  255,
-      264,  273,  282,  291,  300,  309,  318,  327,  336,  345,
-      354,  363,  372,  381,  390,  399,  408,  417,  426,  435,
-      444,  543,  548,  553,  558,  559,  560,  561,  562,  563,
-      565,  583,  596,  601,  605,  607,  609,  611
+      170,  177,  186,  198,  210,  220,  230,  240,  249,  258,
+      267,  276,  285,  294,  303,  312,  321,  330,  339,  348,
+      357,  366,  375,  384,  393,  402,  411,  420,  429,  438,
+      447,  456,  465,  474,  573,  578,  583,  588,  589,  590,
+      591,  592,  593,  595,  613,  626,  631,  635,  637,  639,
+      641
     } ;
 
 /* The intent behind this definition is that it'll catch
@@ -1411,7 +1513,7 @@ using isc::netconf::NetconfParser;
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::netconf::ParserContext::fatal(msg)
-#line 1414 "netconf_lexer.cc"
+#line 1516 "netconf_lexer.cc"
 /* noyywrap disables automatic rewinding for the next file to parse. Since we
    always parse only a single string, there's no need to do any wraps. And
    using yywrap requires linking with -lfl, which provides the default yywrap
@@ -1437,8 +1539,8 @@ using isc::netconf::NetconfParser;
    by moving it ahead by yyleng bytes. yyleng specifies the length of the
    currently matched token. */
 #define YY_USER_ACTION  driver.loc_.columns(yyleng);
-#line 1440 "netconf_lexer.cc"
-#line 1441 "netconf_lexer.cc"
+#line 1542 "netconf_lexer.cc"
+#line 1543 "netconf_lexer.cc"
 
 #define INITIAL 0
 #define COMMENT 1
@@ -1734,9 +1836,9 @@ YY_DECL
 
     /* We currently have 3 points of entries defined:
        START_JSON - which expects any valid JSON
-       START_NETCONF - which expects full configuration (with outer map and Control-netconf
+       START_NETCONF - which expects full configuration (with outer map and Netconf
                      object in it.
-       START_SUB_NETCONF - which expects only content of the Control-netconf, this is
+       START_SUB_NETCONF - which expects only content of the Netconf, this is
                          primarily useful for testing. */
     if (start_token_flag) {
         start_token_flag = false;
@@ -1752,7 +1854,7 @@ YY_DECL
     }
 
 
-#line 1755 "netconf_lexer.cc"
+#line 1857 "netconf_lexer.cc"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -1781,13 +1883,13 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 321 )
+                               if ( yy_current_state >= 367 )
                                        yy_c = yy_meta[yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
                        ++yy_cp;
                        }
-               while ( yy_current_state != 320 );
+               while ( yy_current_state != 366 );
                yy_cp = (yy_last_accepting_cpos);
                yy_current_state = (yy_last_accepting_state);
 
@@ -1806,13 +1908,13 @@ do_action:      /* This label is used only to access EOF actions. */
                        {
                        if ( yy_act == 0 )
                                fprintf( stderr, "--scanner backing up\n" );
-                       else if ( yy_act < 59 )
+                       else if ( yy_act < 62 )
                                fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
                                         (long)yy_rule_linenum[yy_act], yytext );
-                       else if ( yy_act == 59 )
+                       else if ( yy_act == 62 )
                                fprintf( stderr, "--accepting default rule (\"%s\")\n",
                                         yytext );
-                       else if ( yy_act == 60 )
+                       else if ( yy_act == 63 )
                                fprintf( stderr, "--(end of buffer or a NUL)\n" );
                        else
                                fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
@@ -1961,6 +2063,45 @@ YY_RULE_SETUP
 case 15:
 YY_RULE_SETUP
 #line 210 "netconf_lexer.ll"
+{
+    switch(driver.ctx_) {
+    case ParserContext::NETCONF:
+    case ParserContext::SERVER:
+        return NetconfParser::make_BOOT_UPDATE(driver.loc_);
+    default:
+        return NetconfParser::make_STRING("boot-update", driver.loc_);
+    }
+}
+       YY_BREAK
+case 16:
+YY_RULE_SETUP
+#line 220 "netconf_lexer.ll"
+{
+    switch(driver.ctx_) {
+    case ParserContext::NETCONF:
+    case ParserContext::SERVER:
+        return NetconfParser::make_SUBSCRIBE_CHANGES(driver.loc_);
+    default:
+        return NetconfParser::make_STRING("subscribe-changes", driver.loc_);
+    }
+}
+       YY_BREAK
+case 17:
+YY_RULE_SETUP
+#line 230 "netconf_lexer.ll"
+{
+    switch(driver.ctx_) {
+    case ParserContext::NETCONF:
+    case ParserContext::SERVER:
+        return NetconfParser::make_VALIDATE_CHANGES(driver.loc_);
+    default:
+        return NetconfParser::make_STRING("validate-changes", driver.loc_);
+    }
+}
+       YY_BREAK
+case 18:
+YY_RULE_SETUP
+#line 240 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::NETCONF:
@@ -1970,9 +2111,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 16:
+case 19:
 YY_RULE_SETUP
-#line 219 "netconf_lexer.ll"
+#line 249 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::MANAGED_SERVERS:
@@ -1982,9 +2123,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 17:
+case 20:
 YY_RULE_SETUP
-#line 228 "netconf_lexer.ll"
+#line 258 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::MANAGED_SERVERS:
@@ -1994,9 +2135,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 18:
+case 21:
 YY_RULE_SETUP
-#line 237 "netconf_lexer.ll"
+#line 267 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::MANAGED_SERVERS:
@@ -2006,9 +2147,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 19:
+case 22:
 YY_RULE_SETUP
-#line 246 "netconf_lexer.ll"
+#line 276 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::MANAGED_SERVERS:
@@ -2018,9 +2159,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 20:
+case 23:
 YY_RULE_SETUP
-#line 255 "netconf_lexer.ll"
+#line 285 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::SERVER:
@@ -2030,9 +2171,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 21:
+case 24:
 YY_RULE_SETUP
-#line 264 "netconf_lexer.ll"
+#line 294 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::SERVER:
@@ -2042,9 +2183,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 22:
+case 25:
 YY_RULE_SETUP
-#line 273 "netconf_lexer.ll"
+#line 303 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::SOCKET_TYPE:
@@ -2054,9 +2195,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 23:
+case 26:
 YY_RULE_SETUP
-#line 282 "netconf_lexer.ll"
+#line 312 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::SOCKET_TYPE:
@@ -2066,9 +2207,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 24:
+case 27:
 YY_RULE_SETUP
-#line 291 "netconf_lexer.ll"
+#line 321 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::SOCKET_TYPE:
@@ -2078,9 +2219,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 25:
+case 28:
 YY_RULE_SETUP
-#line 300 "netconf_lexer.ll"
+#line 330 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::CONTROL_SOCKET:
@@ -2090,9 +2231,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 26:
+case 29:
 YY_RULE_SETUP
-#line 309 "netconf_lexer.ll"
+#line 339 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::CONTROL_SOCKET:
@@ -2102,9 +2243,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 27:
+case 30:
 YY_RULE_SETUP
-#line 318 "netconf_lexer.ll"
+#line 348 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::CONTROL_SOCKET:
@@ -2114,9 +2255,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 28:
+case 31:
 YY_RULE_SETUP
-#line 327 "netconf_lexer.ll"
+#line 357 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::NETCONF:
@@ -2126,9 +2267,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 29:
+case 32:
 YY_RULE_SETUP
-#line 336 "netconf_lexer.ll"
+#line 366 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::HOOKS_LIBRARIES:
@@ -2138,9 +2279,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 30:
+case 33:
 YY_RULE_SETUP
-#line 345 "netconf_lexer.ll"
+#line 375 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::HOOKS_LIBRARIES:
@@ -2150,9 +2291,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 31:
+case 34:
 YY_RULE_SETUP
-#line 354 "netconf_lexer.ll"
+#line 384 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::CONFIG:
@@ -2162,9 +2303,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 32:
+case 35:
 YY_RULE_SETUP
-#line 363 "netconf_lexer.ll"
+#line 393 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::LOGGING:
@@ -2174,9 +2315,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 33:
+case 36:
 YY_RULE_SETUP
-#line 372 "netconf_lexer.ll"
+#line 402 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::LOGGERS:
@@ -2186,9 +2327,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 34:
+case 37:
 YY_RULE_SETUP
-#line 381 "netconf_lexer.ll"
+#line 411 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::LOGGERS:
@@ -2198,9 +2339,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 35:
+case 38:
 YY_RULE_SETUP
-#line 390 "netconf_lexer.ll"
+#line 420 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::OUTPUT_OPTIONS:
@@ -2210,9 +2351,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 36:
+case 39:
 YY_RULE_SETUP
-#line 399 "netconf_lexer.ll"
+#line 429 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::OUTPUT_OPTIONS:
@@ -2222,9 +2363,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 37:
+case 40:
 YY_RULE_SETUP
-#line 408 "netconf_lexer.ll"
+#line 438 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::OUTPUT_OPTIONS:
@@ -2234,9 +2375,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 38:
+case 41:
 YY_RULE_SETUP
-#line 417 "netconf_lexer.ll"
+#line 447 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::OUTPUT_OPTIONS:
@@ -2246,9 +2387,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 39:
+case 42:
 YY_RULE_SETUP
-#line 426 "netconf_lexer.ll"
+#line 456 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::LOGGERS:
@@ -2258,9 +2399,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 40:
+case 43:
 YY_RULE_SETUP
-#line 435 "netconf_lexer.ll"
+#line 465 "netconf_lexer.ll"
 {
     switch(driver.ctx_) {
     case ParserContext::LOGGERS:
@@ -2270,9 +2411,9 @@ YY_RULE_SETUP
     }
 }
        YY_BREAK
-case 41:
+case 44:
 YY_RULE_SETUP
-#line 444 "netconf_lexer.ll"
+#line 474 "netconf_lexer.ll"
 {
     /* A string has been matched. It contains the actual string and single quotes.
        We need to get those quotes out of the way and just use its content, e.g.
@@ -2372,65 +2513,65 @@ YY_RULE_SETUP
     return NetconfParser::make_STRING(decoded, driver.loc_);
 }
        YY_BREAK
-case 42:
-/* rule 42 can match eol */
+case 45:
+/* rule 45 can match eol */
 YY_RULE_SETUP
-#line 543 "netconf_lexer.ll"
+#line 573 "netconf_lexer.ll"
 {
     /* Bad string with a forbidden control character inside */
     driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
 }
        YY_BREAK
-case 43:
-/* rule 43 can match eol */
+case 46:
+/* rule 46 can match eol */
 YY_RULE_SETUP
-#line 548 "netconf_lexer.ll"
+#line 578 "netconf_lexer.ll"
 {
     /* Bad string with a bad escape inside */
     driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
 }
        YY_BREAK
-case 44:
+case 47:
 YY_RULE_SETUP
-#line 553 "netconf_lexer.ll"
+#line 583 "netconf_lexer.ll"
 {
     /* Bad string with an open escape at the end */
     driver.error(driver.loc_, "Overflow escape in " + std::string(yytext));
 }
        YY_BREAK
-case 45:
+case 48:
 YY_RULE_SETUP
-#line 558 "netconf_lexer.ll"
+#line 588 "netconf_lexer.ll"
 { return NetconfParser::make_LSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
-case 46:
+case 49:
 YY_RULE_SETUP
-#line 559 "netconf_lexer.ll"
+#line 589 "netconf_lexer.ll"
 { return NetconfParser::make_RSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
-case 47:
+case 50:
 YY_RULE_SETUP
-#line 560 "netconf_lexer.ll"
+#line 590 "netconf_lexer.ll"
 { return NetconfParser::make_LCURLY_BRACKET(driver.loc_); }
        YY_BREAK
-case 48:
+case 51:
 YY_RULE_SETUP
-#line 561 "netconf_lexer.ll"
+#line 591 "netconf_lexer.ll"
 { return NetconfParser::make_RCURLY_BRACKET(driver.loc_); }
        YY_BREAK
-case 49:
+case 52:
 YY_RULE_SETUP
-#line 562 "netconf_lexer.ll"
+#line 592 "netconf_lexer.ll"
 { return NetconfParser::make_COMMA(driver.loc_); }
        YY_BREAK
-case 50:
+case 53:
 YY_RULE_SETUP
-#line 563 "netconf_lexer.ll"
+#line 593 "netconf_lexer.ll"
 { return NetconfParser::make_COLON(driver.loc_); }
        YY_BREAK
-case 51:
+case 54:
 YY_RULE_SETUP
-#line 565 "netconf_lexer.ll"
+#line 595 "netconf_lexer.ll"
 {
     /* An integer was found. */
     std::string tmp(yytext);
@@ -2449,9 +2590,9 @@ YY_RULE_SETUP
     return NetconfParser::make_INTEGER(integer, driver.loc_);
 }
        YY_BREAK
-case 52:
+case 55:
 YY_RULE_SETUP
-#line 583 "netconf_lexer.ll"
+#line 613 "netconf_lexer.ll"
 {
     /* A floating point was found. */
     std::string tmp(yytext);
@@ -2465,43 +2606,43 @@ YY_RULE_SETUP
     return NetconfParser::make_FLOAT(fp, driver.loc_);
 }
        YY_BREAK
-case 53:
+case 56:
 YY_RULE_SETUP
-#line 596 "netconf_lexer.ll"
+#line 626 "netconf_lexer.ll"
 {
     string tmp(yytext);
     return NetconfParser::make_BOOLEAN(tmp == "true", driver.loc_);
 }
        YY_BREAK
-case 54:
+case 57:
 YY_RULE_SETUP
-#line 601 "netconf_lexer.ll"
+#line 631 "netconf_lexer.ll"
 {
    return NetconfParser::make_NULL_TYPE(driver.loc_);
 }
        YY_BREAK
-case 55:
+case 58:
 YY_RULE_SETUP
-#line 605 "netconf_lexer.ll"
+#line 635 "netconf_lexer.ll"
 driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
        YY_BREAK
-case 56:
+case 59:
 YY_RULE_SETUP
-#line 607 "netconf_lexer.ll"
+#line 637 "netconf_lexer.ll"
 driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
        YY_BREAK
-case 57:
+case 60:
 YY_RULE_SETUP
-#line 609 "netconf_lexer.ll"
+#line 639 "netconf_lexer.ll"
 driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
        YY_BREAK
-case 58:
+case 61:
 YY_RULE_SETUP
-#line 611 "netconf_lexer.ll"
+#line 641 "netconf_lexer.ll"
 driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 613 "netconf_lexer.ll"
+#line 643 "netconf_lexer.ll"
 {
     if (driver.states_.empty()) {
         return NetconfParser::make_END(driver.loc_);
@@ -2525,12 +2666,12 @@ case YY_STATE_EOF(INITIAL):
     BEGIN(DIR_EXIT);
 }
        YY_BREAK
-case 59:
+case 62:
 YY_RULE_SETUP
-#line 636 "netconf_lexer.ll"
+#line 666 "netconf_lexer.ll"
 ECHO;
        YY_BREAK
-#line 2533 "netconf_lexer.cc"
+#line 2674 "netconf_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
@@ -2849,7 +2990,7 @@ static int yy_get_next_buffer (void)
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 321 )
+                       if ( yy_current_state >= 367 )
                                yy_c = yy_meta[yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
@@ -2882,11 +3023,11 @@ static int yy_get_next_buffer (void)
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 321 )
+               if ( yy_current_state >= 367 )
                        yy_c = yy_meta[yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
-       yy_is_jam = (yy_current_state == 320);
+       yy_is_jam = (yy_current_state == 366);
 
                return yy_is_jam ? 0 : yy_current_state;
 }
@@ -3635,7 +3776,7 @@ void yyfree (void * ptr )
 
 /* %ok-for-header */
 
-#line 636 "netconf_lexer.ll"
+#line 666 "netconf_lexer.ll"
 
 
 using namespace isc::dhcp;
index a864e2406bbedc6237e1dcb210779d841c72a276..66c8b997a80a7bb28a685778d156310551dda64c 100644 (file)
@@ -244,25 +244,25 @@ namespace isc { namespace netconf {
   {
     switch (that.type_get ())
     {
-      case 54: // value
-      case 57: // map_value
-      case 113: // socket_type_value
+      case 57: // value
+      case 60: // map_value
+      case 119: // socket_type_value
         value.copy< ElementPtr > (that.value);
         break;
 
-      case 45: // "boolean"
+      case 48: // "boolean"
         value.copy< bool > (that.value);
         break;
 
-      case 44: // "floating point"
+      case 47: // "floating point"
         value.copy< double > (that.value);
         break;
 
-      case 43: // "integer"
+      case 46: // "integer"
         value.copy< int64_t > (that.value);
         break;
 
-      case 42: // "constant string"
+      case 45: // "constant string"
         value.copy< std::string > (that.value);
         break;
 
@@ -277,25 +277,25 @@ namespace isc { namespace netconf {
   {
     switch (that.type_get ())
     {
-      case 54: // value
-      case 57: // map_value
-      case 113: // socket_type_value
+      case 57: // value
+      case 60: // map_value
+      case 119: // socket_type_value
         value.move< ElementPtr > (that.value);
         break;
 
-      case 45: // "boolean"
+      case 48: // "boolean"
         value.move< bool > (that.value);
         break;
 
-      case 44: // "floating point"
+      case 47: // "floating point"
         value.move< double > (that.value);
         break;
 
-      case 43: // "integer"
+      case 46: // "integer"
         value.move< int64_t > (that.value);
         break;
 
-      case 42: // "constant string"
+      case 45: // "constant string"
         value.move< std::string > (that.value);
         break;
 
@@ -313,25 +313,25 @@ namespace isc { namespace netconf {
     state = that.state;
     switch (that.type_get ())
     {
-      case 54: // value
-      case 57: // map_value
-      case 113: // socket_type_value
+      case 57: // value
+      case 60: // map_value
+      case 119: // socket_type_value
         value.copy< ElementPtr > (that.value);
         break;
 
-      case 45: // "boolean"
+      case 48: // "boolean"
         value.copy< bool > (that.value);
         break;
 
-      case 44: // "floating point"
+      case 47: // "floating point"
         value.copy< double > (that.value);
         break;
 
-      case 43: // "integer"
+      case 46: // "integer"
         value.copy< int64_t > (that.value);
         break;
 
-      case 42: // "constant string"
+      case 45: // "constant string"
         value.copy< std::string > (that.value);
         break;
 
@@ -370,51 +370,51 @@ namespace isc { namespace netconf {
         << yysym.location << ": ";
     switch (yytype)
     {
-            case 42: // "constant string"
+            case 45: // "constant string"
 
-#line 103 "netconf_parser.yy" // lalr1.cc:635
+#line 107 "netconf_parser.yy" // lalr1.cc:635
         { yyoutput << yysym.value.template as< std::string > (); }
 #line 378 "netconf_parser.cc" // lalr1.cc:635
         break;
 
-      case 43: // "integer"
+      case 46: // "integer"
 
-#line 103 "netconf_parser.yy" // lalr1.cc:635
+#line 107 "netconf_parser.yy" // lalr1.cc:635
         { yyoutput << yysym.value.template as< int64_t > (); }
 #line 385 "netconf_parser.cc" // lalr1.cc:635
         break;
 
-      case 44: // "floating point"
+      case 47: // "floating point"
 
-#line 103 "netconf_parser.yy" // lalr1.cc:635
+#line 107 "netconf_parser.yy" // lalr1.cc:635
         { yyoutput << yysym.value.template as< double > (); }
 #line 392 "netconf_parser.cc" // lalr1.cc:635
         break;
 
-      case 45: // "boolean"
+      case 48: // "boolean"
 
-#line 103 "netconf_parser.yy" // lalr1.cc:635
+#line 107 "netconf_parser.yy" // lalr1.cc:635
         { yyoutput << yysym.value.template as< bool > (); }
 #line 399 "netconf_parser.cc" // lalr1.cc:635
         break;
 
-      case 54: // value
+      case 57: // value
 
-#line 103 "netconf_parser.yy" // lalr1.cc:635
+#line 107 "netconf_parser.yy" // lalr1.cc:635
         { yyoutput << yysym.value.template as< ElementPtr > (); }
 #line 406 "netconf_parser.cc" // lalr1.cc:635
         break;
 
-      case 57: // map_value
+      case 60: // map_value
 
-#line 103 "netconf_parser.yy" // lalr1.cc:635
+#line 107 "netconf_parser.yy" // lalr1.cc:635
         { yyoutput << yysym.value.template as< ElementPtr > (); }
 #line 413 "netconf_parser.cc" // lalr1.cc:635
         break;
 
-      case 113: // socket_type_value
+      case 119: // socket_type_value
 
-#line 103 "netconf_parser.yy" // lalr1.cc:635
+#line 107 "netconf_parser.yy" // lalr1.cc:635
         { yyoutput << yysym.value.template as< ElementPtr > (); }
 #line 420 "netconf_parser.cc" // lalr1.cc:635
         break;
@@ -613,25 +613,25 @@ namespace isc { namespace netconf {
          when using variants.  */
       switch (yyr1_[yyn])
     {
-      case 54: // value
-      case 57: // map_value
-      case 113: // socket_type_value
+      case 57: // value
+      case 60: // map_value
+      case 119: // socket_type_value
         yylhs.value.build< ElementPtr > ();
         break;
 
-      case 45: // "boolean"
+      case 48: // "boolean"
         yylhs.value.build< bool > ();
         break;
 
-      case 44: // "floating point"
+      case 47: // "floating point"
         yylhs.value.build< double > ();
         break;
 
-      case 43: // "integer"
+      case 46: // "integer"
         yylhs.value.build< int64_t > ();
         break;
 
-      case 42: // "constant string"
+      case 45: // "constant string"
         yylhs.value.build< std::string > ();
         break;
 
@@ -654,27 +654,27 @@ namespace isc { namespace netconf {
           switch (yyn)
             {
   case 2:
-#line 114 "netconf_parser.yy" // lalr1.cc:856
+#line 118 "netconf_parser.yy" // lalr1.cc:856
     { ctx.ctx_ = ctx.NO_KEYWORDS; }
 #line 660 "netconf_parser.cc" // lalr1.cc:856
     break;
 
   case 4:
-#line 115 "netconf_parser.yy" // lalr1.cc:856
+#line 119 "netconf_parser.yy" // lalr1.cc:856
     { ctx.ctx_ = ctx.CONFIG; }
 #line 666 "netconf_parser.cc" // lalr1.cc:856
     break;
 
   case 6:
-#line 116 "netconf_parser.yy" // lalr1.cc:856
+#line 120 "netconf_parser.yy" // lalr1.cc:856
     { ctx.ctx_ = ctx.NETCONF; }
 #line 672 "netconf_parser.cc" // lalr1.cc:856
     break;
 
   case 8:
-#line 124 "netconf_parser.yy" // lalr1.cc:856
+#line 128 "netconf_parser.yy" // lalr1.cc:856
     {
-    // Parse the Control-netconf map
+    // Parse the Netconf map
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(m);
 }
@@ -682,7 +682,7 @@ namespace isc { namespace netconf {
     break;
 
   case 9:
-#line 128 "netconf_parser.yy" // lalr1.cc:856
+#line 132 "netconf_parser.yy" // lalr1.cc:856
     {
     // parsing completed
 }
@@ -690,7 +690,7 @@ namespace isc { namespace netconf {
     break;
 
   case 10:
-#line 135 "netconf_parser.yy" // lalr1.cc:856
+#line 139 "netconf_parser.yy" // lalr1.cc:856
     {
     // Push back the JSON value on the stack
     ctx.stack_.push_back(yystack_[0].value.as< ElementPtr > ());
@@ -699,49 +699,49 @@ namespace isc { namespace netconf {
     break;
 
   case 11:
-#line 141 "netconf_parser.yy" // lalr1.cc:856
+#line 145 "netconf_parser.yy" // lalr1.cc:856
     { yylhs.value.as< ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); }
 #line 705 "netconf_parser.cc" // lalr1.cc:856
     break;
 
   case 12:
-#line 142 "netconf_parser.yy" // lalr1.cc:856
+#line 146 "netconf_parser.yy" // lalr1.cc:856
     { yylhs.value.as< ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location))); }
 #line 711 "netconf_parser.cc" // lalr1.cc:856
     break;
 
   case 13:
-#line 143 "netconf_parser.yy" // lalr1.cc:856
+#line 147 "netconf_parser.yy" // lalr1.cc:856
     { yylhs.value.as< ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); }
 #line 717 "netconf_parser.cc" // lalr1.cc:856
     break;
 
   case 14:
-#line 144 "netconf_parser.yy" // lalr1.cc:856
+#line 148 "netconf_parser.yy" // lalr1.cc:856
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); }
 #line 723 "netconf_parser.cc" // lalr1.cc:856
     break;
 
   case 15:
-#line 145 "netconf_parser.yy" // lalr1.cc:856
+#line 149 "netconf_parser.yy" // lalr1.cc:856
     { yylhs.value.as< ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); }
 #line 729 "netconf_parser.cc" // lalr1.cc:856
     break;
 
   case 16:
-#line 146 "netconf_parser.yy" // lalr1.cc:856
+#line 150 "netconf_parser.yy" // lalr1.cc:856
     { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
 #line 735 "netconf_parser.cc" // lalr1.cc:856
     break;
 
   case 17:
-#line 147 "netconf_parser.yy" // lalr1.cc:856
+#line 151 "netconf_parser.yy" // lalr1.cc:856
     { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
 #line 741 "netconf_parser.cc" // lalr1.cc:856
     break;
 
   case 18:
-#line 151 "netconf_parser.yy" // lalr1.cc:856
+#line 155 "netconf_parser.yy" // lalr1.cc:856
     {
     // This code is executed when we're about to start parsing
     // the content of the map
@@ -752,7 +752,7 @@ namespace isc { namespace netconf {
     break;
 
   case 19:
-#line 156 "netconf_parser.yy" // lalr1.cc:856
+#line 160 "netconf_parser.yy" // lalr1.cc:856
     {
     // map parsing completed. If we ever want to do any wrap up
     // (maybe some sanity checking), this would be the best place
@@ -762,13 +762,13 @@ namespace isc { namespace netconf {
     break;
 
   case 20:
-#line 162 "netconf_parser.yy" // lalr1.cc:856
+#line 166 "netconf_parser.yy" // lalr1.cc:856
     { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
 #line 768 "netconf_parser.cc" // lalr1.cc:856
     break;
 
   case 23:
-#line 176 "netconf_parser.yy" // lalr1.cc:856
+#line 180 "netconf_parser.yy" // lalr1.cc:856
     {
                   // map containing a single entry
                   ctx.stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ());
@@ -777,7 +777,7 @@ namespace isc { namespace netconf {
     break;
 
   case 24:
-#line 180 "netconf_parser.yy" // lalr1.cc:856
+#line 184 "netconf_parser.yy" // lalr1.cc:856
     {
                   // map consisting of a shorter map followed by
                   // comma and string:value
@@ -787,7 +787,7 @@ namespace isc { namespace netconf {
     break;
 
   case 25:
-#line 187 "netconf_parser.yy" // lalr1.cc:856
+#line 191 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.push_back(l);
@@ -796,14 +796,14 @@ namespace isc { namespace netconf {
     break;
 
   case 26:
-#line 190 "netconf_parser.yy" // lalr1.cc:856
+#line 194 "netconf_parser.yy" // lalr1.cc:856
     {
 }
 #line 803 "netconf_parser.cc" // lalr1.cc:856
     break;
 
   case 29:
-#line 197 "netconf_parser.yy" // lalr1.cc:856
+#line 201 "netconf_parser.yy" // lalr1.cc:856
     {
                   // List consisting of a single element.
                   ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ());
@@ -812,7 +812,7 @@ namespace isc { namespace netconf {
     break;
 
   case 30:
-#line 201 "netconf_parser.yy" // lalr1.cc:856
+#line 205 "netconf_parser.yy" // lalr1.cc:856
     {
                   // List ending with , and a value.
                   ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ());
@@ -821,7 +821,7 @@ namespace isc { namespace netconf {
     break;
 
   case 31:
-#line 214 "netconf_parser.yy" // lalr1.cc:856
+#line 218 "netconf_parser.yy" // lalr1.cc:856
     {
     const std::string& where = ctx.contextName();
     const std::string& keyword = yystack_[1].value.as< std::string > ();
@@ -832,7 +832,7 @@ namespace isc { namespace netconf {
     break;
 
   case 32:
-#line 222 "netconf_parser.yy" // lalr1.cc:856
+#line 226 "netconf_parser.yy" // lalr1.cc:856
     {
     // This code is executed when we're about to start parsing
     // the content of the map
@@ -843,7 +843,7 @@ namespace isc { namespace netconf {
     break;
 
   case 33:
-#line 227 "netconf_parser.yy" // lalr1.cc:856
+#line 231 "netconf_parser.yy" // lalr1.cc:856
     {
     // map parsing completed. If we ever want to do any wrap up
     // (maybe some sanity checking), this would be the best place
@@ -853,7 +853,7 @@ namespace isc { namespace netconf {
     break;
 
   case 38:
-#line 244 "netconf_parser.yy" // lalr1.cc:856
+#line 248 "netconf_parser.yy" // lalr1.cc:856
     {
 
     // Let's create a MapElement that will represent it, add it to the
@@ -869,9 +869,9 @@ namespace isc { namespace netconf {
     break;
 
   case 39:
-#line 254 "netconf_parser.yy" // lalr1.cc:856
+#line 258 "netconf_parser.yy" // lalr1.cc:856
     {
-    // Ok, we're done with parsing control-netconf. Let's take the map
+    // Ok, we're done with parsing Netconf. Let's take the map
     // off the stack.
     ctx.stack_.pop_back();
     ctx.leave();
@@ -879,16 +879,43 @@ namespace isc { namespace netconf {
 #line 880 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 49:
-#line 278 "netconf_parser.yy" // lalr1.cc:856
+  case 52:
+#line 285 "netconf_parser.yy" // lalr1.cc:856
+    {
+    ElementPtr flag(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
+    ctx.stack_.back()->set("boot-update", flag);
+}
+#line 889 "netconf_parser.cc" // lalr1.cc:856
+    break;
+
+  case 53:
+#line 290 "netconf_parser.yy" // lalr1.cc:856
+    {
+    ElementPtr flag(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
+    ctx.stack_.back()->set("subscribe-changes", flag);
+}
+#line 898 "netconf_parser.cc" // lalr1.cc:856
+    break;
+
+  case 54:
+#line 295 "netconf_parser.yy" // lalr1.cc:856
+    {
+    ElementPtr flag(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
+    ctx.stack_.back()->set("validate-changes", flag);
+}
+#line 907 "netconf_parser.cc" // lalr1.cc:856
+    break;
+
+  case 55:
+#line 300 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 888 "netconf_parser.cc" // lalr1.cc:856
+#line 915 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 50:
-#line 280 "netconf_parser.yy" // lalr1.cc:856
+  case 56:
+#line 302 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr parent = ctx.stack_.back();
     ElementPtr user_context = yystack_[0].value.as< ElementPtr > ();
@@ -911,19 +938,19 @@ namespace isc { namespace netconf {
     parent->set("user-context", user_context);
     ctx.leave();
 }
-#line 915 "netconf_parser.cc" // lalr1.cc:856
+#line 942 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 51:
-#line 303 "netconf_parser.yy" // lalr1.cc:856
+  case 57:
+#line 325 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 923 "netconf_parser.cc" // lalr1.cc:856
+#line 950 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 52:
-#line 305 "netconf_parser.yy" // lalr1.cc:856
+  case 58:
+#line 327 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr parent = ctx.stack_.back();
     ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location)));
@@ -948,479 +975,479 @@ namespace isc { namespace netconf {
     parent->set("user-context", user_context);
     ctx.leave();
 }
-#line 952 "netconf_parser.cc" // lalr1.cc:856
+#line 979 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 53:
-#line 331 "netconf_parser.yy" // lalr1.cc:856
+  case 59:
+#line 353 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("hooks-libraries", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.HOOKS_LIBRARIES);
 }
-#line 963 "netconf_parser.cc" // lalr1.cc:856
+#line 990 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 54:
-#line 336 "netconf_parser.yy" // lalr1.cc:856
+  case 60:
+#line 358 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 972 "netconf_parser.cc" // lalr1.cc:856
+#line 999 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 59:
-#line 349 "netconf_parser.yy" // lalr1.cc:856
+  case 65:
+#line 371 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 982 "netconf_parser.cc" // lalr1.cc:856
+#line 1009 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 60:
-#line 353 "netconf_parser.yy" // lalr1.cc:856
+  case 66:
+#line 375 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.stack_.pop_back();
 }
-#line 990 "netconf_parser.cc" // lalr1.cc:856
+#line 1017 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 66:
-#line 366 "netconf_parser.yy" // lalr1.cc:856
+  case 72:
+#line 388 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 998 "netconf_parser.cc" // lalr1.cc:856
+#line 1025 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 67:
-#line 368 "netconf_parser.yy" // lalr1.cc:856
+  case 73:
+#line 390 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr lib(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("library", lib);
     ctx.leave();
 }
-#line 1008 "netconf_parser.cc" // lalr1.cc:856
+#line 1035 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 68:
-#line 374 "netconf_parser.yy" // lalr1.cc:856
+  case 74:
+#line 396 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1016 "netconf_parser.cc" // lalr1.cc:856
+#line 1043 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 69:
-#line 376 "netconf_parser.yy" // lalr1.cc:856
+  case 75:
+#line 398 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.stack_.back()->set("parameters", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
 }
-#line 1025 "netconf_parser.cc" // lalr1.cc:856
+#line 1052 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 70:
-#line 384 "netconf_parser.yy" // lalr1.cc:856
+  case 76:
+#line 406 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[2].location)));
     ctx.stack_.back()->set("managed-servers", m);
     ctx.stack_.push_back(m);
     ctx.enter(ctx.MANAGED_SERVERS);
 }
-#line 1036 "netconf_parser.cc" // lalr1.cc:856
+#line 1063 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 71:
-#line 389 "netconf_parser.yy" // lalr1.cc:856
+  case 77:
+#line 411 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1045 "netconf_parser.cc" // lalr1.cc:856
+#line 1072 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 81:
-#line 413 "netconf_parser.yy" // lalr1.cc:856
+  case 87:
+#line 435 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("dhcp4", m);
     ctx.stack_.push_back(m);
     ctx.enter(ctx.SERVER);
 }
-#line 1056 "netconf_parser.cc" // lalr1.cc:856
+#line 1083 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 82:
-#line 418 "netconf_parser.yy" // lalr1.cc:856
+  case 88:
+#line 440 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1065 "netconf_parser.cc" // lalr1.cc:856
+#line 1092 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 83:
-#line 424 "netconf_parser.yy" // lalr1.cc:856
+  case 89:
+#line 446 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("dhcp6", m);
     ctx.stack_.push_back(m);
     ctx.enter(ctx.SERVER);
 }
-#line 1076 "netconf_parser.cc" // lalr1.cc:856
+#line 1103 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 84:
-#line 429 "netconf_parser.yy" // lalr1.cc:856
+  case 90:
+#line 451 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1085 "netconf_parser.cc" // lalr1.cc:856
+#line 1112 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 85:
-#line 435 "netconf_parser.yy" // lalr1.cc:856
+  case 91:
+#line 457 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("d2", m);
     ctx.stack_.push_back(m);
     ctx.enter(ctx.SERVER);
 }
-#line 1096 "netconf_parser.cc" // lalr1.cc:856
+#line 1123 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 86:
-#line 440 "netconf_parser.yy" // lalr1.cc:856
+  case 92:
+#line 462 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1105 "netconf_parser.cc" // lalr1.cc:856
+#line 1132 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 87:
-#line 446 "netconf_parser.yy" // lalr1.cc:856
+  case 93:
+#line 468 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("ca", m);
     ctx.stack_.push_back(m);
     ctx.enter(ctx.SERVER);
 }
-#line 1116 "netconf_parser.cc" // lalr1.cc:856
+#line 1143 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 88:
-#line 451 "netconf_parser.yy" // lalr1.cc:856
+  case 94:
+#line 473 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1125 "netconf_parser.cc" // lalr1.cc:856
+#line 1152 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 96:
-#line 470 "netconf_parser.yy" // lalr1.cc:856
+  case 105:
+#line 495 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1133 "netconf_parser.cc" // lalr1.cc:856
+#line 1160 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 97:
-#line 472 "netconf_parser.yy" // lalr1.cc:856
+  case 106:
+#line 497 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr model(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("model", model);
     ctx.leave();
 }
-#line 1143 "netconf_parser.cc" // lalr1.cc:856
+#line 1170 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 98:
-#line 479 "netconf_parser.yy" // lalr1.cc:856
+  case 107:
+#line 504 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("control-socket", m);
     ctx.stack_.push_back(m);
     ctx.enter(ctx.CONTROL_SOCKET);
 }
-#line 1154 "netconf_parser.cc" // lalr1.cc:856
+#line 1181 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 99:
-#line 484 "netconf_parser.yy" // lalr1.cc:856
+  case 108:
+#line 509 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1163 "netconf_parser.cc" // lalr1.cc:856
+#line 1190 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 108:
-#line 502 "netconf_parser.yy" // lalr1.cc:856
+  case 117:
+#line 527 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.enter(ctx.SOCKET_TYPE);
 }
-#line 1171 "netconf_parser.cc" // lalr1.cc:856
+#line 1198 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 109:
-#line 504 "netconf_parser.yy" // lalr1.cc:856
+  case 118:
+#line 529 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.stack_.back()->set("socket-type", yystack_[0].value.as< ElementPtr > ());
     ctx.leave();
 }
-#line 1180 "netconf_parser.cc" // lalr1.cc:856
+#line 1207 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 110:
-#line 510 "netconf_parser.yy" // lalr1.cc:856
+  case 119:
+#line 535 "netconf_parser.yy" // lalr1.cc:856
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("unix", ctx.loc2pos(yystack_[0].location))); }
-#line 1186 "netconf_parser.cc" // lalr1.cc:856
+#line 1213 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 111:
-#line 511 "netconf_parser.yy" // lalr1.cc:856
+  case 120:
+#line 536 "netconf_parser.yy" // lalr1.cc:856
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("http", ctx.loc2pos(yystack_[0].location))); }
-#line 1192 "netconf_parser.cc" // lalr1.cc:856
+#line 1219 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 112:
-#line 512 "netconf_parser.yy" // lalr1.cc:856
+  case 121:
+#line 537 "netconf_parser.yy" // lalr1.cc:856
     { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("stdout", ctx.loc2pos(yystack_[0].location))); }
-#line 1198 "netconf_parser.cc" // lalr1.cc:856
+#line 1225 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 113:
-#line 515 "netconf_parser.yy" // lalr1.cc:856
+  case 122:
+#line 540 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1206 "netconf_parser.cc" // lalr1.cc:856
+#line 1233 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 114:
-#line 517 "netconf_parser.yy" // lalr1.cc:856
+  case 123:
+#line 542 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-name", name);
     ctx.leave();
 }
-#line 1216 "netconf_parser.cc" // lalr1.cc:856
+#line 1243 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 115:
-#line 524 "netconf_parser.yy" // lalr1.cc:856
+  case 124:
+#line 549 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1224 "netconf_parser.cc" // lalr1.cc:856
+#line 1251 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 116:
-#line 526 "netconf_parser.yy" // lalr1.cc:856
+  case 125:
+#line 551 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr url(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("socket-url", url);
     ctx.leave();
 }
-#line 1234 "netconf_parser.cc" // lalr1.cc:856
+#line 1261 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 117:
-#line 539 "netconf_parser.yy" // lalr1.cc:856
+  case 126:
+#line 564 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("Logging", m);
     ctx.stack_.push_back(m);
     ctx.enter(ctx.LOGGING);
 }
-#line 1245 "netconf_parser.cc" // lalr1.cc:856
+#line 1272 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 118:
-#line 544 "netconf_parser.yy" // lalr1.cc:856
+  case 127:
+#line 569 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1254 "netconf_parser.cc" // lalr1.cc:856
+#line 1281 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 122:
-#line 561 "netconf_parser.yy" // lalr1.cc:856
+  case 131:
+#line 586 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("loggers", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.LOGGERS);
 }
-#line 1265 "netconf_parser.cc" // lalr1.cc:856
+#line 1292 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 123:
-#line 566 "netconf_parser.yy" // lalr1.cc:856
+  case 132:
+#line 591 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1274 "netconf_parser.cc" // lalr1.cc:856
+#line 1301 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 126:
-#line 578 "netconf_parser.yy" // lalr1.cc:856
+  case 135:
+#line 603 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(l);
     ctx.stack_.push_back(l);
 }
-#line 1284 "netconf_parser.cc" // lalr1.cc:856
+#line 1311 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 127:
-#line 582 "netconf_parser.yy" // lalr1.cc:856
+  case 136:
+#line 607 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.stack_.pop_back();
 }
-#line 1292 "netconf_parser.cc" // lalr1.cc:856
+#line 1319 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 137:
-#line 599 "netconf_parser.yy" // lalr1.cc:856
+  case 146:
+#line 624 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1300 "netconf_parser.cc" // lalr1.cc:856
+#line 1327 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 138:
-#line 601 "netconf_parser.yy" // lalr1.cc:856
+  case 147:
+#line 626 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("name", name);
     ctx.leave();
 }
-#line 1310 "netconf_parser.cc" // lalr1.cc:856
+#line 1337 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 139:
-#line 607 "netconf_parser.yy" // lalr1.cc:856
+  case 148:
+#line 632 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("debuglevel", dl);
 }
-#line 1319 "netconf_parser.cc" // lalr1.cc:856
+#line 1346 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 140:
-#line 612 "netconf_parser.yy" // lalr1.cc:856
+  case 149:
+#line 637 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1327 "netconf_parser.cc" // lalr1.cc:856
+#line 1354 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 141:
-#line 614 "netconf_parser.yy" // lalr1.cc:856
+  case 150:
+#line 639 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("severity", sev);
     ctx.leave();
 }
-#line 1337 "netconf_parser.cc" // lalr1.cc:856
+#line 1364 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 142:
-#line 620 "netconf_parser.yy" // lalr1.cc:856
+  case 151:
+#line 645 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output_options", l);
     ctx.stack_.push_back(l);
     ctx.enter(ctx.OUTPUT_OPTIONS);
 }
-#line 1348 "netconf_parser.cc" // lalr1.cc:856
+#line 1375 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 143:
-#line 625 "netconf_parser.yy" // lalr1.cc:856
+  case 152:
+#line 650 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.stack_.pop_back();
     ctx.leave();
 }
-#line 1357 "netconf_parser.cc" // lalr1.cc:856
+#line 1384 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 146:
-#line 634 "netconf_parser.yy" // lalr1.cc:856
+  case 155:
+#line 659 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->add(m);
     ctx.stack_.push_back(m);
 }
-#line 1367 "netconf_parser.cc" // lalr1.cc:856
+#line 1394 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 147:
-#line 638 "netconf_parser.yy" // lalr1.cc:856
+  case 156:
+#line 663 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.stack_.pop_back();
 }
-#line 1375 "netconf_parser.cc" // lalr1.cc:856
+#line 1402 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 154:
-#line 652 "netconf_parser.yy" // lalr1.cc:856
+  case 163:
+#line 677 "netconf_parser.yy" // lalr1.cc:856
     {
     ctx.enter(ctx.NO_KEYWORDS);
 }
-#line 1383 "netconf_parser.cc" // lalr1.cc:856
+#line 1410 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 155:
-#line 654 "netconf_parser.yy" // lalr1.cc:856
+  case 164:
+#line 679 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("output", sev);
     ctx.leave();
 }
-#line 1393 "netconf_parser.cc" // lalr1.cc:856
+#line 1420 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 156:
-#line 660 "netconf_parser.yy" // lalr1.cc:856
+  case 165:
+#line 685 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("flush", flush);
 }
-#line 1402 "netconf_parser.cc" // lalr1.cc:856
+#line 1429 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 157:
-#line 665 "netconf_parser.yy" // lalr1.cc:856
+  case 166:
+#line 690 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxsize", maxsize);
 }
-#line 1411 "netconf_parser.cc" // lalr1.cc:856
+#line 1438 "netconf_parser.cc" // lalr1.cc:856
     break;
 
-  case 158:
-#line 670 "netconf_parser.yy" // lalr1.cc:856
+  case 167:
+#line 695 "netconf_parser.yy" // lalr1.cc:856
     {
     ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
     ctx.stack_.back()->set("maxver", maxver);
 }
-#line 1420 "netconf_parser.cc" // lalr1.cc:856
+#line 1447 "netconf_parser.cc" // lalr1.cc:856
     break;
 
 
-#line 1424 "netconf_parser.cc" // lalr1.cc:856
+#line 1451 "netconf_parser.cc" // lalr1.cc:856
             default:
               break;
             }
@@ -1674,40 +1701,41 @@ namespace isc { namespace netconf {
   }
 
 
-  const signed char NetconfParser::yypact_ninf_ = -73;
+  const signed char NetconfParser::yypact_ninf_ = -64;
 
   const signed char NetconfParser::yytable_ninf_ = -1;
 
   const short int
   NetconfParser::yypact_[] =
   {
-      55,   -73,   -73,   -73,    17,     2,     3,    31,   -73,   -73,
-     -73,   -73,   -73,   -73,   -73,   -73,   -73,   -73,   -73,   -73,
-     -73,   -73,   -73,   -73,     2,     6,    10,    11,   -73,    46,
-      68,    86,    95,    88,   -73,   -73,     0,   -73,   -73,   -73,
-     -73,   -73,   100,   -73,   101,   -73,    98,   104,   -73,   -73,
-     -73,   -73,   -73,   -73,     2,     2,   -73,    66,   105,   106,
-      10,   -73,   107,   108,   109,   110,   -73,   -73,    11,   -73,
-     -73,   111,   112,   113,   -73,   114,    75,   -73,   117,   -73,
-       2,    11,    93,   -73,   -73,   -73,    -2,   118,   -73,   116,
-     -73,    13,   -73,   -73,   -73,   -73,   -73,   -73,   -73,   119,
-     115,   -73,   -73,   -73,   -73,   -73,   -73,   120,   125,   -73,
-     -73,   126,    93,   -73,   127,   128,   129,   130,   -73,    -2,
-      34,   -73,   118,   124,   -73,   134,   135,   137,   138,   -73,
-     -73,   -73,   -73,    61,   -73,   -73,   -73,   -73,   139,    39,
-      39,    39,    39,   131,   132,    57,   -73,   -73,    27,   -73,
-     -73,   -73,   -73,   -73,   -73,    62,   -73,   -73,   -73,    69,
-      70,    71,   121,     2,   -73,    -6,   139,   -73,   133,   143,
-      39,   -73,   -73,   -73,   -73,   -73,   -73,   -73,   -73,   144,
-     -73,   -73,   -73,   -73,    72,   -73,   -73,   -73,   -73,   -73,
-     -73,   122,   142,   -73,   146,   147,   123,   148,    -6,   -73,
-     -73,     7,   136,   149,   -73,   140,   -73,   -73,   -73,   -73,
-     -73,   -73,   -73,    79,   -73,   -73,   -73,   -73,   -73,   150,
-     -73,   151,   152,   154,     7,   -73,   -73,    83,   -73,    76,
-     141,   145,   -73,    30,   150,   -73,   -73,   -73,   -73,   -73,
-     -73,   -73,   -73,   155,   156,   157,    80,   -73,   -73,   -73,
-     -73,   -73,   -73,   158,   159,   153,   160,    30,   -73,   163,
-     -73,   -73,   -73,   -73,   -73
+      64,   -64,   -64,   -64,    13,     9,    18,    29,   -64,   -64,
+     -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,
+     -64,   -64,   -64,   -64,     9,   -22,    10,    15,   -64,     1,
+      70,    79,    74,   106,   -64,   -64,     7,   -64,   -64,   -64,
+     -64,   -64,   113,   116,   117,   118,   -64,   119,   -64,   120,
+     121,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,
+       9,     9,   -64,    80,   122,   123,    10,   -64,   125,   126,
+      83,    84,    85,   127,   131,   -64,   -64,    15,   -64,   -64,
+     132,   130,   133,   -64,   134,    97,   -64,   -64,   -64,   -64,
+     138,   -64,     9,    15,   105,   -64,   -64,   -64,    44,   137,
+     -64,   139,   -64,    16,   -64,   -64,   -64,   -64,   -64,   -64,
+     -64,   140,   136,   -64,   -64,   -64,   -64,   -64,   -64,   143,
+     142,   -64,   -64,   146,   105,   -64,   147,   148,   152,   153,
+     -64,    44,     2,   -64,   137,   141,   -64,   154,   155,   156,
+     157,   -64,   -64,   -64,   -64,    40,   -64,   -64,   -64,   -64,
+     158,    65,    65,    65,    65,   162,   163,    88,   -64,   -64,
+      43,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,
+      62,   -64,   -64,   -64,    82,    91,    92,   114,     9,   -64,
+       0,   158,   -64,   164,   165,    65,   -64,   -64,   -64,   -64,
+     -64,   -64,   -64,   -64,   166,   -64,   -64,   -64,   -64,    93,
+     -64,   -64,   -64,   -64,   -64,   -64,   115,   167,   -64,   168,
+     169,   129,   172,     0,   -64,   -64,    -6,   135,   173,   -64,
+     149,   -64,   -64,   -64,   -64,   -64,   -64,   -64,    94,   -64,
+     -64,   -64,   -64,   -64,   170,   -64,   175,   177,   178,    -6,
+     -64,   -64,    78,   -64,    87,   150,   151,   -64,    52,   170,
+     -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   179,   180,
+     181,    95,   -64,   -64,   -64,   -64,   -64,   -64,   188,   145,
+     159,   160,    52,   -64,   171,   -64,   -64,   -64,   -64,   -64
   };
 
   const unsigned char
@@ -1716,169 +1744,176 @@ namespace isc { namespace netconf {
        0,     2,     4,     6,     0,     0,     0,     0,     1,    25,
       18,    15,    14,    11,    12,    13,     3,    10,    16,    17,
       32,     5,     8,     7,    27,    21,     0,    40,    29,     0,
-      28,     0,     0,    22,    38,   117,     0,    34,    36,    37,
-      49,    51,     0,    53,     0,    48,     0,    41,    42,    46,
-      47,    45,    44,    26,     0,     0,    19,     0,     0,     0,
-       0,    33,     0,     0,     0,     0,    31,     9,     0,    30,
-      23,     0,     0,     0,    35,     0,     0,    70,     0,    43,
-       0,    40,     0,    20,    50,    52,    72,    55,    24,     0,
-     122,     0,   119,   121,    81,    83,    85,    87,    80,     0,
-      73,    74,    76,    77,    78,    79,    59,     0,    56,    57,
-      39,     0,     0,   118,     0,     0,     0,     0,    71,     0,
-       0,    54,     0,     0,   120,     0,     0,     0,     0,    75,
-      66,    68,    63,     0,    61,    64,    65,    58,     0,     0,
-       0,     0,     0,     0,     0,     0,    60,   126,     0,   124,
-      96,    98,    95,    93,    94,     0,    89,    91,    92,     0,
-       0,     0,     0,     0,    62,     0,     0,   123,     0,     0,
-       0,    82,    84,    86,    88,    67,    69,   137,   142,     0,
-     140,   136,   134,   135,     0,   128,   130,   132,   133,   131,
-     125,     0,     0,    90,     0,     0,     0,     0,     0,   127,
-      97,     0,     0,     0,   139,     0,   129,   108,   113,   115,
-     107,   105,   106,     0,   100,   102,   103,   104,   138,     0,
-     141,     0,     0,     0,     0,    99,   146,     0,   144,     0,
-       0,     0,   101,     0,     0,   143,   110,   111,   112,   109,
-     114,   116,   154,     0,     0,     0,     0,   148,   150,   151,
-     152,   153,   145,     0,     0,     0,     0,     0,   147,     0,
-     156,   157,   158,   149,   155
+      28,     0,     0,    22,    38,   126,     0,    34,    36,    37,
+      55,    57,     0,     0,     0,     0,    59,     0,    51,     0,
+      41,    42,    44,    45,    46,    49,    50,    48,    47,    26,
+       0,     0,    19,     0,     0,     0,     0,    33,     0,     0,
+       0,     0,     0,     0,     0,    31,     9,     0,    30,    23,
+       0,     0,     0,    35,     0,     0,    52,    53,    54,    76,
+       0,    43,     0,    40,     0,    20,    56,    58,    78,    61,
+      24,     0,   131,     0,   128,   130,    87,    89,    91,    93,
+      86,     0,    79,    80,    82,    83,    84,    85,    65,     0,
+      62,    63,    39,     0,     0,   127,     0,     0,     0,     0,
+      77,     0,     0,    60,     0,     0,   129,     0,     0,     0,
+       0,    81,    72,    74,    69,     0,    67,    70,    71,    64,
+       0,     0,     0,     0,     0,     0,     0,     0,    66,   135,
+       0,   133,   105,   107,   104,    98,    99,   100,   102,   103,
+       0,    95,    97,   101,     0,     0,     0,     0,     0,    68,
+       0,     0,   132,     0,     0,     0,    88,    90,    92,    94,
+      73,    75,   146,   151,     0,   149,   145,   143,   144,     0,
+     137,   139,   141,   142,   140,   134,     0,     0,    96,     0,
+       0,     0,     0,     0,   136,   106,     0,     0,     0,   148,
+       0,   138,   117,   122,   124,   116,   114,   115,     0,   109,
+     111,   112,   113,   147,     0,   150,     0,     0,     0,     0,
+     108,   155,     0,   153,     0,     0,     0,   110,     0,     0,
+     152,   119,   120,   121,   118,   123,   125,   163,     0,     0,
+       0,     0,   157,   159,   160,   161,   162,   154,     0,     0,
+       0,     0,     0,   156,     0,   165,   166,   167,   158,   164
   };
 
   const short int
   NetconfParser::yypgoto_[] =
   {
-     -73,   -73,   -73,   -73,   -73,   -73,   -73,   -73,   -20,    38,
-     -73,   -73,   -73,   -73,   -73,   -73,   -73,   -73,   -27,   -73,
-     -73,   -73,   161,   -73,   -73,    84,   -73,    85,   -26,   -73,
-     -25,   -73,   -73,   -73,   -73,   -73,    45,   -73,   -73,    23,
-     -73,   -73,   -73,   -73,   -73,   -73,   -73,   -73,    50,   -73,
-     -73,   -73,   -73,   -73,   -73,   -73,   -73,   -40,     9,   -73,
-     -73,   -73,   -73,   -73,   -54,   -73,   -73,   -73,   -73,   -73,
-     -73,   -73,   -73,   -73,   -73,    65,   -73,   -73,   -73,    14,
-     -73,   -73,   -17,   -73,   -73,   -73,   -73,   -73,   -73,   -73,
-     -73,   -50,   -73,   -73,   -72,   -73,   -73,   -73,   -73,   -73
+     -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   -20,   124,
+     -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   -27,   -64,
+     -64,   -64,   144,   -64,   -64,   104,   -64,   161,   -24,   -19,
+     -18,   -26,   -64,   -25,   -64,   -64,   -64,   -64,   -64,    37,
+     -64,   -64,    41,   -64,   -64,   -64,   -64,   -64,   -64,   -64,
+     -64,    68,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,
+     -38,    17,   -64,   -64,   -64,   -64,   -64,   -39,   -64,   -64,
+     -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,    77,   -64,
+     -64,   -64,    22,   -64,   -64,    -9,   -64,   -64,   -64,   -64,
+     -64,   -64,   -64,   -64,   -42,   -64,   -64,   -63,   -64,   -64,
+     -64,   -64,   -64
   };
 
   const short int
   NetconfParser::yydefgoto_[] =
   {
       -1,     4,     5,     6,     7,    23,    27,    16,    17,    18,
-      25,    84,    32,    33,    19,    24,    29,    30,   152,    21,
-      26,    36,    37,    38,    58,    46,    47,    48,   153,    62,
-     154,    63,    51,    65,   107,   108,   109,   120,   133,   134,
-     135,   143,   136,   144,    52,    86,    99,   100,   101,   102,
-     114,   103,   115,   104,   116,   105,   117,   155,   156,   157,
-     168,   158,   169,   213,   214,   215,   221,   239,   216,   222,
-     217,   223,    39,    59,    91,    92,    93,   111,   148,   149,
-     165,   184,   185,   186,   194,   187,   188,   197,   189,   195,
-     227,   228,   233,   246,   247,   248,   253,   249,   250,   251
+      25,    96,    32,    33,    19,    24,    29,    30,   164,    21,
+      26,    36,    37,    38,    64,    49,    50,    51,   165,   166,
+     167,   168,    68,   169,    69,    57,    74,   119,   120,   121,
+     132,   145,   146,   147,   155,   148,   156,    58,    98,   111,
+     112,   113,   114,   126,   115,   127,   116,   128,   117,   129,
+     170,   171,   172,   183,   173,   184,   228,   229,   230,   236,
+     254,   231,   237,   232,   238,    39,    65,   103,   104,   105,
+     123,   160,   161,   180,   199,   200,   201,   209,   202,   203,
+     212,   204,   210,   242,   243,   248,   261,   262,   263,   268,
+     264,   265,   266
   };
 
   const unsigned short int
   NetconfParser::yytable_[] =
   {
-      45,    49,    50,    60,    28,    40,    41,     9,    61,    10,
-      20,    11,    94,    95,    96,    97,   112,     8,    40,    41,
-      34,   113,    40,    41,    42,   177,   178,   207,   179,   180,
-     166,   208,   209,   167,    69,    70,    44,    43,    22,    35,
-      44,    45,    49,    50,    12,    13,    14,    15,    31,    44,
-      40,    41,    53,    44,    45,    49,    50,   150,   151,    98,
-      88,   130,   131,   242,   145,   170,   243,   244,   245,   146,
-     171,    54,   170,   170,   170,   198,    44,   172,   173,   174,
-     199,    44,   224,   257,   130,   131,   234,   225,   258,   235,
-      55,    57,    98,   132,     1,     2,     3,   236,   237,   238,
-     159,   160,   161,    56,    64,    66,    67,    68,    71,    72,
-      73,    75,    76,    83,    78,    80,    77,    85,   119,    81,
-      82,    10,    87,    90,   110,   106,   121,   118,   122,   138,
-     123,   125,   126,   127,   128,   162,   163,   191,   181,   182,
-     183,   139,   140,   176,   141,   142,   147,   192,   196,   201,
-     202,   203,   205,    79,   219,   229,   230,   226,   231,   254,
-     255,   256,   259,   175,   200,    89,   204,   137,   164,   129,
-     232,   181,   182,   183,   210,   211,   212,   124,   218,   193,
-     190,   206,   220,   240,   252,   263,     0,   241,     0,     0,
-       0,     0,     0,     0,     0,     0,   261,   210,   211,   212,
-       0,     0,     0,   262,   260,   264,     0,     0,     0,     0,
+      48,    55,    56,    52,    28,    40,    41,    59,    53,    54,
+      66,    40,    41,     8,     9,    67,    10,   222,    11,   124,
+      34,   223,   224,    31,   125,    20,    40,    41,    42,    43,
+      44,    45,   142,   143,   192,   193,    22,   194,   195,    47,
+      78,    79,    35,   157,    46,    47,   181,    47,   158,   182,
+      48,    55,    56,    52,    12,    13,    14,    15,    53,    54,
+      47,   106,   107,   108,   109,   185,    48,    55,    56,    52,
+     186,   110,   100,    60,    53,    54,    40,    41,    42,    43,
+      44,   249,    62,    61,   250,   185,   162,   163,   257,    47,
+     187,   258,   259,   260,   185,   185,   213,   239,   272,   188,
+     189,   214,   240,   273,   110,   144,     1,     2,     3,    63,
+      47,   251,   252,   253,   174,   175,   176,    70,   142,   143,
+      71,    72,    73,    75,    77,    80,    81,    82,    76,    84,
+      85,    86,    87,    88,    89,    90,    92,    93,   102,   131,
+      94,    10,    97,    99,   118,   134,   150,   122,   130,   133,
+     135,   137,   138,   196,   197,   198,   139,   140,   191,   190,
+     215,   151,   152,   153,   154,   159,   177,   178,   206,   207,
+     211,   149,   217,   218,   216,   219,   220,   241,   234,   244,
+     233,   245,   246,   269,   270,   271,   196,   197,   198,   225,
+     226,   227,   274,   275,   235,   255,   256,   101,   179,   141,
+     247,   136,   208,   205,   221,   276,   277,   267,    95,   278,
+      83,     0,   225,   226,   227,     0,   279,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    74
+       0,     0,     0,     0,     0,     0,     0,     0,    91
   };
 
   const short int
   NetconfParser::yycheck_[] =
   {
-      27,    27,    27,     3,    24,    11,    12,     5,     8,     7,
-       7,     9,    14,    15,    16,    17,     3,     0,    11,    12,
-      10,     8,    11,    12,    13,    31,    32,    20,    34,    35,
-       3,    24,    25,     6,    54,    55,    42,    26,     7,    29,
-      42,    68,    68,    68,    42,    43,    44,    45,    42,    42,
-      11,    12,     6,    42,    81,    81,    81,    18,    19,    86,
-      80,    27,    28,    33,     3,     3,    36,    37,    38,     8,
-       8,     3,     3,     3,     3,     3,    42,     8,     8,     8,
-       8,    42,     3,     3,    27,    28,     3,     8,     8,     6,
-       4,     3,   119,   120,    39,    40,    41,    21,    22,    23,
-     140,   141,   142,     8,     4,     4,     8,     3,    42,     4,
-       4,     4,     4,    75,     4,     4,     7,    42,     3,     7,
-       7,     7,     5,    30,     8,     7,     6,     8,     3,     5,
-       4,     4,     4,     4,     4,     4,     4,     4,   165,   165,
-     165,     7,     7,   163,     7,     7,     7,     4,     4,     7,
-       4,     4,     4,    68,     5,     4,     4,     7,     4,     4,
-       4,     4,     4,    42,    42,    81,    43,   122,   145,   119,
-     224,   198,   198,   198,   201,   201,   201,   112,    42,   170,
-     166,   198,    42,    42,   234,   257,    -1,    42,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    43,   224,   224,   224,
-      -1,    -1,    -1,    43,    45,    42,    -1,    -1,    -1,    -1,
+      27,    27,    27,    27,    24,    11,    12,     6,    27,    27,
+       3,    11,    12,     0,     5,     8,     7,    23,     9,     3,
+      10,    27,    28,    45,     8,     7,    11,    12,    13,    14,
+      15,    16,    30,    31,    34,    35,     7,    37,    38,    45,
+      60,    61,    32,     3,    29,    45,     3,    45,     8,     6,
+      77,    77,    77,    77,    45,    46,    47,    48,    77,    77,
+      45,    17,    18,    19,    20,     3,    93,    93,    93,    93,
+       8,    98,    92,     3,    93,    93,    11,    12,    13,    14,
+      15,     3,     8,     4,     6,     3,    21,    22,    36,    45,
+       8,    39,    40,    41,     3,     3,     3,     3,     3,     8,
+       8,     8,     8,     8,   131,   132,    42,    43,    44,     3,
+      45,    24,    25,    26,   152,   153,   154,     4,    30,    31,
+       4,     4,     4,     4,     3,    45,     4,     4,     8,     4,
+       4,    48,    48,    48,     7,     4,     4,     7,    33,     3,
+       7,     7,    45,     5,     7,     3,     5,     8,     8,     6,
+       4,     4,     4,   180,   180,   180,     4,     4,   178,    45,
+      45,     7,     7,     7,     7,     7,     4,     4,     4,     4,
+       4,   134,     4,     4,     7,    46,     4,     7,     5,     4,
+      45,     4,     4,     4,     4,     4,   213,   213,   213,   216,
+     216,   216,     4,    48,    45,    45,    45,    93,   157,   131,
+     239,   124,   185,   181,   213,    46,    46,   249,    84,   272,
+      66,    -1,   239,   239,   239,    -1,    45,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    60
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    77
   };
 
   const unsigned char
   NetconfParser::yystos_[] =
   {
-       0,    39,    40,    41,    47,    48,    49,    50,     0,     5,
-       7,     9,    42,    43,    44,    45,    53,    54,    55,    60,
-       7,    65,     7,    51,    61,    56,    66,    52,    54,    62,
-      63,    42,    58,    59,    10,    29,    67,    68,    69,   118,
-      11,    12,    13,    26,    42,    64,    71,    72,    73,    74,
-      76,    78,    90,     6,     3,     4,     8,     3,    70,   119,
-       3,     8,    75,    77,     4,    79,     4,     8,     3,    54,
-      54,    42,     4,     4,    68,     4,     4,     7,     4,    73,
-       4,     7,     7,    55,    57,    42,    91,     5,    54,    71,
-      30,   120,   121,   122,    14,    15,    16,    17,    64,    92,
-      93,    94,    95,    97,    99,   101,     7,    80,    81,    82,
-       8,   123,     3,     8,    96,    98,   100,   102,     8,     3,
-      83,     6,     3,     4,   121,     4,     4,     4,     4,    94,
-      27,    28,    64,    84,    85,    86,    88,    82,     5,     7,
-       7,     7,     7,    87,    89,     3,     8,     7,   124,   125,
-      18,    19,    64,    74,    76,   103,   104,   105,   107,   103,
-     103,   103,     4,     4,    85,   126,     3,     6,   106,   108,
-       3,     8,     8,     8,     8,    42,    54,    31,    32,    34,
-      35,    64,    74,    76,   127,   128,   129,   131,   132,   134,
-     125,     4,     4,   104,   130,   135,     4,   133,     3,     8,
-      42,     7,     4,     4,    43,     4,   128,    20,    24,    25,
-      64,    74,    76,   109,   110,   111,   114,   116,    42,     5,
-      42,   112,   115,   117,     3,     8,     7,   136,   137,     4,
-       4,     4,   110,   138,     3,     6,    21,    22,    23,   113,
-      42,    42,    33,    36,    37,    38,   139,   140,   141,   143,
-     144,   145,   137,   142,     4,     4,     4,     3,     8,     4,
-      45,    43,    43,   140,    42
+       0,    42,    43,    44,    50,    51,    52,    53,     0,     5,
+       7,     9,    45,    46,    47,    48,    56,    57,    58,    63,
+       7,    68,     7,    54,    64,    59,    69,    55,    57,    65,
+      66,    45,    61,    62,    10,    32,    70,    71,    72,   124,
+      11,    12,    13,    14,    15,    16,    29,    45,    67,    74,
+      75,    76,    77,    78,    79,    80,    82,    84,    96,     6,
+       3,     4,     8,     3,    73,   125,     3,     8,    81,    83,
+       4,     4,     4,     4,    85,     4,     8,     3,    57,    57,
+      45,     4,     4,    71,     4,     4,    48,    48,    48,     7,
+       4,    76,     4,     7,     7,    58,    60,    45,    97,     5,
+      57,    74,    33,   126,   127,   128,    17,    18,    19,    20,
+      67,    98,    99,   100,   101,   103,   105,   107,     7,    86,
+      87,    88,     8,   129,     3,     8,   102,   104,   106,   108,
+       8,     3,    89,     6,     3,     4,   127,     4,     4,     4,
+       4,   100,    30,    31,    67,    90,    91,    92,    94,    88,
+       5,     7,     7,     7,     7,    93,    95,     3,     8,     7,
+     130,   131,    21,    22,    67,    77,    78,    79,    80,    82,
+     109,   110,   111,   113,   109,   109,   109,     4,     4,    91,
+     132,     3,     6,   112,   114,     3,     8,     8,     8,     8,
+      45,    57,    34,    35,    37,    38,    67,    80,    82,   133,
+     134,   135,   137,   138,   140,   131,     4,     4,   110,   136,
+     141,     4,   139,     3,     8,    45,     7,     4,     4,    46,
+       4,   134,    23,    27,    28,    67,    80,    82,   115,   116,
+     117,   120,   122,    45,     5,    45,   118,   121,   123,     3,
+       8,     7,   142,   143,     4,     4,     4,   116,   144,     3,
+       6,    24,    25,    26,   119,    45,    45,    36,    39,    40,
+      41,   145,   146,   147,   149,   150,   151,   143,   148,     4,
+       4,     4,     3,     8,     4,    48,    46,    46,   146,    45
   };
 
   const unsigned char
   NetconfParser::yyr1_[] =
   {
-       0,    46,    48,    47,    49,    47,    50,    47,    52,    51,
-      53,    54,    54,    54,    54,    54,    54,    54,    56,    55,
-      57,    58,    58,    59,    59,    61,    60,    62,    62,    63,
-      63,    64,    66,    65,    67,    67,    68,    68,    70,    69,
-      71,    71,    72,    72,    73,    73,    73,    73,    73,    75,
-      74,    77,    76,    79,    78,    80,    80,    81,    81,    83,
-      82,    84,    84,    84,    85,    85,    87,    86,    89,    88,
-      91,    90,    92,    92,    93,    93,    94,    94,    94,    94,
-      94,    96,    95,    98,    97,   100,    99,   102,   101,   103,
-     103,   104,   104,   104,   104,   104,   106,   105,   108,   107,
-     109,   109,   110,   110,   110,   110,   110,   110,   112,   111,
-     113,   113,   113,   115,   114,   117,   116,   119,   118,   120,
-     120,   121,   123,   122,   124,   124,   126,   125,   127,   127,
-     128,   128,   128,   128,   128,   128,   128,   130,   129,   131,
-     133,   132,   135,   134,   136,   136,   138,   137,   139,   139,
-     140,   140,   140,   140,   142,   141,   143,   144,   145
+       0,    49,    51,    50,    52,    50,    53,    50,    55,    54,
+      56,    57,    57,    57,    57,    57,    57,    57,    59,    58,
+      60,    61,    61,    62,    62,    64,    63,    65,    65,    66,
+      66,    67,    69,    68,    70,    70,    71,    71,    73,    72,
+      74,    74,    75,    75,    76,    76,    76,    76,    76,    76,
+      76,    76,    77,    78,    79,    81,    80,    83,    82,    85,
+      84,    86,    86,    87,    87,    89,    88,    90,    90,    90,
+      91,    91,    93,    92,    95,    94,    97,    96,    98,    98,
+      99,    99,   100,   100,   100,   100,   100,   102,   101,   104,
+     103,   106,   105,   108,   107,   109,   109,   110,   110,   110,
+     110,   110,   110,   110,   110,   112,   111,   114,   113,   115,
+     115,   116,   116,   116,   116,   116,   116,   118,   117,   119,
+     119,   119,   121,   120,   123,   122,   125,   124,   126,   126,
+     127,   129,   128,   130,   130,   132,   131,   133,   133,   134,
+     134,   134,   134,   134,   134,   134,   136,   135,   137,   139,
+     138,   141,   140,   142,   142,   144,   143,   145,   145,   146,
+     146,   146,   146,   148,   147,   149,   150,   151
   };
 
   const unsigned char
@@ -1888,18 +1923,19 @@ namespace isc { namespace netconf {
        1,     1,     1,     1,     1,     1,     1,     1,     0,     4,
        1,     0,     1,     3,     5,     0,     4,     0,     1,     1,
        3,     2,     0,     4,     1,     3,     1,     1,     0,     6,
-       0,     1,     1,     3,     1,     1,     1,     1,     1,     0,
-       4,     0,     4,     0,     6,     0,     1,     1,     3,     0,
-       4,     1,     3,     1,     1,     1,     0,     4,     0,     4,
-       0,     6,     0,     1,     1,     3,     1,     1,     1,     1,
-       1,     0,     6,     0,     6,     0,     6,     0,     6,     1,
-       3,     1,     1,     1,     1,     1,     0,     4,     0,     6,
-       1,     3,     1,     1,     1,     1,     1,     1,     0,     4,
-       1,     1,     1,     0,     4,     0,     4,     0,     6,     1,
-       3,     1,     0,     6,     1,     3,     0,     4,     1,     3,
-       1,     1,     1,     1,     1,     1,     1,     0,     4,     3,
-       0,     4,     0,     6,     1,     3,     0,     4,     1,     3,
-       1,     1,     1,     1,     0,     4,     3,     3,     3
+       0,     1,     1,     3,     1,     1,     1,     1,     1,     1,
+       1,     1,     3,     3,     3,     0,     4,     0,     4,     0,
+       6,     0,     1,     1,     3,     0,     4,     1,     3,     1,
+       1,     1,     0,     4,     0,     4,     0,     6,     0,     1,
+       1,     3,     1,     1,     1,     1,     1,     0,     6,     0,
+       6,     0,     6,     0,     6,     1,     3,     1,     1,     1,
+       1,     1,     1,     1,     1,     0,     4,     0,     6,     1,
+       3,     1,     1,     1,     1,     1,     1,     0,     4,     1,
+       1,     1,     0,     4,     0,     4,     0,     6,     1,     3,
+       1,     0,     6,     1,     3,     0,     4,     1,     3,     1,
+       1,     1,     1,     1,     1,     1,     0,     4,     3,     0,
+       4,     0,     6,     1,     3,     0,     4,     1,     3,     1,
+       1,     1,     1,     0,     4,     3,     3,     3
   };
 
 
@@ -1911,8 +1947,9 @@ namespace isc { namespace netconf {
   {
   "\"end of file\"", "error", "$undefined", "\",\"", "\":\"", "\"[\"",
   "\"]\"", "\"{\"", "\"}\"", "\"null\"", "\"Netconf\"", "\"user-context\"",
-  "\"comment\"", "\"managed-servers\"", "\"dhcp4\"", "\"dhcp6\"", "\"d2\"",
-  "\"ca\"", "\"model\"", "\"control-socket\"", "\"socket-type\"",
+  "\"comment\"", "\"boot-update\"", "\"subscribe-changes\"",
+  "\"validate-changes\"", "\"managed-servers\"", "\"dhcp4\"", "\"dhcp6\"",
+  "\"d2\"", "\"ca\"", "\"model\"", "\"control-socket\"", "\"socket-type\"",
   "\"unix\"", "\"http\"", "\"stdout\"", "\"socket-name\"",
   "\"socket-url\"", "\"hooks-libraries\"", "\"library\"", "\"parameters\"",
   "\"Logging\"", "\"loggers\"", "\"name\"", "\"output_options\"",
@@ -1925,7 +1962,8 @@ namespace isc { namespace netconf {
   "not_empty_list", "unknown_map_entry", "netconf_syntax_map", "$@7",
   "global_objects", "global_object", "netconf_object", "$@8",
   "global_params", "not_empty_global_params", "global_param",
-  "user_context", "$@9", "comment", "$@10", "hooks_libraries", "$@11",
+  "boot_update", "subscribe_changes", "validate_changes", "user_context",
+  "$@9", "comment", "$@10", "hooks_libraries", "$@11",
   "hooks_libraries_list", "not_empty_hooks_libraries_list",
   "hooks_library", "$@12", "hooks_params", "hooks_param", "library",
   "$@13", "parameters", "$@14", "managed_servers", "$@15",
@@ -1947,22 +1985,23 @@ namespace isc { namespace netconf {
   const unsigned short int
   NetconfParser::yyrline_[] =
   {
-       0,   114,   114,   114,   115,   115,   116,   116,   124,   124,
-     135,   141,   142,   143,   144,   145,   146,   147,   151,   151,
-     162,   167,   168,   176,   180,   187,   187,   193,   194,   197,
-     201,   214,   222,   222,   234,   235,   239,   240,   244,   244,
-     261,   262,   265,   266,   271,   272,   273,   274,   275,   278,
-     278,   303,   303,   331,   331,   341,   342,   345,   346,   349,
-     349,   357,   358,   359,   362,   363,   366,   366,   374,   374,
-     384,   384,   394,   395,   398,   399,   405,   406,   407,   408,
-     409,   413,   413,   424,   424,   435,   435,   446,   446,   457,
-     458,   462,   463,   464,   465,   466,   470,   470,   479,   479,
-     490,   491,   494,   495,   496,   497,   498,   499,   502,   502,
-     510,   511,   512,   515,   515,   524,   524,   539,   539,   552,
-     553,   557,   561,   561,   573,   574,   578,   578,   586,   587,
-     590,   591,   592,   593,   594,   595,   596,   599,   599,   607,
-     612,   612,   620,   620,   630,   631,   634,   634,   642,   643,
-     646,   647,   648,   649,   652,   652,   660,   665,   670
+       0,   118,   118,   118,   119,   119,   120,   120,   128,   128,
+     139,   145,   146,   147,   148,   149,   150,   151,   155,   155,
+     166,   171,   172,   180,   184,   191,   191,   197,   198,   201,
+     205,   218,   226,   226,   238,   239,   243,   244,   248,   248,
+     265,   266,   269,   270,   275,   276,   277,   278,   279,   280,
+     281,   282,   285,   290,   295,   300,   300,   325,   325,   353,
+     353,   363,   364,   367,   368,   371,   371,   379,   380,   381,
+     384,   385,   388,   388,   396,   396,   406,   406,   416,   417,
+     420,   421,   427,   428,   429,   430,   431,   435,   435,   446,
+     446,   457,   457,   468,   468,   479,   480,   484,   485,   486,
+     487,   488,   489,   490,   491,   495,   495,   504,   504,   515,
+     516,   519,   520,   521,   522,   523,   524,   527,   527,   535,
+     536,   537,   540,   540,   549,   549,   564,   564,   577,   578,
+     582,   586,   586,   598,   599,   603,   603,   611,   612,   615,
+     616,   617,   618,   619,   620,   621,   624,   624,   632,   637,
+     637,   645,   645,   655,   656,   659,   659,   667,   668,   671,
+     672,   673,   674,   677,   677,   685,   690,   695
   };
 
   // Print the state stack on the debug stream.
@@ -1997,8 +2036,8 @@ namespace isc { namespace netconf {
 
 #line 14 "netconf_parser.yy" // lalr1.cc:1163
 } } // isc::netconf
-#line 2001 "netconf_parser.cc" // lalr1.cc:1163
-#line 675 "netconf_parser.yy" // lalr1.cc:1164
+#line 2040 "netconf_parser.cc" // lalr1.cc:1163
+#line 700 "netconf_parser.yy" // lalr1.cc:1164
 
 
 void
index 317b4768dd471381cfacc71534c668b03e9f2c94..f7a4e6cb3a91d2042b157296146a388cc64c8f9d 100644 (file)
@@ -352,39 +352,42 @@ namespace isc { namespace netconf {
         TOKEN_NETCONF = 265,
         TOKEN_USER_CONTEXT = 266,
         TOKEN_COMMENT = 267,
-        TOKEN_MANAGED_SERVERS = 268,
-        TOKEN_DHCP4_SERVER = 269,
-        TOKEN_DHCP6_SERVER = 270,
-        TOKEN_D2_SERVER = 271,
-        TOKEN_CA_SERVER = 272,
-        TOKEN_MODEL = 273,
-        TOKEN_CONTROL_SOCKET = 274,
-        TOKEN_SOCKET_TYPE = 275,
-        TOKEN_UNIX = 276,
-        TOKEN_HTTP = 277,
-        TOKEN_STDOUT = 278,
-        TOKEN_SOCKET_NAME = 279,
-        TOKEN_SOCKET_URL = 280,
-        TOKEN_HOOKS_LIBRARIES = 281,
-        TOKEN_LIBRARY = 282,
-        TOKEN_PARAMETERS = 283,
-        TOKEN_LOGGING = 284,
-        TOKEN_LOGGERS = 285,
-        TOKEN_NAME = 286,
-        TOKEN_OUTPUT_OPTIONS = 287,
-        TOKEN_OUTPUT = 288,
-        TOKEN_DEBUGLEVEL = 289,
-        TOKEN_SEVERITY = 290,
-        TOKEN_FLUSH = 291,
-        TOKEN_MAXSIZE = 292,
-        TOKEN_MAXVER = 293,
-        TOKEN_START_JSON = 294,
-        TOKEN_START_NETCONF = 295,
-        TOKEN_START_SUB_NETCONF = 296,
-        TOKEN_STRING = 297,
-        TOKEN_INTEGER = 298,
-        TOKEN_FLOAT = 299,
-        TOKEN_BOOLEAN = 300
+        TOKEN_BOOT_UPDATE = 268,
+        TOKEN_SUBSCRIBE_CHANGES = 269,
+        TOKEN_VALIDATE_CHANGES = 270,
+        TOKEN_MANAGED_SERVERS = 271,
+        TOKEN_DHCP4_SERVER = 272,
+        TOKEN_DHCP6_SERVER = 273,
+        TOKEN_D2_SERVER = 274,
+        TOKEN_CA_SERVER = 275,
+        TOKEN_MODEL = 276,
+        TOKEN_CONTROL_SOCKET = 277,
+        TOKEN_SOCKET_TYPE = 278,
+        TOKEN_UNIX = 279,
+        TOKEN_HTTP = 280,
+        TOKEN_STDOUT = 281,
+        TOKEN_SOCKET_NAME = 282,
+        TOKEN_SOCKET_URL = 283,
+        TOKEN_HOOKS_LIBRARIES = 284,
+        TOKEN_LIBRARY = 285,
+        TOKEN_PARAMETERS = 286,
+        TOKEN_LOGGING = 287,
+        TOKEN_LOGGERS = 288,
+        TOKEN_NAME = 289,
+        TOKEN_OUTPUT_OPTIONS = 290,
+        TOKEN_OUTPUT = 291,
+        TOKEN_DEBUGLEVEL = 292,
+        TOKEN_SEVERITY = 293,
+        TOKEN_FLUSH = 294,
+        TOKEN_MAXSIZE = 295,
+        TOKEN_MAXVER = 296,
+        TOKEN_START_JSON = 297,
+        TOKEN_START_NETCONF = 298,
+        TOKEN_START_SUB_NETCONF = 299,
+        TOKEN_STRING = 300,
+        TOKEN_INTEGER = 301,
+        TOKEN_FLOAT = 302,
+        TOKEN_BOOLEAN = 303
       };
     };
 
@@ -543,6 +546,18 @@ namespace isc { namespace netconf {
     symbol_type
     make_COMMENT (const location_type& l);
 
+    static inline
+    symbol_type
+    make_BOOT_UPDATE (const location_type& l);
+
+    static inline
+    symbol_type
+    make_SUBSCRIBE_CHANGES (const location_type& l);
+
+    static inline
+    symbol_type
+    make_VALIDATE_CHANGES (const location_type& l);
+
     static inline
     symbol_type
     make_MANAGED_SERVERS (const location_type& l);
@@ -882,12 +897,12 @@ namespace isc { namespace netconf {
     enum
     {
       yyeof_ = 0,
-      yylast_ = 221,     ///< Last index in yytable_.
-      yynnts_ = 100,  ///< Number of nonterminal symbols.
+      yylast_ = 238,     ///< Last index in yytable_.
+      yynnts_ = 103,  ///< Number of nonterminal symbols.
       yyfinal_ = 8, ///< Termination state number.
       yyterror_ = 1,
       yyerrcode_ = 256,
-      yyntokens_ = 46  ///< Number of tokens.
+      yyntokens_ = 49  ///< Number of tokens.
     };
 
 
@@ -934,9 +949,9 @@ namespace isc { namespace netconf {
       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
-      45
+      45,    46,    47,    48
     };
-    const unsigned user_token_number_max_ = 300;
+    const unsigned user_token_number_max_ = 303;
     const token_number_type undef_token_ = 2;
 
     if (static_cast<int> (t) <= yyeof_)
@@ -967,25 +982,25 @@ namespace isc { namespace netconf {
   {
     switch (other.type_get ())
     {
-      case 54: // value
-      case 57: // map_value
-      case 113: // socket_type_value
+      case 57: // value
+      case 60: // map_value
+      case 119: // socket_type_value
         value.copy< ElementPtr > (other.value);
         break;
 
-      case 45: // "boolean"
+      case 48: // "boolean"
         value.copy< bool > (other.value);
         break;
 
-      case 44: // "floating point"
+      case 47: // "floating point"
         value.copy< double > (other.value);
         break;
 
-      case 43: // "integer"
+      case 46: // "integer"
         value.copy< int64_t > (other.value);
         break;
 
-      case 42: // "constant string"
+      case 45: // "constant string"
         value.copy< std::string > (other.value);
         break;
 
@@ -1004,25 +1019,25 @@ namespace isc { namespace netconf {
     (void) v;
     switch (this->type_get ())
     {
-      case 54: // value
-      case 57: // map_value
-      case 113: // socket_type_value
+      case 57: // value
+      case 60: // map_value
+      case 119: // socket_type_value
         value.copy< ElementPtr > (v);
         break;
 
-      case 45: // "boolean"
+      case 48: // "boolean"
         value.copy< bool > (v);
         break;
 
-      case 44: // "floating point"
+      case 47: // "floating point"
         value.copy< double > (v);
         break;
 
-      case 43: // "integer"
+      case 46: // "integer"
         value.copy< int64_t > (v);
         break;
 
-      case 42: // "constant string"
+      case 45: // "constant string"
         value.copy< std::string > (v);
         break;
 
@@ -1100,25 +1115,25 @@ namespace isc { namespace netconf {
     // Type destructor.
   switch (yytype)
     {
-      case 54: // value
-      case 57: // map_value
-      case 113: // socket_type_value
+      case 57: // value
+      case 60: // map_value
+      case 119: // socket_type_value
         value.template destroy< ElementPtr > ();
         break;
 
-      case 45: // "boolean"
+      case 48: // "boolean"
         value.template destroy< bool > ();
         break;
 
-      case 44: // "floating point"
+      case 47: // "floating point"
         value.template destroy< double > ();
         break;
 
-      case 43: // "integer"
+      case 46: // "integer"
         value.template destroy< int64_t > ();
         break;
 
-      case 42: // "constant string"
+      case 45: // "constant string"
         value.template destroy< std::string > ();
         break;
 
@@ -1143,25 +1158,25 @@ namespace isc { namespace netconf {
     super_type::move (s);
     switch (this->type_get ())
     {
-      case 54: // value
-      case 57: // map_value
-      case 113: // socket_type_value
+      case 57: // value
+      case 60: // map_value
+      case 119: // socket_type_value
         value.move< ElementPtr > (s.value);
         break;
 
-      case 45: // "boolean"
+      case 48: // "boolean"
         value.move< bool > (s.value);
         break;
 
-      case 44: // "floating point"
+      case 47: // "floating point"
         value.move< double > (s.value);
         break;
 
-      case 43: // "integer"
+      case 46: // "integer"
         value.move< int64_t > (s.value);
         break;
 
-      case 42: // "constant string"
+      case 45: // "constant string"
         value.move< std::string > (s.value);
         break;
 
@@ -1224,7 +1239,7 @@ namespace isc { namespace netconf {
      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
-     295,   296,   297,   298,   299,   300
+     295,   296,   297,   298,   299,   300,   301,   302,   303
     };
     return static_cast<token_type> (yytoken_number_[type]);
   }
@@ -1295,6 +1310,24 @@ namespace isc { namespace netconf {
     return symbol_type (token::TOKEN_COMMENT, l);
   }
 
+  NetconfParser::symbol_type
+  NetconfParser::make_BOOT_UPDATE (const location_type& l)
+  {
+    return symbol_type (token::TOKEN_BOOT_UPDATE, l);
+  }
+
+  NetconfParser::symbol_type
+  NetconfParser::make_SUBSCRIBE_CHANGES (const location_type& l)
+  {
+    return symbol_type (token::TOKEN_SUBSCRIBE_CHANGES, l);
+  }
+
+  NetconfParser::symbol_type
+  NetconfParser::make_VALIDATE_CHANGES (const location_type& l)
+  {
+    return symbol_type (token::TOKEN_VALIDATE_CHANGES, l);
+  }
+
   NetconfParser::symbol_type
   NetconfParser::make_MANAGED_SERVERS (const location_type& l)
   {
@@ -1496,7 +1529,7 @@ namespace isc { namespace netconf {
 
 #line 14 "netconf_parser.yy" // lalr1.cc:379
 } } // isc::netconf
-#line 1500 "netconf_parser.h" // lalr1.cc:379
+#line 1533 "netconf_parser.h" // lalr1.cc:379
 
 
 
index 96b6e13f6a364c5114e0597344ea431e5a764458..97d1919a1d68cf844d837d3aaa93183722340113 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201809281126
+// Generated 201810092120
 // A Bison parser, made by GNU Bison 3.0.5.
 
 // Positions for Bison parsers in C++
index ef4b2cf75e12159e89fb692e4d95adf8c30e2acf..7074ea3de02ee307d70270420b4f2988df16b420 100644 (file)
@@ -1,4 +1,4 @@
-// Generated 201809281126
+// Generated 201810092120
 // A Bison parser, made by GNU Bison 3.0.5.
 
 // Stack handling for Bison parsers in C++