]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[master] kea-dhcp4/6 now support Postgresql automatic reconnect
authorThomas Markwalder <tmark@isc.org>
Thu, 8 Mar 2018 20:16:42 +0000 (15:16 -0500)
committerThomas Markwalder <tmark@isc.org>
Thu, 8 Mar 2018 20:16:42 +0000 (15:16 -0500)
    Merges branch 'trac5477'

19 files changed:
1  2 
src/bin/dhcp4/ctrl_dhcp4_srv.cc
src/bin/dhcp4/dhcp4_lexer.cc
src/bin/dhcp4/dhcp4_lexer.ll
src/bin/dhcp4/dhcp4_messages.mes
src/bin/dhcp4/dhcp4_parser.cc
src/bin/dhcp4/dhcp4_parser.h
src/bin/dhcp4/dhcp4_parser.yy
src/bin/dhcp6/ctrl_dhcp6_srv.cc
src/bin/dhcp6/dhcp6_lexer.cc
src/bin/dhcp6/dhcp6_lexer.ll
src/bin/dhcp6/dhcp6_messages.mes
src/bin/dhcp6/dhcp6_parser.cc
src/bin/dhcp6/dhcp6_parser.h
src/bin/dhcp6/dhcp6_parser.yy
src/lib/dhcpsrv/database_connection.cc
src/lib/dhcpsrv/pgsql_connection.cc
src/lib/dhcpsrv/pgsql_connection.h
src/lib/dhcpsrv/pgsql_host_data_source.cc
src/lib/dhcpsrv/tests/pgsql_host_data_source_unittest.cc

Simple merge
index 25f15adda84c1dd14804be9ab1b5ce44eecad0bb,3200bb81f2be02f5719a55092a94183ff684b523..9c3f9ae704927e47c26334c8b0ba9d543f3ac95e
@@@ -1578,28 -1383,28 +1383,28 @@@ static yyconst flex_int16_t yy_chk[1755
  static yy_state_type yy_last_accepting_state;
  static char *yy_last_accepting_cpos;
  
- extern int yy_flex_debug;
- int yy_flex_debug = 1;
+ extern int parser4__flex_debug;
+ int parser4__flex_debug = 1;
  
- static const flex_int16_t yy_rule_linenum[159] =
+ static yyconst flex_int16_t yy_rule_linenum[161] =
      {   0,
-       145,  147,  149,  154,  155,  160,  161,  162,  174,  177,
-       182,  189,  198,  207,  216,  225,  235,  244,  253,  262,
-       271,  280,  289,  298,  307,  318,  327,  336,  345,  354,
-       364,  374,  384,  394,  404,  414,  424,  434,  444,  455,
-       466,  477,  486,  496,  505,  515,  530,  546,  555,  564,
-       573,  582,  602,  622,  631,  641,  650,  659,  668,  678,
-       687,  696,  705,  714,  724,  733,  742,  751,  760,  769,
-       778,  787,  796,  805,  814,  824,  836,  846,  855,  865,
-       875,  885,  895,  905,  914,  924,  933,  942,  951,  960,
-       970,  980,  990,  999, 1008, 1017, 1026, 1035, 1044, 1053,
-      1062, 1071, 1080, 1089, 1098, 1107, 1116, 1125, 1134, 1143,
-      1152, 1161, 1170, 1179, 1188, 1197, 1206, 1215, 1224, 1233,
-      1242, 1252, 1262, 1272, 1282, 1292, 1302, 1312, 1322, 1332,
-      1341, 1350, 1359, 1368, 1377, 1386, 1395, 1406, 1419, 1432,
-      1447, 1546, 1551, 1556, 1561, 1562, 1563, 1564, 1565, 1566,
-      1568, 1586, 1599, 1604, 1608, 1610, 1612, 1614
+       144,  146,  148,  153,  154,  159,  160,  161,  173,  176,
+       181,  188,  197,  206,  215,  224,  234,  243,  252,  261,
+       270,  279,  288,  297,  306,  317,  326,  335,  344,  353,
+       363,  373,  383,  393,  403,  413,  423,  433,  443,  453,
+       463,  474,  485,  496,  505,  515,  524,  534,  549,  565,
+       574,  583,  592,  601,  621,  641,  650,  660,  669,  678,
+       687,  697,  706,  715,  724,  733,  743,  752,  761,  770,
 -      779,  788,  797,  806,  815,  824,  833,  843,  854,  864,
 -      873,  883,  893,  903,  913,  923,  932,  942,  951,  960,
 -      969,  978,  988,  998, 1008, 1017, 1026, 1035, 1044, 1053,
 -
 -     1062, 1071, 1080, 1089, 1098, 1107, 1116, 1125, 1134, 1143,
 -     1152, 1161, 1170, 1179, 1188, 1197, 1206, 1215, 1224, 1233,
 -     1242, 1251, 1260, 1270, 1280, 1290, 1300, 1310, 1320, 1330,
 -     1340, 1350, 1359, 1368, 1377, 1386, 1395, 1404, 1413, 1424,
 -     1437, 1450, 1465, 1564, 1569, 1574, 1579, 1580, 1581, 1582,
 -     1583, 1584, 1586, 1604, 1617, 1622, 1626, 1628, 1630, 1632
++      779,  788,  797,  806,  815,  824,  833,  843,  855,  865,
++      874,  884,  894,  904,  914,  924,  933,  943,  952,  961,
++      970,  979,  989,  999, 1009, 1018, 1027, 1036, 1045, 1054,
++
++     1063, 1072, 1081, 1090, 1099, 1108, 1117, 1126, 1135, 1144,
++     1153, 1162, 1171, 1180, 1189, 1198, 1207, 1216, 1225, 1234,
++     1243, 1252, 1261, 1271, 1281, 1291, 1301, 1311, 1321, 1331,
++     1341, 1351, 1360, 1369, 1378, 1387, 1396, 1405, 1414, 1425,
++     1438, 1451, 1466, 1565, 1570, 1575, 1580, 1581, 1582, 1583,
++     1584, 1585, 1587, 1605, 1618, 1623, 1627, 1629, 1631, 1633
      } ;
  
  /* The intent behind this definition is that it'll catch
@@@ -3013,9 -2846,9 +2847,9 @@@ YY_RULE_SETU
      }
  }
        YY_BREAK
- case 77:
+ case 79:
  YY_RULE_SETUP
- #line 836 "dhcp4_lexer.ll"
 -#line 854 "dhcp4_lexer.ll"
++#line 855 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::CLIENT_CLASSES:
      }
  }
        YY_BREAK
- case 78:
+ case 80:
  YY_RULE_SETUP
- #line 846 "dhcp4_lexer.ll"
 -#line 864 "dhcp4_lexer.ll"
++#line 865 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::SUBNET4:
      }
  }
        YY_BREAK
- case 79:
+ case 81:
  YY_RULE_SETUP
- #line 855 "dhcp4_lexer.ll"
 -#line 873 "dhcp4_lexer.ll"
++#line 874 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
      }
  }
        YY_BREAK
- case 80:
+ case 82:
  YY_RULE_SETUP
- #line 865 "dhcp4_lexer.ll"
 -#line 883 "dhcp4_lexer.ll"
++#line 884 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
      }
  }
        YY_BREAK
- case 81:
+ case 83:
  YY_RULE_SETUP
- #line 875 "dhcp4_lexer.ll"
 -#line 893 "dhcp4_lexer.ll"
++#line 894 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
      }
  }
        YY_BREAK
- case 82:
+ case 84:
  YY_RULE_SETUP
- #line 885 "dhcp4_lexer.ll"
 -#line 903 "dhcp4_lexer.ll"
++#line 904 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
      }
  }
        YY_BREAK
- case 83:
+ case 85:
  YY_RULE_SETUP
- #line 895 "dhcp4_lexer.ll"
 -#line 913 "dhcp4_lexer.ll"
++#line 914 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
      }
  }
        YY_BREAK
- case 84:
+ case 86:
  YY_RULE_SETUP
- #line 905 "dhcp4_lexer.ll"
 -#line 923 "dhcp4_lexer.ll"
++#line 924 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::RESERVATIONS:
      }
  }
        YY_BREAK
- case 85:
+ case 87:
  YY_RULE_SETUP
- #line 914 "dhcp4_lexer.ll"
 -#line 932 "dhcp4_lexer.ll"
++#line 933 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::OPTION_DEF:
      }
  }
        YY_BREAK
- case 86:
+ case 88:
  YY_RULE_SETUP
- #line 924 "dhcp4_lexer.ll"
 -#line 942 "dhcp4_lexer.ll"
++#line 943 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::OPTION_DATA:
      }
  }
        YY_BREAK
- case 87:
+ case 89:
  YY_RULE_SETUP
- #line 933 "dhcp4_lexer.ll"
 -#line 951 "dhcp4_lexer.ll"
++#line 952 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::OPTION_DEF:
      }
  }
        YY_BREAK
- case 88:
+ case 90:
  YY_RULE_SETUP
- #line 942 "dhcp4_lexer.ll"
 -#line 960 "dhcp4_lexer.ll"
++#line 961 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::OPTION_DEF:
      }
  }
        YY_BREAK
- case 89:
+ case 91:
  YY_RULE_SETUP
- #line 951 "dhcp4_lexer.ll"
 -#line 969 "dhcp4_lexer.ll"
++#line 970 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::OPTION_DEF:
      }
  }
        YY_BREAK
- case 90:
+ case 92:
  YY_RULE_SETUP
- #line 960 "dhcp4_lexer.ll"
 -#line 978 "dhcp4_lexer.ll"
++#line 979 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::SUBNET4:
      }
  }
        YY_BREAK
- case 91:
+ case 93:
  YY_RULE_SETUP
- #line 970 "dhcp4_lexer.ll"
 -#line 988 "dhcp4_lexer.ll"
++#line 989 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::RELAY:
      }
  }
        YY_BREAK
- case 92:
+ case 94:
  YY_RULE_SETUP
- #line 980 "dhcp4_lexer.ll"
 -#line 998 "dhcp4_lexer.ll"
++#line 999 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP4:
      }
  }
        YY_BREAK
- case 93:
+ case 95:
  YY_RULE_SETUP
- #line 990 "dhcp4_lexer.ll"
 -#line 1008 "dhcp4_lexer.ll"
++#line 1009 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
      }
  }
        YY_BREAK
- case 94:
+ case 96:
  YY_RULE_SETUP
- #line 999 "dhcp4_lexer.ll"
 -#line 1017 "dhcp4_lexer.ll"
++#line 1018 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
      }
  }
        YY_BREAK
- case 95:
+ case 97:
  YY_RULE_SETUP
- #line 1008 "dhcp4_lexer.ll"
 -#line 1026 "dhcp4_lexer.ll"
++#line 1027 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP4:
      }
  }
        YY_BREAK
- case 96:
+ case 98:
  YY_RULE_SETUP
- #line 1017 "dhcp4_lexer.ll"
 -#line 1035 "dhcp4_lexer.ll"
++#line 1036 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
      }
  }
        YY_BREAK
- case 97:
+ case 99:
  YY_RULE_SETUP
- #line 1026 "dhcp4_lexer.ll"
 -#line 1044 "dhcp4_lexer.ll"
++#line 1045 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
      }
  }
        YY_BREAK
- case 98:
+ case 100:
  YY_RULE_SETUP
- #line 1035 "dhcp4_lexer.ll"
 -#line 1053 "dhcp4_lexer.ll"
++#line 1054 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
      }
  }
        YY_BREAK
- case 99:
+ case 101:
  YY_RULE_SETUP
- #line 1044 "dhcp4_lexer.ll"
 -#line 1062 "dhcp4_lexer.ll"
++#line 1063 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
      }
  }
        YY_BREAK
- case 100:
+ case 102:
  YY_RULE_SETUP
- #line 1053 "dhcp4_lexer.ll"
 -#line 1071 "dhcp4_lexer.ll"
++#line 1072 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
      }
  }
        YY_BREAK
- case 101:
+ case 103:
  YY_RULE_SETUP
- #line 1062 "dhcp4_lexer.ll"
 -#line 1080 "dhcp4_lexer.ll"
++#line 1081 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
      }
  }
        YY_BREAK
- case 102:
+ case 104:
  YY_RULE_SETUP
- #line 1071 "dhcp4_lexer.ll"
 -#line 1089 "dhcp4_lexer.ll"
++#line 1090 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP4:
      }
  }
        YY_BREAK
- case 103:
+ case 105:
  YY_RULE_SETUP
- #line 1080 "dhcp4_lexer.ll"
 -#line 1098 "dhcp4_lexer.ll"
++#line 1099 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP4:
      }
  }
        YY_BREAK
- case 104:
+ case 106:
  YY_RULE_SETUP
- #line 1089 "dhcp4_lexer.ll"
 -#line 1107 "dhcp4_lexer.ll"
++#line 1108 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::CONTROL_SOCKET:
      }
  }
        YY_BREAK
- case 105:
+ case 107:
  YY_RULE_SETUP
- #line 1098 "dhcp4_lexer.ll"
 -#line 1116 "dhcp4_lexer.ll"
++#line 1117 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::CONTROL_SOCKET:
      }
  }
        YY_BREAK
- case 106:
+ case 108:
  YY_RULE_SETUP
- #line 1107 "dhcp4_lexer.ll"
 -#line 1125 "dhcp4_lexer.ll"
++#line 1126 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP4:
      }
  }
        YY_BREAK
- case 107:
+ case 109:
  YY_RULE_SETUP
- #line 1116 "dhcp4_lexer.ll"
 -#line 1134 "dhcp4_lexer.ll"
++#line 1135 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP_DDNS:
      }
  }
        YY_BREAK
- case 108:
+ case 110:
  YY_RULE_SETUP
- #line 1125 "dhcp4_lexer.ll"
 -#line 1143 "dhcp4_lexer.ll"
++#line 1144 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP_DDNS:
      }
  }
        YY_BREAK
- case 109:
+ case 111:
  YY_RULE_SETUP
- #line 1134 "dhcp4_lexer.ll"
 -#line 1152 "dhcp4_lexer.ll"
++#line 1153 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP_DDNS:
      }
  }
        YY_BREAK
- case 110:
+ case 112:
  YY_RULE_SETUP
- #line 1143 "dhcp4_lexer.ll"
 -#line 1161 "dhcp4_lexer.ll"
++#line 1162 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP_DDNS:
      }
  }
        YY_BREAK
- case 111:
+ case 113:
  YY_RULE_SETUP
- #line 1152 "dhcp4_lexer.ll"
 -#line 1170 "dhcp4_lexer.ll"
++#line 1171 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP_DDNS:
      }
  }
        YY_BREAK
- case 112:
+ case 114:
  YY_RULE_SETUP
- #line 1161 "dhcp4_lexer.ll"
 -#line 1179 "dhcp4_lexer.ll"
++#line 1180 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP_DDNS:
      }
  }
        YY_BREAK
- case 113:
+ case 115:
  YY_RULE_SETUP
- #line 1170 "dhcp4_lexer.ll"
 -#line 1188 "dhcp4_lexer.ll"
++#line 1189 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP_DDNS:
      }
  }
        YY_BREAK
- case 114:
+ case 116:
  YY_RULE_SETUP
- #line 1179 "dhcp4_lexer.ll"
 -#line 1197 "dhcp4_lexer.ll"
++#line 1198 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP_DDNS:
      }
  }
        YY_BREAK
- case 115:
+ case 117:
  YY_RULE_SETUP
- #line 1188 "dhcp4_lexer.ll"
 -#line 1206 "dhcp4_lexer.ll"
++#line 1207 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP_DDNS:
      }
  }
        YY_BREAK
- case 116:
+ case 118:
  YY_RULE_SETUP
- #line 1197 "dhcp4_lexer.ll"
 -#line 1215 "dhcp4_lexer.ll"
++#line 1216 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP_DDNS:
      }
  }
        YY_BREAK
- case 117:
+ case 119:
  YY_RULE_SETUP
- #line 1206 "dhcp4_lexer.ll"
 -#line 1224 "dhcp4_lexer.ll"
++#line 1225 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP_DDNS:
      }
  }
        YY_BREAK
- case 118:
+ case 120:
  YY_RULE_SETUP
- #line 1215 "dhcp4_lexer.ll"
 -#line 1233 "dhcp4_lexer.ll"
++#line 1234 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP_DDNS:
      }
  }
        YY_BREAK
- case 119:
+ case 121:
  YY_RULE_SETUP
- #line 1224 "dhcp4_lexer.ll"
 -#line 1242 "dhcp4_lexer.ll"
++#line 1243 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP_DDNS:
      }
  }
        YY_BREAK
- case 120:
+ case 122:
  YY_RULE_SETUP
- #line 1233 "dhcp4_lexer.ll"
 -#line 1251 "dhcp4_lexer.ll"
++#line 1252 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP_DDNS:
      }
  }
        YY_BREAK
- case 121:
+ case 123:
  YY_RULE_SETUP
- #line 1242 "dhcp4_lexer.ll"
 -#line 1260 "dhcp4_lexer.ll"
++#line 1261 "dhcp4_lexer.ll"
  {
      /* dhcp-ddns value keywords are case insensitive */
      if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) {
      return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
  }
        YY_BREAK
- case 122:
+ case 124:
  YY_RULE_SETUP
- #line 1252 "dhcp4_lexer.ll"
 -#line 1270 "dhcp4_lexer.ll"
++#line 1271 "dhcp4_lexer.ll"
  {
      /* dhcp-ddns value keywords are case insensitive */
      if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) {
      return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
  }
        YY_BREAK
- case 123:
+ case 125:
  YY_RULE_SETUP
- #line 1262 "dhcp4_lexer.ll"
 -#line 1280 "dhcp4_lexer.ll"
++#line 1281 "dhcp4_lexer.ll"
  {
      /* dhcp-ddns value keywords are case insensitive */
      if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_FORMAT) {
      return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
  }
        YY_BREAK
- case 124:
+ case 126:
  YY_RULE_SETUP
- #line 1272 "dhcp4_lexer.ll"
 -#line 1290 "dhcp4_lexer.ll"
++#line 1291 "dhcp4_lexer.ll"
  {
      /* dhcp-ddns value keywords are case insensitive */
      if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
      return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
  }
        YY_BREAK
- case 125:
+ case 127:
  YY_RULE_SETUP
- #line 1282 "dhcp4_lexer.ll"
 -#line 1300 "dhcp4_lexer.ll"
++#line 1301 "dhcp4_lexer.ll"
  {
      /* dhcp-ddns value keywords are case insensitive */
      if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
      return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
  }
        YY_BREAK
- case 126:
+ case 128:
  YY_RULE_SETUP
- #line 1292 "dhcp4_lexer.ll"
 -#line 1310 "dhcp4_lexer.ll"
++#line 1311 "dhcp4_lexer.ll"
  {
      /* dhcp-ddns value keywords are case insensitive */
      if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
      return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
  }
        YY_BREAK
- case 127:
+ case 129:
  YY_RULE_SETUP
- #line 1302 "dhcp4_lexer.ll"
 -#line 1320 "dhcp4_lexer.ll"
++#line 1321 "dhcp4_lexer.ll"
  {
      /* dhcp-ddns value keywords are case insensitive */
      if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
      return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
  }
        YY_BREAK
- case 128:
+ case 130:
  YY_RULE_SETUP
- #line 1312 "dhcp4_lexer.ll"
 -#line 1330 "dhcp4_lexer.ll"
++#line 1331 "dhcp4_lexer.ll"
  {
      /* dhcp-ddns value keywords are case insensitive */
      if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
      return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
  }
        YY_BREAK
- case 129:
+ case 131:
  YY_RULE_SETUP
- #line 1322 "dhcp4_lexer.ll"
 -#line 1340 "dhcp4_lexer.ll"
++#line 1341 "dhcp4_lexer.ll"
  {
      /* dhcp-ddns value keywords are case insensitive */
      if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
      return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_);
  }
        YY_BREAK
- case 130:
+ case 132:
  YY_RULE_SETUP
- #line 1332 "dhcp4_lexer.ll"
 -#line 1350 "dhcp4_lexer.ll"
++#line 1351 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::CONFIG:
      }
  }
        YY_BREAK
- case 131:
+ case 133:
  YY_RULE_SETUP
- #line 1341 "dhcp4_lexer.ll"
 -#line 1359 "dhcp4_lexer.ll"
++#line 1360 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::CONFIG:
      }
  }
        YY_BREAK
- case 132:
+ case 134:
  YY_RULE_SETUP
- #line 1350 "dhcp4_lexer.ll"
 -#line 1368 "dhcp4_lexer.ll"
++#line 1369 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::CONFIG:
      }
  }
        YY_BREAK
- case 133:
+ case 135:
  YY_RULE_SETUP
- #line 1359 "dhcp4_lexer.ll"
 -#line 1377 "dhcp4_lexer.ll"
++#line 1378 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::SUBNET4:
      }
  }
        YY_BREAK
- case 134:
+ case 136:
  YY_RULE_SETUP
- #line 1368 "dhcp4_lexer.ll"
 -#line 1386 "dhcp4_lexer.ll"
++#line 1387 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::SUBNET4:
      }
  }
        YY_BREAK
- case 135:
+ case 137:
  YY_RULE_SETUP
- #line 1377 "dhcp4_lexer.ll"
 -#line 1395 "dhcp4_lexer.ll"
++#line 1396 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::SUBNET4:
      }
  }
        YY_BREAK
- case 136:
+ case 138:
  YY_RULE_SETUP
- #line 1386 "dhcp4_lexer.ll"
 -#line 1404 "dhcp4_lexer.ll"
++#line 1405 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP4:
      }
  }
        YY_BREAK
- case 137:
+ case 139:
  YY_RULE_SETUP
- #line 1395 "dhcp4_lexer.ll"
 -#line 1413 "dhcp4_lexer.ll"
++#line 1414 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP4:
      }
  }
        YY_BREAK
- case 138:
+ case 140:
  YY_RULE_SETUP
- #line 1406 "dhcp4_lexer.ll"
 -#line 1424 "dhcp4_lexer.ll"
++#line 1425 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP4:
      }
  }
        YY_BREAK
- case 139:
+ case 141:
  YY_RULE_SETUP
- #line 1419 "dhcp4_lexer.ll"
 -#line 1437 "dhcp4_lexer.ll"
++#line 1438 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP4:
      }
  }
        YY_BREAK
- case 140:
+ case 142:
  YY_RULE_SETUP
- #line 1432 "dhcp4_lexer.ll"
 -#line 1450 "dhcp4_lexer.ll"
++#line 1451 "dhcp4_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser4Context::DHCP4:
      }
  }
        YY_BREAK
- case 141:
+ case 143:
  YY_RULE_SETUP
- #line 1447 "dhcp4_lexer.ll"
 -#line 1465 "dhcp4_lexer.ll"
++#line 1466 "dhcp4_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.
      return isc::dhcp::Dhcp4Parser::make_STRING(decoded, driver.loc_);
  }
        YY_BREAK
- case 142:
- /* rule 142 can match eol */
+ case 144:
+ /* rule 144 can match eol */
  YY_RULE_SETUP
- #line 1546 "dhcp4_lexer.ll"
 -#line 1564 "dhcp4_lexer.ll"
++#line 1565 "dhcp4_lexer.ll"
  {
      /* Bad string with a forbidden control character inside */
-     driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
+     driver.error(driver.loc_, "Invalid control in " + std::string(parser4_text));
  }
        YY_BREAK
- case 143:
- /* rule 143 can match eol */
+ case 145:
+ /* rule 145 can match eol */
  YY_RULE_SETUP
- #line 1551 "dhcp4_lexer.ll"
 -#line 1569 "dhcp4_lexer.ll"
++#line 1570 "dhcp4_lexer.ll"
  {
      /* Bad string with a bad escape inside */
-     driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
+     driver.error(driver.loc_, "Bad escape in " + std::string(parser4_text));
  }
        YY_BREAK
- case 144:
+ case 146:
  YY_RULE_SETUP
- #line 1556 "dhcp4_lexer.ll"
 -#line 1574 "dhcp4_lexer.ll"
++#line 1575 "dhcp4_lexer.ll"
  {
      /* Bad string with an open escape at the end */
-     driver.error(driver.loc_, "Overflow escape in " + std::string(yytext));
+     driver.error(driver.loc_, "Overflow escape in " + std::string(parser4_text));
  }
        YY_BREAK
- case 145:
+ case 147:
  YY_RULE_SETUP
- #line 1561 "dhcp4_lexer.ll"
 -#line 1579 "dhcp4_lexer.ll"
++#line 1580 "dhcp4_lexer.ll"
  { return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
- case 146:
+ case 148:
  YY_RULE_SETUP
- #line 1562 "dhcp4_lexer.ll"
 -#line 1580 "dhcp4_lexer.ll"
++#line 1581 "dhcp4_lexer.ll"
  { return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
- case 147:
+ case 149:
  YY_RULE_SETUP
- #line 1563 "dhcp4_lexer.ll"
 -#line 1581 "dhcp4_lexer.ll"
++#line 1582 "dhcp4_lexer.ll"
  { return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); }
        YY_BREAK
- case 148:
+ case 150:
  YY_RULE_SETUP
- #line 1564 "dhcp4_lexer.ll"
 -#line 1582 "dhcp4_lexer.ll"
++#line 1583 "dhcp4_lexer.ll"
  { return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); }
        YY_BREAK
- case 149:
+ case 151:
  YY_RULE_SETUP
- #line 1565 "dhcp4_lexer.ll"
 -#line 1583 "dhcp4_lexer.ll"
++#line 1584 "dhcp4_lexer.ll"
  { return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); }
        YY_BREAK
- case 150:
+ case 152:
  YY_RULE_SETUP
- #line 1566 "dhcp4_lexer.ll"
 -#line 1584 "dhcp4_lexer.ll"
++#line 1585 "dhcp4_lexer.ll"
  { return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); }
        YY_BREAK
- case 151:
+ case 153:
  YY_RULE_SETUP
- #line 1568 "dhcp4_lexer.ll"
 -#line 1586 "dhcp4_lexer.ll"
++#line 1587 "dhcp4_lexer.ll"
  {
      /* An integer was found. */
-     std::string tmp(yytext);
+     std::string tmp(parser4_text);
      int64_t integer = 0;
      try {
          /* In substring we want to use negative values (e.g. -1).
      return isc::dhcp::Dhcp4Parser::make_INTEGER(integer, driver.loc_);
  }
        YY_BREAK
- case 152:
+ case 154:
  YY_RULE_SETUP
- #line 1586 "dhcp4_lexer.ll"
 -#line 1604 "dhcp4_lexer.ll"
++#line 1605 "dhcp4_lexer.ll"
  {
      /* A floating point was found. */
-     std::string tmp(yytext);
+     std::string tmp(parser4_text);
      double fp = 0.0;
      try {
          fp = boost::lexical_cast<double>(tmp);
      return isc::dhcp::Dhcp4Parser::make_FLOAT(fp, driver.loc_);
  }
        YY_BREAK
- case 153:
+ case 155:
  YY_RULE_SETUP
- #line 1599 "dhcp4_lexer.ll"
 -#line 1617 "dhcp4_lexer.ll"
++#line 1618 "dhcp4_lexer.ll"
  {
-     string tmp(yytext);
+     string tmp(parser4_text);
      return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_);
  }
        YY_BREAK
- case 154:
+ case 156:
  YY_RULE_SETUP
- #line 1604 "dhcp4_lexer.ll"
 -#line 1622 "dhcp4_lexer.ll"
++#line 1623 "dhcp4_lexer.ll"
  {
     return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_);
  }
        YY_BREAK
- case 155:
+ case 157:
  YY_RULE_SETUP
- #line 1608 "dhcp4_lexer.ll"
 -#line 1626 "dhcp4_lexer.ll"
++#line 1627 "dhcp4_lexer.ll"
  driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
        YY_BREAK
- case 156:
+ case 158:
  YY_RULE_SETUP
- #line 1610 "dhcp4_lexer.ll"
 -#line 1628 "dhcp4_lexer.ll"
++#line 1629 "dhcp4_lexer.ll"
  driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
        YY_BREAK
- case 157:
+ case 159:
  YY_RULE_SETUP
- #line 1612 "dhcp4_lexer.ll"
 -#line 1630 "dhcp4_lexer.ll"
++#line 1631 "dhcp4_lexer.ll"
  driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
        YY_BREAK
- case 158:
+ case 160:
  YY_RULE_SETUP
- #line 1614 "dhcp4_lexer.ll"
- driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
 -#line 1632 "dhcp4_lexer.ll"
++#line 1633 "dhcp4_lexer.ll"
+ driver.error (driver.loc_, "Invalid character: " + std::string(parser4_text));
        YY_BREAK
  case YY_STATE_EOF(INITIAL):
- #line 1616 "dhcp4_lexer.ll"
 -#line 1634 "dhcp4_lexer.ll"
++#line 1635 "dhcp4_lexer.ll"
  {
      if (driver.states_.empty()) {
          return isc::dhcp::Dhcp4Parser::make_END(driver.loc_);
      BEGIN(DIR_EXIT);
  }
        YY_BREAK
- case 159:
+ case 161:
  YY_RULE_SETUP
- #line 1639 "dhcp4_lexer.ll"
 -#line 1657 "dhcp4_lexer.ll"
++#line 1658 "dhcp4_lexer.ll"
  ECHO;
        YY_BREAK
- #line 4076 "dhcp4_lexer.cc"
 -#line 3910 "dhcp4_lexer.cc"
++#line 3911 "dhcp4_lexer.cc"
  
        case YY_END_OF_BUFFER:
                {
@@@ -5178,7 -5009,8 +5010,8 @@@ void parser4_free (void * ptr 
  
  /* %ok-for-header */
  
- #line 1639 "dhcp4_lexer.ll"
 -#line 1657 "dhcp4_lexer.ll"
++#line 1658 "dhcp4_lexer.ll"
  
  
  using namespace isc::dhcp;
Simple merge
Simple merge
index 698791d27c9bd47d5c897f8f0a683482b3e83225,6c152c7f1621b462693dbbfc88daf3eb5a77abef..45f9f9329d38e2a03f1412ba33aeb5e1a08725a9
@@@ -253,14 -253,14 +253,14 @@@ namespace isc { namespace dhcp 
    {
        switch (that.type_get ())
      {
-       case 167: // value
-       case 171: // map_value
-       case 209: // socket_type
-       case 212: // outbound_interface_value
-       case 222: // db_type
-       case 299: // hr_mode
-       case 445: // ncr_protocol_value
-       case 453: // replace_client_name_value
+       case 169: // value
+       case 173: // map_value
+       case 211: // socket_type
+       case 214: // outbound_interface_value
+       case 224: // db_type
+       case 303: // hr_mode
 -      case 448: // ncr_protocol_value
 -      case 456: // replace_client_name_value
++      case 449: // ncr_protocol_value
++      case 457: // replace_client_name_value
          value.move< ElementPtr > (that.value);
          break;
  
      state = that.state;
        switch (that.type_get ())
      {
-       case 167: // value
-       case 171: // map_value
-       case 209: // socket_type
-       case 212: // outbound_interface_value
-       case 222: // db_type
-       case 299: // hr_mode
-       case 445: // ncr_protocol_value
-       case 453: // replace_client_name_value
+       case 169: // value
+       case 173: // map_value
+       case 211: // socket_type
+       case 214: // outbound_interface_value
+       case 224: // db_type
+       case 303: // hr_mode
 -      case 448: // ncr_protocol_value
 -      case 456: // replace_client_name_value
++      case 449: // ncr_protocol_value
++      case 457: // replace_client_name_value
          value.copy< ElementPtr > (that.value);
          break;
  
  #line 429 "dhcp4_parser.cc" // lalr1.cc:636
          break;
  
-       case 445: // ncr_protocol_value
 -      case 448: // ncr_protocol_value
++      case 449: // ncr_protocol_value
  
- #line 226 "dhcp4_parser.yy" // lalr1.cc:636
+ #line 228 "dhcp4_parser.yy" // lalr1.cc:636
          { yyoutput << yysym.value.template as< ElementPtr > (); }
  #line 436 "dhcp4_parser.cc" // lalr1.cc:636
          break;
  
-       case 453: // replace_client_name_value
 -      case 456: // replace_client_name_value
++      case 457: // replace_client_name_value
  
- #line 226 "dhcp4_parser.yy" // lalr1.cc:636
+ #line 228 "dhcp4_parser.yy" // lalr1.cc:636
          { yyoutput << yysym.value.template as< ElementPtr > (); }
  #line 443 "dhcp4_parser.cc" // lalr1.cc:636
          break;
           when using variants.  */
          switch (yyr1_[yyn])
      {
-       case 167: // value
-       case 171: // map_value
-       case 209: // socket_type
-       case 212: // outbound_interface_value
-       case 222: // db_type
-       case 299: // hr_mode
-       case 445: // ncr_protocol_value
-       case 453: // replace_client_name_value
+       case 169: // value
+       case 173: // map_value
+       case 211: // socket_type
+       case 214: // outbound_interface_value
+       case 224: // db_type
+       case 303: // hr_mode
 -      case 448: // ncr_protocol_value
 -      case 456: // replace_client_name_value
++      case 449: // ncr_protocol_value
++      case 457: // replace_client_name_value
          yylhs.value.build< ElementPtr > ();
          break;
  
      ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
      // parsing completed
  }
- #line 2282 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2300 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 390:
- #line 1353 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 393:
 -#line 1365 "dhcp4_parser.yy" // lalr1.cc:859
++  case 394:
++#line 1366 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2290 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2308 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 391:
- #line 1355 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 394:
 -#line 1367 "dhcp4_parser.yy" // lalr1.cc:859
++  case 395:
++#line 1368 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr pool(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("pool", pool);
      ctx.leave();
  }
- #line 2300 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2318 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 392:
- #line 1361 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 395:
 -#line 1373 "dhcp4_parser.yy" // lalr1.cc:859
++  case 396:
++#line 1374 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2308 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2326 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 393:
- #line 1363 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 396:
 -#line 1375 "dhcp4_parser.yy" // lalr1.cc:859
++  case 397:
++#line 1376 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr parent = ctx.stack_.back();
      ElementPtr user_context = yystack_[0].value.as< ElementPtr > ();
      parent->set("user-context", user_context);
      ctx.leave();
  }
- #line 2335 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2353 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 394:
- #line 1386 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 397:
 -#line 1398 "dhcp4_parser.yy" // lalr1.cc:859
++  case 398:
++#line 1399 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2343 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2361 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 395:
- #line 1388 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 398:
 -#line 1400 "dhcp4_parser.yy" // lalr1.cc:859
++  case 399:
++#line 1401 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr parent = ctx.stack_.back();
      ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location)));
      parent->set("user-context", user_context);
      ctx.leave();
  }
- #line 2372 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2390 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 396:
- #line 1416 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 399:
 -#line 1428 "dhcp4_parser.yy" // lalr1.cc:859
++  case 400:
++#line 1429 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("reservations", l);
      ctx.stack_.push_back(l);
      ctx.enter(ctx.RESERVATIONS);
  }
- #line 2383 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2401 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 397:
- #line 1421 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 400:
 -#line 1433 "dhcp4_parser.yy" // lalr1.cc:859
++  case 401:
++#line 1434 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 2392 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2410 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 402:
- #line 1434 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 405:
 -#line 1446 "dhcp4_parser.yy" // lalr1.cc:859
++  case 406:
++#line 1447 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->add(m);
      ctx.stack_.push_back(m);
  }
- #line 2402 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2420 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 403:
- #line 1438 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 406:
 -#line 1450 "dhcp4_parser.yy" // lalr1.cc:859
++  case 407:
++#line 1451 "dhcp4_parser.yy" // lalr1.cc:859
      {
      /// @todo: an identifier parameter is required.
      ctx.stack_.pop_back();
  }
- #line 2411 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2429 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 404:
- #line 1443 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 407:
 -#line 1455 "dhcp4_parser.yy" // lalr1.cc:859
++  case 408:
++#line 1456 "dhcp4_parser.yy" // lalr1.cc:859
      {
      // Parse the reservations list entry map
      ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.push_back(m);
  }
- #line 2421 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2439 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 405:
- #line 1447 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 408:
 -#line 1459 "dhcp4_parser.yy" // lalr1.cc:859
++  case 409:
++#line 1460 "dhcp4_parser.yy" // lalr1.cc:859
      {
      /// @todo: an identifier parameter is required.
      // parsing completed
  }
- #line 2430 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2448 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 425:
- #line 1478 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 428:
 -#line 1490 "dhcp4_parser.yy" // lalr1.cc:859
++  case 429:
++#line 1491 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2438 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2456 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 426:
- #line 1480 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 429:
 -#line 1492 "dhcp4_parser.yy" // lalr1.cc:859
++  case 430:
++#line 1493 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr next_server(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("next-server", next_server);
      ctx.leave();
  }
- #line 2448 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2466 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 427:
- #line 1486 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 430:
 -#line 1498 "dhcp4_parser.yy" // lalr1.cc:859
++  case 431:
++#line 1499 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2456 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2474 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 428:
- #line 1488 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 431:
 -#line 1500 "dhcp4_parser.yy" // lalr1.cc:859
++  case 432:
++#line 1501 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr srv(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("server-hostname", srv);
      ctx.leave();
  }
- #line 2466 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2484 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 429:
- #line 1494 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 432:
 -#line 1506 "dhcp4_parser.yy" // lalr1.cc:859
++  case 433:
++#line 1507 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2474 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2492 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 430:
- #line 1496 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 433:
 -#line 1508 "dhcp4_parser.yy" // lalr1.cc:859
++  case 434:
++#line 1509 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr bootfile(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("boot-file-name", bootfile);
      ctx.leave();
  }
- #line 2484 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2502 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 431:
- #line 1502 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 434:
 -#line 1514 "dhcp4_parser.yy" // lalr1.cc:859
++  case 435:
++#line 1515 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2492 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2510 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 432:
- #line 1504 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 435:
 -#line 1516 "dhcp4_parser.yy" // lalr1.cc:859
++  case 436:
++#line 1517 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr addr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("ip-address", addr);
      ctx.leave();
  }
- #line 2502 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2520 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 433:
- #line 1510 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 436:
 -#line 1522 "dhcp4_parser.yy" // lalr1.cc:859
++  case 437:
++#line 1523 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2510 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2528 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 434:
- #line 1512 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 437:
 -#line 1524 "dhcp4_parser.yy" // lalr1.cc:859
++  case 438:
++#line 1525 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr d(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("duid", d);
      ctx.leave();
  }
- #line 2520 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2538 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 435:
- #line 1518 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 438:
 -#line 1530 "dhcp4_parser.yy" // lalr1.cc:859
++  case 439:
++#line 1531 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2528 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2546 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 436:
- #line 1520 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 439:
 -#line 1532 "dhcp4_parser.yy" // lalr1.cc:859
++  case 440:
++#line 1533 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("hw-address", hw);
      ctx.leave();
  }
- #line 2538 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2556 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 437:
- #line 1526 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 440:
 -#line 1538 "dhcp4_parser.yy" // lalr1.cc:859
++  case 441:
++#line 1539 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2546 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2564 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 438:
- #line 1528 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 441:
 -#line 1540 "dhcp4_parser.yy" // lalr1.cc:859
++  case 442:
++#line 1541 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("client-id", hw);
      ctx.leave();
  }
- #line 2556 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2574 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 439:
- #line 1534 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 442:
 -#line 1546 "dhcp4_parser.yy" // lalr1.cc:859
++  case 443:
++#line 1547 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2564 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2582 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 440:
- #line 1536 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 443:
 -#line 1548 "dhcp4_parser.yy" // lalr1.cc:859
++  case 444:
++#line 1549 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("circuit-id", hw);
      ctx.leave();
  }
- #line 2574 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2592 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 441:
- #line 1542 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 444:
 -#line 1554 "dhcp4_parser.yy" // lalr1.cc:859
++  case 445:
++#line 1555 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2582 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2600 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 442:
- #line 1544 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 445:
 -#line 1556 "dhcp4_parser.yy" // lalr1.cc:859
++  case 446:
++#line 1557 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("flex-id", hw);
      ctx.leave();
  }
- #line 2592 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2610 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 443:
- #line 1550 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 446:
 -#line 1562 "dhcp4_parser.yy" // lalr1.cc:859
++  case 447:
++#line 1563 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2600 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2618 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 444:
- #line 1552 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 447:
 -#line 1564 "dhcp4_parser.yy" // lalr1.cc:859
++  case 448:
++#line 1565 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr host(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("hostname", host);
      ctx.leave();
  }
- #line 2610 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2628 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 445:
- #line 1558 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 448:
 -#line 1570 "dhcp4_parser.yy" // lalr1.cc:859
++  case 449:
++#line 1571 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("client-classes", c);
      ctx.stack_.push_back(c);
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2621 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2639 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 446:
- #line 1563 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 449:
 -#line 1575 "dhcp4_parser.yy" // lalr1.cc:859
++  case 450:
++#line 1576 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 2630 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2648 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 447:
- #line 1571 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 450:
 -#line 1583 "dhcp4_parser.yy" // lalr1.cc:859
++  case 451:
++#line 1584 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("relay", m);
      ctx.stack_.push_back(m);
      ctx.enter(ctx.RELAY);
  }
- #line 2641 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2659 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 448:
- #line 1576 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 451:
 -#line 1588 "dhcp4_parser.yy" // lalr1.cc:859
++  case 452:
++#line 1589 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 2650 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2668 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 449:
- #line 1581 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 452:
 -#line 1593 "dhcp4_parser.yy" // lalr1.cc:859
++  case 453:
++#line 1594 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2658 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2676 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 450:
- #line 1583 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 453:
 -#line 1595 "dhcp4_parser.yy" // lalr1.cc:859
++  case 454:
++#line 1596 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr ip(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("ip-address", ip);
      ctx.leave();
  }
- #line 2668 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2686 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 451:
- #line 1592 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 454:
 -#line 1604 "dhcp4_parser.yy" // lalr1.cc:859
++  case 455:
++#line 1605 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("client-classes", l);
      ctx.stack_.push_back(l);
      ctx.enter(ctx.CLIENT_CLASSES);
  }
- #line 2679 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2697 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 452:
- #line 1597 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 455:
 -#line 1609 "dhcp4_parser.yy" // lalr1.cc:859
++  case 456:
++#line 1610 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 2688 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2706 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 455:
- #line 1606 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 458:
 -#line 1618 "dhcp4_parser.yy" // lalr1.cc:859
++  case 459:
++#line 1619 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->add(m);
      ctx.stack_.push_back(m);
  }
- #line 2698 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2716 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 456:
- #line 1610 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 459:
 -#line 1622 "dhcp4_parser.yy" // lalr1.cc:859
++  case 460:
++#line 1623 "dhcp4_parser.yy" // lalr1.cc:859
      {
      // The name client class parameter is required.
      ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
      ctx.stack_.pop_back();
  }
- #line 2708 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2726 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 472:
- #line 1638 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 475:
 -#line 1650 "dhcp4_parser.yy" // lalr1.cc:859
++  case 476:
++#line 1651 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2716 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2734 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 473:
- #line 1640 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 476:
 -#line 1652 "dhcp4_parser.yy" // lalr1.cc:859
++  case 477:
++#line 1653 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr test(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("test", test);
      ctx.leave();
  }
- #line 2726 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2744 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 474:
- #line 1650 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 477:
 -#line 1662 "dhcp4_parser.yy" // lalr1.cc:859
++  case 478:
++#line 1663 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("dhcp4o6-port", time);
  }
- #line 2735 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2753 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 475:
- #line 1657 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 478:
 -#line 1669 "dhcp4_parser.yy" // lalr1.cc:859
++  case 479:
++#line 1670 "dhcp4_parser.yy" // lalr1.cc:859
      {
      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 2746 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2764 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 476:
- #line 1662 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 479:
 -#line 1674 "dhcp4_parser.yy" // lalr1.cc:859
++  case 480:
++#line 1675 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 2755 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2773 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 484:
- #line 1678 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 487:
 -#line 1690 "dhcp4_parser.yy" // lalr1.cc:859
++  case 488:
++#line 1691 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2763 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2781 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 485:
- #line 1680 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 488:
 -#line 1692 "dhcp4_parser.yy" // lalr1.cc:859
++  case 489:
++#line 1693 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr stype(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("socket-type", stype);
      ctx.leave();
  }
- #line 2773 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2791 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 486:
- #line 1686 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 489:
 -#line 1698 "dhcp4_parser.yy" // lalr1.cc:859
++  case 490:
++#line 1699 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2781 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2799 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 487:
- #line 1688 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 490:
 -#line 1700 "dhcp4_parser.yy" // lalr1.cc:859
++  case 491:
++#line 1701 "dhcp4_parser.yy" // lalr1.cc:859
      {
      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 2791 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2809 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 488:
- #line 1696 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 491:
 -#line 1708 "dhcp4_parser.yy" // lalr1.cc:859
++  case 492:
++#line 1709 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("dhcp-ddns", m);
      ctx.stack_.push_back(m);
      ctx.enter(ctx.DHCP_DDNS);
  }
- #line 2802 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2820 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 489:
- #line 1701 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 492:
 -#line 1713 "dhcp4_parser.yy" // lalr1.cc:859
++  case 493:
++#line 1714 "dhcp4_parser.yy" // lalr1.cc:859
      {
      // The enable updates DHCP DDNS parameter is required.
      ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 2813 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2831 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 490:
- #line 1708 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 493:
 -#line 1720 "dhcp4_parser.yy" // lalr1.cc:859
++  case 494:
++#line 1721 "dhcp4_parser.yy" // lalr1.cc:859
      {
      // Parse the dhcp-ddns map
      ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.push_back(m);
  }
- #line 2823 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2841 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 491:
- #line 1712 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 494:
 -#line 1724 "dhcp4_parser.yy" // lalr1.cc:859
++  case 495:
++#line 1725 "dhcp4_parser.yy" // lalr1.cc:859
      {
      // The enable updates DHCP DDNS parameter is required.
      ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
      // parsing completed
  }
- #line 2833 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2851 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 511:
- #line 1741 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 514:
 -#line 1753 "dhcp4_parser.yy" // lalr1.cc:859
++  case 515:
++#line 1754 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("enable-updates", b);
  }
- #line 2842 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2860 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 512:
- #line 1746 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 515:
 -#line 1758 "dhcp4_parser.yy" // lalr1.cc:859
++  case 516:
++#line 1759 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2850 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2868 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 513:
- #line 1748 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 516:
 -#line 1760 "dhcp4_parser.yy" // lalr1.cc:859
++  case 517:
++#line 1761 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("qualifying-suffix", s);
      ctx.leave();
  }
- #line 2860 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2878 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 514:
- #line 1754 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 517:
 -#line 1766 "dhcp4_parser.yy" // lalr1.cc:859
++  case 518:
++#line 1767 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2868 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2886 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 515:
- #line 1756 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 518:
 -#line 1768 "dhcp4_parser.yy" // lalr1.cc:859
++  case 519:
++#line 1769 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("server-ip", s);
      ctx.leave();
  }
- #line 2878 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2896 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 516:
- #line 1762 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 519:
 -#line 1774 "dhcp4_parser.yy" // lalr1.cc:859
++  case 520:
++#line 1775 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("server-port", i);
  }
- #line 2887 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2905 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 517:
- #line 1767 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 520:
 -#line 1779 "dhcp4_parser.yy" // lalr1.cc:859
++  case 521:
++#line 1780 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2895 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2913 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 518:
- #line 1769 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 521:
 -#line 1781 "dhcp4_parser.yy" // lalr1.cc:859
++  case 522:
++#line 1782 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("sender-ip", s);
      ctx.leave();
  }
- #line 2905 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2923 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 519:
- #line 1775 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 522:
 -#line 1787 "dhcp4_parser.yy" // lalr1.cc:859
++  case 523:
++#line 1788 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("sender-port", i);
  }
- #line 2914 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2932 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 520:
- #line 1780 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 523:
 -#line 1792 "dhcp4_parser.yy" // lalr1.cc:859
++  case 524:
++#line 1793 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("max-queue-size", i);
  }
- #line 2923 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2941 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 521:
- #line 1785 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 524:
 -#line 1797 "dhcp4_parser.yy" // lalr1.cc:859
++  case 525:
++#line 1798 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NCR_PROTOCOL);
  }
- #line 2931 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2949 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 522:
- #line 1787 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 525:
 -#line 1799 "dhcp4_parser.yy" // lalr1.cc:859
++  case 526:
++#line 1800 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ());
      ctx.leave();
  }
- #line 2940 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2958 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 523:
- #line 1793 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 526:
 -#line 1805 "dhcp4_parser.yy" // lalr1.cc:859
++  case 527:
++#line 1806 "dhcp4_parser.yy" // lalr1.cc:859
      { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
- #line 2946 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2964 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 524:
- #line 1794 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 527:
 -#line 1806 "dhcp4_parser.yy" // lalr1.cc:859
++  case 528:
++#line 1807 "dhcp4_parser.yy" // lalr1.cc:859
      { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
- #line 2952 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2970 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 525:
- #line 1797 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 528:
 -#line 1809 "dhcp4_parser.yy" // lalr1.cc:859
++  case 529:
++#line 1810 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NCR_FORMAT);
  }
- #line 2960 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2978 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 526:
- #line 1799 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 529:
 -#line 1811 "dhcp4_parser.yy" // lalr1.cc:859
++  case 530:
++#line 1812 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("ncr-format", json);
      ctx.leave();
  }
- #line 2970 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2988 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 527:
- #line 1805 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 530:
 -#line 1817 "dhcp4_parser.yy" // lalr1.cc:859
++  case 531:
++#line 1818 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("always-include-fqdn", b);
  }
- #line 2979 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 2997 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 528:
- #line 1810 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 531:
 -#line 1822 "dhcp4_parser.yy" // lalr1.cc:859
++  case 532:
++#line 1823 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("override-no-update", b);
  }
- #line 2988 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3006 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 529:
- #line 1815 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 532:
 -#line 1827 "dhcp4_parser.yy" // lalr1.cc:859
++  case 533:
++#line 1828 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("override-client-update", b);
  }
- #line 2997 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3015 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 530:
- #line 1820 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 533:
 -#line 1832 "dhcp4_parser.yy" // lalr1.cc:859
++  case 534:
++#line 1833 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.REPLACE_CLIENT_NAME);
  }
- #line 3005 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3023 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 531:
- #line 1822 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 534:
 -#line 1834 "dhcp4_parser.yy" // lalr1.cc:859
++  case 535:
++#line 1835 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ());
      ctx.leave();
  }
- #line 3014 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3032 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 532:
- #line 1828 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 535:
 -#line 1840 "dhcp4_parser.yy" // lalr1.cc:859
++  case 536:
++#line 1841 "dhcp4_parser.yy" // lalr1.cc:859
      {
        yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); 
        }
- #line 3022 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3040 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 533:
- #line 1831 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 536:
 -#line 1843 "dhcp4_parser.yy" // lalr1.cc:859
++  case 537:
++#line 1844 "dhcp4_parser.yy" // lalr1.cc:859
      {
        yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
        }
- #line 3030 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3048 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 534:
- #line 1834 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 537:
 -#line 1846 "dhcp4_parser.yy" // lalr1.cc:859
++  case 538:
++#line 1847 "dhcp4_parser.yy" // lalr1.cc:859
      {
        yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
        }
- #line 3038 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3056 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 535:
- #line 1837 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 538:
 -#line 1849 "dhcp4_parser.yy" // lalr1.cc:859
++  case 539:
++#line 1850 "dhcp4_parser.yy" // lalr1.cc:859
      {
        yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
        }
- #line 3046 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3064 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 536:
- #line 1840 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 539:
 -#line 1852 "dhcp4_parser.yy" // lalr1.cc:859
++  case 540:
++#line 1853 "dhcp4_parser.yy" // lalr1.cc:859
      {
        error(yystack_[0].location, "boolean values for the replace-client-name are "
                  "no longer supported");
        }
- #line 3055 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3073 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 537:
- #line 1846 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 540:
 -#line 1858 "dhcp4_parser.yy" // lalr1.cc:859
++  case 541:
++#line 1859 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 3063 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3081 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 538:
- #line 1848 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 541:
 -#line 1860 "dhcp4_parser.yy" // lalr1.cc:859
++  case 542:
++#line 1861 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("generated-prefix", s);
      ctx.leave();
  }
- #line 3073 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3091 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 539:
- #line 1856 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 542:
 -#line 1868 "dhcp4_parser.yy" // lalr1.cc:859
++  case 543:
++#line 1869 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 3081 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3099 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 540:
- #line 1858 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 543:
 -#line 1870 "dhcp4_parser.yy" // lalr1.cc:859
++  case 544:
++#line 1871 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.back()->set("Dhcp6", yystack_[0].value.as< ElementPtr > ());
      ctx.leave();
  }
- #line 3090 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3108 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 541:
- #line 1863 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 544:
 -#line 1875 "dhcp4_parser.yy" // lalr1.cc:859
++  case 545:
++#line 1876 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 3098 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3116 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 542:
- #line 1865 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 545:
 -#line 1877 "dhcp4_parser.yy" // lalr1.cc:859
++  case 546:
++#line 1878 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ());
      ctx.leave();
  }
- #line 3107 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3125 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 543:
- #line 1870 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 546:
 -#line 1882 "dhcp4_parser.yy" // lalr1.cc:859
++  case 547:
++#line 1883 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 3115 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3133 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 544:
- #line 1872 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 547:
 -#line 1884 "dhcp4_parser.yy" // lalr1.cc:859
++  case 548:
++#line 1885 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ());
      ctx.leave();
  }
- #line 3124 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3142 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 545:
- #line 1882 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 548:
 -#line 1894 "dhcp4_parser.yy" // lalr1.cc:859
++  case 549:
++#line 1895 "dhcp4_parser.yy" // lalr1.cc:859
      {
      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 3135 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3153 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 546:
- #line 1887 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 549:
 -#line 1899 "dhcp4_parser.yy" // lalr1.cc:859
++  case 550:
++#line 1900 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 3144 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3162 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 547:
- #line 1892 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 550:
 -#line 1904 "dhcp4_parser.yy" // lalr1.cc:859
++  case 551:
++#line 1905 "dhcp4_parser.yy" // lalr1.cc:859
      {
      // Parse the Logging map
      ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.push_back(m);
  }
- #line 3154 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3172 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 548:
- #line 1896 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 551:
 -#line 1908 "dhcp4_parser.yy" // lalr1.cc:859
++  case 552:
++#line 1909 "dhcp4_parser.yy" // lalr1.cc:859
      {
      // parsing completed
  }
- #line 3162 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3180 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 552:
- #line 1912 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 555:
 -#line 1924 "dhcp4_parser.yy" // lalr1.cc:859
++  case 556:
++#line 1925 "dhcp4_parser.yy" // lalr1.cc:859
      {
      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 3173 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3191 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 553:
- #line 1917 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 556:
 -#line 1929 "dhcp4_parser.yy" // lalr1.cc:859
++  case 557:
++#line 1930 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 3182 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3200 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 556:
- #line 1929 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 559:
 -#line 1941 "dhcp4_parser.yy" // lalr1.cc:859
++  case 560:
++#line 1942 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->add(l);
      ctx.stack_.push_back(l);
  }
- #line 3192 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3210 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 557:
- #line 1933 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 560:
 -#line 1945 "dhcp4_parser.yy" // lalr1.cc:859
++  case 561:
++#line 1946 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
  }
- #line 3200 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3218 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 567:
- #line 1950 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 570:
 -#line 1962 "dhcp4_parser.yy" // lalr1.cc:859
++  case 571:
++#line 1963 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("debuglevel", dl);
  }
- #line 3209 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3227 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 568:
- #line 1955 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 571:
 -#line 1967 "dhcp4_parser.yy" // lalr1.cc:859
++  case 572:
++#line 1968 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 3217 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3235 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 569:
- #line 1957 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 572:
 -#line 1969 "dhcp4_parser.yy" // lalr1.cc:859
++  case 573:
++#line 1970 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("severity", sev);
      ctx.leave();
  }
- #line 3227 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3245 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 570:
- #line 1963 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 573:
 -#line 1975 "dhcp4_parser.yy" // lalr1.cc:859
++  case 574:
++#line 1976 "dhcp4_parser.yy" // lalr1.cc:859
      {
      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 3238 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3256 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 571:
- #line 1968 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 574:
 -#line 1980 "dhcp4_parser.yy" // lalr1.cc:859
++  case 575:
++#line 1981 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 3247 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3265 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 574:
- #line 1977 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 577:
 -#line 1989 "dhcp4_parser.yy" // lalr1.cc:859
++  case 578:
++#line 1990 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->add(m);
      ctx.stack_.push_back(m);
  }
- #line 3257 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3275 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 575:
- #line 1981 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 578:
 -#line 1993 "dhcp4_parser.yy" // lalr1.cc:859
++  case 579:
++#line 1994 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
  }
- #line 3265 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3283 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 582:
- #line 1995 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 585:
 -#line 2007 "dhcp4_parser.yy" // lalr1.cc:859
++  case 586:
++#line 2008 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 3273 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3291 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 583:
- #line 1997 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 586:
 -#line 2009 "dhcp4_parser.yy" // lalr1.cc:859
++  case 587:
++#line 2010 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("output", sev);
      ctx.leave();
  }
- #line 3283 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3301 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 584:
- #line 2003 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 587:
 -#line 2015 "dhcp4_parser.yy" // lalr1.cc:859
++  case 588:
++#line 2016 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("flush", flush);
  }
- #line 3292 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3310 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 585:
- #line 2008 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 588:
 -#line 2020 "dhcp4_parser.yy" // lalr1.cc:859
++  case 589:
++#line 2021 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("maxsize", maxsize);
  }
- #line 3301 "dhcp4_parser.cc" // lalr1.cc:859
+ #line 3319 "dhcp4_parser.cc" // lalr1.cc:859
      break;
  
-   case 586:
- #line 2013 "dhcp4_parser.yy" // lalr1.cc:859
 -  case 589:
 -#line 2025 "dhcp4_parser.yy" // lalr1.cc:859
++  case 590:
++#line 2026 "dhcp4_parser.yy" // lalr1.cc:859
      {
      ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("maxver", maxver);
    }
  
  
-   const short int Dhcp4Parser::yypact_ninf_ = -722;
 -  const short int Dhcp4Parser::yypact_ninf_ = -752;
++  const short int Dhcp4Parser::yypact_ninf_ = -728;
  
    const signed char Dhcp4Parser::yytable_ninf_ = -1;
  
    const short int
    Dhcp4Parser::yypact_[] =
    {
-      284,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,    41,    19,    24,    50,    60,    92,
-      102,   118,   129,   138,   148,   150,   159,   171,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,    19,   -93,     8,    62,    31,   151,
-       -2,   228,   147,   236,    37,   -24,   344,    27,  -722,   184,
-      204,   207,   200,   235,  -722,  -722,  -722,  -722,  -722,   219,
-     -722,    48,  -722,  -722,  -722,  -722,  -722,  -722,  -722,   227,
-      241,  -722,  -722,  -722,  -722,  -722,   244,   261,   276,   279,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-      283,  -722,  -722,  -722,    56,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,   285,  -722,    69,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,   301,   302,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,    95,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,   136,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,   231,   255,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,   299,  -722,
-     -722,   314,  -722,  -722,  -722,   315,  -722,  -722,   325,   332,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,   334,   336,  -722,  -722,  -722,  -722,   328,
-      339,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,   140,  -722,  -722,  -722,   341,  -722,  -722,
-      343,  -722,   350,   351,  -722,  -722,   352,   353,   355,  -722,
-     -722,  -722,  -722,  -722,   144,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,   146,  -722,  -722,  -722,    19,    19,  -722,   216,   363,
-      367,   370,   371,   375,  -722,     8,  -722,   377,   197,   234,
-      383,   384,   390,   391,   406,   221,   262,   263,   264,   410,
-      411,   412,   413,   428,   429,   430,   431,   432,   433,   289,
-      435,   436,    62,  -722,   437,   438,   439,   293,    31,  -722,
-      441,   442,   457,   458,   460,   461,   462,   318,   317,   465,
-      468,   470,   471,   151,  -722,   472,    -2,  -722,   475,   476,
-      477,   479,   480,   482,   483,   484,  -722,   228,  -722,   485,
-      489,   345,   491,   492,   493,   347,  -722,   236,   495,   349,
-      356,  -722,    37,   497,   500,    -9,  -722,   357,   502,   505,
-      361,   507,   364,   368,   508,   511,   365,   369,   373,   514,
-      515,   344,  -722,   517,    27,  -722,  -722,  -722,   521,   519,
-      520,    19,    19,    19,  -722,   522,  -722,  -722,   380,   382,
-      385,   524,   525,  -722,  -722,  -722,  -722,   529,   530,   531,
-      532,   533,   393,   534,   537,   538,   539,  -722,   540,   541,
-     -722,   544,    96,   170,  -722,  -722,   396,   397,   402,   546,
-      404,   405,   407,  -722,  -722,   254,   408,   549,   550,  -722,
-      414,  -722,   544,   415,   416,   417,   418,   419,   420,   421,
-     -722,   422,   423,  -722,   424,   425,   426,  -722,  -722,   427,
-     -722,  -722,  -722,   434,    19,  -722,  -722,   440,   443,  -722,
-      444,  -722,  -722,    15,   459,  -722,  -722,  -722,   135,   445,
-     -722,   553,  -722,    19,    62,    27,  -722,  -722,  -722,    31,
-     -722,  -722,  -722,   366,   366,   552,   554,   569,   571,  -722,
-     -722,  -722,   101,   572,   573,    25,    14,   344,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,   574,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,   576,   451,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,   577,  -722,   155,   193,   206,  -722,  -722,  -722,  -722,
-      556,   581,   582,   583,   585,  -722,  -722,  -722,   224,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,   232,  -722,   584,   591,  -722,  -722,   589,   593,
-     -722,  -722,   592,   594,  -722,  -722,   595,   596,  -722,  -722,
-     -722,  -722,  -722,  -722,    26,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,    68,  -722,  -722,   597,   599,  -722,   600,   601,
-      602,   603,   604,   605,   233,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,   256,  -722,  -722,
-     -722,   258,   452,  -722,   606,   607,  -722,  -722,   608,   610,
-     -722,  -722,   609,  -722,    94,  -722,  -722,  -722,  -722,   611,
-      612,   614,   615,   473,   469,   474,   478,   481,   617,   620,
-      366,  -722,  -722,   151,  -722,   552,   236,  -722,   554,    37,
-     -722,   569,   182,  -722,   571,   101,  -722,   220,   572,  -722,
-      -24,  -722,   573,   486,   487,   488,   490,   494,   496,    25,
-     -722,   621,   622,    14,  -722,  -722,  -722,   625,   624,    -2,
-     -722,   574,   228,  -722,   576,   628,  -722,    64,   577,  -722,
-      294,   463,   498,   499,  -722,  -722,  -722,  -722,  -722,   501,
-      503,  -722,   259,  -722,   626,  -722,   630,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,   270,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,   632,
-      638,  -722,  -722,  -722,  -722,   273,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,   504,   506,  -722,  -722,   510,   274,
-     -722,   634,  -722,   512,  -722,   629,  -722,  -722,  -722,  -722,
-     -722,   295,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-      182,  -722,   640,  -722,   220,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,   644,   513,   646,    64,  -722,  -722,   527,  -722,
-      623,  -722,   535,  -722,  -722,   648,  -722,  -722,   174,  -722,
-        4,   648,  -722,  -722,   649,   652,   655,   313,  -722,  -722,
-     -722,  -722,  -722,  -722,   657,   543,   516,   523,     4,  -722,
-      542,  -722,  -722,  -722,  -722,  -722
 -     455,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,    12,    29,     9,    26,    30,    81,
 -      96,    98,   108,   143,   145,   156,   158,   160,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,    29,  -127,     1,   173,   111,    40,
 -      16,   374,    80,   181,   198,   -49,   359,    50,  -752,   140,
 -     182,   185,   204,   211,  -752,  -752,  -752,  -752,  -752,   220,
 -    -752,    36,  -752,  -752,  -752,  -752,  -752,  -752,  -752,   229,
 -     242,  -752,  -752,  -752,  -752,  -752,   254,   264,   293,   301,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -     302,  -752,  -752,  -752,    45,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,   303,  -752,    62,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,   304,   306,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,    69,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,    71,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,   252,   308,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,   307,  -752,
 -    -752,   310,  -752,  -752,  -752,   313,  -752,  -752,   311,   309,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,   316,   318,  -752,  -752,  -752,  -752,   317,
 -     324,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,    72,  -752,  -752,  -752,   325,  -752,  -752,
 -     330,  -752,   331,   333,  -752,  -752,   334,   335,   337,  -752,
 -    -752,  -752,  -752,  -752,    84,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,   130,  -752,  -752,  -752,    29,    29,  -752,   178,   340,
 -     341,   342,   351,   352,  -752,     1,  -752,   353,   217,   218,
 -     370,   371,   372,   376,   378,   227,   232,   234,   239,   388,
 -     389,   395,   397,   398,   399,   400,   402,   403,   404,   261,
 -     410,   411,   173,  -752,   412,   413,   414,   266,   111,  -752,
 -     134,   416,   417,   418,   420,   438,   439,   440,   294,   296,
 -     442,   443,   444,   447,    40,  -752,   449,    16,  -752,   450,
 -     451,   458,   474,   475,   476,   477,   478,  -752,   374,  -752,
 -     479,   480,   336,   481,   482,   484,   338,  -752,   181,   486,
 -     339,   343,  -752,   198,   491,   496,   -46,  -752,   348,   498,
 -     499,   354,   500,   357,   361,   506,   509,   362,   364,   366,
 -     510,   516,   359,  -752,   517,    50,  -752,  -752,  -752,   518,
 -     519,   523,    29,    29,    29,  -752,   524,  -752,  -752,   375,
 -     382,   383,   527,   528,  -752,  -752,  -752,  -752,   532,   533,
 -     534,   536,   535,   393,   539,   540,   542,   541,  -752,   543,
 -     544,  -752,   547,   208,   283,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,   548,   546,  -752,
 -    -752,  -752,   405,   407,   408,   554,   419,   421,   422,  -752,
 -    -752,    20,   424,   555,   556,  -752,   425,  -752,   547,   426,
 -     427,   428,   429,   430,   432,   433,  -752,   434,   435,  -752,
 -     437,   456,   457,  -752,  -752,   459,  -752,  -752,  -752,   460,
 -      29,  -752,  -752,   461,   462,  -752,   463,  -752,  -752,    25,
 -     441,  -752,  -752,  -752,   -24,   464,  -752,   557,  -752,    29,
 -     173,    50,  -752,  -752,  -752,   111,  -752,  -752,  -752,   396,
 -     396,   559,   560,   561,   563,  -752,  -752,  -752,   147,    34,
 -     581,    75,   125,   359,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,   585,  -752,   134,  -752,  -752,  -752,   583,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,   598,   526,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -     601,  -752,   151,   152,   199,  -752,  -752,  -752,  -752,   612,
 -     613,   614,   615,   616,  -752,  -752,   617,   618,  -752,   201,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,   203,  -752,   558,   620,  -752,
 -    -752,   619,   621,  -752,  -752,   622,   623,  -752,  -752,   624,
 -     626,  -752,  -752,  -752,  -752,  -752,  -752,    53,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,   119,  -752,   625,   629,  -752,
 -     630,   631,   632,   633,   634,   635,   241,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,   277,
 -    -752,  -752,  -752,   278,   483,   490,  -752,  -752,   636,   638,
 -    -752,  -752,   637,   641,  -752,  -752,   639,  -752,   128,  -752,
 -    -752,  -752,  -752,   642,   644,   645,   646,   494,   501,   502,
 -     503,   504,   647,   648,   507,   508,   396,  -752,  -752,    40,
 -    -752,   559,   181,  -752,   560,   198,  -752,   561,    95,  -752,
 -     563,   147,  -752,    34,  -752,   -49,  -752,   581,   511,   512,
 -     513,   514,   515,   520,    75,  -752,   653,   656,   125,  -752,
 -    -752,  -752,   655,   664,  -752,    16,  -752,   583,   374,  -752,
 -     598,   665,  -752,   149,   601,  -752,   332,   522,   525,   529,
 -    -752,  -752,  -752,  -752,  -752,   530,   531,  -752,  -752,  -752,
 -     279,  -752,   660,  -752,   662,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,   280,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,   286,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,   537,   538,  -752,
 -    -752,   551,   287,  -752,   666,  -752,   553,  -752,   669,  -752,
 -    -752,  -752,  -752,  -752,   288,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,    95,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,   672,   562,   673,   149,  -752,  -752,   677,  -752,
 -     564,  -752,   671,  -752,  -752,   256,  -752,   139,   671,  -752,
 -    -752,   679,   680,   681,   295,  -752,  -752,  -752,  -752,  -752,
 -    -752,   682,   545,   565,   568,   139,  -752,   573,  -752,  -752,
 -    -752,  -752,  -752
++     300,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,    41,    19,    24,    50,    52,    88,
++     117,   131,   138,   140,   150,   152,   161,   204,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,    19,   -95,     8,    62,    31,   153,
++      -4,   165,   142,   347,    35,   -27,   318,   103,  -728,   258,
++     239,   266,   263,   276,  -728,  -728,  -728,  -728,  -728,   277,
++    -728,    48,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   290,
++     291,  -728,  -728,  -728,  -728,  -728,   295,   296,   297,   303,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++     305,  -728,  -728,  -728,    63,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,   308,  -728,    64,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,   309,   312,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,    71,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,   119,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,   298,   315,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   311,  -728,
++    -728,   317,  -728,  -728,  -728,   320,  -728,  -728,   314,   330,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,   331,   332,  -728,  -728,  -728,  -728,   337,
++     335,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,   123,  -728,  -728,  -728,   336,  -728,  -728,
++     343,  -728,   344,   350,  -728,  -728,   351,   352,   353,  -728,
++    -728,  -728,  -728,  -728,   127,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,   129,  -728,  -728,  -728,    19,    19,  -728,   209,   360,
++     363,   364,   366,   367,  -728,     8,  -728,   371,   223,   226,
++     377,   383,   384,   389,   391,   247,   248,   251,   255,   401,
++     406,   407,   408,   417,   418,   446,   447,   448,   449,   304,
++     450,   452,    62,  -728,   453,   454,   455,   307,    31,  -728,
++     457,   458,   460,   461,   462,   463,   465,   323,   319,   471,
++     472,   475,   476,   153,  -728,   477,    -4,  -728,   479,   480,
++     482,   483,   484,   485,   488,   489,  -728,   165,  -728,   490,
++     491,   345,   494,   495,   496,   348,  -728,   347,   500,   354,
++     355,  -728,    35,   502,   505,   -14,  -728,   357,   507,   508,
++     362,   510,   365,   368,   511,   513,   372,   373,   374,   514,
++     516,   318,  -728,   517,   103,  -728,  -728,  -728,   520,   521,
++     522,    19,    19,    19,  -728,   523,  -728,  -728,   381,   382,
++     385,   526,   527,  -728,  -728,  -728,  -728,   531,   532,   533,
++     534,   535,   390,   536,   538,   539,   540,  -728,   541,   542,
++    -728,   545,   168,   210,  -728,  -728,   395,   396,   402,   546,
++     403,   404,   405,  -728,  -728,    37,   409,   551,   550,  -728,
++     410,  -728,   545,   411,   412,   413,   414,   415,   416,   419,
++    -728,   420,   421,  -728,   422,   423,   424,  -728,  -728,   425,
++    -728,  -728,  -728,   426,    19,  -728,  -728,   427,   428,  -728,
++     429,  -728,  -728,    15,   438,  -728,  -728,  -728,    -3,   430,
++    -728,   562,  -728,    19,    62,   103,  -728,  -728,  -728,    31,
++    -728,  -728,  -728,   250,   250,   561,   574,   575,   576,  -728,
++    -728,  -728,   243,   577,   578,   321,    14,   318,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   579,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   580,   499,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,   582,  -728,   133,   145,   146,  -728,  -728,  -728,  -728,
++     586,   587,   588,   589,   590,  -728,  -728,   591,   592,  -728,
++     148,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,   157,  -728,   593,   594,
++    -728,  -728,   595,   597,  -728,  -728,   596,   600,  -728,  -728,
++     598,   602,  -728,  -728,  -728,  -728,  -728,  -728,    26,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,    93,  -728,  -728,   601,
++     603,  -728,   604,   605,   606,   607,   608,   609,   176,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,   183,  -728,  -728,  -728,   187,   464,  -728,   610,   612,
++    -728,  -728,   611,   615,  -728,  -728,   613,  -728,   257,  -728,
++    -728,  -728,  -728,   616,   618,   619,   620,   468,   445,   474,
++     473,   478,   623,   624,   481,   486,   250,  -728,  -728,   153,
++    -728,   561,   347,  -728,   574,    35,  -728,   575,   192,  -728,
++     576,   243,  -728,   244,   577,  -728,   -27,  -728,   578,   487,
++     492,   493,   497,   498,   501,   321,  -728,   626,   627,    14,
++    -728,  -728,  -728,   628,   630,    -4,  -728,   579,   165,  -728,
++     580,   631,  -728,   126,   582,  -728,   179,   503,   504,   506,
++    -728,  -728,  -728,  -728,  -728,   509,   512,  -728,  -728,  -728,
++     193,  -728,   632,  -728,   633,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,   197,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,   634,   636,  -728,
++    -728,  -728,  -728,   227,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,   515,   518,  -728,  -728,   519,   236,  -728,   637,
++    -728,   524,  -728,   642,  -728,  -728,  -728,  -728,  -728,   254,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   192,  -728,
++     643,  -728,   244,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++     646,   530,   647,   126,  -728,  -728,   528,  -728,   650,  -728,
++     547,  -728,  -728,   629,  -728,  -728,   302,  -728,   -28,   629,
++    -728,  -728,   653,   654,   656,   270,  -728,  -728,  -728,  -728,
++    -728,  -728,   657,   543,   544,   549,   -28,  -728,   548,  -728,
++    -728,  -728,  -728,  -728
    };
  
    const unsigned short int
        20,    22,    24,    26,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,     1,    43,
        36,    32,    31,    28,    29,    30,    35,     3,    33,    34,
-       56,     5,    68,     7,   115,     9,   227,    11,   380,    13,
-      404,    15,   305,    17,   313,    19,   350,    21,   192,    23,
-      490,    25,   547,    27,    45,    39,     0,     0,     0,     0,
-        0,   406,     0,   315,   352,     0,     0,     0,    47,     0,
-       46,     0,     0,    40,    66,   545,   539,   541,   543,     0,
+       56,     5,    68,     7,   115,     9,   231,    11,   384,    13,
 -     407,    15,   309,    17,   317,    19,   354,    21,   196,    23,
 -     493,    25,   550,    27,    45,    39,     0,     0,     0,     0,
 -       0,   409,     0,   319,   356,     0,     0,     0,    47,     0,
 -      46,     0,     0,    40,    66,   548,   542,   544,   546,     0,
++     408,    15,   309,    17,   317,    19,   354,    21,   196,    23,
++     494,    25,   551,    27,    45,    39,     0,     0,     0,     0,
++       0,   410,     0,   319,   356,     0,     0,     0,    47,     0,
++      46,     0,     0,    40,    66,   549,   543,   545,   547,     0,
        65,     0,    58,    60,    62,    63,    64,    61,   104,     0,
-        0,   425,   427,   429,   128,   130,     0,     0,     0,     0,
-      219,   303,   342,   276,   392,   394,   170,   451,   184,   203,
-        0,   475,   488,    97,     0,    70,    72,    73,    74,    75,
 -       0,   428,   430,   432,   128,   130,     0,     0,     0,     0,
 -     223,   307,   346,   280,   395,   397,   174,   454,   188,   207,
 -       0,   478,   491,    97,     0,    70,    72,    73,    74,    75,
++       0,   429,   431,   433,   128,   130,     0,     0,     0,     0,
++     223,   307,   346,   280,   396,   398,   174,   455,   188,   207,
++       0,   479,   492,    97,     0,    70,    72,    73,    74,    75,
        90,    91,    78,    79,    80,    81,    85,    86,    76,    77,
        83,    84,    95,    96,    92,    93,    94,    82,    87,    88,
        89,   117,   119,   123,     0,   114,     0,   106,   108,   109,
-      110,   111,   112,   113,   257,   259,   261,   372,   255,   263,
-      265,     0,     0,   269,   267,   396,   447,   254,   231,   232,
-      233,   245,     0,   229,   236,   249,   250,   251,   237,   238,
-      241,   243,   239,   240,   234,   235,   252,   253,   242,   246,
-      247,   248,   244,   390,   389,   386,   385,     0,   382,   384,
-      387,   388,   445,   433,   435,   439,   437,   443,   441,   431,
-      424,   418,   422,   423,     0,   407,   408,   419,   420,   421,
-      415,   410,   416,   412,   413,   414,   417,   411,     0,   332,
-      160,     0,   336,   334,   339,     0,   328,   329,     0,   316,
-      317,   319,   331,   320,   321,   322,   338,   323,   324,   325,
-      326,   327,   366,     0,     0,   364,   365,   368,   369,     0,
-      353,   354,   356,   357,   358,   359,   360,   361,   362,   363,
-      199,   201,   196,     0,   194,   197,   198,     0,   512,   514,
-        0,   517,     0,     0,   521,   525,     0,     0,     0,   530,
-      537,   510,   508,   509,     0,   492,   494,   495,   496,   497,
-      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
-      552,     0,   549,   551,    44,     0,     0,    37,     0,     0,
 -     110,   111,   112,   113,   458,   261,   263,   265,   376,   259,
 -     267,   269,     0,     0,   273,   271,   399,   450,   258,   235,
 -     236,   237,   249,     0,   233,   240,   253,   254,   255,   241,
 -     242,   245,   247,   243,   244,   238,   239,   256,   257,   246,
 -     250,   251,   252,   248,   393,   392,   389,     0,   386,   388,
 -     390,   391,   448,   436,   438,   442,   440,   446,   444,   434,
 -     427,   421,   425,   426,     0,   410,   411,   422,   423,   424,
 -     418,   413,   419,   415,   416,   417,   420,   414,     0,   336,
++     110,   111,   112,   113,   261,   263,   265,   376,   259,   267,
++     269,     0,     0,   273,   271,   400,   451,   258,   235,   236,
++     237,   249,     0,   233,   240,   253,   254,   255,   241,   242,
++     245,   247,   243,   244,   238,   239,   256,   257,   246,   250,
++     251,   252,   248,   394,   393,   390,   389,     0,   386,   388,
++     391,   392,   449,   437,   439,   443,   441,   447,   445,   435,
++     428,   422,   426,   427,     0,   411,   412,   423,   424,   425,
++     419,   414,   420,   416,   417,   418,   421,   415,     0,   336,
+      162,     0,   340,   338,   343,     0,   332,   333,     0,   320,
+      321,   323,   335,   324,   325,   326,   342,   327,   328,   329,
+      330,   331,   370,     0,     0,   368,   369,   372,   373,     0,
+      357,   358,   360,   361,   362,   363,   364,   365,   366,   367,
 -     203,   205,   200,     0,   198,   201,   202,     0,   515,   517,
 -       0,   520,     0,     0,   524,   528,     0,     0,     0,   533,
 -     540,   513,   511,   512,     0,   495,   497,   498,   499,   500,
 -     501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
 -     555,     0,   552,   554,    44,     0,     0,    37,     0,     0,
++     203,   205,   200,     0,   198,   201,   202,     0,   516,   518,
++       0,   521,     0,     0,   525,   529,     0,     0,     0,   534,
++     541,   514,   512,   513,     0,   496,   498,   499,   500,   501,
++     502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
++     556,     0,   553,   555,    44,     0,     0,    37,     0,     0,
         0,     0,     0,     0,    55,     0,    57,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,    69,     0,     0,     0,     0,     0,   116,
 -     460,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 -       0,     0,     0,     0,     0,   232,     0,     0,   385,     0,
 -       0,     0,     0,     0,     0,     0,     0,   408,     0,   310,
 -       0,     0,     0,     0,     0,     0,     0,   318,     0,     0,
 -       0,     0,   355,     0,     0,     0,     0,   197,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-        0,     0,     0,     0,   228,     0,     0,   381,     0,     0,
-        0,     0,     0,     0,     0,     0,   405,     0,   306,     0,
-        0,     0,     0,     0,     0,     0,   314,     0,     0,     0,
-        0,   351,     0,     0,     0,     0,   193,     0,     0,     0,
 -       0,     0,     0,   494,     0,     0,   551,    48,    41,     0,
 -       0,     0,     0,     0,     0,    59,     0,   102,   103,     0,
 -       0,     0,     0,     0,    98,    99,   100,   101,     0,     0,
 -       0,     0,     0,     0,     0,     0,     0,     0,   477,     0,
 -       0,    71,     0,     0,     0,   127,   107,   475,   473,   474,
 -     466,   467,   471,   472,   468,   469,   470,     0,   461,   462,
 -     464,   465,     0,     0,     0,     0,     0,     0,     0,   278,
 -     279,     0,     0,     0,     0,   234,     0,   387,     0,     0,
 -       0,     0,     0,     0,     0,     0,   412,     0,     0,   334,
 -       0,     0,     0,   345,   322,     0,   374,   375,   359,     0,
 -       0,   199,   514,     0,     0,   519,     0,   522,   523,     0,
 -       0,   530,   531,   532,     0,     0,   496,     0,   553,     0,
 -       0,     0,   543,   545,   547,     0,   429,   431,   433,     0,
 -       0,   225,   311,   348,   282,    38,   396,   398,     0,     0,
 -     190,     0,     0,     0,    49,   118,   121,   122,   120,   125,
 -     126,   124,     0,   459,     0,   262,   264,   266,   378,   260,
 -     268,   270,   275,   276,   277,   274,   272,   401,     0,   394,
 -     449,   437,   439,   443,   441,   447,   445,   435,   337,   163,
 -     341,   339,   344,   371,   204,   206,   516,   518,   521,   526,
 -     527,   525,   529,   535,   536,   537,   538,   539,   534,   541,
 -       0,    42,     0,     0,     0,   149,   155,   157,   159,     0,
 -       0,     0,     0,     0,   168,   170,     0,     0,   148,     0,
 -     132,   134,   135,   136,   137,   138,   139,   140,   141,   142,
 -     143,   144,   147,   145,   146,     0,   229,     0,   226,   227,
 -     315,     0,   312,   313,   352,     0,   349,   350,   286,     0,
 -     283,   284,   183,   184,   185,   186,   187,     0,   176,   178,
 -     179,   180,   181,   182,   456,     0,   194,     0,   191,   192,
 -       0,     0,     0,     0,     0,     0,     0,   209,   211,   212,
 -     213,   214,   215,   216,   487,   489,   486,   484,   485,     0,
 -     480,   482,   483,     0,    51,     0,   463,   382,     0,   379,
 -     380,   405,     0,   402,   403,   452,     0,   559,     0,   557,
 -      67,   549,   105,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,   232,     0,     0,   385,     0,     0,
++       0,     0,     0,     0,     0,     0,   409,     0,   310,     0,
++       0,     0,     0,     0,     0,     0,   318,     0,     0,     0,
++       0,   355,     0,     0,     0,     0,   197,     0,     0,     0,
 +       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-        0,     0,   491,     0,     0,   548,    48,    41,     0,     0,
++       0,     0,   495,     0,     0,   552,    48,    41,     0,     0,
 +       0,     0,     0,     0,    59,     0,   102,   103,     0,     0,
 +       0,     0,     0,    98,    99,   100,   101,     0,     0,     0,
-        0,     0,     0,     0,     0,     0,     0,   474,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,   478,     0,     0,
 +      71,     0,     0,     0,   127,   107,     0,     0,     0,     0,
-        0,     0,     0,   274,   275,     0,     0,     0,     0,   230,
-        0,   383,     0,     0,     0,     0,     0,     0,     0,     0,
-      409,     0,     0,   330,     0,     0,     0,   341,   318,     0,
-      370,   371,   355,     0,     0,   195,   511,     0,     0,   516,
-        0,   519,   520,     0,     0,   527,   528,   529,     0,     0,
-      493,     0,   550,     0,     0,     0,   540,   542,   544,     0,
-      426,   428,   430,     0,     0,   221,   307,   344,   278,    38,
-      393,   395,     0,     0,   186,     0,     0,     0,    49,   118,
-      121,   122,   120,   125,   126,   124,   258,   260,   262,   374,
-      256,   264,   266,   271,   272,   273,   270,   268,   398,     0,
-      391,   446,   434,   436,   440,   438,   444,   442,   432,   333,
-      161,   337,   335,   340,   367,   200,   202,   513,   515,   518,
-      523,   524,   522,   526,   532,   533,   534,   535,   536,   531,
-      538,     0,    42,     0,     0,     0,   147,   153,   155,   157,
-        0,     0,     0,     0,     0,   166,   168,   146,     0,   132,
-      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
-      144,   145,     0,   225,     0,   222,   223,   311,     0,   308,
-      309,   348,     0,   345,   346,   282,     0,   279,   280,   179,
-      180,   181,   182,   183,     0,   172,   174,   175,   176,   177,
-      178,   455,     0,   453,   190,     0,   187,   188,     0,     0,
-        0,     0,     0,     0,     0,   205,   207,   208,   209,   210,
-      211,   212,   484,   486,   483,   481,   482,     0,   477,   479,
-      480,     0,    51,   378,     0,   375,   376,   402,     0,   399,
-      400,   449,     0,   556,     0,   554,    67,   546,   105,     0,
-        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-        0,   129,   131,     0,   220,     0,   315,   304,     0,   352,
-      343,     0,     0,   277,     0,     0,   171,   457,     0,   452,
-        0,   185,     0,     0,     0,     0,     0,     0,     0,     0,
-      204,     0,     0,     0,   476,   489,    53,     0,    52,     0,
-      373,     0,   406,   397,     0,     0,   448,     0,     0,   553,
-        0,     0,     0,     0,   159,   162,   163,   164,   165,     0,
-        0,   133,     0,   224,     0,   310,     0,   347,   302,   299,
-      289,   290,   292,   286,   287,   288,   298,   297,     0,   284,
-      291,   300,   301,   293,   294,   295,   296,   281,   173,   472,
-      470,   471,   463,   464,   468,   469,   465,   466,   467,     0,
-      458,   459,   461,   462,   454,     0,   189,   213,   214,   215,
-      216,   217,   218,   206,     0,     0,   478,    50,     0,     0,
-      377,     0,   401,     0,   570,     0,   568,   566,   560,   564,
-      565,     0,   558,   562,   563,   561,   555,   149,   150,   151,
-      152,   148,   154,   156,   158,   167,   169,   226,   312,   349,
-        0,   283,     0,   456,     0,   191,   485,   487,    54,   379,
-      403,   450,     0,     0,     0,     0,   557,   285,     0,   460,
-        0,   567,     0,   559,   473,     0,   569,   574,     0,   572,
-        0,     0,   571,   582,     0,     0,     0,     0,   576,   578,
-      579,   580,   581,   573,     0,     0,     0,     0,     0,   575,
-        0,   584,   585,   586,   577,   583
++       0,     0,     0,   278,   279,     0,     0,     0,     0,   234,
++       0,   387,     0,     0,     0,     0,     0,     0,     0,     0,
++     413,     0,     0,   334,     0,     0,     0,   345,   322,     0,
++     374,   375,   359,     0,     0,   199,   515,     0,     0,   520,
++       0,   523,   524,     0,     0,   531,   532,   533,     0,     0,
++     497,     0,   554,     0,     0,     0,   544,   546,   548,     0,
++     430,   432,   434,     0,     0,   225,   311,   348,   282,    38,
++     397,   399,     0,     0,   190,     0,     0,     0,    49,   118,
++     121,   122,   120,   125,   126,   124,   262,   264,   266,   378,
++     260,   268,   270,   275,   276,   277,   274,   272,   402,     0,
++     395,   450,   438,   440,   444,   442,   448,   446,   436,   337,
++     163,   341,   339,   344,   371,   204,   206,   517,   519,   522,
++     527,   528,   526,   530,   536,   537,   538,   539,   540,   535,
++     542,     0,    42,     0,     0,     0,   149,   155,   157,   159,
++       0,     0,     0,     0,     0,   168,   170,     0,     0,   148,
++       0,   132,   134,   135,   136,   137,   138,   139,   140,   141,
++     142,   143,   144,   147,   145,   146,     0,   229,     0,   226,
++     227,   315,     0,   312,   313,   352,     0,   349,   350,   286,
++       0,   283,   284,   183,   184,   185,   186,   187,     0,   176,
++     178,   179,   180,   181,   182,   459,     0,   457,   194,     0,
++     191,   192,     0,     0,     0,     0,     0,     0,     0,   209,
++     211,   212,   213,   214,   215,   216,   488,   490,   487,   485,
++     486,     0,   481,   483,   484,     0,    51,   382,     0,   379,
++     380,   406,     0,   403,   404,   453,     0,   560,     0,   558,
++      67,   550,   105,     0,     0,     0,     0,     0,     0,     0,
+        0,     0,     0,     0,     0,     0,     0,   129,   131,     0,
+      224,     0,   319,   308,     0,   356,   347,     0,     0,   281,
 -       0,     0,   175,     0,   455,     0,   189,     0,     0,     0,
 -       0,     0,     0,     0,     0,   208,     0,     0,     0,   479,
 -     492,    53,     0,    52,   476,     0,   377,     0,   409,   400,
 -       0,     0,   451,     0,     0,   556,     0,     0,     0,     0,
++       0,     0,   175,   461,     0,   456,     0,   189,     0,     0,
++       0,     0,     0,     0,     0,     0,   208,     0,     0,     0,
++     480,   493,    53,     0,    52,     0,   377,     0,   410,   401,
++       0,     0,   452,     0,     0,   557,     0,     0,     0,     0,
+      161,   164,   165,   166,   167,     0,     0,   172,   173,   133,
+        0,   228,     0,   314,     0,   351,   306,   303,   293,   294,
+      296,   290,   291,   292,   302,   301,     0,   288,   295,   304,
 -     305,   297,   298,   299,   300,   285,   177,   457,     0,   193,
 -     217,   218,   219,   220,   221,   222,   210,     0,     0,   481,
 -      50,     0,     0,   381,     0,   404,     0,   573,     0,   571,
 -     569,   563,   567,   568,     0,   561,   565,   566,   564,   558,
 -     151,   152,   153,   154,   150,   156,   158,   160,   169,   171,
 -     230,   316,   353,     0,   287,   195,   488,   490,    54,   383,
 -     406,   453,     0,     0,     0,     0,   560,   289,     0,   570,
 -       0,   562,     0,   572,   577,     0,   575,     0,     0,   574,
 -     585,     0,     0,     0,     0,   579,   581,   582,   583,   584,
 -     576,     0,     0,     0,     0,     0,   578,     0,   587,   588,
 -     589,   580,   586
++     305,   297,   298,   299,   300,   285,   177,   476,   474,   475,
++     467,   468,   472,   473,   469,   470,   471,     0,   462,   463,
++     465,   466,   458,     0,   193,   217,   218,   219,   220,   221,
++     222,   210,     0,     0,   482,    50,     0,     0,   381,     0,
++     405,     0,   574,     0,   572,   570,   564,   568,   569,     0,
++     562,   566,   567,   565,   559,   151,   152,   153,   154,   150,
++     156,   158,   160,   169,   171,   230,   316,   353,     0,   287,
++       0,   460,     0,   195,   489,   491,    54,   383,   407,   454,
++       0,     0,     0,     0,   561,   289,     0,   464,     0,   571,
++       0,   563,   477,     0,   573,   578,     0,   576,     0,     0,
++     575,   586,     0,     0,     0,     0,   580,   582,   583,   584,
++     585,   577,     0,     0,     0,     0,     0,   579,     0,   588,
++     589,   590,   581,   587
    };
  
    const short int
    Dhcp4Parser::yypgoto_[] =
    {
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,   -51,  -722,   202,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,   176,  -722,  -722,  -722,
-      -66,  -722,  -722,  -722,   354,  -722,  -722,  -722,  -722,   157,
-      316,   -23,   -21,     0,  -722,  -722,     6,  -722,  -722,   141,
-      324,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,   154,   -35,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,   -73,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,   -45,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,   -38,  -722,  -722,  -722,   -43,   305,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,   -32,  -722,  -722,  -722,  -722,  -722,
-     -722,  -721,  -722,  -722,  -722,    -7,  -722,  -722,  -722,     1,
-      362,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -715,
-     -722,  -722,  -722,   -25,  -722,  -709,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,   -20,  -722,  -722,  -143,   -61,  -722,
-     -722,  -722,  -722,  -722,     2,  -722,  -722,  -722,    11,  -722,
-      342,  -722,   -68,  -722,  -722,  -722,  -722,  -722,   -62,  -722,
-     -722,  -722,  -722,  -722,   -17,  -722,  -722,  -722,     9,  -722,
-     -722,  -722,    12,  -722,   346,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,   -18,  -722,  -722,  -722,
-      -15,   374,  -722,  -722,   -54,  -722,   -34,  -722,  -722,  -722,
-     -722,  -722,   -12,  -722,  -722,  -722,   -16,  -722,   360,   -46,
-     -722,   -11,  -722,    -1,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -704,  -722,  -722,  -722,  -722,  -722,  -722,    16,  -722,
-     -722,  -722,  -125,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-        3,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,   208,
-      337,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,  -722,
-     -722,  -722,  -722,  -722,   237,   329,  -722,  -722,  -722,    -8,
-     -722,  -722,  -128,  -722,  -722,  -722,  -722,  -722,  -722,  -142,
-     -722,  -722,  -155,  -722,  -722,  -722,  -722,  -722
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,   -33,  -752,   165,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,   184,  -752,  -752,  -752,
 -     -66,  -752,  -752,  -752,   377,  -752,  -752,  -752,  -752,   144,
 -     327,   -68,   -51,   -48,  -752,  -752,   -34,  -752,  -752,   142,
 -     358,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,   146,   -29,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,   -61,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,   -43,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,   -47,  -752,  -752,  -752,   -42,   315,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,   -45,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -751,  -752,  -752,  -752,   -26,  -752,  -752,
 -    -752,   -23,   363,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -748,  -752,  -752,  -752,  -563,  -752,  -746,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,   -32,  -752,  -752,  -152,
 -     -57,  -752,  -752,  -752,  -752,  -752,   -14,  -752,  -752,  -752,
 -     -17,  -752,   344,  -752,   -60,  -752,  -752,  -752,  -752,  -752,
 -     -55,  -752,  -752,  -752,  -752,  -752,    -3,  -752,  -752,  -752,
 -     -12,  -752,  -752,  -752,    -7,  -752,   347,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,   -35,  -752,
 -    -752,  -752,   -31,   380,  -752,  -752,   -44,  -752,   -19,  -752,
 -    -752,  -752,  -752,  -752,   -37,  -752,  -752,  -752,   -30,  -752,
 -     355,   -11,  -752,     2,  -752,     7,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -740,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,   187,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,   -16,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -     200,   345,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -752,  -752,  -752,  -752,  -752,   223,   346,  -752,  -752,  -752,
 -     -22,  -752,  -752,  -125,  -752,  -752,  -752,  -752,  -752,  -752,
 -    -140,  -752,  -752,  -150,  -752,  -752,  -752,  -752,  -752
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,   -51,  -728,   203,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,   174,  -728,  -728,  -728,
++     -66,  -728,  -728,  -728,   349,  -728,  -728,  -728,  -728,   137,
++     324,   -23,   -21,     0,  -728,  -728,     6,  -728,  -728,   128,
++     333,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,   160,   -47,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   -73,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,   -45,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,   -38,  -728,  -728,  -728,   -43,   325,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,   -39,  -728,  -728,  -728,
++    -728,  -728,  -728,  -727,  -728,  -728,  -728,    -8,  -728,  -728,
++    -728,    -9,   370,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -721,  -728,  -728,  -728,   -25,  -728,  -715,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,   -16,  -728,  -728,  -145,
++     -61,  -728,  -728,  -728,  -728,  -728,     2,  -728,  -728,  -728,
++       9,  -728,   356,  -728,   -68,  -728,  -728,  -728,  -728,  -728,
++     -62,  -728,  -728,  -728,  -728,  -728,   -17,  -728,  -728,  -728,
++      10,  -728,  -728,  -728,    11,  -728,   358,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,   -22,  -728,
++    -728,  -728,   -15,   376,  -728,  -728,   -54,  -728,   -34,  -728,
++    -728,  -728,  -728,  -728,   -12,  -728,  -728,  -728,   -19,  -728,
++     369,   -46,  -728,   -11,  -728,    -1,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -710,  -728,  -728,  -728,  -728,  -728,  -728,
++      17,  -728,  -728,  -728,  -128,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,     3,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,   208,   338,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,  -728,
++    -728,  -728,  -728,  -728,  -728,  -728,   238,   340,  -728,  -728,
++    -728,    -6,  -728,  -728,  -127,  -728,  -728,  -728,  -728,  -728,
++    -728,  -144,  -728,  -728,  -157,  -728,  -728,  -728,  -728,  -728
    };
  
    const short int
    Dhcp4Parser::yydefgoto_[] =
    {
        -1,    14,    15,    16,    17,    18,    19,    20,    21,    22,
 -      23,    24,    25,    26,    27,    36,    37,    38,    65,   566,
 -      82,    83,    39,    64,    79,    80,   575,   724,   792,   793,
 +      23,    24,    25,    26,    27,    36,    37,    38,    65,   550,
-       82,    83,    39,    64,    79,    80,   559,   702,   767,   768,
++      82,    83,    39,    64,    79,    80,   559,   706,   773,   774,
       123,    41,    66,    91,    92,    93,   329,    43,    67,   124,
       125,   126,   127,   128,   129,   130,   131,   132,   337,   156,
 -     157,    45,    68,   158,   364,   159,   365,   578,   160,   366,
 -     581,   161,   133,   343,   134,   344,   649,   650,   651,   743,
 -     884,   652,   744,   653,   745,   654,   746,   655,   247,   401,
 -     657,   658,   659,   660,   661,   752,   662,   753,   663,   664,
 -     135,   355,   687,   688,   689,   690,   691,   692,   693,   136,
 -     357,   697,   698,   699,   775,    59,    75,   283,   284,   285,
 -     414,   286,   415,   137,   358,   706,   707,   708,   709,   710,
 -     711,   712,   713,   138,   349,   667,   668,   669,   759,    47,
 -      69,   183,   184,   185,   375,   186,   371,   187,   372,   188,
 -     373,   189,   376,   190,   377,   191,   381,   192,   380,   595,
 -     193,   194,   139,   352,   679,   680,   681,   768,   836,   837,
 -     140,   350,    53,    72,   671,   672,   673,   762,    55,    73,
 -     248,   249,   250,   251,   252,   253,   254,   400,   255,   404,
 -     256,   403,   257,   258,   405,   259,   141,   351,   675,   676,
 -     677,   765,    57,    74,   269,   270,   271,   272,   273,   409,
 -     274,   275,   276,   277,   196,   374,   728,   729,   730,   795,
 -      49,    70,   207,   208,   209,   386,   142,   353,   143,   354,
 -     199,   382,   732,   733,   734,   798,    51,    71,   224,   225,
 -     226,   144,   340,   145,   341,   146,   342,   230,   396,   231,
 -     390,   232,   391,   233,   393,   234,   392,   235,   395,   236,
 -     394,   237,   389,   203,   383,   736,   801,   147,   356,   695,
 -     370,   487,   488,   489,   490,   491,   582,   148,   149,   360,
 -     719,   720,   721,   786,   722,   787,   150,   361,    61,    76,
 -     304,   305,   306,   307,   419,   308,   420,   309,   310,   422,
 -     311,   312,   313,   425,   621,   314,   426,   315,   316,   317,
 -     318,   430,   628,   319,   431,    94,   331,    95,   332,    96,
 -     333,    97,   330,    63,    77,   321,   322,   323,   434,   738,
 -     739,   803,   874,   875,   876,   877,   904,   878,   902,   915,
 -     916,   917,   924,   925,   926,   931,   927,   928,   929
 +     157,    45,    68,   158,   364,   159,   365,   562,   160,   366,
-      565,   161,   133,   343,   134,   344,   628,   629,   630,   719,
-      871,   631,   720,   632,   721,   633,   722,   634,   247,   400,
-      636,   637,   638,   639,   640,   728,   641,   729,   135,   355,
-      664,   665,   666,   667,   668,   669,   670,   136,   357,   675,
-      676,   677,   750,    59,    75,   283,   284,   285,   413,   286,
-      414,   137,   358,   684,   685,   686,   687,   688,   689,   690,
-      691,   138,   349,   644,   645,   646,   733,    47,    69,   182,
-      183,   184,   374,   185,   370,   186,   371,   187,   372,   188,
-      375,   189,   376,   190,   380,   191,   379,   576,   192,   193,
-      139,   352,   656,   657,   658,   742,   808,   809,   140,   350,
-       53,    72,   648,   649,   650,   736,    55,    73,   248,   249,
-      250,   251,   252,   253,   254,   399,   255,   403,   256,   402,
-      257,   258,   404,   259,   141,   351,   652,   653,   654,   739,
-       57,    74,   269,   270,   271,   272,   273,   408,   274,   275,
-      276,   277,   195,   373,   704,   705,   706,   769,    49,    70,
-      207,   208,   209,   385,   142,   353,   143,   354,   198,   381,
-      708,   709,   710,   772,    51,    71,   224,   225,   226,   144,
-      340,   145,   341,   146,   342,   230,   395,   231,   389,   232,
-      390,   233,   392,   234,   391,   235,   394,   236,   393,   237,
-      388,   202,   382,   712,   775,   147,   356,   672,   673,   747,
-      829,   830,   831,   832,   833,   882,   148,   149,   360,   697,
-      698,   699,   761,   700,   762,   150,   361,    61,    76,   304,
-      305,   306,   307,   418,   308,   419,   309,   310,   421,   311,
-      312,   313,   424,   602,   314,   425,   315,   316,   317,   318,
-      429,   609,   319,   430,    94,   331,    95,   332,    96,   333,
-       97,   330,    63,    77,   321,   322,   323,   433,   714,   715,
-      777,   861,   862,   863,   864,   894,   865,   892,   908,   909,
-      910,   917,   918,   919,   924,   920,   921,   922
++     565,   161,   133,   343,   134,   344,   630,   631,   632,   723,
++     879,   633,   724,   634,   725,   635,   726,   636,   247,   400,
++     638,   639,   640,   641,   642,   732,   643,   733,   644,   645,
++     135,   355,   668,   669,   670,   671,   672,   673,   674,   136,
++     357,   679,   680,   681,   756,    59,    75,   283,   284,   285,
++     413,   286,   414,   137,   358,   688,   689,   690,   691,   692,
++     693,   694,   695,   138,   349,   648,   649,   650,   739,    47,
++      69,   182,   183,   184,   374,   185,   370,   186,   371,   187,
++     372,   188,   375,   189,   376,   190,   380,   191,   379,   576,
++     192,   193,   139,   352,   660,   661,   662,   748,   816,   817,
++     140,   350,    53,    72,   652,   653,   654,   742,    55,    73,
++     248,   249,   250,   251,   252,   253,   254,   399,   255,   403,
++     256,   402,   257,   258,   404,   259,   141,   351,   656,   657,
++     658,   745,    57,    74,   269,   270,   271,   272,   273,   408,
++     274,   275,   276,   277,   195,   373,   708,   709,   710,   775,
++      49,    70,   207,   208,   209,   385,   142,   353,   143,   354,
++     198,   381,   712,   713,   714,   778,    51,    71,   224,   225,
++     226,   144,   340,   145,   341,   146,   342,   230,   395,   231,
++     389,   232,   390,   233,   392,   234,   391,   235,   394,   236,
++     393,   237,   388,   202,   382,   716,   781,   147,   356,   676,
++     677,   753,   837,   838,   839,   840,   841,   890,   148,   149,
++     360,   701,   702,   703,   767,   704,   768,   150,   361,    61,
++      76,   304,   305,   306,   307,   418,   308,   419,   309,   310,
++     421,   311,   312,   313,   424,   602,   314,   425,   315,   316,
++     317,   318,   429,   609,   319,   430,    94,   331,    95,   332,
++      96,   333,    97,   330,    63,    77,   321,   322,   323,   433,
++     718,   719,   783,   869,   870,   871,   872,   902,   873,   900,
++     916,   917,   918,   925,   926,   927,   932,   928,   929,   930
    };
  
    const unsigned short int
    Dhcp4Parser::yytable_[] =
    {
 -      90,   179,   155,   178,   205,   220,   694,   246,   265,   282,
 -     301,    84,    28,   266,   267,   238,    40,   832,   180,   268,
 -     833,   181,   835,    81,   162,   197,   210,   222,   844,   260,
 -     278,    78,   302,    42,    29,   182,    30,    44,    31,   335,
 -     619,   164,   280,   281,   336,   280,   281,   164,   362,   163,
 -     198,   211,   223,   363,   261,   279,   771,   303,   200,   772,
 -     227,   100,   101,   102,   103,   368,   195,   206,   221,   112,
 -     369,   201,   384,   228,   387,   416,   202,   385,   229,   388,
 -     417,   204,   114,   115,   106,   107,   108,   432,    46,   165,
 -     166,   167,   433,   112,   592,   593,   594,   623,   624,   625,
 -     626,    89,   164,    48,   168,    50,   114,   115,   169,   170,
 -     171,   172,   173,   174,   175,    52,   100,   101,   102,   103,
 -     175,   176,   773,   151,   152,   774,    85,   153,   177,   627,
 -     154,   804,   111,   435,   805,    86,    87,    88,   436,   106,
 -     107,   108,   832,   110,   620,   833,   324,   835,   112,   240,
 -      54,    89,    56,   844,   362,   435,   101,   102,   103,   740,
 -     741,   114,   115,    58,   170,    60,    89,    62,   174,   700,
 -     701,   702,   703,   704,   705,   175,   320,   114,   115,    32,
 -      33,    34,    35,   177,    98,   325,   111,   112,   240,   326,
 -      89,   114,   115,    99,   100,   101,   102,   103,   104,   105,
 -     114,   115,   368,   240,   756,   834,   756,   742,   239,   757,
 -     847,   758,   327,   477,   328,   114,   115,   106,   107,   108,
 -     109,   110,   576,   577,   334,   111,   112,   714,   715,   682,
 -     683,   684,   685,   338,   686,   240,   113,   241,   242,   114,
 -     115,   243,   244,   245,   784,    89,   339,   114,   115,   785,
 -     116,   117,   240,   262,   241,   242,   263,   264,   345,   918,
 -     397,    89,   919,   118,   114,   115,   119,   920,   346,    90,
 -     921,   922,   923,   120,   121,    89,   867,   122,   868,   869,
 -     788,   432,   384,   893,    89,   789,   790,   890,   894,   416,
 -     387,   905,   437,   438,   895,   899,   906,   347,   935,    89,
 -     579,   580,   155,   936,   478,   348,   359,   367,   378,   479,
 -     379,   398,   408,   480,   402,   399,   179,   406,   178,   407,
 -     410,   205,   411,    89,   162,   412,   482,   413,   439,   418,
 -     834,    89,   220,   180,   421,   423,   181,   424,   427,   428,
 -     197,   429,   246,   210,   440,   441,   442,   265,    89,   163,
 -     182,   483,   266,   267,   222,   443,   444,   446,   268,   484,
 -     880,   881,   882,   883,   260,   198,   301,   481,   211,   278,
 -     447,   448,   485,   200,   449,   450,   451,   486,   454,   223,
 -     452,   195,   453,   455,   206,   456,   201,   227,   302,   261,
 -     457,   202,   458,   459,   279,   221,   101,   102,   103,   460,
 -     228,   461,   462,   463,   464,   229,   465,   466,   467,   552,
 -     553,   554,   468,   303,   469,   470,   472,   473,   474,   475,
 -     492,   493,   494,   635,   495,   114,   115,   112,   636,   637,
 -     638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
 -     114,   115,   496,   497,   498,   499,   501,   502,   503,   500,
 -     240,   504,   212,   506,   508,   509,   213,   214,   215,   216,
 -     217,   218,   510,   219,   287,   288,   289,   290,   291,   292,
 -     293,   294,   295,   296,   297,   298,   299,   300,   511,   512,
 -     513,   514,   515,   517,   518,   520,   521,   519,   522,   155,
 -     525,   523,   526,   648,   648,   529,   527,   615,   656,   656,
 -     530,   532,   533,   534,   536,   535,   716,   301,   537,    89,
 -     539,   162,   538,   540,   544,   541,   631,   542,   478,   543,
 -     545,   547,   549,   479,    89,   556,   550,   480,   717,   302,
 -     551,   555,   557,   558,   559,   560,   163,   561,   562,   563,
 -     482,   564,    30,   567,   568,   569,    89,   570,   571,   584,
 -     572,   573,   574,   718,   303,   585,   583,   586,   587,   588,
 -     597,   622,   630,   598,   760,   483,   666,   670,   674,   589,
 -     678,   590,   591,   484,   596,   599,   601,   602,   603,   604,
 -     605,   481,   606,   607,   608,   609,   485,   610,   696,   725,
 -     727,   486,     1,     2,     3,     4,     5,     6,     7,     8,
 -       9,    10,    11,    12,    13,   731,   611,   612,   737,   613,
 -     614,   616,   617,   618,   629,   735,   747,   748,   749,   750,
 -     751,   754,   755,   761,   764,   763,   767,   565,   766,   770,
 -     769,   776,   777,   791,   778,   779,   780,   781,   782,   783,
 -     794,   797,   796,   799,   800,   810,   806,   802,   807,   808,
 -     809,   815,   816,   812,   811,   814,   813,   857,   817,   818,
 -     858,   860,   850,   851,   852,   853,   854,   861,   891,   866,
 -     892,   855,   885,   903,   900,   886,   908,   910,   914,   887,
 -     888,   889,   912,   932,   933,   934,   937,   896,   897,   471,
 -     648,   179,   600,   178,   632,   656,   246,   634,   938,   265,
 -     827,   898,   826,   901,   266,   267,   665,   831,   180,   282,
 -     268,   181,   445,   909,   913,   197,   939,   828,   260,   940,
 -     829,   278,   716,   942,   839,   182,   476,   819,   846,   205,
 -     849,   531,   220,   848,   830,   821,   820,   870,   845,   856,
 -     198,   907,   871,   261,   717,   822,   279,   505,   200,   840,
 -     823,   210,   524,   516,   222,   825,   195,   841,   824,   872,
 -     528,   201,   863,   865,   862,   838,   202,   507,   864,   718,
 -     842,   726,   859,   723,   633,   843,   211,   546,   930,   223,
 -     911,   548,   879,     0,   873,   941,     0,   227,     0,     0,
 -       0,     0,   206,     0,     0,   221,     0,     0,     0,     0,
 -     228,     0,     0,     0,     0,   229,     0,     0,     0,     0,
 +      90,   266,   155,   177,   204,   220,   267,   246,   265,   282,
 +     301,   238,   268,    78,   162,   196,   210,   222,    84,   260,
-      278,   804,   302,   199,    29,   227,    30,   805,    31,   745,
-      600,    40,   746,   807,   163,   197,   211,   223,   816,   261,
++     278,   812,   302,   199,    29,   227,    30,   813,    31,   751,
++     600,    40,   752,   815,   163,   197,   211,   223,   824,   261,
 +     279,    28,   303,   151,   152,   205,   178,   153,   179,   112,
-      154,   335,   194,   206,   221,    81,   336,    42,   200,   362,
-      228,   203,   114,   115,   363,   280,   281,    44,   201,   180,
-      229,   748,   368,    98,   749,   181,   174,   369,   114,   115,
-      280,   281,    99,   100,   101,   102,   103,   104,   105,   240,
-      262,   241,   242,   263,   264,   114,   115,   778,   383,    46,
-      779,   114,   115,   384,   106,   107,   108,   109,   110,    48,
-      560,   561,   111,   112,   692,   693,   240,   678,   679,   680,
-      681,   682,   683,   113,    89,    50,   114,   115,   114,   115,
-      913,    85,   601,   914,   915,   916,    52,   116,   117,   386,
-       86,    87,    88,   415,   387,    54,    89,   431,   416,   434,
-      118,   320,   432,   119,   435,    56,    89,    58,   362,   804,
-      120,   121,    89,   716,   122,   805,    60,    32,    33,    34,
-       35,   807,   100,   101,   102,   103,   816,   911,    62,    89,
-      912,   659,   660,   661,   662,    89,   663,   563,   564,   854,
-      324,   855,   856,   106,   107,   108,   434,   111,   164,   165,
-      166,   717,   112,   100,   101,   102,   103,   325,   327,   368,
-       89,   326,    89,   167,   718,   114,   115,   168,   169,   170,
-      171,   172,   173,   334,   106,   107,   108,   730,   110,   174,
-      175,   338,   731,   112,   240,   730,   759,   176,   328,   396,
-      732,   760,   101,   102,   103,   339,   114,   115,   345,   169,
-      101,   102,   103,   173,   604,   605,   606,   607,   397,   763,
-      174,   431,   383,   239,   764,   346,   765,   877,   176,    90,
-      111,   112,   240,   880,   436,   437,   415,   386,   881,   112,
-      347,   885,   889,   348,   114,   115,   608,   359,   240,   367,
-      241,   242,   114,   115,   243,   244,   245,   819,   895,    89,
-      114,   115,   155,   896,   212,   377,   378,   398,   213,   214,
-      215,   216,   217,   218,   162,   219,   928,   177,   401,   405,
-      204,   929,   867,   868,   869,   870,   573,   574,   575,   196,
-       89,   220,   210,   406,   163,   407,   411,   199,   409,   266,
-      410,   246,   412,   222,   267,   417,   265,   420,   446,   197,
-      268,   227,   211,   260,   422,   423,   426,   427,   278,   428,
-      178,   205,   179,   223,   438,   301,   194,   439,    89,   206,
-      453,   440,   200,   261,   441,   442,    89,   302,   279,   443,
-      221,   445,   201,   180,    89,   447,   228,   448,   449,   181,
-      536,   537,   538,   616,   450,   451,   229,   303,   617,   618,
-      619,   620,   621,   622,   623,   624,   625,   626,   114,   115,
-      452,   454,   455,   456,   457,   458,   459,   460,   240,     1,
-        2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
-       12,    13,   461,   462,   463,   464,   465,   466,   467,   468,
-      469,   471,   472,   473,   474,   476,   477,   287,   288,   289,
-      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
-      300,   478,   479,   596,   480,   481,   482,   483,   484,   485,
-      635,   635,   486,   155,   487,   488,   490,   627,   627,   492,
-      493,   494,   612,   495,   496,   162,   497,   498,   499,   501,
-      694,   301,    89,   502,   503,   504,   505,   506,   507,   509,
-      510,   513,   695,   302,   514,   163,   517,   511,   516,   518,
-      519,   520,   523,   521,    89,   524,   525,   522,   528,   529,
-      526,   531,   696,   303,   527,   533,   534,   535,   540,   539,
-      541,   543,   544,   542,   545,   546,   547,   548,   711,   552,
-       30,   551,   553,   554,   566,   567,   555,   556,   557,   558,
-      568,   569,   570,   571,   578,   572,   577,   579,   611,   643,
-      723,   647,   580,   582,   583,   584,   585,   586,   587,   588,
-      589,   590,   591,   592,   593,   594,   651,   603,   655,   671,
-      674,   703,   595,   707,   713,   724,   725,   726,   597,   727,
-      734,   598,   599,   610,   735,   737,   738,   741,   740,   744,
-      766,   743,   752,   751,   753,   754,   755,   756,   757,   758,
-      771,   872,   770,   774,   773,   780,   781,   776,   782,   783,
-      785,   789,   784,   786,   790,   844,   845,   848,   905,   787,
-      788,   847,   853,   893,   878,   837,   838,   839,   879,   840,
-      883,   884,   890,   841,   898,   842,   873,   874,   900,   875,
-      902,   876,   886,   925,   887,   907,   926,   635,   888,   927,
-      891,   930,   901,   549,   627,   932,   266,   177,   581,   803,
-      246,   267,   933,   265,   821,   904,   798,   268,   470,   196,
-      615,   820,   260,   906,   282,   278,   822,   199,   811,   444,
-      935,   613,   475,   824,   931,   791,   813,   694,   642,   197,
-      818,   826,   261,   204,   858,   279,   220,   835,   812,   695,
-      178,   857,   179,   825,   836,   210,   194,   806,   222,   799,
-      515,   800,   200,   859,   817,   810,   227,   843,   793,   696,
-      823,   814,   201,   180,   792,   211,   827,   897,   223,   181,
-      795,   815,   801,   860,   205,   489,   828,   794,   802,   508,
-      797,   796,   206,   850,   849,   221,   851,   500,   512,   899,
-      491,   228,   852,   532,   834,   701,   846,   903,   530,   923,
-      866,   229,   614,   934,     0,     0,     0,     0,     0,     0,
++     154,   335,   194,   206,   221,    81,   336,    42,   200,    44,
++     228,   203,   114,   115,   280,   281,   362,   368,   201,   180,
++     229,   363,   369,    98,   383,   181,   174,   280,   281,   384,
++     114,   115,    99,   100,   101,   102,   103,   104,   105,   240,
++     262,   241,   242,   263,   264,    46,   754,   114,   115,   755,
++     921,   114,   115,   922,   923,   924,   106,   107,   108,   109,
++     110,   573,   574,   575,   111,   112,   696,   697,   604,   605,
++     606,   607,   386,    89,    48,   113,   415,   387,   114,   115,
++     431,   416,   434,    85,   601,   432,   362,   435,    50,   116,
++     117,   720,    86,    87,    88,    52,    89,    54,   434,   368,
++     608,   736,   118,   721,   722,   119,   737,    56,    89,    58,
++     736,   812,   120,   121,    89,   738,   122,   813,    60,    32,
++      33,    34,    35,   815,   100,   101,   102,   103,   824,   765,
++     240,    89,   560,   561,   766,    89,   769,   101,   102,   103,
++     431,   770,   114,   115,   111,   771,   383,   106,   107,   108,
++     888,   885,   164,   165,   166,   889,   112,   875,   876,   877,
++     878,    62,    89,   100,   101,   102,   103,   167,   112,   114,
++     115,   168,   169,   170,   171,   172,   173,   563,   564,   320,
++     415,   114,   115,   174,   175,   893,   106,   107,   108,   386,
++     110,   176,   325,   212,   897,   112,   240,   213,   214,   215,
++     216,   217,   218,   862,   219,   863,   864,   903,   114,   115,
++     784,   169,   904,   785,   324,   173,   101,   102,   103,    90,
++     326,   327,   174,   936,   436,   437,    89,   616,   937,   328,
++     176,   334,   617,   618,   619,   620,   621,   622,   623,   624,
++     625,   626,   627,   628,   338,   339,   111,   112,   240,   345,
++     346,   347,   155,    89,   240,   919,   396,   348,   920,   359,
++     114,   115,   367,   377,   162,    89,   378,   177,   397,   398,
++     204,   401,   406,   827,   405,   663,   664,   665,   666,   196,
++     667,   220,   210,   407,   163,   409,   410,   199,   412,   266,
++     417,   246,    89,   222,   267,   411,   265,   420,   422,   197,
++     268,   227,   211,   260,   423,   426,   427,   428,   278,   438,
++     178,   205,   179,   223,   439,   301,   194,   440,   441,   206,
++     442,   443,   200,   261,   239,   445,   446,   302,   279,   447,
++     221,   448,   201,   180,   114,   115,   228,   449,   450,   181,
++     536,   537,   538,   451,    89,   452,   229,   303,   453,   454,
++      89,   240,   455,   241,   242,   457,   456,   243,   244,   245,
++     458,   459,   460,   114,   115,   682,   683,   684,   685,   686,
++     687,   461,   462,   287,   288,   289,   290,   291,   292,   293,
++     294,   295,   296,   297,   298,   299,   300,     1,     2,     3,
++       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
++     463,   464,   465,   466,   468,   467,   469,   471,   472,   473,
++     474,   476,   477,   596,   478,   479,   480,   481,    89,   482,
++     637,   637,   484,   155,   483,   485,   486,   629,   629,   487,
++     488,   490,   612,   492,   493,   162,   494,   495,   496,   497,
++     698,   301,   498,   499,   501,   502,   503,    89,   504,   505,
++     506,   507,   699,   302,   509,   163,   513,   510,   511,   514,
++     516,   517,   518,   519,   520,   523,   521,   524,   528,   522,
++     529,   531,   700,   303,   533,   525,   526,   527,   534,   535,
++     539,   540,   541,   543,   544,   542,   545,   546,   547,   548,
++     551,   552,    30,   553,   554,   566,   567,   555,   556,   557,
++     558,   569,   568,   570,   571,   572,   578,   579,   603,   577,
++     580,   582,   583,   584,   585,   586,   587,   611,   647,   588,
++     589,   590,   591,   592,   593,   594,   595,   597,   598,   599,
++     610,   651,   655,   659,   675,   678,   707,   711,   715,   717,
++     727,   728,   729,   730,   731,   734,   735,   741,   791,   740,
++     744,   743,   746,   747,   749,   750,   758,   757,   759,   760,
++     761,   762,   763,   764,   772,   777,   776,   779,   780,   790,
++     786,   782,   787,   788,   789,   792,   793,   795,   796,   794,
++     852,   853,   797,   856,   855,   861,   915,   798,   845,   892,
++     886,   887,   891,   846,   847,   898,   901,   906,   848,   849,
++     908,   910,   850,   880,   881,   913,   882,   933,   934,   883,
++     935,   938,   884,   637,   549,   894,   581,   615,   895,   896,
++     629,   613,   266,   177,   899,   811,   246,   267,   912,   265,
++     829,   909,   806,   268,   444,   196,   470,   828,   260,   799,
++     282,   278,   830,   199,   819,   940,   939,   914,   943,   832,
++     941,   475,   821,   698,   646,   197,   826,   834,   261,   204,
++     866,   279,   220,   843,   820,   699,   178,   865,   179,   833,
++     844,   210,   194,   814,   222,   807,   851,   808,   200,   867,
++     800,   818,   227,   801,   825,   700,   831,   822,   201,   180,
++     515,   211,   835,   905,   223,   181,   803,   823,   809,   868,
++     205,   802,   836,   489,   810,   858,   804,   805,   206,   859,
++     857,   221,   491,   508,   907,   705,   500,   228,   860,   530,
++     512,   842,   854,   614,   532,   931,   911,   229,   874,   942,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 +       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-        0,     0,     0,     0,     0,     0,     0,   803,     0,     0,
-        0,   821,     0,     0,   798,     0,     0,     0,   820,     0,
-        0,     0,   858,   822,     0,     0,   811,     0,     0,   857,
-      824,     0,     0,     0,   813,     0,     0,     0,   826,     0,
-        0,   859,     0,     0,     0,     0,   812,     0,     0,     0,
-      825,     0,     0,     0,     0,   806,     0,   799,     0,   800,
-        0,   860,     0,   810,     0,     0,     0,   823,     0,   814,
-        0,     0,     0,   827,     0,     0,     0,     0,     0,   815,
-      801,     0,     0,   828,     0,     0,   802
 -       0,     0,     0,     0,     0,   827,     0,   826,     0,     0,
 -       0,     0,   831,     0,     0,     0,     0,     0,     0,   870,
 -       0,     0,   828,     0,   871,   829,     0,     0,     0,   839,
 -       0,     0,     0,     0,     0,     0,     0,     0,     0,   830,
 -       0,   872,     0,     0,     0,     0,     0,     0,     0,     0,
 -       0,     0,     0,     0,   840,     0,     0,     0,     0,     0,
 -       0,     0,   841,     0,     0,     0,   873,     0,     0,     0,
 -     838,     0,     0,     0,     0,   842,     0,     0,     0,     0,
 -     843
++       0,     0,     0,     0,     0,   811,     0,     0,     0,   829,
++       0,     0,   806,     0,     0,     0,   828,     0,     0,     0,
++     866,   830,     0,     0,   819,     0,     0,   865,   832,     0,
++       0,     0,   821,     0,     0,     0,   834,     0,     0,   867,
++       0,     0,     0,     0,   820,     0,     0,     0,   833,     0,
++       0,     0,     0,   814,     0,   807,     0,   808,     0,   868,
++       0,   818,     0,     0,     0,   831,     0,   822,     0,     0,
++       0,   835,     0,     0,     0,     0,     0,   823,   809,     0,
++       0,   836,     0,     0,   810
    };
  
    const short int
    Dhcp4Parser::yycheck_[] =
    {
 -      66,    69,    68,    69,    70,    71,   569,    73,    74,    75,
 -      76,    10,     0,    74,    74,    72,     7,   768,    69,    74,
 -     768,    69,   768,   150,    68,    69,    70,    71,   768,    73,
 -      74,    64,    76,     7,     5,    69,     7,     7,     9,     3,
 -      15,     7,    91,    92,     8,    91,    92,     7,     3,    68,
 -      69,    70,    71,     8,    73,    74,     3,    76,    69,     6,
 -      71,    21,    22,    23,    24,     3,    69,    70,    71,    53,
 -       8,    69,     3,    71,     3,     3,    69,     8,    71,     8,
 -       8,    65,    66,    67,    44,    45,    46,     3,     7,    49,
 -      50,    51,     8,    53,    74,    75,    76,   121,   122,   123,
 -     124,   150,     7,     7,    64,     7,    66,    67,    68,    69,
 -      70,    71,    72,    73,    80,     7,    21,    22,    23,    24,
 -      80,    81,     3,    12,    13,     6,   125,    16,    88,   153,
 -      19,     3,    52,     3,     6,   134,   135,   136,     8,    44,
 -      45,    46,   893,    48,   119,   893,     6,   893,    53,    54,
 -       7,   150,     7,   893,     3,     3,    22,    23,    24,     8,
 -       8,    66,    67,     7,    69,     7,   150,     7,    73,    94,
 -      95,    96,    97,    98,    99,    80,   126,    66,    67,   150,
 -     151,   152,   153,    88,    11,     3,    52,    53,    54,     4,
 -     150,    66,    67,    20,    21,    22,    23,    24,    25,    26,
 -      66,    67,     3,    54,     3,   768,     3,     8,    27,     8,
 -     773,     8,     8,    79,     3,    66,    67,    44,    45,    46,
 -      47,    48,    14,    15,     4,    52,    53,   102,   103,    82,
 -      83,    84,    85,     4,    87,    54,    63,    56,    57,    66,
 -      67,    60,    61,    62,     3,   150,     4,    66,    67,     8,
 -      77,    78,    54,    55,    56,    57,    58,    59,     4,     3,
 -       8,   150,     6,    90,    66,    67,    93,   128,     4,   335,
 -     131,   132,   133,   100,   101,   150,   127,   104,   129,   130,
 -       3,     3,     3,     3,   150,     8,     8,     8,     8,     3,
 -       3,     3,   325,   326,     8,     8,     8,     4,     3,   150,
 -      17,    18,   368,     8,   370,     4,     4,     4,     4,   370,
 -       4,     3,     3,   370,     4,     8,   384,     4,   384,     8,
 -       4,   387,     4,   150,   368,     8,   370,     3,   150,     4,
 -     893,   150,   398,   384,     4,     4,   384,     4,     4,     4,
 -     384,     4,   408,   387,     4,     4,     4,   413,   150,   368,
 -     384,   370,   413,   413,   398,     4,     4,     4,   413,   370,
 -      28,    29,    30,    31,   408,   384,   432,   370,   387,   413,
 -     153,   153,   370,   384,     4,     4,     4,   370,   151,   398,
 -       4,   384,     4,   151,   387,   151,   384,   398,   432,   408,
 -     151,   384,     4,     4,   413,   398,    22,    23,    24,     4,
 -     398,     4,     4,     4,     4,   398,     4,     4,     4,   442,
 -     443,   444,   151,   432,     4,     4,     4,     4,     4,   153,
 -       4,     4,     4,    27,     4,    66,    67,    53,    32,    33,
 -      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
 -      66,    67,     4,     4,     4,   151,     4,     4,     4,   153,
 -      54,     4,    78,     4,     4,     4,    82,    83,    84,    85,
 -      86,    87,     4,    89,   105,   106,   107,   108,   109,   110,
 -     111,   112,   113,   114,   115,   116,   117,   118,     4,     4,
 -       4,     4,     4,     4,     4,     4,     4,   151,     4,   555,
 -       4,   153,   153,   559,   560,     4,   153,   530,   559,   560,
 -       4,   153,     4,     4,     4,   151,   572,   573,   151,   150,
 -       4,   555,   151,     4,     4,   153,   549,   153,   584,   153,
 -       4,     4,     4,   584,   150,   150,     7,   584,   572,   573,
 -       7,     7,   150,   150,     7,     7,   555,     5,     5,     5,
 -     584,     5,     7,   150,     5,     5,   150,     5,     7,     3,
 -       7,     7,     5,   572,   573,   150,     8,   150,   150,     5,
 -       5,   120,     5,     7,     6,   584,     7,     7,     7,   150,
 -       7,   150,   150,   584,   150,   150,   150,   150,   150,   150,
 -     150,   584,   150,   150,   150,   150,   584,   150,     7,     4,
 -       7,   584,   137,   138,   139,   140,   141,   142,   143,   144,
 -     145,   146,   147,   148,   149,     7,   150,   150,     7,   150,
 -     150,   150,   150,   150,   150,    89,     4,     4,     4,     4,
 -       4,     4,     4,     3,     3,     6,     3,   462,     6,     3,
 -       6,     6,     3,   150,     4,     4,     4,     4,     4,     4,
 -     150,     3,     6,     6,     3,   151,     4,     8,     4,     4,
 -       4,     4,     4,   151,   153,   151,   153,     4,   151,   151,
 -       4,     6,   151,   151,   151,   151,   151,     3,     8,     4,
 -       8,   151,   150,     4,     8,   150,     4,     4,     7,   150,
 -     150,   150,     5,     4,     4,     4,     4,   150,   150,   362,
 -     756,   759,   508,   759,   550,   756,   762,   555,   153,   765,
 -     768,   150,   768,   150,   765,   765,   560,   768,   759,   775,
 -     765,   759,   335,   151,   150,   759,   151,   768,   762,   151,
 -     768,   765,   788,   150,   768,   759,   368,   756,   771,   795,
 -     777,   416,   798,   775,   768,   761,   759,   803,   770,   784,
 -     759,   893,   803,   762,   788,   762,   765,   384,   759,   768,
 -     764,   795,   408,   398,   798,   767,   759,   768,   765,   803,
 -     413,   759,   797,   800,   795,   768,   759,   387,   798,   788,
 -     768,   584,   788,   573,   551,   768,   795,   432,   918,   798,
 -     905,   435,   804,    -1,   803,   935,    -1,   798,    -1,    -1,
 -      -1,    -1,   795,    -1,    -1,   798,    -1,    -1,    -1,    -1,
 -     798,    -1,    -1,    -1,    -1,   798,    -1,    -1,    -1,    -1,
 +      66,    74,    68,    69,    70,    71,    74,    73,    74,    75,
 +      76,    72,    74,    64,    68,    69,    70,    71,    10,    73,
-       74,   742,    76,    69,     5,    71,     7,   742,     9,     3,
-       15,     7,     6,   742,    68,    69,    70,    71,   742,    73,
-       74,     0,    76,    12,    13,    70,    69,    16,    69,    51,
-       19,     3,    69,    70,    71,   148,     8,     7,    69,     3,
-       71,    63,    64,    65,     8,    89,    90,     7,    69,    69,
-       71,     3,     3,    11,     6,    69,    78,     8,    64,    65,
-       89,    90,    20,    21,    22,    23,    24,    25,    26,    52,
-       53,    54,    55,    56,    57,    64,    65,     3,     3,     7,
-        6,    64,    65,     8,    42,    43,    44,    45,    46,     7,
-       14,    15,    50,    51,   100,   101,    52,    92,    93,    94,
-       95,    96,    97,    61,   148,     7,    64,    65,    64,    65,
-      126,   123,   117,   129,   130,   131,     7,    75,    76,     3,
-      132,   133,   134,     3,     8,     7,   148,     3,     8,     3,
-       88,   124,     8,    91,     8,     7,   148,     7,     3,   880,
-       98,    99,   148,     8,   102,   880,     7,   148,   149,   150,
-      151,   880,    21,    22,    23,    24,   880,     3,     7,   148,
-        6,    80,    81,    82,    83,   148,    85,    17,    18,   125,
-        6,   127,   128,    42,    43,    44,     3,    50,    47,    48,
-       49,     8,    51,    21,    22,    23,    24,     3,     8,     3,
-      148,     4,   148,    62,     8,    64,    65,    66,    67,    68,
-       69,    70,    71,     4,    42,    43,    44,     3,    46,    78,
-       79,     4,     8,    51,    52,     3,     3,    86,     3,     8,
-        8,     8,    22,    23,    24,     4,    64,    65,     4,    67,
-       22,    23,    24,    71,   119,   120,   121,   122,     3,     3,
-       78,     3,     3,    27,     8,     4,     8,     8,    86,   335,
-       50,    51,    52,     3,   325,   326,     3,     3,     8,    51,
-        4,     8,     8,     4,    64,    65,   151,     4,    52,     4,
-       54,    55,    64,    65,    58,    59,    60,    77,     3,   148,
-       64,    65,   368,     8,    76,     4,     4,     8,    80,    81,
-       82,    83,    84,    85,   368,    87,     3,   383,     4,     4,
-      386,     8,    28,    29,    30,    31,    72,    73,    74,   383,
-      148,   397,   386,     8,   368,     3,     8,   383,     4,   412,
-        4,   407,     3,   397,   412,     4,   412,     4,   151,   383,
-      412,   397,   386,   407,     4,     4,     4,     4,   412,     4,
-      383,   386,   383,   397,   148,   431,   383,     4,   148,   386,
-      149,     4,   383,   407,     4,     4,   148,   431,   412,     4,
-      397,     4,   383,   383,   148,   151,   397,     4,     4,   383,
-      441,   442,   443,    27,     4,     4,   397,   431,    32,    33,
-       34,    35,    36,    37,    38,    39,    40,    41,    64,    65,
-        4,   149,   149,   149,     4,     4,     4,     4,    52,   135,
-      136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
-      146,   147,     4,     4,     4,     4,     4,     4,   149,     4,
-        4,     4,     4,     4,   151,     4,     4,   103,   104,   105,
-      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-      116,     4,     4,   514,     4,     4,     4,   149,   151,     4,
-      543,   544,     4,   539,     4,     4,     4,   543,   544,     4,
++      74,   748,    76,    69,     5,    71,     7,   748,     9,     3,
++      15,     7,     6,   748,    68,    69,    70,    71,   748,    73,
++      74,     0,    76,    12,    13,    70,    69,    16,    69,    53,
++      19,     3,    69,    70,    71,   150,     8,     7,    69,     7,
++      71,    65,    66,    67,    91,    92,     3,     3,    69,    69,
++      71,     8,     8,    11,     3,    69,    80,    91,    92,     8,
++      66,    67,    20,    21,    22,    23,    24,    25,    26,    54,
++      55,    56,    57,    58,    59,     7,     3,    66,    67,     6,
++     128,    66,    67,   131,   132,   133,    44,    45,    46,    47,
++      48,    74,    75,    76,    52,    53,   102,   103,   121,   122,
++     123,   124,     3,   150,     7,    63,     3,     8,    66,    67,
++       3,     8,     3,   125,   119,     8,     3,     8,     7,    77,
++      78,     8,   134,   135,   136,     7,   150,     7,     3,     3,
++     153,     3,    90,     8,     8,    93,     8,     7,   150,     7,
++       3,   888,   100,   101,   150,     8,   104,   888,     7,   150,
++     151,   152,   153,   888,    21,    22,    23,    24,   888,     3,
++      54,   150,    14,    15,     8,   150,     3,    22,    23,    24,
++       3,     8,    66,    67,    52,     8,     3,    44,    45,    46,
++       3,     8,    49,    50,    51,     8,    53,    28,    29,    30,
++      31,     7,   150,    21,    22,    23,    24,    64,    53,    66,
++      67,    68,    69,    70,    71,    72,    73,    17,    18,   126,
++       3,    66,    67,    80,    81,     8,    44,    45,    46,     3,
++      48,    88,     3,    78,     8,    53,    54,    82,    83,    84,
++      85,    86,    87,   127,    89,   129,   130,     3,    66,    67,
++       3,    69,     8,     6,     6,    73,    22,    23,    24,   335,
++       4,     8,    80,     3,   325,   326,   150,    27,     8,     3,
++      88,     4,    32,    33,    34,    35,    36,    37,    38,    39,
++      40,    41,    42,    43,     4,     4,    52,    53,    54,     4,
++       4,     4,   368,   150,    54,     3,     8,     4,     6,     4,
++      66,    67,     4,     4,   368,   150,     4,   383,     3,     8,
++     386,     4,     8,    79,     4,    82,    83,    84,    85,   383,
++      87,   397,   386,     3,   368,     4,     4,   383,     3,   412,
++       4,   407,   150,   397,   412,     8,   412,     4,     4,   383,
++     412,   397,   386,   407,     4,     4,     4,     4,   412,   150,
++     383,   386,   383,   397,     4,   431,   383,     4,     4,   386,
++       4,     4,   383,   407,    27,     4,   153,   431,   412,   153,
++     397,     4,   383,   383,    66,    67,   397,     4,     4,   383,
++     441,   442,   443,     4,   150,     4,   397,   431,   151,   151,
++     150,    54,   151,    56,    57,     4,   151,    60,    61,    62,
++       4,     4,     4,    66,    67,    94,    95,    96,    97,    98,
++      99,     4,     4,   105,   106,   107,   108,   109,   110,   111,
++     112,   113,   114,   115,   116,   117,   118,   137,   138,   139,
++     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
++       4,     4,     4,     4,     4,   151,     4,     4,     4,     4,
++     153,     4,     4,   514,     4,     4,     4,     4,   150,     4,
++     543,   544,   153,   539,   151,     4,     4,   543,   544,     4,
 +       4,     4,   533,     4,     4,   539,     4,     4,     4,     4,
-      556,   557,   148,     4,   149,     4,     4,     4,   151,     4,
-      151,     4,   556,   557,     4,   539,     4,   151,   151,     4,
-      149,     4,     4,   149,   148,     4,   151,   149,     4,     4,
-      151,     4,   556,   557,   151,     4,     7,     7,   148,     7,
-      148,     7,     7,   148,     5,     5,     5,     5,    87,     5,
-        7,   148,     5,     5,   148,   148,     7,     7,     7,     5,
-      148,     5,   148,   148,     5,   148,   148,     7,     5,     7,
-        4,     7,   148,   148,   148,   148,   148,   148,   148,   148,
-      148,   148,   148,   148,   148,   148,     7,   118,     7,     7,
-        7,     7,   148,     7,     7,     4,     4,     4,   148,     4,
-        6,   148,   148,   148,     3,     6,     3,     3,     6,     3,
-      148,     6,     3,     6,     4,     4,     4,     4,     4,     4,
-        3,   148,     6,     3,     6,     4,     4,     8,     4,     4,
-      151,     4,   149,   149,     4,     4,     4,     3,     5,   151,
-      149,     6,     4,     4,     8,   149,   149,   149,     8,   149,
-        8,     3,     8,   149,     4,   149,   148,   148,     4,   148,
-        4,   148,   148,     4,   148,     7,     4,   730,   148,     4,
-      148,     4,   149,   461,   730,   149,   739,   733,   492,   742,
-      736,   739,   149,   739,   747,   148,   742,   739,   362,   733,
-      539,   747,   736,   148,   750,   739,   747,   733,   742,   335,
-      148,   534,   368,   747,   151,   730,   742,   763,   544,   733,
-      745,   747,   736,   769,   777,   739,   772,   750,   742,   763,
-      733,   777,   733,   747,   752,   769,   733,   742,   772,   742,
-      415,   742,   733,   777,   744,   742,   772,   759,   735,   763,
-      747,   742,   733,   733,   733,   769,   747,   880,   772,   733,
-      738,   742,   742,   777,   769,   383,   747,   736,   742,   407,
-      741,   739,   769,   771,   769,   772,   772,   397,   412,   884,
-      386,   772,   774,   434,   748,   557,   763,   895,   431,   911,
-      778,   772,   535,   928,    -1,    -1,    -1,    -1,    -1,    -1,
++     556,   557,     4,     4,     4,     4,   151,   150,     4,     4,
++       4,   153,   556,   557,     4,   539,     4,   153,   153,     4,
++     153,     4,     4,   151,     4,     4,   151,     4,     4,   151,
++       4,     4,   556,   557,     4,   153,   153,   153,     7,     7,
++       7,   150,   150,     7,     7,   150,     5,     5,     5,     5,
++     150,     5,     7,     5,     5,   150,   150,     7,     7,     7,
++       5,     5,   150,   150,   150,   150,     5,     7,   120,   150,
++     150,   150,   150,   150,   150,   150,   150,     5,     7,   150,
++     150,   150,   150,   150,   150,   150,   150,   150,   150,   150,
++     150,     7,     7,     7,     7,     7,     7,     7,    89,     7,
++       4,     4,     4,     4,     4,     4,     4,     3,   153,     6,
++       3,     6,     6,     3,     6,     3,     3,     6,     4,     4,
++       4,     4,     4,     4,   150,     3,     6,     6,     3,   151,
++       4,     8,     4,     4,     4,   151,   153,     4,     4,   151,
++       4,     4,   151,     3,     6,     4,     7,   151,   151,     3,
++       8,     8,     8,   151,   151,     8,     4,     4,   151,   151,
++       4,     4,   151,   150,   150,     5,   150,     4,     4,   150,
++       4,     4,   150,   736,   461,   150,   492,   539,   150,   150,
++     736,   534,   745,   739,   150,   748,   742,   745,   150,   745,
++     753,   151,   748,   745,   335,   739,   362,   753,   742,   736,
++     756,   745,   753,   739,   748,   151,   153,   150,   150,   753,
++     151,   368,   748,   769,   544,   739,   751,   753,   742,   775,
++     783,   745,   778,   756,   748,   769,   739,   783,   739,   753,
++     758,   775,   739,   748,   778,   748,   765,   748,   739,   783,
++     739,   748,   778,   741,   750,   769,   753,   748,   739,   739,
++     415,   775,   753,   888,   778,   739,   744,   748,   748,   783,
++     775,   742,   753,   383,   748,   777,   745,   747,   775,   778,
++     775,   778,   386,   407,   892,   557,   397,   778,   780,   431,
++     412,   754,   769,   535,   434,   919,   903,   778,   784,   936,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 -      -1,    -1,    -1,    -1,    -1,   893,    -1,   893,    -1,    -1,
 -      -1,    -1,   893,    -1,    -1,    -1,    -1,    -1,    -1,   905,
 -      -1,    -1,   893,    -1,   905,   893,    -1,    -1,    -1,   893,
 -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   893,
 -      -1,   905,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 -      -1,    -1,    -1,    -1,   893,    -1,    -1,    -1,    -1,    -1,
 -      -1,    -1,   893,    -1,    -1,    -1,   905,    -1,    -1,    -1,
 -     893,    -1,    -1,    -1,    -1,   893,    -1,    -1,    -1,    -1,
 -     893
 +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,   880,    -1,    -1,
-       -1,   884,    -1,    -1,   880,    -1,    -1,    -1,   884,    -1,
-       -1,    -1,   895,   884,    -1,    -1,   880,    -1,    -1,   895,
-      884,    -1,    -1,    -1,   880,    -1,    -1,    -1,   884,    -1,
-       -1,   895,    -1,    -1,    -1,    -1,   880,    -1,    -1,    -1,
-      884,    -1,    -1,    -1,    -1,   880,    -1,   880,    -1,   880,
-       -1,   895,    -1,   880,    -1,    -1,    -1,   884,    -1,   880,
-       -1,    -1,    -1,   884,    -1,    -1,    -1,    -1,    -1,   880,
-      880,    -1,    -1,   884,    -1,    -1,   880
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,   888,    -1,    -1,    -1,   892,
++      -1,    -1,   888,    -1,    -1,    -1,   892,    -1,    -1,    -1,
++     903,   892,    -1,    -1,   888,    -1,    -1,   903,   892,    -1,
++      -1,    -1,   888,    -1,    -1,    -1,   892,    -1,    -1,   903,
++      -1,    -1,    -1,    -1,   888,    -1,    -1,    -1,   892,    -1,
++      -1,    -1,    -1,   888,    -1,   888,    -1,   888,    -1,   903,
++      -1,   888,    -1,    -1,    -1,   892,    -1,   888,    -1,    -1,
++      -1,   892,    -1,    -1,    -1,    -1,    -1,   888,   888,    -1,
++      -1,   892,    -1,    -1,   888
    };
  
    const unsigned short int
    Dhcp4Parser::yystos_[] =
    {
-        0,   135,   136,   137,   138,   139,   140,   141,   142,   143,
-      144,   145,   146,   147,   153,   154,   155,   156,   157,   158,
-      159,   160,   161,   162,   163,   164,   165,   166,     0,     5,
-        7,     9,   148,   149,   150,   151,   167,   168,   169,   174,
-        7,   183,     7,   189,     7,   203,     7,   279,     7,   360,
-        7,   376,     7,   312,     7,   318,     7,   342,     7,   255,
-        7,   429,     7,   464,   175,   170,   184,   190,   204,   280,
-      361,   377,   313,   319,   343,   256,   430,   465,   167,   176,
-      177,   148,   172,   173,    10,   123,   132,   133,   134,   148,
-      182,   185,   186,   187,   456,   458,   460,   462,    11,    20,
-       21,    22,    23,    24,    25,    26,    42,    43,    44,    45,
-       46,    50,    51,    61,    64,    65,    75,    76,    88,    91,
-       98,    99,   102,   182,   191,   192,   193,   194,   195,   196,
-      197,   198,   199,   214,   216,   240,   249,   263,   273,   302,
-      310,   336,   366,   368,   381,   383,   385,   407,   418,   419,
-      427,    12,    13,    16,    19,   182,   201,   202,   205,   207,
-      210,   213,   366,   368,    47,    48,    49,    62,    66,    67,
-       68,    69,    70,    71,    78,    79,    86,   182,   193,   194,
-      195,   198,   281,   282,   283,   285,   287,   289,   291,   293,
-      295,   297,   300,   301,   336,   354,   366,   368,   370,   381,
-      383,   385,   403,    63,   182,   295,   336,   362,   363,   364,
-      366,   368,    76,    80,    81,    82,    83,    84,    85,    87,
-      182,   336,   366,   368,   378,   379,   380,   381,   383,   385,
-      387,   389,   391,   393,   395,   397,   399,   401,   310,    27,
-       52,    54,    55,    58,    59,    60,   182,   230,   320,   321,
-      322,   323,   324,   325,   326,   328,   330,   332,   333,   335,
-      366,   368,    53,    56,    57,   182,   230,   324,   330,   344,
-      345,   346,   347,   348,   350,   351,   352,   353,   366,   368,
-       89,    90,   182,   257,   258,   259,   261,   103,   104,   105,
-      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-      116,   182,   366,   368,   431,   432,   433,   434,   436,   438,
-      439,   441,   442,   443,   446,   448,   449,   450,   451,   454,
-      124,   466,   467,   468,     6,     3,     4,     8,     3,   188,
-      463,   457,   459,   461,     4,     3,     8,   200,     4,     4,
-      382,   384,   386,   215,   217,     4,     4,     4,     4,   274,
-      311,   337,   303,   367,   369,   241,   408,   250,   264,     4,
-      420,   428,     3,     8,   206,   208,   211,     4,     3,     8,
-      286,   288,   290,   355,   284,   292,   294,     4,     4,   298,
-      296,   371,   404,     3,     8,   365,     3,     8,   402,   390,
-      392,   396,   394,   400,   398,   388,     8,     3,     8,   327,
-      231,     4,   331,   329,   334,     4,     8,     3,   349,     4,
-        4,     8,     3,   260,   262,     3,     8,     4,   435,   437,
-        4,   440,     4,     4,   444,   447,     4,     4,     4,   452,
-      455,     3,     8,   469,     3,     8,   167,   167,   148,     4,
-        4,     4,     4,     4,   186,     4,   151,   151,     4,     4,
-        4,     4,     4,   149,   149,   149,   149,     4,     4,     4,
-        4,     4,     4,     4,     4,     4,     4,   149,     4,     4,
-      192,     4,     4,     4,   151,   202,     4,     4,     4,     4,
-        4,     4,     4,   149,   151,     4,     4,     4,     4,   282,
-        4,   363,     4,     4,     4,     4,     4,     4,     4,     4,
-      380,     4,     4,   149,     4,     4,     4,   151,   322,     4,
-      151,   151,   346,     4,     4,   258,   151,     4,     4,   149,
-        4,   149,   149,     4,     4,   151,   151,   151,     4,     4,
-      432,     4,   467,     4,     7,     7,   167,   167,   167,     7,
-      148,   148,   148,     7,     7,     5,     5,     5,     5,   169,
-      171,   148,     5,     5,     5,     7,     7,     7,     5,   178,
-       14,    15,   209,    17,    18,   212,   148,   148,   148,     5,
-      148,   148,   148,    72,    73,    74,   299,   148,     5,     7,
-      148,   178,   148,   148,   148,   148,   148,   148,   148,   148,
-      148,   148,   148,   148,   148,   148,   167,   148,   148,   148,
-       15,   117,   445,   118,   119,   120,   121,   122,   151,   453,
-      148,     5,   167,   191,   466,   201,    27,    32,    33,    34,
-       35,    36,    37,    38,    39,    40,    41,   182,   218,   219,
-      220,   223,   225,   227,   229,   230,   232,   233,   234,   235,
-      236,   238,   218,     7,   275,   276,   277,     7,   314,   315,
-      316,     7,   338,   339,   340,     7,   304,   305,   306,    80,
-       81,    82,    83,    85,   242,   243,   244,   245,   246,   247,
-      248,     7,   409,   410,     7,   251,   252,   253,    92,    93,
-       94,    95,    96,    97,   265,   266,   267,   268,   269,   270,
-      271,   272,   100,   101,   182,   366,   368,   421,   422,   423,
-      425,   431,   179,     7,   356,   357,   358,     7,   372,   373,
-      374,    87,   405,     7,   470,   471,     8,     8,     8,   221,
-      224,   226,   228,     4,     4,     4,     4,     4,   237,   239,
-        3,     8,     8,   278,     6,     3,   317,     6,     3,   341,
-        6,     3,   307,     6,     3,     3,     6,   411,     3,     6,
-      254,     6,     3,     4,     4,     4,     4,     4,     4,     3,
-        8,   424,   426,     3,     8,     8,   148,   180,   181,   359,
-        6,     3,   375,     6,     3,   406,     8,   472,     3,     6,
-        4,     4,     4,     4,   149,   151,   149,   151,   149,     4,
-        4,   219,   281,   277,   320,   316,   344,   340,   182,   193,
-      194,   195,   198,   230,   273,   291,   295,   297,   308,   309,
-      336,   366,   368,   381,   383,   385,   403,   306,   243,    77,
-      182,   230,   310,   336,   366,   368,   381,   383,   385,   412,
-      413,   414,   415,   416,   410,   257,   253,   149,   149,   149,
-      149,   149,   149,   266,     4,     4,   422,     6,     3,   362,
-      358,   378,   374,     4,   125,   127,   128,   182,   230,   366,
-      368,   473,   474,   475,   476,   478,   471,    28,    29,    30,
-       31,   222,   148,   148,   148,   148,   148,     8,     8,     8,
-        3,     8,   417,     8,     3,     8,   148,   148,   148,     8,
-        8,   148,   479,     4,   477,     3,     8,   309,     4,   414,
-        4,   149,     4,   474,   148,     5,   148,     7,   480,   481,
-      482,     3,     6,   126,   129,   130,   131,   483,   484,   485,
-      487,   488,   489,   481,   486,     4,     4,     4,     3,     8,
-        4,   151,   149,   149,   484,   148
+        0,   137,   138,   139,   140,   141,   142,   143,   144,   145,
+      146,   147,   148,   149,   155,   156,   157,   158,   159,   160,
+      161,   162,   163,   164,   165,   166,   167,   168,     0,     5,
+        7,     9,   150,   151,   152,   153,   169,   170,   171,   176,
+        7,   185,     7,   191,     7,   205,     7,   283,     7,   364,
+        7,   380,     7,   316,     7,   322,     7,   346,     7,   259,
 -       7,   432,     7,   467,   177,   172,   186,   192,   206,   284,
 -     365,   381,   317,   323,   347,   260,   433,   468,   169,   178,
++       7,   433,     7,   468,   177,   172,   186,   192,   206,   284,
++     365,   381,   317,   323,   347,   260,   434,   469,   169,   178,
+      179,   150,   174,   175,    10,   125,   134,   135,   136,   150,
 -     184,   187,   188,   189,   459,   461,   463,   465,    11,    20,
++     184,   187,   188,   189,   460,   462,   464,   466,    11,    20,
+       21,    22,    23,    24,    25,    26,    44,    45,    46,    47,
+       48,    52,    53,    63,    66,    67,    77,    78,    90,    93,
+      100,   101,   104,   184,   193,   194,   195,   196,   197,   198,
+      199,   200,   201,   216,   218,   244,   253,   267,   277,   306,
 -     314,   340,   370,   372,   385,   387,   389,   411,   421,   422,
 -     430,    12,    13,    16,    19,   184,   203,   204,   207,   209,
 -     212,   215,   370,   372,     7,    49,    50,    51,    64,    68,
 -      69,    70,    71,    72,    73,    80,    81,    88,   184,   195,
 -     196,   197,   200,   285,   286,   287,   289,   291,   293,   295,
 -     297,   299,   301,   304,   305,   340,   358,   370,   372,   374,
 -     385,   387,   389,   407,    65,   184,   340,   366,   367,   368,
++     314,   340,   370,   372,   385,   387,   389,   411,   422,   423,
++     431,    12,    13,    16,    19,   184,   203,   204,   207,   209,
++     212,   215,   370,   372,    49,    50,    51,    64,    68,    69,
++      70,    71,    72,    73,    80,    81,    88,   184,   195,   196,
++     197,   200,   285,   286,   287,   289,   291,   293,   295,   297,
++     299,   301,   304,   305,   340,   358,   370,   372,   374,   385,
++     387,   389,   407,    65,   184,   299,   340,   366,   367,   368,
+      370,   372,    78,    82,    83,    84,    85,    86,    87,    89,
+      184,   340,   370,   372,   382,   383,   384,   385,   387,   389,
+      391,   393,   395,   397,   399,   401,   403,   405,   314,    27,
+       54,    56,    57,    60,    61,    62,   184,   232,   324,   325,
+      326,   327,   328,   329,   330,   332,   334,   336,   337,   339,
+      370,   372,    55,    58,    59,   184,   232,   328,   334,   348,
+      349,   350,   351,   352,   354,   355,   356,   357,   370,   372,
+       91,    92,   184,   261,   262,   263,   265,   105,   106,   107,
+      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
 -     118,   184,   370,   372,   434,   435,   436,   437,   439,   441,
 -     442,   444,   445,   446,   449,   451,   452,   453,   454,   457,
 -     126,   469,   470,   471,     6,     3,     4,     8,     3,   190,
 -     466,   460,   462,   464,     4,     3,     8,   202,     4,     4,
++     118,   184,   370,   372,   435,   436,   437,   438,   440,   442,
++     443,   445,   446,   447,   450,   452,   453,   454,   455,   458,
++     126,   470,   471,   472,     6,     3,     4,     8,     3,   190,
++     467,   461,   463,   465,     4,     3,     8,   202,     4,     4,
+      386,   388,   390,   217,   219,     4,     4,     4,     4,   278,
+      315,   341,   307,   371,   373,   245,   412,   254,   268,     4,
 -     423,   431,     3,     8,   208,   210,   213,     4,     3,     8,
 -     414,   290,   292,   294,   359,   288,   296,   298,     4,     4,
 -     302,   300,   375,   408,     3,     8,   369,     3,     8,   406,
 -     394,   396,   400,   398,   404,   402,   392,     8,     3,     8,
 -     331,   233,     4,   335,   333,   338,     4,     8,     3,   353,
 -       4,     4,     8,     3,   264,   266,     3,     8,     4,   438,
 -     440,     4,   443,     4,     4,   447,   450,     4,     4,     4,
 -     455,   458,     3,     8,   472,     3,     8,   169,   169,   150,
 -       4,     4,     4,     4,     4,   188,     4,   153,   153,     4,
 -       4,     4,     4,     4,   151,   151,   151,   151,     4,     4,
 -       4,     4,     4,     4,     4,     4,     4,     4,   151,     4,
 -       4,   194,     4,     4,     4,   153,   204,    79,   184,   232,
 -     314,   340,   370,   372,   385,   387,   389,   415,   416,   417,
 -     418,   419,     4,     4,     4,     4,     4,     4,     4,   151,
 -     153,     4,     4,     4,     4,   286,     4,   367,     4,     4,
 -       4,     4,     4,     4,     4,     4,   384,     4,     4,   151,
 -       4,     4,     4,   153,   326,     4,   153,   153,   350,     4,
 -       4,   262,   153,     4,     4,   151,     4,   151,   151,     4,
 -       4,   153,   153,   153,     4,     4,   435,     4,   470,     4,
 -       7,     7,   169,   169,   169,     7,   150,   150,   150,     7,
 -       7,     5,     5,     5,     5,   171,   173,   150,     5,     5,
 -       5,     7,     7,     7,     5,   180,    14,    15,   211,    17,
 -      18,   214,   420,     8,     3,   150,   150,   150,     5,   150,
 -     150,   150,    74,    75,    76,   303,   150,     5,     7,   150,
 -     180,   150,   150,   150,   150,   150,   150,   150,   150,   150,
 -     150,   150,   150,   150,   150,   169,   150,   150,   150,    15,
 -     119,   448,   120,   121,   122,   123,   124,   153,   456,   150,
 -       5,   169,   193,   469,   203,    27,    32,    33,    34,    35,
 -      36,    37,    38,    39,    40,    41,    42,    43,   184,   220,
 -     221,   222,   225,   227,   229,   231,   232,   234,   235,   236,
 -     237,   238,   240,   242,   243,   220,     7,   279,   280,   281,
 -       7,   318,   319,   320,     7,   342,   343,   344,     7,   308,
 -     309,   310,    82,    83,    84,    85,    87,   246,   247,   248,
 -     249,   250,   251,   252,   299,   413,     7,   255,   256,   257,
 -      94,    95,    96,    97,    98,    99,   269,   270,   271,   272,
 -     273,   274,   275,   276,   102,   103,   184,   370,   372,   424,
 -     425,   426,   428,   434,   181,     4,   417,     7,   360,   361,
 -     362,     7,   376,   377,   378,    89,   409,     7,   473,   474,
++     424,   432,     3,     8,   208,   210,   213,     4,     3,     8,
++     290,   292,   294,   359,   288,   296,   298,     4,     4,   302,
++     300,   375,   408,     3,     8,   369,     3,     8,   406,   394,
++     396,   400,   398,   404,   402,   392,     8,     3,     8,   331,
++     233,     4,   335,   333,   338,     4,     8,     3,   353,     4,
++       4,     8,     3,   264,   266,     3,     8,     4,   439,   441,
++       4,   444,     4,     4,   448,   451,     4,     4,     4,   456,
++     459,     3,     8,   473,     3,     8,   169,   169,   150,     4,
++       4,     4,     4,     4,   188,     4,   153,   153,     4,     4,
++       4,     4,     4,   151,   151,   151,   151,     4,     4,     4,
++       4,     4,     4,     4,     4,     4,     4,   151,     4,     4,
++     194,     4,     4,     4,   153,   204,     4,     4,     4,     4,
++       4,     4,     4,   151,   153,     4,     4,     4,     4,   286,
++       4,   367,     4,     4,     4,     4,     4,     4,     4,     4,
++     384,     4,     4,   151,     4,     4,     4,   153,   326,     4,
++     153,   153,   350,     4,     4,   262,   153,     4,     4,   151,
++       4,   151,   151,     4,     4,   153,   153,   153,     4,     4,
++     436,     4,   471,     4,     7,     7,   169,   169,   169,     7,
++     150,   150,   150,     7,     7,     5,     5,     5,     5,   171,
++     173,   150,     5,     5,     5,     7,     7,     7,     5,   180,
++      14,    15,   211,    17,    18,   214,   150,   150,   150,     5,
++     150,   150,   150,    74,    75,    76,   303,   150,     5,     7,
++     150,   180,   150,   150,   150,   150,   150,   150,   150,   150,
++     150,   150,   150,   150,   150,   150,   169,   150,   150,   150,
++      15,   119,   449,   120,   121,   122,   123,   124,   153,   457,
++     150,     5,   169,   193,   470,   203,    27,    32,    33,    34,
++      35,    36,    37,    38,    39,    40,    41,    42,    43,   184,
++     220,   221,   222,   225,   227,   229,   231,   232,   234,   235,
++     236,   237,   238,   240,   242,   243,   220,     7,   279,   280,
++     281,     7,   318,   319,   320,     7,   342,   343,   344,     7,
++     308,   309,   310,    82,    83,    84,    85,    87,   246,   247,
++     248,   249,   250,   251,   252,     7,   413,   414,     7,   255,
++     256,   257,    94,    95,    96,    97,    98,    99,   269,   270,
++     271,   272,   273,   274,   275,   276,   102,   103,   184,   370,
++     372,   425,   426,   427,   429,   435,   181,     7,   360,   361,
++     362,     7,   376,   377,   378,    89,   409,     7,   474,   475,
+        8,     8,     8,   223,   226,   228,   230,     4,     4,     4,
+        4,     4,   239,   241,     4,     4,     3,     8,     8,   282,
+        6,     3,   321,     6,     3,   345,     6,     3,   311,     6,
 -       3,     3,     6,     3,     6,   258,     6,     3,     4,     4,
 -       4,     4,     4,     4,     3,     8,   427,   429,     3,     8,
 -       8,   150,   182,   183,   150,   363,     6,     3,   379,     6,
 -       3,   410,     8,   475,     3,     6,     4,     4,     4,     4,
++       3,     3,     6,   415,     3,     6,   258,     6,     3,     4,
++       4,     4,     4,     4,     4,     3,     8,   428,   430,     3,
++       8,     8,   150,   182,   183,   363,     6,     3,   379,     6,
++       3,   410,     8,   476,     3,     6,     4,     4,     4,     4,
+      151,   153,   151,   153,   151,     4,     4,   151,   151,   221,
+      285,   281,   324,   320,   348,   344,   184,   195,   196,   197,
+      200,   232,   277,   295,   299,   301,   312,   313,   340,   370,
 -     372,   385,   387,   389,   407,   310,   247,   299,   261,   257,
 -     151,   151,   151,   151,   151,   151,   270,     4,     4,   425,
 -       6,     3,   366,   362,   382,   378,     4,   127,   129,   130,
 -     184,   232,   370,   372,   476,   477,   478,   479,   481,   474,
 -      28,    29,    30,    31,   224,   150,   150,   150,   150,   150,
 -       8,     8,     8,     3,     8,     8,   150,   150,   150,     8,
 -       8,   150,   482,     4,   480,     3,     8,   313,     4,   151,
 -       4,   477,     5,   150,     7,   483,   484,   485,     3,     6,
 -     128,   131,   132,   133,   486,   487,   488,   490,   491,   492,
 -     484,   489,     4,     4,     4,     3,     8,     4,   153,   151,
 -     151,   487,   150
++     372,   385,   387,   389,   407,   310,   247,    79,   184,   232,
++     314,   340,   370,   372,   385,   387,   389,   416,   417,   418,
++     419,   420,   414,   261,   257,   151,   151,   151,   151,   151,
++     151,   270,     4,     4,   426,     6,     3,   366,   362,   382,
++     378,     4,   127,   129,   130,   184,   232,   370,   372,   477,
++     478,   479,   480,   482,   475,    28,    29,    30,    31,   224,
++     150,   150,   150,   150,   150,     8,     8,     8,     3,     8,
++     421,     8,     3,     8,   150,   150,   150,     8,     8,   150,
++     483,     4,   481,     3,     8,   313,     4,   418,     4,   151,
++       4,   478,   150,     5,   150,     7,   484,   485,   486,     3,
++       6,   128,   131,   132,   133,   487,   488,   489,   491,   492,
++     493,   485,   490,     4,     4,     4,     3,     8,     4,   153,
++     151,   151,   488,   150
    };
  
    const unsigned short int
    Dhcp4Parser::yyr1_[] =
    {
-        0,   152,   154,   153,   155,   153,   156,   153,   157,   153,
-      158,   153,   159,   153,   160,   153,   161,   153,   162,   153,
-      163,   153,   164,   153,   165,   153,   166,   153,   167,   167,
-      167,   167,   167,   167,   167,   168,   170,   169,   171,   172,
-      172,   173,   173,   175,   174,   176,   176,   177,   177,   179,
-      178,   180,   180,   181,   181,   182,   184,   183,   185,   185,
-      186,   186,   186,   186,   186,   186,   188,   187,   190,   189,
-      191,   191,   192,   192,   192,   192,   192,   192,   192,   192,
-      192,   192,   192,   192,   192,   192,   192,   192,   192,   192,
-      192,   192,   192,   192,   192,   192,   192,   192,   193,   194,
-      195,   196,   197,   198,   200,   199,   201,   201,   202,   202,
-      202,   202,   202,   202,   202,   204,   203,   206,   205,   208,
-      207,   209,   209,   211,   210,   212,   212,   213,   215,   214,
-      217,   216,   218,   218,   219,   219,   219,   219,   219,   219,
-      219,   219,   219,   219,   219,   219,   219,   221,   220,   222,
-      222,   222,   222,   224,   223,   226,   225,   228,   227,   229,
-      231,   230,   232,   233,   234,   235,   237,   236,   239,   238,
-      241,   240,   242,   242,   243,   243,   243,   243,   243,   244,
-      245,   246,   247,   248,   250,   249,   251,   251,   252,   252,
-      254,   253,   256,   255,   257,   257,   257,   258,   258,   260,
-      259,   262,   261,   264,   263,   265,   265,   266,   266,   266,
-      266,   266,   266,   267,   268,   269,   270,   271,   272,   274,
-      273,   275,   275,   276,   276,   278,   277,   280,   279,   281,
-      281,   282,   282,   282,   282,   282,   282,   282,   282,   282,
-      282,   282,   282,   282,   282,   282,   282,   282,   282,   282,
-      282,   282,   282,   282,   282,   284,   283,   286,   285,   288,
+        0,   154,   156,   155,   157,   155,   158,   155,   159,   155,
+      160,   155,   161,   155,   162,   155,   163,   155,   164,   155,
+      165,   155,   166,   155,   167,   155,   168,   155,   169,   169,
+      169,   169,   169,   169,   169,   170,   172,   171,   173,   174,
+      174,   175,   175,   177,   176,   178,   178,   179,   179,   181,
+      180,   182,   182,   183,   183,   184,   186,   185,   187,   187,
+      188,   188,   188,   188,   188,   188,   190,   189,   192,   191,
+      193,   193,   194,   194,   194,   194,   194,   194,   194,   194,
+      194,   194,   194,   194,   194,   194,   194,   194,   194,   194,
+      194,   194,   194,   194,   194,   194,   194,   194,   195,   196,
+      197,   198,   199,   200,   202,   201,   203,   203,   204,   204,
+      204,   204,   204,   204,   204,   206,   205,   208,   207,   210,
+      209,   211,   211,   213,   212,   214,   214,   215,   217,   216,
+      219,   218,   220,   220,   221,   221,   221,   221,   221,   221,
+      221,   221,   221,   221,   221,   221,   221,   221,   221,   223,
+      222,   224,   224,   224,   224,   226,   225,   228,   227,   230,
+      229,   231,   233,   232,   234,   235,   236,   237,   239,   238,
+      241,   240,   242,   243,   245,   244,   246,   246,   247,   247,
+      247,   247,   247,   248,   249,   250,   251,   252,   254,   253,
+      255,   255,   256,   256,   258,   257,   260,   259,   261,   261,
+      261,   262,   262,   264,   263,   266,   265,   268,   267,   269,
+      269,   270,   270,   270,   270,   270,   270,   271,   272,   273,
+      274,   275,   276,   278,   277,   279,   279,   280,   280,   282,
+      281,   284,   283,   285,   285,   286,   286,   286,   286,   286,
+      286,   286,   286,   286,   286,   286,   286,   286,   286,   286,
+      286,   286,   286,   286,   286,   286,   286,   286,   286,   288,
       287,   290,   289,   292,   291,   294,   293,   296,   295,   298,
-      297,   299,   299,   299,   300,   301,   303,   302,   304,   304,
-      305,   305,   307,   306,   308,   308,   309,   309,   309,   309,
-      309,   309,   309,   309,   309,   309,   309,   309,   309,   309,
-      309,   309,   309,   311,   310,   313,   312,   314,   314,   315,
-      315,   317,   316,   319,   318,   320,   320,   321,   321,   322,
-      322,   322,   322,   322,   322,   322,   322,   322,   322,   323,
-      324,   325,   327,   326,   329,   328,   331,   330,   332,   334,
-      333,   335,   337,   336,   338,   338,   339,   339,   341,   340,
-      343,   342,   344,   344,   345,   345,   346,   346,   346,   346,
-      346,   346,   346,   346,   346,   347,   349,   348,   350,   351,
-      352,   353,   355,   354,   356,   356,   357,   357,   359,   358,
-      361,   360,   362,   362,   363,   363,   363,   363,   363,   363,
-      365,   364,   367,   366,   369,   368,   371,   370,   372,   372,
-      373,   373,   375,   374,   377,   376,   378,   378,   379,   379,
-      380,   380,   380,   380,   380,   380,   380,   380,   380,   380,
-      380,   380,   380,   380,   380,   382,   381,   384,   383,   386,
+      297,   300,   299,   302,   301,   303,   303,   303,   304,   305,
+      307,   306,   308,   308,   309,   309,   311,   310,   312,   312,
+      313,   313,   313,   313,   313,   313,   313,   313,   313,   313,
+      313,   313,   313,   313,   313,   313,   313,   315,   314,   317,
+      316,   318,   318,   319,   319,   321,   320,   323,   322,   324,
+      324,   325,   325,   326,   326,   326,   326,   326,   326,   326,
+      326,   326,   326,   327,   328,   329,   331,   330,   333,   332,
+      335,   334,   336,   338,   337,   339,   341,   340,   342,   342,
+      343,   343,   345,   344,   347,   346,   348,   348,   349,   349,
+      350,   350,   350,   350,   350,   350,   350,   350,   350,   351,
+      353,   352,   354,   355,   356,   357,   359,   358,   360,   360,
+      361,   361,   363,   362,   365,   364,   366,   366,   367,   367,
 -     367,   367,   367,   369,   368,   371,   370,   373,   372,   375,
 -     374,   376,   376,   377,   377,   379,   378,   381,   380,   382,
 -     382,   383,   383,   384,   384,   384,   384,   384,   384,   384,
 -     384,   384,   384,   384,   384,   384,   384,   384,   386,   385,
 -     388,   387,   390,   389,   392,   391,   394,   393,   396,   395,
 -     398,   397,   400,   399,   402,   401,   404,   403,   406,   405,
 -     408,   407,   410,   409,   412,   411,   413,   413,   414,   299,
 -     415,   415,   416,   416,   417,   417,   417,   417,   417,   417,
 -     417,   417,   417,   417,   418,   420,   419,   421,   423,   422,
 -     424,   424,   425,   425,   425,   425,   425,   427,   426,   429,
 -     428,   431,   430,   433,   432,   434,   434,   435,   435,   435,
 -     435,   435,   435,   435,   435,   435,   435,   435,   435,   435,
 -     435,   435,   435,   435,   436,   438,   437,   440,   439,   441,
 -     443,   442,   444,   445,   447,   446,   448,   448,   450,   449,
 -     451,   452,   453,   455,   454,   456,   456,   456,   456,   456,
 -     458,   457,   460,   459,   462,   461,   464,   463,   466,   465,
 -     468,   467,   469,   469,   470,   472,   471,   473,   473,   475,
 -     474,   476,   476,   477,   477,   477,   477,   477,   477,   477,
 -     478,   480,   479,   482,   481,   483,   483,   485,   484,   486,
 -     486,   487,   487,   487,   487,   489,   488,   490,   491,   492
++     367,   367,   367,   367,   369,   368,   371,   370,   373,   372,
++     375,   374,   376,   376,   377,   377,   379,   378,   381,   380,
++     382,   382,   383,   383,   384,   384,   384,   384,   384,   384,
++     384,   384,   384,   384,   384,   384,   384,   384,   384,   386,
 +     385,   388,   387,   390,   389,   392,   391,   394,   393,   396,
 +     395,   398,   397,   400,   399,   402,   401,   404,   403,   406,
-      405,   408,   407,   409,   409,   411,   410,   412,   412,   413,
-      413,   414,   414,   414,   414,   414,   414,   414,   414,   414,
-      414,   415,   417,   416,   418,   420,   419,   421,   421,   422,
-      422,   422,   422,   422,   424,   423,   426,   425,   428,   427,
-      430,   429,   431,   431,   432,   432,   432,   432,   432,   432,
-      432,   432,   432,   432,   432,   432,   432,   432,   432,   432,
-      432,   433,   435,   434,   437,   436,   438,   440,   439,   441,
-      442,   444,   443,   445,   445,   447,   446,   448,   449,   450,
-      452,   451,   453,   453,   453,   453,   453,   455,   454,   457,
-      456,   459,   458,   461,   460,   463,   462,   465,   464,   466,
-      466,   467,   469,   468,   470,   470,   472,   471,   473,   473,
-      474,   474,   474,   474,   474,   474,   474,   475,   477,   476,
-      479,   478,   480,   480,   482,   481,   483,   483,   484,   484,
-      484,   484,   486,   485,   487,   488,   489
++     405,   408,   407,   410,   409,   412,   411,   413,   413,   415,
++     414,   416,   416,   417,   417,   418,   418,   418,   418,   418,
++     418,   418,   418,   418,   418,   419,   421,   420,   422,   424,
++     423,   425,   425,   426,   426,   426,   426,   426,   428,   427,
++     430,   429,   432,   431,   434,   433,   435,   435,   436,   436,
++     436,   436,   436,   436,   436,   436,   436,   436,   436,   436,
++     436,   436,   436,   436,   436,   437,   439,   438,   441,   440,
++     442,   444,   443,   445,   446,   448,   447,   449,   449,   451,
++     450,   452,   453,   454,   456,   455,   457,   457,   457,   457,
++     457,   459,   458,   461,   460,   463,   462,   465,   464,   467,
++     466,   469,   468,   470,   470,   471,   473,   472,   474,   474,
++     476,   475,   477,   477,   478,   478,   478,   478,   478,   478,
++     478,   479,   481,   480,   483,   482,   484,   484,   486,   485,
++     487,   487,   488,   488,   488,   488,   490,   489,   491,   492,
++     493
    };
  
    const unsigned char
         1,     1,     1,     1,     1,     0,     4,     0,     4,     0,
         4,     1,     1,     0,     4,     1,     1,     3,     0,     6,
         0,     6,     1,     3,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     0,     4,     1,
-        1,     1,     1,     0,     4,     0,     4,     0,     4,     3,
-        0,     4,     3,     3,     3,     3,     0,     4,     0,     4,
-        0,     6,     1,     3,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     0,     6,     0,     1,     1,     3,
-        0,     4,     0,     4,     1,     3,     1,     1,     1,     0,
-        4,     0,     4,     0,     6,     1,     3,     1,     1,     1,
-        1,     1,     1,     3,     3,     3,     3,     3,     3,     0,
-        6,     0,     1,     1,     3,     0,     4,     0,     4,     1,
-        3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
+        4,     1,     1,     1,     1,     0,     4,     0,     4,     0,
+        4,     3,     0,     4,     3,     3,     3,     3,     0,     4,
+        0,     4,     3,     3,     0,     6,     1,     3,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
+        0,     1,     1,     3,     0,     4,     0,     4,     1,     3,
+        1,     1,     1,     0,     4,     0,     4,     0,     6,     1,
+        3,     1,     1,     1,     1,     1,     1,     3,     3,     3,
+        3,     3,     3,     0,     6,     0,     1,     1,     3,     0,
+        4,     0,     4,     1,     3,     1,     1,     1,     1,     1,
         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     0,     4,     0,     4,     0,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
         4,     0,     4,     0,     4,     0,     4,     0,     4,     0,
-        4,     1,     1,     1,     3,     3,     0,     6,     0,     1,
-        1,     3,     0,     4,     1,     3,     1,     1,     1,     1,
+        4,     0,     4,     0,     4,     1,     1,     1,     3,     3,
+        0,     6,     0,     1,     1,     3,     0,     4,     1,     3,
         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     0,     6,     0,     4,     0,     1,     1,
-        3,     0,     4,     0,     4,     0,     1,     1,     3,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        3,     1,     0,     4,     0,     4,     0,     4,     1,     0,
-        4,     3,     0,     6,     0,     1,     1,     3,     0,     4,
-        0,     4,     0,     1,     1,     3,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     0,     4,     1,     1,
-        3,     3,     0,     6,     0,     1,     1,     3,     0,     4,
-        0,     4,     1,     3,     1,     1,     1,     1,     1,     1,
-        0,     4,     0,     4,     0,     4,     0,     6,     0,     1,
+        1,     1,     1,     1,     1,     1,     1,     0,     6,     0,
+        4,     0,     1,     1,     3,     0,     4,     0,     4,     0,
+        1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     3,     1,     0,     4,     0,     4,
+        0,     4,     1,     0,     4,     3,     0,     6,     0,     1,
         1,     3,     0,     4,     0,     4,     0,     1,     1,     3,
         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     0,     4,     0,     4,     0,
+        0,     4,     1,     1,     3,     3,     0,     6,     0,     1,
+        1,     3,     0,     4,     0,     4,     1,     3,     1,     1,
 -       1,     1,     1,     0,     4,     0,     4,     0,     4,     0,
 -       6,     0,     1,     1,     3,     0,     4,     0,     4,     0,
 -       1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
 -       1,     1,     1,     1,     1,     1,     1,     1,     0,     4,
 -       0,     4,     0,     4,     0,     4,     0,     4,     0,     4,
 -       0,     4,     0,     4,     0,     4,     0,     4,     0,     4,
 -       0,     6,     0,     4,     0,     6,     1,     3,     0,     4,
++       1,     1,     1,     1,     0,     4,     0,     4,     0,     4,
++       0,     6,     0,     1,     1,     3,     0,     4,     0,     4,
+        0,     1,     1,     3,     1,     1,     1,     1,     1,     1,
 -       1,     1,     1,     1,     1,     0,     4,     3,     0,     6,
 -       1,     3,     1,     1,     1,     1,     1,     0,     4,     0,
 -       4,     0,     6,     0,     4,     1,     3,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
 +       4,     0,     4,     0,     4,     0,     4,     0,     4,     0,
-        4,     0,     4,     0,     4,     0,     4,     0,     6,     0,
-        4,     0,     6,     1,     3,     0,     4,     0,     1,     1,
-        3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     0,     4,     3,     0,     6,     1,     3,     1,
-        1,     1,     1,     1,     0,     4,     0,     4,     0,     6,
-        0,     4,     1,     3,     1,     1,     1,     1,     1,     1,
++       4,     0,     4,     0,     4,     0,     4,     0,     4,     0,
++       4,     0,     6,     0,     4,     0,     6,     1,     3,     0,
++       4,     0,     1,     1,     3,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     0,     4,     3,     0,
++       6,     1,     3,     1,     1,     1,     1,     1,     0,     4,
++       0,     4,     0,     6,     0,     4,     1,     3,     1,     1,
         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     3,     0,     4,     0,     4,     3,     0,     4,     3,
-        3,     0,     4,     1,     1,     0,     4,     3,     3,     3,
-        0,     4,     1,     1,     1,     1,     1,     0,     4,     0,
-        4,     0,     4,     0,     4,     0,     6,     0,     4,     1,
-        3,     1,     0,     6,     1,     3,     0,     4,     1,     3,
-        1,     1,     1,     1,     1,     1,     1,     3,     0,     4,
-        0,     6,     1,     3,     0,     4,     1,     3,     1,     1,
-        1,     1,     0,     4,     3,     3,     3
 -       1,     1,     1,     1,     3,     0,     4,     0,     4,     3,
 -       0,     4,     3,     3,     0,     4,     1,     1,     0,     4,
 -       3,     3,     3,     0,     4,     1,     1,     1,     1,     1,
 -       0,     4,     0,     4,     0,     4,     0,     4,     0,     6,
 -       0,     4,     1,     3,     1,     0,     6,     1,     3,     0,
 -       4,     1,     3,     1,     1,     1,     1,     1,     1,     1,
 -       3,     0,     4,     0,     6,     1,     3,     0,     4,     1,
 -       3,     1,     1,     1,     1,     0,     4,     3,     3,     3
++       1,     1,     1,     1,     1,     3,     0,     4,     0,     4,
++       3,     0,     4,     3,     3,     0,     4,     1,     1,     0,
++       4,     3,     3,     3,     0,     4,     1,     1,     1,     1,
++       1,     0,     4,     0,     4,     0,     4,     0,     4,     0,
++       6,     0,     4,     1,     3,     1,     0,     6,     1,     3,
++       0,     4,     1,     3,     1,     1,     1,     1,     1,     1,
++       1,     3,     0,     4,     0,     6,     1,     3,     0,     4,
++       1,     3,     1,     1,     1,     1,     0,     4,     3,     3,
++       3
    };
  
  
    const unsigned short int
    Dhcp4Parser::yyrline_[] =
    {
-        0,   235,   235,   235,   236,   236,   237,   237,   238,   238,
-      239,   239,   240,   240,   241,   241,   242,   242,   243,   243,
-      244,   244,   245,   245,   246,   246,   247,   247,   255,   256,
-      257,   258,   259,   260,   261,   264,   269,   269,   280,   283,
-      284,   287,   291,   298,   298,   305,   306,   309,   313,   320,
-      320,   327,   328,   331,   335,   346,   356,   356,   372,   373,
-      377,   378,   379,   380,   381,   382,   385,   385,   400,   400,
-      409,   410,   415,   416,   417,   418,   419,   420,   421,   422,
-      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
-      433,   434,   435,   436,   437,   438,   439,   440,   443,   448,
-      453,   458,   463,   468,   474,   474,   485,   486,   489,   490,
-      491,   492,   493,   494,   495,   498,   498,   507,   507,   517,
-      517,   524,   525,   528,   528,   535,   537,   541,   547,   547,
-      559,   559,   571,   572,   575,   576,   577,   578,   579,   580,
-      581,   582,   583,   584,   585,   586,   587,   590,   590,   597,
-      598,   599,   600,   603,   603,   611,   611,   619,   619,   627,
-      632,   632,   640,   645,   650,   655,   660,   660,   668,   668,
-      677,   677,   687,   688,   691,   692,   693,   694,   695,   698,
-      703,   708,   713,   718,   723,   723,   733,   734,   737,   738,
-      741,   741,   751,   751,   761,   762,   763,   766,   767,   770,
-      770,   778,   778,   786,   786,   797,   798,   801,   802,   803,
-      804,   805,   806,   809,   814,   819,   824,   829,   834,   842,
-      842,   855,   856,   859,   860,   867,   867,   893,   893,   904,
-      905,   909,   910,   911,   912,   913,   914,   915,   916,   917,
-      918,   919,   920,   921,   922,   923,   924,   925,   926,   927,
-      928,   929,   930,   931,   932,   935,   935,   943,   943,   951,
-      951,   959,   959,   967,   967,   975,   975,   983,   983,   991,
-      991,   998,   999,  1000,  1003,  1008,  1015,  1015,  1026,  1027,
-     1031,  1032,  1035,  1035,  1043,  1044,  1047,  1048,  1049,  1050,
-     1051,  1052,  1053,  1054,  1055,  1056,  1057,  1058,  1059,  1060,
-     1061,  1062,  1063,  1070,  1070,  1083,  1083,  1092,  1093,  1096,
-     1097,  1102,  1102,  1117,  1117,  1131,  1132,  1135,  1136,  1139,
-     1140,  1141,  1142,  1143,  1144,  1145,  1146,  1147,  1148,  1151,
-     1153,  1158,  1160,  1160,  1168,  1168,  1176,  1176,  1184,  1186,
-     1186,  1194,  1203,  1203,  1215,  1216,  1221,  1222,  1227,  1227,
-     1239,  1239,  1251,  1252,  1257,  1258,  1263,  1264,  1265,  1266,
-     1267,  1268,  1269,  1270,  1271,  1274,  1276,  1276,  1284,  1286,
-     1288,  1293,  1301,  1301,  1313,  1314,  1317,  1318,  1321,  1321,
-     1331,  1331,  1341,  1342,  1345,  1346,  1347,  1348,  1349,  1350,
-     1353,  1353,  1361,  1361,  1386,  1386,  1416,  1416,  1426,  1427,
-     1430,  1431,  1434,  1434,  1443,  1443,  1452,  1453,  1456,  1457,
-     1461,  1462,  1463,  1464,  1465,  1466,  1467,  1468,  1469,  1470,
-     1471,  1472,  1473,  1474,  1475,  1478,  1478,  1486,  1486,  1494,
-     1494,  1502,  1502,  1510,  1510,  1518,  1518,  1526,  1526,  1534,
-     1534,  1542,  1542,  1550,  1550,  1558,  1558,  1571,  1571,  1581,
-     1581,  1592,  1592,  1602,  1603,  1606,  1606,  1616,  1617,  1620,
-     1621,  1624,  1625,  1626,  1627,  1628,  1629,  1630,  1631,  1632,
-     1633,  1636,  1638,  1638,  1650,  1657,  1657,  1667,  1668,  1671,
-     1672,  1673,  1674,  1675,  1678,  1678,  1686,  1686,  1696,  1696,
-     1708,  1708,  1718,  1719,  1722,  1723,  1724,  1725,  1726,  1727,
-     1728,  1729,  1730,  1731,  1732,  1733,  1734,  1735,  1736,  1737,
-     1738,  1741,  1746,  1746,  1754,  1754,  1762,  1767,  1767,  1775,
-     1780,  1785,  1785,  1793,  1794,  1797,  1797,  1805,  1810,  1815,
-     1820,  1820,  1828,  1831,  1834,  1837,  1840,  1846,  1846,  1856,
-     1856,  1863,  1863,  1870,  1870,  1882,  1882,  1892,  1892,  1903,
-     1904,  1908,  1912,  1912,  1924,  1925,  1929,  1929,  1937,  1938,
-     1941,  1942,  1943,  1944,  1945,  1946,  1947,  1950,  1955,  1955,
-     1963,  1963,  1973,  1974,  1977,  1977,  1985,  1986,  1989,  1990,
-     1991,  1992,  1995,  1995,  2003,  2008,  2013
+        0,   237,   237,   237,   238,   238,   239,   239,   240,   240,
+      241,   241,   242,   242,   243,   243,   244,   244,   245,   245,
+      246,   246,   247,   247,   248,   248,   249,   249,   257,   258,
+      259,   260,   261,   262,   263,   266,   271,   271,   282,   285,
+      286,   289,   293,   300,   300,   307,   308,   311,   315,   322,
+      322,   329,   330,   333,   337,   348,   358,   358,   374,   375,
+      379,   380,   381,   382,   383,   384,   387,   387,   402,   402,
+      411,   412,   417,   418,   419,   420,   421,   422,   423,   424,
+      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
+      435,   436,   437,   438,   439,   440,   441,   442,   445,   450,
+      455,   460,   465,   470,   476,   476,   487,   488,   491,   492,
+      493,   494,   495,   496,   497,   500,   500,   509,   509,   519,
+      519,   526,   527,   530,   530,   537,   539,   543,   549,   549,
+      561,   561,   573,   574,   577,   578,   579,   580,   581,   582,
+      583,   584,   585,   586,   587,   588,   589,   590,   591,   594,
+      594,   601,   602,   603,   604,   607,   607,   615,   615,   623,
+      623,   631,   636,   636,   644,   649,   654,   659,   664,   664,
+      672,   672,   680,   685,   690,   690,   700,   701,   704,   705,
+      706,   707,   708,   711,   716,   721,   726,   731,   736,   736,
+      746,   747,   750,   751,   754,   754,   764,   764,   774,   775,
+      776,   779,   780,   783,   783,   791,   791,   799,   799,   810,
+      811,   814,   815,   816,   817,   818,   819,   822,   827,   832,
+      837,   842,   847,   855,   855,   868,   869,   872,   873,   880,
+      880,   906,   906,   917,   918,   922,   923,   924,   925,   926,
+      927,   928,   929,   930,   931,   932,   933,   934,   935,   936,
+      937,   938,   939,   940,   941,   942,   943,   944,   945,   948,
+      948,   956,   956,   964,   964,   972,   972,   980,   980,   988,
+      988,   996,   996,  1004,  1004,  1011,  1012,  1013,  1016,  1021,
+     1028,  1028,  1039,  1040,  1044,  1045,  1048,  1048,  1056,  1057,
+     1060,  1061,  1062,  1063,  1064,  1065,  1066,  1067,  1068,  1069,
+     1070,  1071,  1072,  1073,  1074,  1075,  1076,  1083,  1083,  1096,
+     1096,  1105,  1106,  1109,  1110,  1115,  1115,  1130,  1130,  1144,
+     1145,  1148,  1149,  1152,  1153,  1154,  1155,  1156,  1157,  1158,
+     1159,  1160,  1161,  1164,  1166,  1171,  1173,  1173,  1181,  1181,
+     1189,  1189,  1197,  1199,  1199,  1207,  1216,  1216,  1228,  1229,
+     1234,  1235,  1240,  1240,  1252,  1252,  1264,  1265,  1270,  1271,
+     1276,  1277,  1278,  1279,  1280,  1281,  1282,  1283,  1284,  1287,
+     1289,  1289,  1297,  1299,  1301,  1306,  1314,  1314,  1326,  1327,
+     1330,  1331,  1334,  1334,  1344,  1344,  1354,  1355,  1358,  1359,
 -    1360,  1361,  1362,  1365,  1365,  1373,  1373,  1398,  1398,  1428,
 -    1428,  1438,  1439,  1442,  1443,  1446,  1446,  1455,  1455,  1464,
 -    1465,  1468,  1469,  1473,  1474,  1475,  1476,  1477,  1478,  1479,
 -    1480,  1481,  1482,  1483,  1484,  1485,  1486,  1487,  1490,  1490,
 -    1498,  1498,  1506,  1506,  1514,  1514,  1522,  1522,  1530,  1530,
 -    1538,  1538,  1546,  1546,  1554,  1554,  1562,  1562,  1570,  1570,
 -    1583,  1583,  1593,  1593,  1604,  1604,  1614,  1615,  1618,  1618,
 -    1628,  1629,  1632,  1633,  1636,  1637,  1638,  1639,  1640,  1641,
 -    1642,  1643,  1644,  1645,  1648,  1650,  1650,  1662,  1669,  1669,
 -    1679,  1680,  1683,  1684,  1685,  1686,  1687,  1690,  1690,  1698,
 -    1698,  1708,  1708,  1720,  1720,  1730,  1731,  1734,  1735,  1736,
++    1360,  1361,  1362,  1363,  1366,  1366,  1374,  1374,  1399,  1399,
++    1429,  1429,  1439,  1440,  1443,  1444,  1447,  1447,  1456,  1456,
++    1465,  1466,  1469,  1470,  1474,  1475,  1476,  1477,  1478,  1479,
++    1480,  1481,  1482,  1483,  1484,  1485,  1486,  1487,  1488,  1491,
++    1491,  1499,  1499,  1507,  1507,  1515,  1515,  1523,  1523,  1531,
++    1531,  1539,  1539,  1547,  1547,  1555,  1555,  1563,  1563,  1571,
++    1571,  1584,  1584,  1594,  1594,  1605,  1605,  1615,  1616,  1619,
++    1619,  1629,  1630,  1633,  1634,  1637,  1638,  1639,  1640,  1641,
++    1642,  1643,  1644,  1645,  1646,  1649,  1651,  1651,  1663,  1670,
++    1670,  1680,  1681,  1684,  1685,  1686,  1687,  1688,  1691,  1691,
++    1699,  1699,  1709,  1709,  1721,  1721,  1731,  1732,  1735,  1736,
+     1737,  1738,  1739,  1740,  1741,  1742,  1743,  1744,  1745,  1746,
 -    1747,  1748,  1749,  1750,  1753,  1758,  1758,  1766,  1766,  1774,
 -    1779,  1779,  1787,  1792,  1797,  1797,  1805,  1806,  1809,  1809,
 -    1817,  1822,  1827,  1832,  1832,  1840,  1843,  1846,  1849,  1852,
 -    1858,  1858,  1868,  1868,  1875,  1875,  1882,  1882,  1894,  1894,
 -    1904,  1904,  1915,  1916,  1920,  1924,  1924,  1936,  1937,  1941,
 -    1941,  1949,  1950,  1953,  1954,  1955,  1956,  1957,  1958,  1959,
 -    1962,  1967,  1967,  1975,  1975,  1985,  1986,  1989,  1989,  1997,
 -    1998,  2001,  2002,  2003,  2004,  2007,  2007,  2015,  2020,  2025
++    1747,  1748,  1749,  1750,  1751,  1754,  1759,  1759,  1767,  1767,
++    1775,  1780,  1780,  1788,  1793,  1798,  1798,  1806,  1807,  1810,
++    1810,  1818,  1823,  1828,  1833,  1833,  1841,  1844,  1847,  1850,
++    1853,  1859,  1859,  1869,  1869,  1876,  1876,  1883,  1883,  1895,
++    1895,  1905,  1905,  1916,  1917,  1921,  1925,  1925,  1937,  1938,
++    1942,  1942,  1950,  1951,  1954,  1955,  1956,  1957,  1958,  1959,
++    1960,  1963,  1968,  1968,  1976,  1976,  1986,  1987,  1990,  1990,
++    1998,  1999,  2002,  2003,  2004,  2005,  2008,  2008,  2016,  2021,
++    2026
    };
  
    // Print the state stack on the debug stream.
  
  #line 14 "dhcp4_parser.yy" // lalr1.cc:1167
  } } // isc::dhcp
- #line 4494 "dhcp4_parser.cc" // lalr1.cc:1167
- #line 2018 "dhcp4_parser.yy" // lalr1.cc:1168
 -#line 4518 "dhcp4_parser.cc" // lalr1.cc:1167
 -#line 2030 "dhcp4_parser.yy" // lalr1.cc:1168
++#line 4520 "dhcp4_parser.cc" // lalr1.cc:1167
++#line 2031 "dhcp4_parser.yy" // lalr1.cc:1168
  
  
  void
index 456b8b3b1da47a75aea285944f33e430552f7384,c0e8afbda8c7171838d1a4a2ca73e615577a2ded..80602d621ba245ea915bdd6a6916b42e3e83fab7
@@@ -1416,8 -1426,8 +1426,8 @@@ namespace isc { namespace dhcp 
      enum
      {
        yyeof_ = 0,
-       yylast_ = 886,     ///< Last index in yytable_.
-       yynnts_ = 338,  ///< Number of nonterminal symbols.
 -      yylast_ = 900,     ///< Last index in yytable_.
 -      yynnts_ = 339,  ///< Number of nonterminal symbols.
++      yylast_ = 894,     ///< Last index in yytable_.
++      yynnts_ = 340,  ///< Number of nonterminal symbols.
        yyfinal_ = 28, ///< Termination state number.
        yyterror_ = 1,
        yyerrcode_ = 256,
    {
        switch (other.type_get ())
      {
-       case 167: // value
-       case 171: // map_value
-       case 209: // socket_type
-       case 212: // outbound_interface_value
-       case 222: // db_type
-       case 299: // hr_mode
-       case 445: // ncr_protocol_value
-       case 453: // replace_client_name_value
+       case 169: // value
+       case 173: // map_value
+       case 211: // socket_type
+       case 214: // outbound_interface_value
+       case 224: // db_type
+       case 303: // hr_mode
 -      case 448: // ncr_protocol_value
 -      case 456: // replace_client_name_value
++      case 449: // ncr_protocol_value
++      case 457: // replace_client_name_value
          value.copy< ElementPtr > (other.value);
          break;
  
      (void) v;
        switch (this->type_get ())
      {
-       case 167: // value
-       case 171: // map_value
-       case 209: // socket_type
-       case 212: // outbound_interface_value
-       case 222: // db_type
-       case 299: // hr_mode
-       case 445: // ncr_protocol_value
-       case 453: // replace_client_name_value
+       case 169: // value
+       case 173: // map_value
+       case 211: // socket_type
+       case 214: // outbound_interface_value
+       case 224: // db_type
+       case 303: // hr_mode
 -      case 448: // ncr_protocol_value
 -      case 456: // replace_client_name_value
++      case 449: // ncr_protocol_value
++      case 457: // replace_client_name_value
          value.copy< ElementPtr > (v);
          break;
  
      // Type destructor.
      switch (yytype)
      {
-       case 167: // value
-       case 171: // map_value
-       case 209: // socket_type
-       case 212: // outbound_interface_value
-       case 222: // db_type
-       case 299: // hr_mode
-       case 445: // ncr_protocol_value
-       case 453: // replace_client_name_value
+       case 169: // value
+       case 173: // map_value
+       case 211: // socket_type
+       case 214: // outbound_interface_value
+       case 224: // db_type
+       case 303: // hr_mode
 -      case 448: // ncr_protocol_value
 -      case 456: // replace_client_name_value
++      case 449: // ncr_protocol_value
++      case 457: // replace_client_name_value
          value.template destroy< ElementPtr > ();
          break;
  
      super_type::move(s);
        switch (this->type_get ())
      {
-       case 167: // value
-       case 171: // map_value
-       case 209: // socket_type
-       case 212: // outbound_interface_value
-       case 222: // db_type
-       case 299: // hr_mode
-       case 445: // ncr_protocol_value
-       case 453: // replace_client_name_value
+       case 169: // value
+       case 173: // map_value
+       case 211: // socket_type
+       case 214: // outbound_interface_value
+       case 224: // db_type
+       case 303: // hr_mode
 -      case 448: // ncr_protocol_value
 -      case 456: // replace_client_name_value
++      case 449: // ncr_protocol_value
++      case 457: // replace_client_name_value
          value.move< ElementPtr > (s.value);
          break;
  
Simple merge
Simple merge
index 4b86a5428d7865c236f3bea8154fc1fcd9d72e83,e8d64a33c90b6db1a81bc16ec3ce7e1a0a34021b..aa5ea6aa16c8a1e186789a4f507350707ec3939d
@@@ -1565,29 -1373,29 +1373,29 @@@ static yyconst flex_int16_t yy_chk[1735
  static yy_state_type yy_last_accepting_state;
  static char *yy_last_accepting_cpos;
  
- extern int yy_flex_debug;
- int yy_flex_debug = 1;
+ extern int parser6__flex_debug;
+ int parser6__flex_debug = 1;
  
- static const flex_int16_t yy_rule_linenum[162] =
+ static yyconst flex_int16_t yy_rule_linenum[164] =
      {   0,
-       147,  149,  151,  156,  157,  162,  163,  164,  176,  179,
-       184,  191,  200,  209,  218,  227,  236,  245,  254,  263,
-       272,  281,  290,  299,  308,  317,  327,  337,  347,  357,
-       367,  377,  387,  397,  407,  416,  425,  434,  443,  452,
-       461,  470,  482,  491,  500,  509,  518,  528,  538,  548,
-       558,  569,  579,  589,  599,  609,  620,  631,  642,  653,
-       662,  672,  681,  690,  706,  722,  731,  740,  749,  758,
-       767,  776,  785,  794,  803,  812,  834,  856,  865,  875,
-       885,  894,  904,  914,  923,  932,  941,  950,  960,  969,
-       978,  987,  996, 1005, 1014, 1023, 1032, 1041, 1051, 1060,
-      1069, 1079, 1092, 1102, 1111, 1120, 1129, 1140, 1150, 1159,
-      1169, 1179, 1188, 1197, 1206, 1215, 1225, 1234, 1244, 1253,
-      1262, 1271, 1280, 1289, 1298, 1307, 1316, 1325, 1334, 1343,
-      1352, 1361, 1370, 1379, 1388, 1397, 1406, 1415, 1424, 1433,
-      1442, 1451, 1460, 1470, 1569, 1574, 1579, 1584, 1585, 1586,
-      1587, 1588, 1589, 1591, 1609, 1622, 1627, 1631, 1633, 1635,
-      1637
+       146,  148,  150,  155,  156,  161,  162,  163,  175,  178,
+       183,  190,  199,  208,  217,  226,  235,  244,  253,  262,
+       271,  280,  289,  298,  307,  316,  326,  336,  346,  356,
+       366,  376,  386,  396,  406,  415,  424,  433,  442,  451,
+       460,  469,  481,  490,  499,  508,  517,  527,  537,  547,
+       557,  568,  578,  588,  598,  608,  618,  628,  639,  650,
+       661,  672,  681,  691,  700,  709,  725,  741,  750,  759,
+       768,  777,  786,  795,  804,  813,  822,  831,  853,  875,
+       884,  894,  904,  913,  923,  933,  942,  951,  960,  969,
+       979,  988,  997, 1006, 1015, 1024, 1033, 1042, 1051, 1060,
 -     1070, 1079, 1088, 1098, 1109, 1119, 1128, 1137, 1146, 1157,
 -     1167, 1176, 1186, 1196, 1205, 1214, 1223, 1232, 1242, 1251,
 -     1261, 1270, 1279, 1288, 1297, 1306, 1315, 1324, 1333, 1342,
 -     1351, 1360, 1369, 1378, 1387, 1396, 1405, 1414, 1423, 1432,
 -     1441, 1450, 1459, 1468, 1477, 1487, 1586, 1591, 1596, 1601,
 -     1602, 1603, 1604, 1605, 1606, 1608, 1626, 1639, 1644, 1648,
 -     1650, 1652, 1654
++     1070, 1079, 1088, 1098, 1111, 1121, 1130, 1139, 1148, 1159,
++     1169, 1178, 1188, 1198, 1207, 1216, 1225, 1234, 1244, 1253,
++     1263, 1272, 1281, 1290, 1299, 1308, 1317, 1326, 1335, 1344,
++     1353, 1362, 1371, 1380, 1389, 1398, 1407, 1416, 1425, 1434,
++     1443, 1452, 1461, 1470, 1479, 1489, 1588, 1593, 1598, 1603,
++     1604, 1605, 1606, 1607, 1608, 1610, 1628, 1641, 1646, 1650,
++     1652, 1654, 1656
      } ;
  
  /* The intent behind this definition is that it'll catch
@@@ -2792,12 -2629,12 +2629,12 @@@ YY_RULE_SETU
      }
  }
        YY_BREAK
- case 62:
+ case 64:
  YY_RULE_SETUP
- #line 672 "dhcp6_lexer.ll"
+ #line 691 "dhcp6_lexer.ll"
  {
      switch (driver.ctx_) {
 -    case Parser6Context::DHCP6:
 +    case isc::dhcp::Parser6Context::DHCP6:
          return Dhcp6Parser::make_SHARED_NETWORKS(driver.loc_);
      default:
          return Dhcp6Parser::make_STRING("shared-networks", driver.loc_);
@@@ -3334,9 -3169,9 +3171,9 @@@ YY_RULE_SETU
      }
  }
        YY_BREAK
- case 103:
+ case 105:
  YY_RULE_SETUP
- #line 1092 "dhcp6_lexer.ll"
 -#line 1109 "dhcp6_lexer.ll"
++#line 1111 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::CLIENT_CLASSES:
      }
  }
        YY_BREAK
- case 104:
+ case 106:
  YY_RULE_SETUP
- #line 1102 "dhcp6_lexer.ll"
 -#line 1119 "dhcp6_lexer.ll"
++#line 1121 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::SUBNET6:
      }
  }
        YY_BREAK
- case 105:
+ case 107:
  YY_RULE_SETUP
- #line 1111 "dhcp6_lexer.ll"
 -#line 1128 "dhcp6_lexer.ll"
++#line 1130 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::RESERVATIONS:
      }
  }
        YY_BREAK
- case 106:
+ case 108:
  YY_RULE_SETUP
- #line 1120 "dhcp6_lexer.ll"
 -#line 1137 "dhcp6_lexer.ll"
++#line 1139 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::RESERVATIONS:
      }
  }
        YY_BREAK
- case 107:
+ case 109:
  YY_RULE_SETUP
- #line 1129 "dhcp6_lexer.ll"
 -#line 1146 "dhcp6_lexer.ll"
++#line 1148 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::MAC_SOURCES:
      }
  }
        YY_BREAK
- case 108:
+ case 110:
  YY_RULE_SETUP
- #line 1140 "dhcp6_lexer.ll"
 -#line 1157 "dhcp6_lexer.ll"
++#line 1159 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
      }
  }
        YY_BREAK
- case 109:
+ case 111:
  YY_RULE_SETUP
- #line 1150 "dhcp6_lexer.ll"
 -#line 1167 "dhcp6_lexer.ll"
++#line 1169 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::RESERVATIONS:
      }
  }
        YY_BREAK
- case 110:
+ case 112:
  YY_RULE_SETUP
- #line 1159 "dhcp6_lexer.ll"
 -#line 1176 "dhcp6_lexer.ll"
++#line 1178 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
      }
  }
        YY_BREAK
- case 111:
+ case 113:
  YY_RULE_SETUP
- #line 1169 "dhcp6_lexer.ll"
 -#line 1186 "dhcp6_lexer.ll"
++#line 1188 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::OPTION_DEF:
      }
  }
        YY_BREAK
- case 112:
+ case 114:
  YY_RULE_SETUP
- #line 1179 "dhcp6_lexer.ll"
 -#line 1196 "dhcp6_lexer.ll"
++#line 1198 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::OPTION_DATA:
      }
  }
        YY_BREAK
- case 113:
+ case 115:
  YY_RULE_SETUP
- #line 1188 "dhcp6_lexer.ll"
 -#line 1205 "dhcp6_lexer.ll"
++#line 1207 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::OPTION_DEF:
      }
  }
        YY_BREAK
- case 114:
+ case 116:
  YY_RULE_SETUP
- #line 1197 "dhcp6_lexer.ll"
 -#line 1214 "dhcp6_lexer.ll"
++#line 1216 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::OPTION_DEF:
      }
  }
        YY_BREAK
- case 115:
+ case 117:
  YY_RULE_SETUP
- #line 1206 "dhcp6_lexer.ll"
 -#line 1223 "dhcp6_lexer.ll"
++#line 1225 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::OPTION_DEF:
      }
  }
        YY_BREAK
- case 116:
+ case 118:
  YY_RULE_SETUP
- #line 1215 "dhcp6_lexer.ll"
 -#line 1232 "dhcp6_lexer.ll"
++#line 1234 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::SUBNET6:
      }
  }
        YY_BREAK
- case 117:
+ case 119:
  YY_RULE_SETUP
- #line 1225 "dhcp6_lexer.ll"
 -#line 1242 "dhcp6_lexer.ll"
++#line 1244 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::RELAY:
      }
  }
        YY_BREAK
- case 118:
+ case 120:
  YY_RULE_SETUP
- #line 1234 "dhcp6_lexer.ll"
 -#line 1251 "dhcp6_lexer.ll"
++#line 1253 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::DHCP6:
      }
  }
        YY_BREAK
- case 119:
+ case 121:
  YY_RULE_SETUP
- #line 1244 "dhcp6_lexer.ll"
 -#line 1261 "dhcp6_lexer.ll"
++#line 1263 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
      }
  }
        YY_BREAK
- case 120:
+ case 122:
  YY_RULE_SETUP
- #line 1253 "dhcp6_lexer.ll"
 -#line 1270 "dhcp6_lexer.ll"
++#line 1272 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
      }
  }
        YY_BREAK
- case 121:
+ case 123:
  YY_RULE_SETUP
- #line 1262 "dhcp6_lexer.ll"
 -#line 1279 "dhcp6_lexer.ll"
++#line 1281 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::DHCP6:
      }
  }
        YY_BREAK
- case 122:
+ case 124:
  YY_RULE_SETUP
- #line 1271 "dhcp6_lexer.ll"
 -#line 1288 "dhcp6_lexer.ll"
++#line 1290 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::DUID_TYPE:
      }
  }
        YY_BREAK
- case 123:
+ case 125:
  YY_RULE_SETUP
- #line 1280 "dhcp6_lexer.ll"
 -#line 1297 "dhcp6_lexer.ll"
++#line 1299 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::DUID_TYPE:
      }
  }
        YY_BREAK
- case 124:
+ case 126:
  YY_RULE_SETUP
- #line 1289 "dhcp6_lexer.ll"
 -#line 1306 "dhcp6_lexer.ll"
++#line 1308 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::DUID_TYPE:
      }
  }
        YY_BREAK
- case 125:
+ case 127:
  YY_RULE_SETUP
- #line 1298 "dhcp6_lexer.ll"
 -#line 1315 "dhcp6_lexer.ll"
++#line 1317 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::SERVER_ID:
      }
  }
        YY_BREAK
- case 126:
+ case 128:
  YY_RULE_SETUP
- #line 1307 "dhcp6_lexer.ll"
 -#line 1324 "dhcp6_lexer.ll"
++#line 1326 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::SERVER_ID:
      }
  }
        YY_BREAK
- case 127:
+ case 129:
  YY_RULE_SETUP
- #line 1316 "dhcp6_lexer.ll"
 -#line 1333 "dhcp6_lexer.ll"
++#line 1335 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::SERVER_ID:
      }
  }
        YY_BREAK
- case 128:
+ case 130:
  YY_RULE_SETUP
- #line 1325 "dhcp6_lexer.ll"
 -#line 1342 "dhcp6_lexer.ll"
++#line 1344 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::SERVER_ID:
      }
  }
        YY_BREAK
- case 129:
+ case 131:
  YY_RULE_SETUP
- #line 1334 "dhcp6_lexer.ll"
 -#line 1351 "dhcp6_lexer.ll"
++#line 1353 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::DHCP6:
      }
  }
        YY_BREAK
- case 130:
+ case 132:
  YY_RULE_SETUP
- #line 1343 "dhcp6_lexer.ll"
 -#line 1360 "dhcp6_lexer.ll"
++#line 1362 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
      }
  }
        YY_BREAK
- case 131:
+ case 133:
  YY_RULE_SETUP
- #line 1352 "dhcp6_lexer.ll"
 -#line 1369 "dhcp6_lexer.ll"
++#line 1371 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
      }
  }
        YY_BREAK
- case 132:
+ case 134:
  YY_RULE_SETUP
- #line 1361 "dhcp6_lexer.ll"
 -#line 1378 "dhcp6_lexer.ll"
++#line 1380 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
      }
  }
        YY_BREAK
- case 133:
+ case 135:
  YY_RULE_SETUP
- #line 1370 "dhcp6_lexer.ll"
 -#line 1387 "dhcp6_lexer.ll"
++#line 1389 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
      }
  }
        YY_BREAK
- case 134:
+ case 136:
  YY_RULE_SETUP
- #line 1379 "dhcp6_lexer.ll"
 -#line 1396 "dhcp6_lexer.ll"
++#line 1398 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
      }
  }
        YY_BREAK
- case 135:
+ case 137:
  YY_RULE_SETUP
- #line 1388 "dhcp6_lexer.ll"
 -#line 1405 "dhcp6_lexer.ll"
++#line 1407 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
      }
  }
        YY_BREAK
- case 136:
+ case 138:
  YY_RULE_SETUP
- #line 1397 "dhcp6_lexer.ll"
 -#line 1414 "dhcp6_lexer.ll"
++#line 1416 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::DHCP6:
      }
  }
        YY_BREAK
- case 137:
+ case 139:
  YY_RULE_SETUP
- #line 1406 "dhcp6_lexer.ll"
 -#line 1423 "dhcp6_lexer.ll"
++#line 1425 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::DHCP6:
      }
  }
        YY_BREAK
- case 138:
+ case 140:
  YY_RULE_SETUP
- #line 1415 "dhcp6_lexer.ll"
 -#line 1432 "dhcp6_lexer.ll"
++#line 1434 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::CONTROL_SOCKET:
      }
  }
        YY_BREAK
- case 139:
+ case 141:
  YY_RULE_SETUP
- #line 1424 "dhcp6_lexer.ll"
 -#line 1441 "dhcp6_lexer.ll"
++#line 1443 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::CONTROL_SOCKET:
      }
  }
        YY_BREAK
- case 140:
+ case 142:
  YY_RULE_SETUP
- #line 1433 "dhcp6_lexer.ll"
 -#line 1450 "dhcp6_lexer.ll"
++#line 1452 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::DHCP6:
      }
  }
        YY_BREAK
- case 141:
+ case 143:
  YY_RULE_SETUP
- #line 1442 "dhcp6_lexer.ll"
 -#line 1459 "dhcp6_lexer.ll"
++#line 1461 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::CONFIG:
      }
  }
        YY_BREAK
- case 142:
+ case 144:
  YY_RULE_SETUP
- #line 1451 "dhcp6_lexer.ll"
 -#line 1468 "dhcp6_lexer.ll"
++#line 1470 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::CONFIG:
      }
  }
        YY_BREAK
- case 143:
+ case 145:
  YY_RULE_SETUP
- #line 1460 "dhcp6_lexer.ll"
 -#line 1477 "dhcp6_lexer.ll"
++#line 1479 "dhcp6_lexer.ll"
  {
      switch(driver.ctx_) {
      case isc::dhcp::Parser6Context::CONFIG:
      }
  }
        YY_BREAK
- case 144:
+ case 146:
  YY_RULE_SETUP
- #line 1470 "dhcp6_lexer.ll"
 -#line 1487 "dhcp6_lexer.ll"
++#line 1489 "dhcp6_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.
      return isc::dhcp::Dhcp6Parser::make_STRING(decoded, driver.loc_);
  }
        YY_BREAK
- case 145:
- /* rule 145 can match eol */
+ case 147:
+ /* rule 147 can match eol */
  YY_RULE_SETUP
- #line 1569 "dhcp6_lexer.ll"
 -#line 1586 "dhcp6_lexer.ll"
++#line 1588 "dhcp6_lexer.ll"
  {
      /* Bad string with a forbidden control character inside */
-     driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
+     driver.error(driver.loc_, "Invalid control in " + std::string(parser6_text));
  }
        YY_BREAK
- case 146:
- /* rule 146 can match eol */
+ case 148:
+ /* rule 148 can match eol */
  YY_RULE_SETUP
- #line 1574 "dhcp6_lexer.ll"
 -#line 1591 "dhcp6_lexer.ll"
++#line 1593 "dhcp6_lexer.ll"
  {
      /* Bad string with a bad escape inside */
-     driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
+     driver.error(driver.loc_, "Bad escape in " + std::string(parser6_text));
  }
        YY_BREAK
- case 147:
+ case 149:
  YY_RULE_SETUP
- #line 1579 "dhcp6_lexer.ll"
 -#line 1596 "dhcp6_lexer.ll"
++#line 1598 "dhcp6_lexer.ll"
  {
      /* Bad string with an open escape at the end */
-     driver.error(driver.loc_, "Overflow escape in " + std::string(yytext));
+     driver.error(driver.loc_, "Overflow escape in " + std::string(parser6_text));
  }
        YY_BREAK
- case 148:
+ case 150:
  YY_RULE_SETUP
- #line 1584 "dhcp6_lexer.ll"
 -#line 1601 "dhcp6_lexer.ll"
++#line 1603 "dhcp6_lexer.ll"
  { return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
- case 149:
+ case 151:
  YY_RULE_SETUP
- #line 1585 "dhcp6_lexer.ll"
 -#line 1602 "dhcp6_lexer.ll"
++#line 1604 "dhcp6_lexer.ll"
  { return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); }
        YY_BREAK
- case 150:
+ case 152:
  YY_RULE_SETUP
- #line 1586 "dhcp6_lexer.ll"
 -#line 1603 "dhcp6_lexer.ll"
++#line 1605 "dhcp6_lexer.ll"
  { return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); }
        YY_BREAK
- case 151:
+ case 153:
  YY_RULE_SETUP
- #line 1587 "dhcp6_lexer.ll"
 -#line 1604 "dhcp6_lexer.ll"
++#line 1606 "dhcp6_lexer.ll"
  { return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); }
        YY_BREAK
- case 152:
+ case 154:
  YY_RULE_SETUP
- #line 1588 "dhcp6_lexer.ll"
 -#line 1605 "dhcp6_lexer.ll"
++#line 1607 "dhcp6_lexer.ll"
  { return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); }
        YY_BREAK
- case 153:
+ case 155:
  YY_RULE_SETUP
- #line 1589 "dhcp6_lexer.ll"
 -#line 1606 "dhcp6_lexer.ll"
++#line 1608 "dhcp6_lexer.ll"
  { return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); }
        YY_BREAK
- case 154:
+ case 156:
  YY_RULE_SETUP
- #line 1591 "dhcp6_lexer.ll"
 -#line 1608 "dhcp6_lexer.ll"
++#line 1610 "dhcp6_lexer.ll"
  {
      /* An integer was found. */
-     std::string tmp(yytext);
+     std::string tmp(parser6_text);
      int64_t integer = 0;
      try {
          /* In substring we want to use negative values (e.g. -1).
      return isc::dhcp::Dhcp6Parser::make_INTEGER(integer, driver.loc_);
  }
        YY_BREAK
- case 155:
+ case 157:
  YY_RULE_SETUP
- #line 1609 "dhcp6_lexer.ll"
 -#line 1626 "dhcp6_lexer.ll"
++#line 1628 "dhcp6_lexer.ll"
  {
      /* A floating point was found. */
-     std::string tmp(yytext);
+     std::string tmp(parser6_text);
      double fp = 0.0;
      try {
          fp = boost::lexical_cast<double>(tmp);
      return isc::dhcp::Dhcp6Parser::make_FLOAT(fp, driver.loc_);
  }
        YY_BREAK
- case 156:
+ case 158:
  YY_RULE_SETUP
- #line 1622 "dhcp6_lexer.ll"
 -#line 1639 "dhcp6_lexer.ll"
++#line 1641 "dhcp6_lexer.ll"
  {
-     string tmp(yytext);
+     string tmp(parser6_text);
      return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_);
  }
        YY_BREAK
- case 157:
+ case 159:
  YY_RULE_SETUP
- #line 1627 "dhcp6_lexer.ll"
 -#line 1644 "dhcp6_lexer.ll"
++#line 1646 "dhcp6_lexer.ll"
  {
     return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_);
  }
        YY_BREAK
- case 158:
+ case 160:
  YY_RULE_SETUP
- #line 1631 "dhcp6_lexer.ll"
 -#line 1648 "dhcp6_lexer.ll"
++#line 1650 "dhcp6_lexer.ll"
  driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
        YY_BREAK
- case 159:
+ case 161:
  YY_RULE_SETUP
- #line 1633 "dhcp6_lexer.ll"
 -#line 1650 "dhcp6_lexer.ll"
++#line 1652 "dhcp6_lexer.ll"
  driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
        YY_BREAK
- case 160:
+ case 162:
  YY_RULE_SETUP
- #line 1635 "dhcp6_lexer.ll"
 -#line 1652 "dhcp6_lexer.ll"
++#line 1654 "dhcp6_lexer.ll"
  driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
        YY_BREAK
- case 161:
+ case 163:
  YY_RULE_SETUP
- #line 1637 "dhcp6_lexer.ll"
- driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
 -#line 1654 "dhcp6_lexer.ll"
++#line 1656 "dhcp6_lexer.ll"
+ driver.error (driver.loc_, "Invalid character: " + std::string(parser6_text));
        YY_BREAK
  case YY_STATE_EOF(INITIAL):
- #line 1639 "dhcp6_lexer.ll"
 -#line 1656 "dhcp6_lexer.ll"
++#line 1658 "dhcp6_lexer.ll"
  {
      if (driver.states_.empty()) {
          return isc::dhcp::Dhcp6Parser::make_END(driver.loc_);
      BEGIN(DIR_EXIT);
  }
        YY_BREAK
- case 162:
+ case 164:
  YY_RULE_SETUP
- #line 1662 "dhcp6_lexer.ll"
 -#line 1679 "dhcp6_lexer.ll"
++#line 1681 "dhcp6_lexer.ll"
  ECHO;
        YY_BREAK
- #line 4096 "dhcp6_lexer.cc"
 -#line 3932 "dhcp6_lexer.cc"
++#line 3934 "dhcp6_lexer.cc"
  
        case YY_END_OF_BUFFER:
                {
@@@ -5198,7 -5031,8 +5033,8 @@@ void parser6_free (void * ptr 
  
  /* %ok-for-header */
  
- #line 1662 "dhcp6_lexer.ll"
 -#line 1679 "dhcp6_lexer.ll"
++#line 1681 "dhcp6_lexer.ll"
  
  
  using namespace isc::dhcp;
Simple merge
Simple merge
index 8bc17134147eda5d27765483be54f9335d471a99,c5a7ae566f28ebba10eed4b7f578beb6b9de17d5..facf5a5f1be7e3096bc1aad89b737b5de96d6ffa
@@@ -253,13 -253,13 +253,13 @@@ namespace isc { namespace dhcp 
    {
        switch (that.type_get ())
      {
-       case 173: // value
-       case 177: // map_value
-       case 221: // db_type
-       case 297: // hr_mode
-       case 431: // duid_type
-       case 464: // ncr_protocol_value
-       case 472: // replace_client_name_value
+       case 175: // value
+       case 179: // map_value
+       case 223: // db_type
+       case 301: // hr_mode
 -      case 434: // duid_type
 -      case 467: // ncr_protocol_value
 -      case 475: // replace_client_name_value
++      case 435: // duid_type
++      case 468: // ncr_protocol_value
++      case 476: // replace_client_name_value
          value.move< ElementPtr > (that.value);
          break;
  
      state = that.state;
        switch (that.type_get ())
      {
-       case 173: // value
-       case 177: // map_value
-       case 221: // db_type
-       case 297: // hr_mode
-       case 431: // duid_type
-       case 464: // ncr_protocol_value
-       case 472: // replace_client_name_value
+       case 175: // value
+       case 179: // map_value
+       case 223: // db_type
+       case 301: // hr_mode
 -      case 434: // duid_type
 -      case 467: // ncr_protocol_value
 -      case 475: // replace_client_name_value
++      case 435: // duid_type
++      case 468: // ncr_protocol_value
++      case 476: // replace_client_name_value
          value.copy< ElementPtr > (that.value);
          break;
  
  #line 413 "dhcp6_parser.cc" // lalr1.cc:636
          break;
  
-       case 431: // duid_type
 -      case 434: // duid_type
++      case 435: // duid_type
  
- #line 229 "dhcp6_parser.yy" // lalr1.cc:636
+ #line 231 "dhcp6_parser.yy" // lalr1.cc:636
          { yyoutput << yysym.value.template as< ElementPtr > (); }
  #line 420 "dhcp6_parser.cc" // lalr1.cc:636
          break;
  
-       case 464: // ncr_protocol_value
 -      case 467: // ncr_protocol_value
++      case 468: // ncr_protocol_value
  
- #line 229 "dhcp6_parser.yy" // lalr1.cc:636
+ #line 231 "dhcp6_parser.yy" // lalr1.cc:636
          { yyoutput << yysym.value.template as< ElementPtr > (); }
  #line 427 "dhcp6_parser.cc" // lalr1.cc:636
          break;
  
-       case 472: // replace_client_name_value
 -      case 475: // replace_client_name_value
++      case 476: // replace_client_name_value
  
- #line 229 "dhcp6_parser.yy" // lalr1.cc:636
+ #line 231 "dhcp6_parser.yy" // lalr1.cc:636
          { yyoutput << yysym.value.template as< ElementPtr > (); }
  #line 434 "dhcp6_parser.cc" // lalr1.cc:636
          break;
           when using variants.  */
          switch (yyr1_[yyn])
      {
-       case 173: // value
-       case 177: // map_value
-       case 221: // db_type
-       case 297: // hr_mode
-       case 431: // duid_type
-       case 464: // ncr_protocol_value
-       case 472: // replace_client_name_value
+       case 175: // value
+       case 179: // map_value
+       case 223: // db_type
+       case 301: // hr_mode
 -      case 434: // duid_type
 -      case 467: // ncr_protocol_value
 -      case 475: // replace_client_name_value
++      case 435: // duid_type
++      case 468: // ncr_protocol_value
++      case 476: // replace_client_name_value
          yylhs.value.build< ElementPtr > ();
          break;
  
      // The pool parameter is required.
      ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
  }
- #line 2183 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2201 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 373:
- #line 1316 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 376:
 -#line 1329 "dhcp6_parser.yy" // lalr1.cc:859
++  case 377:
++#line 1330 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2191 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2209 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 374:
- #line 1318 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 377:
 -#line 1331 "dhcp6_parser.yy" // lalr1.cc:859
++  case 378:
++#line 1332 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr pool(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("pool", pool);
      ctx.leave();
  }
- #line 2201 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2219 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 375:
- #line 1324 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 378:
 -#line 1337 "dhcp6_parser.yy" // lalr1.cc:859
++  case 379:
++#line 1338 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2209 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2227 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 376:
- #line 1326 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 379:
 -#line 1339 "dhcp6_parser.yy" // lalr1.cc:859
++  case 380:
++#line 1340 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr parent = ctx.stack_.back();
      ElementPtr user_context = yystack_[0].value.as< ElementPtr > ();
      parent->set("user-context", user_context);
      ctx.leave();
  }
- #line 2236 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2254 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 377:
- #line 1349 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 380:
 -#line 1362 "dhcp6_parser.yy" // lalr1.cc:859
++  case 381:
++#line 1363 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2244 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2262 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 378:
- #line 1351 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 381:
 -#line 1364 "dhcp6_parser.yy" // lalr1.cc:859
++  case 382:
++#line 1365 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr parent = ctx.stack_.back();
      ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location)));
      parent->set("user-context", user_context);
      ctx.leave();
  }
- #line 2273 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2291 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 379:
- #line 1379 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 382:
 -#line 1392 "dhcp6_parser.yy" // lalr1.cc:859
++  case 383:
++#line 1393 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("pd-pools", l);
      ctx.stack_.push_back(l);
      ctx.enter(ctx.PD_POOLS);
  }
- #line 2284 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2302 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 380:
- #line 1384 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 383:
 -#line 1397 "dhcp6_parser.yy" // lalr1.cc:859
++  case 384:
++#line 1398 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 2293 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2311 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 385:
- #line 1399 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 388:
 -#line 1412 "dhcp6_parser.yy" // lalr1.cc:859
++  case 389:
++#line 1413 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->add(m);
      ctx.stack_.push_back(m);
  }
- #line 2303 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2321 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 386:
- #line 1403 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 389:
 -#line 1416 "dhcp6_parser.yy" // lalr1.cc:859
++  case 390:
++#line 1417 "dhcp6_parser.yy" // lalr1.cc:859
      {
      // The prefix, prefix len and delegated len parameters are required.
      ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
      ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
      ctx.stack_.pop_back();
  }
- #line 2315 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2333 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 387:
- #line 1411 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 390:
 -#line 1424 "dhcp6_parser.yy" // lalr1.cc:859
++  case 391:
++#line 1425 "dhcp6_parser.yy" // lalr1.cc:859
      {
      // Parse the pd-pool list entry map
      ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.push_back(m);
  }
- #line 2325 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2343 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 388:
- #line 1415 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 391:
 -#line 1428 "dhcp6_parser.yy" // lalr1.cc:859
++  case 392:
++#line 1429 "dhcp6_parser.yy" // lalr1.cc:859
      {
      // The prefix, prefix len and delegated len parameters are required.
      ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
      ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
      // parsing completed
  }
- #line 2337 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2355 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 401:
- #line 1439 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 403:
 -#line 1451 "dhcp6_parser.yy" // lalr1.cc:859
++  case 405:
++#line 1453 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2345 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2363 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 402:
- #line 1441 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 404:
 -#line 1453 "dhcp6_parser.yy" // lalr1.cc:859
++  case 406:
++#line 1455 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("prefix", prf);
      ctx.leave();
  }
- #line 2355 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2373 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 403:
- #line 1447 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 405:
 -#line 1459 "dhcp6_parser.yy" // lalr1.cc:859
++  case 407:
++#line 1461 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("prefix-len", prf);
  }
- #line 2364 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2382 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 404:
- #line 1452 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 406:
 -#line 1464 "dhcp6_parser.yy" // lalr1.cc:859
++  case 408:
++#line 1466 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2372 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2390 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 405:
- #line 1454 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 407:
 -#line 1466 "dhcp6_parser.yy" // lalr1.cc:859
++  case 409:
++#line 1468 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("excluded-prefix", prf);
      ctx.leave();
  }
- #line 2382 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2400 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 406:
- #line 1460 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 408:
 -#line 1472 "dhcp6_parser.yy" // lalr1.cc:859
++  case 410:
++#line 1474 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("excluded-prefix-len", prf);
  }
- #line 2391 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2409 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 407:
- #line 1465 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 409:
 -#line 1477 "dhcp6_parser.yy" // lalr1.cc:859
++  case 411:
++#line 1479 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr deleg(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("delegated-len", deleg);
  }
- #line 2400 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2418 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 408:
- #line 1473 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 410:
 -#line 1485 "dhcp6_parser.yy" // lalr1.cc:859
++  case 412:
++#line 1487 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("reservations", l);
      ctx.stack_.push_back(l);
      ctx.enter(ctx.RESERVATIONS);
  }
- #line 2411 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2429 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 409:
- #line 1478 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 411:
 -#line 1490 "dhcp6_parser.yy" // lalr1.cc:859
++  case 413:
++#line 1492 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 2420 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2438 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 414:
- #line 1491 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 416:
 -#line 1503 "dhcp6_parser.yy" // lalr1.cc:859
++  case 418:
++#line 1505 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->add(m);
      ctx.stack_.push_back(m);
  }
- #line 2430 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2448 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 415:
- #line 1495 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 417:
 -#line 1507 "dhcp6_parser.yy" // lalr1.cc:859
++  case 419:
++#line 1509 "dhcp6_parser.yy" // lalr1.cc:859
      {
      /// @todo: an identifier parameter is required.
      ctx.stack_.pop_back();
  }
- #line 2439 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2457 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 416:
- #line 1500 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 418:
 -#line 1512 "dhcp6_parser.yy" // lalr1.cc:859
++  case 420:
++#line 1514 "dhcp6_parser.yy" // lalr1.cc:859
      {
      // Parse the reservations list entry map
      ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.push_back(m);
  }
- #line 2449 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2467 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 417:
- #line 1504 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 419:
 -#line 1516 "dhcp6_parser.yy" // lalr1.cc:859
++  case 421:
++#line 1518 "dhcp6_parser.yy" // lalr1.cc:859
      {
      /// @todo: an identifier parameter is required.
      // parsing completed
  }
- #line 2458 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2476 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 433:
- #line 1531 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 435:
 -#line 1543 "dhcp6_parser.yy" // lalr1.cc:859
++  case 437:
++#line 1545 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("ip-addresses", l);
      ctx.stack_.push_back(l);
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2469 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2487 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 434:
- #line 1536 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 436:
 -#line 1548 "dhcp6_parser.yy" // lalr1.cc:859
++  case 438:
++#line 1550 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 2478 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2496 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 435:
- #line 1541 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 437:
 -#line 1553 "dhcp6_parser.yy" // lalr1.cc:859
++  case 439:
++#line 1555 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("prefixes", l);
      ctx.stack_.push_back(l);
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2489 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2507 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 436:
- #line 1546 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 438:
 -#line 1558 "dhcp6_parser.yy" // lalr1.cc:859
++  case 440:
++#line 1560 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 2498 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2516 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 437:
- #line 1551 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 439:
 -#line 1563 "dhcp6_parser.yy" // lalr1.cc:859
++  case 441:
++#line 1565 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2506 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2524 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 438:
- #line 1553 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 440:
 -#line 1565 "dhcp6_parser.yy" // lalr1.cc:859
++  case 442:
++#line 1567 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr d(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("duid", d);
      ctx.leave();
  }
- #line 2516 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2534 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 439:
- #line 1559 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 441:
 -#line 1571 "dhcp6_parser.yy" // lalr1.cc:859
++  case 443:
++#line 1573 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2524 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2542 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 440:
- #line 1561 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 442:
 -#line 1573 "dhcp6_parser.yy" // lalr1.cc:859
++  case 444:
++#line 1575 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("hw-address", hw);
      ctx.leave();
  }
- #line 2534 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2552 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 441:
- #line 1567 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 443:
 -#line 1579 "dhcp6_parser.yy" // lalr1.cc:859
++  case 445:
++#line 1581 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2542 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2560 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 442:
- #line 1569 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 444:
 -#line 1581 "dhcp6_parser.yy" // lalr1.cc:859
++  case 446:
++#line 1583 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr host(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("hostname", host);
      ctx.leave();
  }
- #line 2552 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2570 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 443:
- #line 1575 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 445:
 -#line 1587 "dhcp6_parser.yy" // lalr1.cc:859
++  case 447:
++#line 1589 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2560 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2578 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 444:
- #line 1577 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 446:
 -#line 1589 "dhcp6_parser.yy" // lalr1.cc:859
++  case 448:
++#line 1591 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("flex-id", hw);
      ctx.leave();
  }
- #line 2570 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2588 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 445:
- #line 1583 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 447:
 -#line 1595 "dhcp6_parser.yy" // lalr1.cc:859
++  case 449:
++#line 1597 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("client-classes", c);
      ctx.stack_.push_back(c);
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2581 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2599 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 446:
- #line 1588 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 448:
 -#line 1600 "dhcp6_parser.yy" // lalr1.cc:859
++  case 450:
++#line 1602 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 2590 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2608 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 447:
- #line 1596 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 449:
 -#line 1608 "dhcp6_parser.yy" // lalr1.cc:859
++  case 451:
++#line 1610 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("relay", m);
      ctx.stack_.push_back(m);
      ctx.enter(ctx.RELAY);
  }
- #line 2601 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2619 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 448:
- #line 1601 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 450:
 -#line 1613 "dhcp6_parser.yy" // lalr1.cc:859
++  case 452:
++#line 1615 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 2610 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2628 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 449:
- #line 1606 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 451:
 -#line 1618 "dhcp6_parser.yy" // lalr1.cc:859
++  case 453:
++#line 1620 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2618 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2636 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 450:
- #line 1608 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 452:
 -#line 1620 "dhcp6_parser.yy" // lalr1.cc:859
++  case 454:
++#line 1622 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr ip(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("ip-address", ip);
      ctx.leave();
  }
- #line 2628 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2646 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 451:
- #line 1617 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 453:
 -#line 1629 "dhcp6_parser.yy" // lalr1.cc:859
++  case 455:
++#line 1631 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("client-classes", l);
      ctx.stack_.push_back(l);
      ctx.enter(ctx.CLIENT_CLASSES);
  }
- #line 2639 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2657 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 452:
- #line 1622 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 454:
 -#line 1634 "dhcp6_parser.yy" // lalr1.cc:859
++  case 456:
++#line 1636 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 2648 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2666 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 455:
- #line 1631 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 457:
 -#line 1643 "dhcp6_parser.yy" // lalr1.cc:859
++  case 459:
++#line 1645 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->add(m);
      ctx.stack_.push_back(m);
  }
- #line 2658 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2676 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 456:
- #line 1635 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 458:
 -#line 1647 "dhcp6_parser.yy" // lalr1.cc:859
++  case 460:
++#line 1649 "dhcp6_parser.yy" // lalr1.cc:859
      {
      // The name client class parameter is required.
      ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
      ctx.stack_.pop_back();
  }
- #line 2668 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2686 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 468:
- #line 1659 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 470:
 -#line 1671 "dhcp6_parser.yy" // lalr1.cc:859
++  case 472:
++#line 1673 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2676 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2694 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 469:
- #line 1661 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 471:
 -#line 1673 "dhcp6_parser.yy" // lalr1.cc:859
++  case 473:
++#line 1675 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr test(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("test", test);
      ctx.leave();
  }
- #line 2686 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2704 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 470:
- #line 1670 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 472:
 -#line 1682 "dhcp6_parser.yy" // lalr1.cc:859
++  case 474:
++#line 1684 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("server-id", m);
      ctx.stack_.push_back(m);
      ctx.enter(ctx.SERVER_ID);
  }
- #line 2697 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2715 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 471:
- #line 1675 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 473:
 -#line 1687 "dhcp6_parser.yy" // lalr1.cc:859
++  case 475:
++#line 1689 "dhcp6_parser.yy" // lalr1.cc:859
      {
      // The type parameter is required.
      ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 2708 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2726 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 483:
- #line 1697 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 485:
 -#line 1709 "dhcp6_parser.yy" // lalr1.cc:859
++  case 487:
++#line 1711 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.DUID_TYPE);
  }
- #line 2716 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2734 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 484:
- #line 1699 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 486:
 -#line 1711 "dhcp6_parser.yy" // lalr1.cc:859
++  case 488:
++#line 1713 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ());
      ctx.leave();
  }
- #line 2725 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2743 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 485:
- #line 1704 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 487:
 -#line 1716 "dhcp6_parser.yy" // lalr1.cc:859
++  case 489:
++#line 1718 "dhcp6_parser.yy" // lalr1.cc:859
      { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); }
- #line 2731 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2749 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 486:
- #line 1705 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 488:
 -#line 1717 "dhcp6_parser.yy" // lalr1.cc:859
++  case 490:
++#line 1719 "dhcp6_parser.yy" // lalr1.cc:859
      { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); }
- #line 2737 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2755 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 487:
- #line 1706 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 489:
 -#line 1718 "dhcp6_parser.yy" // lalr1.cc:859
++  case 491:
++#line 1720 "dhcp6_parser.yy" // lalr1.cc:859
      { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); }
- #line 2743 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2761 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 488:
- #line 1709 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 490:
 -#line 1721 "dhcp6_parser.yy" // lalr1.cc:859
++  case 492:
++#line 1723 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr htype(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("htype", htype);
  }
- #line 2752 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2770 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 489:
- #line 1714 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 491:
 -#line 1726 "dhcp6_parser.yy" // lalr1.cc:859
++  case 493:
++#line 1728 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2760 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2778 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 490:
- #line 1716 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 492:
 -#line 1728 "dhcp6_parser.yy" // lalr1.cc:859
++  case 494:
++#line 1730 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr id(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("identifier", id);
      ctx.leave();
  }
- #line 2770 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2788 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 491:
- #line 1722 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 493:
 -#line 1734 "dhcp6_parser.yy" // lalr1.cc:859
++  case 495:
++#line 1736 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("time", time);
  }
- #line 2779 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2797 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 492:
- #line 1727 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 494:
 -#line 1739 "dhcp6_parser.yy" // lalr1.cc:859
++  case 496:
++#line 1741 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("enterprise-id", time);
  }
- #line 2788 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2806 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 493:
- #line 1734 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 495:
 -#line 1746 "dhcp6_parser.yy" // lalr1.cc:859
++  case 497:
++#line 1748 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("dhcp4o6-port", time);
  }
- #line 2797 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2815 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 494:
- #line 1741 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 496:
 -#line 1753 "dhcp6_parser.yy" // lalr1.cc:859
++  case 498:
++#line 1755 "dhcp6_parser.yy" // lalr1.cc:859
      {
      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 2808 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2826 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 495:
- #line 1746 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 497:
 -#line 1758 "dhcp6_parser.yy" // lalr1.cc:859
++  case 499:
++#line 1760 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 2817 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2835 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 503:
- #line 1762 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 505:
 -#line 1774 "dhcp6_parser.yy" // lalr1.cc:859
++  case 507:
++#line 1776 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2825 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2843 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 504:
- #line 1764 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 506:
 -#line 1776 "dhcp6_parser.yy" // lalr1.cc:859
++  case 508:
++#line 1778 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr stype(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("socket-type", stype);
      ctx.leave();
  }
- #line 2835 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2853 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 505:
- #line 1770 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 507:
 -#line 1782 "dhcp6_parser.yy" // lalr1.cc:859
++  case 509:
++#line 1784 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2843 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2861 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 506:
- #line 1772 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 508:
 -#line 1784 "dhcp6_parser.yy" // lalr1.cc:859
++  case 510:
++#line 1786 "dhcp6_parser.yy" // lalr1.cc:859
      {
      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 2853 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2871 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 507:
- #line 1780 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 509:
 -#line 1792 "dhcp6_parser.yy" // lalr1.cc:859
++  case 511:
++#line 1794 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("dhcp-ddns", m);
      ctx.stack_.push_back(m);
      ctx.enter(ctx.DHCP_DDNS);
  }
- #line 2864 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2882 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 508:
- #line 1785 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 510:
 -#line 1797 "dhcp6_parser.yy" // lalr1.cc:859
++  case 512:
++#line 1799 "dhcp6_parser.yy" // lalr1.cc:859
      {
      // The enable updates DHCP DDNS parameter is required.
      ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location));
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 2875 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2893 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 509:
- #line 1792 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 511:
 -#line 1804 "dhcp6_parser.yy" // lalr1.cc:859
++  case 513:
++#line 1806 "dhcp6_parser.yy" // lalr1.cc:859
      {
      // Parse the dhcp-ddns map
      ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.push_back(m);
  }
- #line 2885 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2903 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 510:
- #line 1796 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 512:
 -#line 1808 "dhcp6_parser.yy" // lalr1.cc:859
++  case 514:
++#line 1810 "dhcp6_parser.yy" // lalr1.cc:859
      {
      // The enable updates DHCP DDNS parameter is required.
      ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location));
      // parsing completed
  }
- #line 2895 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2913 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 530:
- #line 1825 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 532:
 -#line 1837 "dhcp6_parser.yy" // lalr1.cc:859
++  case 534:
++#line 1839 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("enable-updates", b);
  }
- #line 2904 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2922 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 531:
- #line 1830 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 533:
 -#line 1842 "dhcp6_parser.yy" // lalr1.cc:859
++  case 535:
++#line 1844 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2912 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2930 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 532:
- #line 1832 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 534:
 -#line 1844 "dhcp6_parser.yy" // lalr1.cc:859
++  case 536:
++#line 1846 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("qualifying-suffix", s);
      ctx.leave();
  }
- #line 2922 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2940 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 533:
- #line 1838 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 535:
 -#line 1850 "dhcp6_parser.yy" // lalr1.cc:859
++  case 537:
++#line 1852 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2930 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2948 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 534:
- #line 1840 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 536:
 -#line 1852 "dhcp6_parser.yy" // lalr1.cc:859
++  case 538:
++#line 1854 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("server-ip", s);
      ctx.leave();
  }
- #line 2940 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2958 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 535:
- #line 1846 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 537:
 -#line 1858 "dhcp6_parser.yy" // lalr1.cc:859
++  case 539:
++#line 1860 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("server-port", i);
  }
- #line 2949 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2967 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 536:
- #line 1851 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 538:
 -#line 1863 "dhcp6_parser.yy" // lalr1.cc:859
++  case 540:
++#line 1865 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 2957 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2975 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 537:
- #line 1853 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 539:
 -#line 1865 "dhcp6_parser.yy" // lalr1.cc:859
++  case 541:
++#line 1867 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("sender-ip", s);
      ctx.leave();
  }
- #line 2967 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2985 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 538:
- #line 1859 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 540:
 -#line 1871 "dhcp6_parser.yy" // lalr1.cc:859
++  case 542:
++#line 1873 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("sender-port", i);
  }
- #line 2976 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 2994 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 539:
- #line 1864 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 541:
 -#line 1876 "dhcp6_parser.yy" // lalr1.cc:859
++  case 543:
++#line 1878 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("max-queue-size", i);
  }
- #line 2985 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3003 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 540:
- #line 1869 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 542:
 -#line 1881 "dhcp6_parser.yy" // lalr1.cc:859
++  case 544:
++#line 1883 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NCR_PROTOCOL);
  }
- #line 2993 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3011 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 541:
- #line 1871 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 543:
 -#line 1883 "dhcp6_parser.yy" // lalr1.cc:859
++  case 545:
++#line 1885 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ());
      ctx.leave();
  }
- #line 3002 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3020 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 542:
- #line 1877 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 544:
 -#line 1889 "dhcp6_parser.yy" // lalr1.cc:859
++  case 546:
++#line 1891 "dhcp6_parser.yy" // lalr1.cc:859
      { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
- #line 3008 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3026 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 543:
- #line 1878 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 545:
 -#line 1890 "dhcp6_parser.yy" // lalr1.cc:859
++  case 547:
++#line 1892 "dhcp6_parser.yy" // lalr1.cc:859
      { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
- #line 3014 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3032 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 544:
- #line 1881 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 546:
 -#line 1893 "dhcp6_parser.yy" // lalr1.cc:859
++  case 548:
++#line 1895 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NCR_FORMAT);
  }
- #line 3022 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3040 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 545:
- #line 1883 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 547:
 -#line 1895 "dhcp6_parser.yy" // lalr1.cc:859
++  case 549:
++#line 1897 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("ncr-format", json);
      ctx.leave();
  }
- #line 3032 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3050 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 546:
- #line 1889 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 548:
 -#line 1901 "dhcp6_parser.yy" // lalr1.cc:859
++  case 550:
++#line 1903 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("always-include-fqdn", b);
  }
- #line 3041 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3059 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 547:
- #line 1894 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 549:
 -#line 1906 "dhcp6_parser.yy" // lalr1.cc:859
++  case 551:
++#line 1908 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("override-no-update", b);
  }
- #line 3050 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3068 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 548:
- #line 1899 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 550:
 -#line 1911 "dhcp6_parser.yy" // lalr1.cc:859
++  case 552:
++#line 1913 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("override-client-update", b);
  }
- #line 3059 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3077 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 549:
- #line 1904 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 551:
 -#line 1916 "dhcp6_parser.yy" // lalr1.cc:859
++  case 553:
++#line 1918 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.REPLACE_CLIENT_NAME);
  }
- #line 3067 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3085 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 550:
- #line 1906 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 552:
 -#line 1918 "dhcp6_parser.yy" // lalr1.cc:859
++  case 554:
++#line 1920 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ());
      ctx.leave();
  }
- #line 3076 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3094 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 551:
- #line 1912 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 553:
 -#line 1924 "dhcp6_parser.yy" // lalr1.cc:859
++  case 555:
++#line 1926 "dhcp6_parser.yy" // lalr1.cc:859
      {
-       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); 
+       yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location)));
        }
- #line 3084 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3102 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 552:
- #line 1915 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 554:
 -#line 1927 "dhcp6_parser.yy" // lalr1.cc:859
++  case 556:
++#line 1929 "dhcp6_parser.yy" // lalr1.cc:859
      {
        yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location)));
        }
- #line 3092 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3110 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 553:
- #line 1918 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 555:
 -#line 1930 "dhcp6_parser.yy" // lalr1.cc:859
++  case 557:
++#line 1932 "dhcp6_parser.yy" // lalr1.cc:859
      {
        yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location)));
        }
- #line 3100 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3118 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 554:
- #line 1921 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 556:
 -#line 1933 "dhcp6_parser.yy" // lalr1.cc:859
++  case 558:
++#line 1935 "dhcp6_parser.yy" // lalr1.cc:859
      {
        yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location)));
        }
- #line 3108 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3126 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 555:
- #line 1924 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 557:
 -#line 1936 "dhcp6_parser.yy" // lalr1.cc:859
++  case 559:
++#line 1938 "dhcp6_parser.yy" // lalr1.cc:859
      {
        error(yystack_[0].location, "boolean values for the replace-client-name are "
                  "no longer supported");
        }
- #line 3117 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3135 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 556:
- #line 1930 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 558:
 -#line 1942 "dhcp6_parser.yy" // lalr1.cc:859
++  case 560:
++#line 1944 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 3125 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3143 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 557:
- #line 1932 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 559:
 -#line 1944 "dhcp6_parser.yy" // lalr1.cc:859
++  case 561:
++#line 1946 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("generated-prefix", s);
      ctx.leave();
  }
- #line 3135 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3153 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 558:
- #line 1940 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 560:
 -#line 1952 "dhcp6_parser.yy" // lalr1.cc:859
++  case 562:
++#line 1954 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 3143 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3161 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 559:
- #line 1942 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 561:
 -#line 1954 "dhcp6_parser.yy" // lalr1.cc:859
++  case 563:
++#line 1956 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as< ElementPtr > ());
      ctx.leave();
  }
- #line 3152 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3170 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 560:
- #line 1947 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 562:
 -#line 1959 "dhcp6_parser.yy" // lalr1.cc:859
++  case 564:
++#line 1961 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 3160 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3178 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 561:
- #line 1949 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 563:
 -#line 1961 "dhcp6_parser.yy" // lalr1.cc:859
++  case 565:
++#line 1963 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ());
      ctx.leave();
  }
- #line 3169 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3187 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 562:
- #line 1954 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 564:
 -#line 1966 "dhcp6_parser.yy" // lalr1.cc:859
++  case 566:
++#line 1968 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 3177 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3195 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 563:
- #line 1956 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 565:
 -#line 1968 "dhcp6_parser.yy" // lalr1.cc:859
++  case 567:
++#line 1970 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ());
      ctx.leave();
  }
- #line 3186 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3204 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 564:
- #line 1967 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 566:
 -#line 1979 "dhcp6_parser.yy" // lalr1.cc:859
++  case 568:
++#line 1981 "dhcp6_parser.yy" // lalr1.cc:859
      {
      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 3197 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3215 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 565:
- #line 1972 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 567:
 -#line 1984 "dhcp6_parser.yy" // lalr1.cc:859
++  case 569:
++#line 1986 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 3206 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3224 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 566:
- #line 1977 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 568:
 -#line 1989 "dhcp6_parser.yy" // lalr1.cc:859
++  case 570:
++#line 1991 "dhcp6_parser.yy" // lalr1.cc:859
      {
      // Parse the Logging map
      ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.push_back(m);
  }
- #line 3216 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3234 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 567:
- #line 1981 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 569:
 -#line 1993 "dhcp6_parser.yy" // lalr1.cc:859
++  case 571:
++#line 1995 "dhcp6_parser.yy" // lalr1.cc:859
      {
      // parsing completed
  }
- #line 3224 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3242 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 571:
- #line 1997 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 573:
 -#line 2009 "dhcp6_parser.yy" // lalr1.cc:859
++  case 575:
++#line 2011 "dhcp6_parser.yy" // lalr1.cc:859
      {
      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 3235 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3253 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 572:
- #line 2002 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 574:
 -#line 2014 "dhcp6_parser.yy" // lalr1.cc:859
++  case 576:
++#line 2016 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 3244 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3262 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 575:
- #line 2014 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 577:
 -#line 2026 "dhcp6_parser.yy" // lalr1.cc:859
++  case 579:
++#line 2028 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->add(l);
      ctx.stack_.push_back(l);
  }
- #line 3254 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3272 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 576:
- #line 2018 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 578:
 -#line 2030 "dhcp6_parser.yy" // lalr1.cc:859
++  case 580:
++#line 2032 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
  }
- #line 3262 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3280 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 586:
- #line 2035 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 588:
 -#line 2047 "dhcp6_parser.yy" // lalr1.cc:859
++  case 590:
++#line 2049 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("debuglevel", dl);
  }
- #line 3271 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3289 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 587:
- #line 2040 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 589:
 -#line 2052 "dhcp6_parser.yy" // lalr1.cc:859
++  case 591:
++#line 2054 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 3279 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3297 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 588:
- #line 2042 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 590:
 -#line 2054 "dhcp6_parser.yy" // lalr1.cc:859
++  case 592:
++#line 2056 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("severity", sev);
      ctx.leave();
  }
- #line 3289 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3307 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 589:
- #line 2048 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 591:
 -#line 2060 "dhcp6_parser.yy" // lalr1.cc:859
++  case 593:
++#line 2062 "dhcp6_parser.yy" // lalr1.cc:859
      {
      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 3300 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3318 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 590:
- #line 2053 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 592:
 -#line 2065 "dhcp6_parser.yy" // lalr1.cc:859
++  case 594:
++#line 2067 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
      ctx.leave();
  }
- #line 3309 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3327 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 593:
- #line 2062 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 595:
 -#line 2074 "dhcp6_parser.yy" // lalr1.cc:859
++  case 597:
++#line 2076 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->add(m);
      ctx.stack_.push_back(m);
  }
- #line 3319 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3337 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 594:
- #line 2066 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 596:
 -#line 2078 "dhcp6_parser.yy" // lalr1.cc:859
++  case 598:
++#line 2080 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.stack_.pop_back();
  }
- #line 3327 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3345 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 601:
- #line 2080 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 603:
 -#line 2092 "dhcp6_parser.yy" // lalr1.cc:859
++  case 605:
++#line 2094 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ctx.enter(ctx.NO_KEYWORD);
  }
- #line 3335 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3353 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 602:
- #line 2082 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 604:
 -#line 2094 "dhcp6_parser.yy" // lalr1.cc:859
++  case 606:
++#line 2096 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("output", sev);
      ctx.leave();
  }
- #line 3345 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3363 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 603:
- #line 2088 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 605:
 -#line 2100 "dhcp6_parser.yy" // lalr1.cc:859
++  case 607:
++#line 2102 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("flush", flush);
  }
- #line 3354 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3372 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 604:
- #line 2093 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 606:
 -#line 2105 "dhcp6_parser.yy" // lalr1.cc:859
++  case 608:
++#line 2107 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("maxsize", maxsize);
  }
- #line 3363 "dhcp6_parser.cc" // lalr1.cc:859
+ #line 3381 "dhcp6_parser.cc" // lalr1.cc:859
      break;
  
-   case 605:
- #line 2098 "dhcp6_parser.yy" // lalr1.cc:859
 -  case 607:
 -#line 2110 "dhcp6_parser.yy" // lalr1.cc:859
++  case 609:
++#line 2112 "dhcp6_parser.yy" // lalr1.cc:859
      {
      ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
      ctx.stack_.back()->set("maxver", maxver);
    }
  
  
-   const short int Dhcp6Parser::yypact_ninf_ = -750;
 -  const short int Dhcp6Parser::yypact_ninf_ = -768;
++  const short int Dhcp6Parser::yypact_ninf_ = -756;
  
    const signed char Dhcp6Parser::yytable_ninf_ = -1;
  
    const short int
    Dhcp6Parser::yypact_[] =
    {
-      406,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,    51,    27,    42,   115,   123,
-      140,   159,   160,   170,   180,   194,   207,   208,   215,   221,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,    27,   -88,
-       36,    49,    32,   200,   150,    72,   141,   103,    92,   236,
-      -46,   351,   109,  -750,    67,   240,   264,   279,   241,  -750,
-     -750,  -750,  -750,  -750,   285,  -750,    34,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,   303,   319,   329,   339,
-      341,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,   342,  -750,  -750,  -750,    40,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,   344,  -750,    54,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,   346,   352,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,    63,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,    71,
-     -750,  -750,  -750,  -750,  -750,   359,  -750,   363,   364,  -750,
-     -750,  -750,  -750,  -750,   133,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,   290,   315,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,   347,  -750,  -750,   366,  -750,  -750,  -750,   369,
-     -750,  -750,   370,   368,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,   371,   373,  -750,
-     -750,  -750,  -750,   372,   378,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,   161,  -750,  -750,
-     -750,   379,  -750,  -750,   380,  -750,   381,   383,  -750,  -750,
-      386,   387,   389,  -750,  -750,  -750,  -750,  -750,   162,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,   183,  -750,  -750,  -750,    27,
-       27,  -750,   242,   390,   398,   400,   405,   407,  -750,    36,
-     -750,   408,   409,   410,   220,   265,   266,   267,   268,   411,
-      413,   414,   421,   424,   427,   428,   429,   430,   431,   432,
-      433,   434,   288,   435,   437,    49,  -750,   439,   289,    32,
-     -750,   440,   442,   443,   445,   446,   302,   295,   451,   467,
-      468,   469,   200,  -750,   473,   150,  -750,   474,   325,   476,
-      327,   328,    72,  -750,   479,   480,   481,   482,   483,   484,
-      485,  -750,   141,  -750,   489,   490,   343,   491,   494,   495,
-      345,  -750,    92,   496,   349,   350,  -750,   236,   498,   499,
-        7,  -750,   353,   503,   504,   356,   507,   361,   362,   513,
-      514,   365,   374,   375,   515,   518,   351,  -750,   519,   109,
-     -750,  -750,  -750,   522,   520,   521,    27,    27,    27,  -750,
-      525,   526,   527,  -750,  -750,  -750,  -750,  -750,   524,   530,
-      531,   536,   384,   554,   555,   556,   557,   558,   559,   560,
-      561,  -750,   562,   563,  -750,   566,  -750,  -750,   567,   568,
-      412,   422,   423,  -750,  -750,   189,   425,   569,   570,  -750,
-      426,  -750,   436,  -750,   438,  -750,  -750,  -750,   566,   566,
-      566,   441,   444,   447,   448,  -750,   449,   450,  -750,   452,
-      453,   454,  -750,  -750,   455,  -750,  -750,  -750,   456,    27,
-     -750,  -750,   457,   458,  -750,   459,  -750,  -750,   -43,   460,
-     -750,  -750,  -750,   116,   461,  -750,   575,  -750,    27,    49,
-      109,  -750,  -750,  -750,    32,    74,    74,   574,   576,   577,
-     -750,  -750,  -750,   578,   -42,    27,    66,   579,   580,    68,
-       96,    58,   351,  -750,  -750,   581,   583,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,   585,   511,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,   588,
-     -750,   205,   227,   243,  -750,  -750,  -750,  -750,   592,   594,
-      595,   600,   609,  -750,  -750,  -750,   244,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-      262,  -750,   610,   612,  -750,  -750,   611,   615,  -750,  -750,
-      613,   617,  -750,  -750,   616,   618,  -750,  -750,  -750,    44,
-     -750,  -750,  -750,   619,  -750,  -750,  -750,   223,  -750,  -750,
-     -750,  -750,   261,  -750,  -750,   620,   621,  -750,   623,   624,
-      625,   626,   627,   628,   263,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,   629,   630,   631,  -750,  -750,  -750,
-     -750,   280,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,   283,  -750,  -750,  -750,   287,   470,  -750,
-      632,   633,  -750,  -750,   634,   636,  -750,  -750,   635,   639,
-     -750,  -750,   637,  -750,   314,  -750,  -750,  -750,  -750,   640,
-      642,   643,   644,   497,   487,   500,   493,   501,   646,   648,
-       74,  -750,  -750,   200,  -750,   574,    92,  -750,   576,   236,
-     -750,   577,   367,  -750,   578,   -42,  -750,  -750,    66,  -750,
-       37,   579,  -750,   -46,  -750,   580,   502,   505,   506,   508,
-      509,   510,    68,  -750,   649,   653,   512,   516,   517,    96,
-     -750,   654,   657,    58,  -750,  -750,  -750,   659,   664,   150,
-     -750,   581,    72,  -750,   583,   141,  -750,   585,   665,  -750,
-      153,   588,  -750,   321,   523,   529,   532,  -750,  -750,  -750,
-     -750,  -750,   534,   535,  -750,   293,  -750,   660,  -750,   666,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,   294,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,   667,   669,
-     -750,  -750,  -750,  -750,   297,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,   235,   538,  -750,  -750,  -750,  -750,   540,
-      543,  -750,  -750,   548,   301,  -750,   305,  -750,   670,  -750,
-      549,  -750,   673,  -750,  -750,  -750,  -750,  -750,   308,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,   367,  -750,   675,
-     -750,    37,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,   680,   564,   705,   153,  -750,
-     -750,   571,  -750,   668,  -750,   572,  -750,  -750,   703,  -750,
-     -750,   322,  -750,    70,   703,  -750,  -750,   708,   709,   711,
-      311,  -750,  -750,  -750,  -750,  -750,  -750,   712,   565,   573,
-      584,    70,  -750,   591,  -750,  -750,  -750,  -750,  -750
 -     304,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,    60,    28,    62,    80,    84,
 -     119,   129,   153,   159,   168,   172,   181,   183,   185,   187,
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,    28,     3,
 -      32,   162,    34,    38,    97,    -2,   182,   164,   165,   248,
 -     -28,   319,    95,  -768,   230,   268,   283,   280,   296,  -768,
 -    -768,  -768,  -768,  -768,   301,  -768,   103,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,   323,   327,   348,   350,
 -     360,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,   361,  -768,  -768,  -768,   131,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,   368,  -768,   151,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,   369,
 -     371,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -     161,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,   207,
 -    -768,  -768,  -768,  -768,  -768,   378,  -768,   385,   389,  -768,
 -    -768,  -768,  -768,   208,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,   322,   383,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,   386,  -768,  -768,   392,  -768,  -768,  -768,   393,  -768,
 -    -768,   390,   396,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,   400,   401,  -768,  -768,
 -    -768,  -768,   399,   397,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,   236,  -768,  -768,  -768,
 -     404,  -768,  -768,   406,  -768,   407,   415,  -768,  -768,   416,
 -     417,   418,  -768,  -768,  -768,  -768,  -768,   240,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,   243,  -768,  -768,  -768,    28,    28,
 -    -768,   269,   419,   422,   437,   455,   456,  -768,    32,  -768,
 -     457,   458,   459,   309,   311,   312,   313,   314,   460,   462,
 -     467,   468,   469,   471,   472,   473,   474,   475,   476,   477,
 -     478,   328,   479,   484,   162,  -768,   485,   334,    34,  -768,
 -      36,   489,   490,   491,   492,   493,   343,   340,   496,   500,
 -     501,   503,    38,  -768,   505,    97,  -768,   506,   357,   507,
 -     358,   362,    -2,  -768,   511,   512,   513,   515,   516,   517,
 -     521,  -768,   182,  -768,   523,   524,   374,   527,   528,   529,
 -     377,  -768,   165,   530,   379,   381,  -768,   248,   532,   534,
 -      -7,  -768,   384,   536,   537,   387,   542,   391,   394,   544,
 -     545,   395,   398,   405,   547,   548,   319,  -768,   550,    95,
 -    -768,  -768,  -768,   551,   552,   557,    28,    28,    28,  -768,
 -     558,   559,   561,  -768,  -768,  -768,  -768,  -768,   553,   564,
 -     565,   566,   402,   567,   569,   570,   571,   572,   573,   574,
 -     575,  -768,   576,   577,  -768,   580,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,   563,   583,  -768,  -768,  -768,   582,
 -     584,   424,   425,   435,  -768,  -768,   -27,   436,   587,   586,
 -    -768,   439,  -768,   440,  -768,   441,  -768,  -768,  -768,   580,
 -     580,   580,   442,   443,   444,   445,  -768,   446,   447,  -768,
 -     448,   449,   450,  -768,  -768,   451,  -768,  -768,  -768,   452,
 -      28,  -768,  -768,   453,   454,  -768,   461,  -768,  -768,     2,
 -     486,  -768,  -768,  -768,     5,   463,  -768,   606,  -768,    28,
 -     162,    95,  -768,  -768,  -768,    34,   254,   254,   605,   607,
 -     608,  -768,  -768,  -768,   610,   -36,    28,    25,    37,   612,
 -     324,    50,    23,   319,  -768,  -768,   609,  -768,    36,   613,
 -     614,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,   615,
 -     539,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,   617,  -768,   246,   250,   264,  -768,  -768,
 -    -768,  -768,   621,   622,   623,   624,   625,  -768,   626,   627,
 -    -768,  -768,   293,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,   294,  -768,
 -     628,   629,  -768,  -768,   630,   632,  -768,  -768,   631,   635,
 -    -768,  -768,   633,   637,  -768,  -768,  -768,   132,  -768,  -768,
 -    -768,   636,  -768,  -768,  -768,   139,  -768,  -768,  -768,  -768,
 -     201,  -768,   638,   640,  -768,   641,   642,   643,   644,   645,
 -     646,   300,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,   647,   648,   649,  -768,  -768,  -768,  -768,   306,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -     308,  -768,  -768,  -768,   310,   499,   502,  -768,  -768,   650,
 -     652,  -768,  -768,   653,   655,  -768,  -768,   654,   658,  -768,
 -    -768,   656,  -768,   338,  -768,  -768,  -768,  -768,   659,   661,
 -     662,   663,   514,   483,   518,   504,   519,   664,   520,   522,
 -     665,   254,  -768,  -768,    38,  -768,   605,   165,  -768,   607,
 -     248,  -768,   608,    82,  -768,   610,   -36,  -768,  -768,    25,
 -    -768,    37,  -768,   -28,  -768,   612,   525,   526,   531,   533,
 -     535,   538,   324,  -768,   667,   668,   540,   541,   543,    50,
 -    -768,   669,   673,    23,  -768,  -768,  -768,   674,   676,  -768,
 -      97,  -768,   613,    -2,  -768,   614,   182,  -768,   615,   679,
 -    -768,   215,   617,  -768,   209,   554,   578,   581,  -768,  -768,
 -    -768,  -768,  -768,   585,  -768,  -768,   589,  -768,   326,  -768,
 -     677,  -768,   678,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,   342,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,   352,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,   121,   590,  -768,  -768,  -768,
 -    -768,   591,   592,  -768,  -768,   593,   359,  -768,   376,  -768,
 -     680,  -768,   594,  -768,   686,  -768,  -768,  -768,  -768,  -768,
 -     380,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,    82,
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,   688,   556,   689,   215,  -768,  -768,
 -     690,  -768,   596,  -768,   691,  -768,  -768,   355,  -768,   203,
 -     691,  -768,  -768,   696,   699,   702,   382,  -768,  -768,  -768,
 -    -768,  -768,  -768,   704,   568,   560,   579,   203,  -768,   597,
 -    -768,  -768,  -768,  -768,  -768
++     404,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,    39,    27,    44,    50,    88,
++     117,   128,   144,   153,   172,   174,   181,   222,   238,   247,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,    27,   -13,
++      36,    49,    32,   188,    41,   232,   201,   110,    82,   259,
++     -49,   349,    65,  -756,   237,   252,   263,   250,   313,  -756,
++    -756,  -756,  -756,  -756,   280,  -756,    70,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,   315,   325,   326,   327,
++     342,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,   344,  -756,  -756,  -756,   107,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,   346,  -756,   124,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,   351,   355,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,   125,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,   135,
++    -756,  -756,  -756,  -756,  -756,   363,  -756,   364,   366,  -756,
++    -756,  -756,  -756,  -756,   147,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,   258,   338,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,   345,  -756,  -756,   367,  -756,  -756,  -756,   369,
++    -756,  -756,   370,   371,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,   373,   376,  -756,
++    -756,  -756,  -756,   375,   372,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,   158,  -756,  -756,
++    -756,   377,  -756,  -756,   380,  -756,   381,   385,  -756,  -756,
++     386,   387,   389,  -756,  -756,  -756,  -756,  -756,   160,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,   186,  -756,  -756,  -756,    27,
++      27,  -756,   239,   391,   398,   400,   405,   407,  -756,    36,
++    -756,   408,   409,   411,   261,   264,   266,   269,   272,   414,
++     415,   417,   427,   428,   429,   430,   431,   432,   433,   434,
++     435,   437,   286,   439,   440,    49,  -756,   441,   288,    32,
++    -756,   443,   445,   446,   447,   451,   300,   314,   467,   469,
++     473,   474,   188,  -756,   475,    41,  -756,   476,   328,   477,
++     329,   331,   232,  -756,   478,   479,   482,   484,   485,   489,
++     490,  -756,   201,  -756,   491,   493,   343,   494,   496,   497,
++     347,  -756,    82,   498,   348,   350,  -756,   259,   499,   503,
++     140,  -756,   352,   505,   507,   359,   512,   361,   362,   515,
++     517,   368,   374,   378,   518,   519,   349,  -756,   523,    65,
++    -756,  -756,  -756,   524,   522,   526,    27,    27,    27,  -756,
++     527,   528,   530,  -756,  -756,  -756,  -756,  -756,   525,   538,
++     554,   553,   406,   557,   558,   559,   560,   561,   562,   563,
++     564,  -756,   565,   566,  -756,   569,  -756,  -756,   570,   571,
++     413,   422,   423,  -756,  -756,   209,   424,   575,   574,  -756,
++     436,  -756,   438,  -756,   442,  -756,  -756,  -756,   569,   569,
++     569,   444,   448,   449,   450,  -756,   452,   453,  -756,   454,
++     455,   456,  -756,  -756,   457,  -756,  -756,  -756,   458,    27,
++    -756,  -756,   459,   460,  -756,   461,  -756,  -756,   -80,   462,
++    -756,  -756,  -756,   -78,   463,  -756,   577,  -756,    27,    49,
++      65,  -756,  -756,  -756,    32,   184,   184,   576,   578,   580,
++    -756,  -756,  -756,   581,   -44,    27,   281,   582,   583,   142,
++      46,     7,   349,  -756,  -756,   585,   587,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,   588,   500,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,   589,
++    -756,   189,   195,   236,  -756,  -756,  -756,  -756,   594,   596,
++     597,   598,   602,  -756,   613,   615,  -756,  -756,   253,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,   254,  -756,   614,   618,  -756,  -756,
++     616,   620,  -756,  -756,   619,   621,  -756,  -756,   622,   623,
++    -756,  -756,  -756,    71,  -756,  -756,  -756,   624,  -756,  -756,
++    -756,   111,  -756,  -756,  -756,  -756,   133,  -756,  -756,   625,
++     626,  -756,   628,   629,   630,   631,   632,   633,   262,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,   634,   635,
++     636,  -756,  -756,  -756,  -756,   265,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,   289,  -756,  -756,
++    -756,   290,   472,  -756,   637,   638,  -756,  -756,   639,   641,
++    -756,  -756,   640,   644,  -756,  -756,   642,  -756,   161,  -756,
++    -756,  -756,  -756,   645,   647,   648,   649,   486,   501,   492,
++     502,   506,   650,   508,   509,   651,   184,  -756,  -756,   188,
++    -756,   576,    82,  -756,   578,   259,  -756,   580,   365,  -756,
++     581,   -44,  -756,  -756,   281,  -756,    35,   582,  -756,   -49,
++    -756,   583,   510,   511,   513,   514,   516,   520,   142,  -756,
++     652,   653,   521,   529,   532,    46,  -756,   654,   657,     7,
++    -756,  -756,  -756,   662,   660,    41,  -756,   585,   232,  -756,
++     587,   201,  -756,   588,   667,  -756,    38,   589,  -756,   200,
++     535,   536,   539,  -756,  -756,  -756,  -756,  -756,   542,  -756,
++    -756,   544,  -756,   303,  -756,   665,  -756,   666,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,   305,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,   670,   672,  -756,  -756,
++    -756,  -756,   306,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,     5,   547,  -756,  -756,  -756,  -756,   552,   567,  -756,
++    -756,   568,   317,  -756,   320,  -756,   671,  -756,   572,  -756,
++     676,  -756,  -756,  -756,  -756,  -756,   330,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,   365,  -756,   677,  -756,    35,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,   678,   537,   679,    38,  -756,  -756,   595,
++    -756,   703,  -756,   599,  -756,  -756,   708,  -756,  -756,   196,
++    -756,    22,   708,  -756,  -756,   680,   712,   714,   337,  -756,
++    -756,  -756,  -756,  -756,  -756,   715,   573,   584,   603,    22,
++    -756,   600,  -756,  -756,  -756,  -756,  -756
    };
  
    const unsigned short int
        20,    22,    24,    26,    28,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
         1,    45,    38,    34,    33,    30,    31,    32,    37,     3,
-       35,    36,    58,     5,    70,     7,   106,     9,   222,    11,
-      363,    13,   387,    15,   416,    17,   288,    19,   296,    21,
-      333,    23,   187,    25,   509,    27,   566,    29,    47,    41,
-        0,     0,     0,     0,     0,     0,   418,     0,   298,   335,
+       35,    36,    58,     5,    70,     7,   106,     9,   226,    11,
 -     367,    13,   390,    15,   418,    17,   292,    19,   300,    21,
 -     337,    23,   191,    25,   511,    27,   568,    29,    47,    41,
 -       0,     0,     0,     0,     0,     0,   420,     0,   302,   339,
++     367,    13,   391,    15,   420,    17,   292,    19,   300,    21,
++     337,    23,   191,    25,   513,    27,   570,    29,    47,    41,
++       0,     0,     0,     0,     0,     0,   422,     0,   302,   339,
         0,     0,     0,    49,     0,    48,     0,     0,    42,    68,
-      564,   558,   560,   562,     0,    67,     0,    60,    62,    64,
 -     566,   560,   562,   564,     0,    67,     0,    60,    62,    64,
++     568,   562,   564,   566,     0,    67,     0,    60,    62,    64,
        65,    66,    63,   104,   118,   120,     0,     0,     0,     0,
-        0,   214,   286,   325,   375,   377,   260,   160,   177,   168,
-      451,   179,   198,   470,     0,   494,   507,    98,     0,    72,
 -       0,   218,   290,   329,   378,   380,   264,   164,   181,   172,
 -     453,   183,   202,   472,     0,   496,   509,    98,     0,    72,
++       0,   218,   290,   329,   379,   381,   264,   164,   181,   172,
++     455,   183,   202,   474,     0,   498,   511,    98,     0,    72,
        74,    75,    76,    77,    78,    81,    82,    83,    84,    86,
        85,    90,    91,    79,    80,    88,    89,    96,    97,    87,
        92,    93,    94,    95,   115,     0,   114,     0,   108,   110,
-      111,   112,   113,   355,   379,   245,   247,   249,     0,     0,
-      253,   251,   408,   447,   244,   226,   227,   228,   229,     0,
-      224,   233,   234,   235,   238,   240,   236,   237,   230,   231,
-      242,   243,   232,   239,   241,   373,   372,   369,   368,     0,
-      365,   367,   370,   371,   401,     0,   404,     0,     0,   400,
-      395,   394,   398,   399,     0,   389,   391,   392,   396,   397,
-      393,   445,   433,   435,   437,   439,   441,   443,   432,   429,
-      430,   431,     0,   419,   420,   424,   425,   422,   426,   427,
-      428,   423,     0,   315,   150,     0,   319,   317,   322,     0,
-      311,   312,     0,   299,   300,   302,   314,   303,   304,   305,
-      321,   306,   307,   308,   309,   310,   349,     0,     0,   347,
-      348,   351,   352,     0,   336,   337,   339,   340,   341,   342,
-      343,   344,   345,   346,   194,   196,   191,     0,   189,   192,
-      193,     0,   531,   533,     0,   536,     0,     0,   540,   544,
-        0,     0,     0,   549,   556,   529,   527,   528,     0,   511,
-      513,   514,   515,   516,   517,   518,   519,   520,   521,   522,
-      523,   524,   525,   526,   571,     0,   568,   570,    46,     0,
 -     111,   112,   113,   457,   359,   382,   249,   251,   253,     0,
 -       0,   257,   255,   410,   449,   248,   230,   231,   232,   233,
 -       0,   228,   237,   238,   239,   242,   244,   240,   241,   234,
 -     235,   246,   247,   236,   243,   245,   376,   375,   372,     0,
 -     369,   371,   373,   374,   403,     0,   406,     0,     0,   402,
 -     397,   400,   401,     0,   392,   394,   395,   398,   399,   396,
 -     447,   435,   437,   439,   441,   443,   445,   434,   431,   432,
 -     433,     0,   421,   422,   426,   427,   424,   428,   429,   430,
 -     425,     0,   319,   152,     0,   323,   321,   326,     0,   315,
 -     316,     0,   303,   304,   306,   318,   307,   308,   309,   325,
 -     310,   311,   312,   313,   314,   353,     0,     0,   351,   352,
 -     355,   356,     0,   340,   341,   343,   344,   345,   346,   347,
 -     348,   349,   350,   198,   200,   195,     0,   193,   196,   197,
 -       0,   533,   535,     0,   538,     0,     0,   542,   546,     0,
 -       0,     0,   551,   558,   531,   529,   530,     0,   513,   515,
 -     516,   517,   518,   519,   520,   521,   522,   523,   524,   525,
 -     526,   527,   528,   573,     0,   570,   572,    46,     0,     0,
 -      39,     0,     0,     0,     0,     0,     0,    57,     0,    59,
++     111,   112,   113,   359,   383,   249,   251,   253,     0,     0,
++     257,   255,   412,   451,   248,   230,   231,   232,   233,     0,
++     228,   237,   238,   239,   242,   244,   240,   241,   234,   235,
++     246,   247,   236,   243,   245,   377,   376,   373,   372,     0,
++     369,   371,   374,   375,   405,     0,   408,     0,     0,   404,
++     399,   398,   402,   403,     0,   393,   395,   396,   400,   401,
++     397,   449,   437,   439,   441,   443,   445,   447,   436,   433,
++     434,   435,     0,   423,   424,   428,   429,   426,   430,   431,
++     432,   427,     0,   319,   152,     0,   323,   321,   326,     0,
++     315,   316,     0,   303,   304,   306,   318,   307,   308,   309,
++     325,   310,   311,   312,   313,   314,   353,     0,     0,   351,
++     352,   355,   356,     0,   340,   341,   343,   344,   345,   346,
++     347,   348,   349,   350,   198,   200,   195,     0,   193,   196,
++     197,     0,   535,   537,     0,   540,     0,     0,   544,   548,
++       0,     0,     0,   553,   560,   533,   531,   532,     0,   515,
++     517,   518,   519,   520,   521,   522,   523,   524,   525,   526,
++     527,   528,   529,   530,   575,     0,   572,   574,    46,     0,
 +       0,    39,     0,     0,     0,     0,     0,     0,    57,     0,
 +      59,     0,     0,     0,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 -       0,     0,     0,     0,     0,    71,     0,     0,     0,   107,
 -     459,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 +       0,     0,     0,     0,     0,     0,    71,     0,     0,     0,
 +     107,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-        0,     0,     0,   223,     0,     0,   364,     0,     0,     0,
-        0,     0,     0,   388,     0,     0,     0,     0,     0,     0,
-        0,   417,     0,   289,     0,     0,     0,     0,     0,     0,
-        0,   297,     0,     0,     0,     0,   334,     0,     0,     0,
-        0,   188,     0,     0,     0,     0,     0,     0,     0,     0,
-        0,     0,     0,     0,     0,     0,     0,   510,     0,     0,
-      567,    50,    43,     0,     0,     0,     0,     0,     0,    61,
+        0,     0,     0,   227,     0,     0,   368,     0,     0,     0,
 -       0,     0,     0,   391,     0,     0,     0,     0,     0,     0,
 -       0,   419,     0,   293,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,   392,     0,     0,     0,     0,     0,     0,
++       0,   421,     0,   293,     0,     0,     0,     0,     0,     0,
+        0,   301,     0,     0,     0,     0,   338,     0,     0,     0,
+        0,   192,     0,     0,     0,     0,     0,     0,     0,     0,
 -       0,     0,     0,     0,     0,     0,     0,   512,     0,     0,
 -     569,    50,    43,     0,     0,     0,     0,     0,     0,    61,
++       0,     0,     0,     0,     0,     0,     0,   514,     0,     0,
++     571,    50,    43,     0,     0,     0,     0,     0,     0,    61,
         0,     0,     0,    99,   100,   101,   102,   103,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-        0,   493,     0,     0,    73,     0,   117,   109,     0,     0,
-        0,     0,     0,   258,   259,     0,     0,     0,     0,   225,
-        0,   366,     0,   403,     0,   406,   407,   390,     0,     0,
-        0,     0,     0,     0,     0,   421,     0,     0,   313,     0,
-        0,     0,   324,   301,     0,   353,   354,   338,     0,     0,
-      190,   530,     0,     0,   535,     0,   538,   539,     0,     0,
-      546,   547,   548,     0,     0,   512,     0,   569,     0,     0,
-        0,   559,   561,   563,     0,     0,     0,   216,   290,   327,
-       40,   376,   378,   262,     0,    47,     0,     0,   181,     0,
-        0,     0,     0,    51,   116,   357,   381,   246,   248,   250,
-      255,   256,   257,   254,   252,   410,     0,   374,   402,   405,
-      446,   434,   436,   438,   440,   442,   444,   316,   151,   320,
-      318,   323,   350,   195,   197,   532,   534,   537,   542,   543,
-      541,   545,   551,   552,   553,   554,   555,   550,   557,     0,
-       44,     0,     0,     0,   137,   143,   145,   147,     0,     0,
-        0,     0,     0,   156,   158,   136,     0,   122,   124,   125,
-      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
-        0,   220,     0,   217,   218,   294,     0,   291,   292,   331,
-        0,   328,   329,   266,     0,   263,   264,   166,   167,     0,
-      162,   164,   165,     0,   175,   176,   172,     0,   170,   173,
-      174,   455,     0,   453,   185,     0,   182,   183,     0,     0,
-        0,     0,     0,     0,     0,   200,   202,   203,   204,   205,
-      206,   207,   483,   489,     0,     0,     0,   482,   479,   480,
-      481,     0,   472,   474,   477,   475,   476,   478,   503,   505,
-      502,   500,   501,     0,   496,   498,   499,     0,    53,   361,
-        0,   358,   359,   385,     0,   382,   383,   414,     0,   411,
-      412,   449,     0,   575,     0,   573,    69,   565,   105,     0,
 -       0,   495,     0,     0,    73,     0,   117,   109,   470,   468,
 -     469,   465,   466,   467,     0,   460,   461,   463,   464,     0,
 -       0,     0,     0,     0,   262,   263,     0,     0,     0,     0,
 -     229,     0,   370,     0,   405,     0,   408,   409,   393,     0,
 -       0,     0,     0,     0,     0,     0,   423,     0,     0,   317,
 -       0,     0,     0,   328,   305,     0,   357,   358,   342,     0,
 -       0,   194,   532,     0,     0,   537,     0,   540,   541,     0,
 -       0,   548,   549,   550,     0,     0,   514,     0,   571,     0,
 -       0,     0,   561,   563,   565,     0,     0,     0,   220,   294,
 -     331,    40,   379,   381,   266,     0,    47,     0,     0,   185,
 -       0,     0,     0,     0,    51,   116,     0,   458,     0,   361,
 -     384,   250,   252,   254,   259,   260,   261,   258,   256,   412,
 -       0,   377,   404,   407,   448,   436,   438,   440,   442,   444,
 -     446,   320,   153,   324,   322,   327,   354,   199,   201,   534,
 -     536,   539,   544,   545,   543,   547,   553,   554,   555,   556,
 -     557,   552,   559,     0,    44,     0,     0,     0,   139,   145,
 -     147,   149,     0,     0,     0,     0,     0,   158,     0,     0,
 -     162,   138,     0,   122,   124,   125,   126,   127,   128,   129,
 -     130,   131,   132,   133,   134,   135,   136,   137,     0,   224,
 -       0,   221,   222,   298,     0,   295,   296,   335,     0,   332,
 -     333,   270,     0,   267,   268,   170,   171,     0,   166,   168,
 -     169,     0,   179,   180,   176,     0,   174,   177,   178,   455,
 -       0,   189,     0,   186,   187,     0,     0,     0,     0,     0,
 -       0,     0,   204,   206,   207,   208,   209,   210,   211,   485,
 -     491,     0,     0,     0,   484,   481,   482,   483,     0,   474,
 -     476,   479,   477,   478,   480,   505,   507,   504,   502,   503,
 -       0,   498,   500,   501,     0,    53,     0,   462,   365,     0,
 -     362,   363,   388,     0,   385,   386,   416,     0,   413,   414,
 -     451,     0,   577,     0,   575,    69,   567,   105,     0,     0,
--       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-        0,   119,   121,     0,   215,     0,   298,   287,     0,   335,
-      326,     0,     0,   261,     0,     0,   161,   178,     0,   169,
-      457,     0,   452,     0,   180,     0,     0,     0,     0,     0,
-        0,     0,     0,   199,     0,     0,     0,     0,     0,     0,
-      471,     0,     0,     0,   495,   508,    55,     0,    54,     0,
-      356,     0,     0,   380,     0,   418,   409,     0,     0,   448,
-        0,     0,   572,     0,     0,     0,     0,   149,   152,   153,
-      154,   155,     0,     0,   123,     0,   219,     0,   293,     0,
-      330,   285,   280,   282,   274,   275,   270,   271,   272,   273,
-      279,   278,   281,     0,   268,   276,   283,   284,   277,   265,
-      163,   171,   468,   466,   467,   463,   464,   465,     0,   458,
-      459,   461,   462,   454,     0,   184,   208,   209,   210,   211,
-      212,   213,   201,     0,     0,   488,   491,   492,   473,     0,
-        0,   497,    52,     0,     0,   360,     0,   384,     0,   413,
-        0,   589,     0,   587,   585,   579,   583,   584,     0,   577,
-      581,   582,   580,   574,   139,   140,   141,   142,   138,   144,
-      146,   148,   157,   159,   221,   295,   332,     0,   267,     0,
-      456,     0,   186,   485,   486,   487,   484,   490,   504,   506,
-       56,   362,   386,   415,   450,     0,     0,     0,     0,   576,
-      269,     0,   460,     0,   586,     0,   578,   469,     0,   588,
-      593,     0,   591,     0,     0,   590,   601,     0,     0,     0,
-        0,   595,   597,   598,   599,   600,   592,     0,     0,     0,
-        0,     0,   594,     0,   603,   604,   605,   596,   602
 -       0,     0,   119,   121,     0,   219,     0,   302,   291,     0,
 -     339,   330,     0,     0,   265,     0,     0,   165,   182,     0,
 -     173,     0,   454,     0,   184,     0,     0,     0,     0,     0,
 -       0,     0,     0,   203,     0,     0,     0,     0,     0,     0,
 -     473,     0,     0,     0,   497,   510,    55,     0,    54,   471,
 -       0,   360,     0,     0,   383,     0,   420,   411,     0,     0,
 -     450,     0,     0,   574,     0,     0,     0,     0,   151,   154,
 -     155,   156,   157,     0,   160,   161,     0,   123,     0,   223,
 -       0,   297,     0,   334,   289,   284,   286,   278,   279,   274,
 -     275,   276,   277,   283,   282,   285,     0,   272,   280,   287,
 -     288,   281,   269,   167,   175,   456,     0,   188,   212,   213,
 -     214,   215,   216,   217,   205,     0,     0,   490,   493,   494,
 -     475,     0,     0,   499,    52,     0,     0,   364,     0,   387,
 -       0,   415,     0,   591,     0,   589,   587,   581,   585,   586,
 -       0,   579,   583,   584,   582,   576,   141,   142,   143,   144,
 -     140,   146,   148,   150,   159,   163,   225,   299,   336,     0,
 -     271,   190,   487,   488,   489,   486,   492,   506,   508,    56,
 -     366,   389,   417,   452,     0,     0,     0,     0,   578,   273,
 -       0,   588,     0,   580,     0,   590,   595,     0,   593,     0,
 -       0,   592,   603,     0,     0,     0,     0,   597,   599,   600,
 -     601,   602,   594,     0,     0,     0,     0,     0,   596,     0,
 -     605,   606,   607,   598,   604
++       0,   497,     0,     0,    73,     0,   117,   109,     0,     0,
++       0,     0,     0,   262,   263,     0,     0,     0,     0,   229,
++       0,   370,     0,   407,     0,   410,   411,   394,     0,     0,
++       0,     0,     0,     0,     0,   425,     0,     0,   317,     0,
++       0,     0,   328,   305,     0,   357,   358,   342,     0,     0,
++     194,   534,     0,     0,   539,     0,   542,   543,     0,     0,
++     550,   551,   552,     0,     0,   516,     0,   573,     0,     0,
++       0,   563,   565,   567,     0,     0,     0,   220,   294,   331,
++      40,   380,   382,   266,     0,    47,     0,     0,   185,     0,
++       0,     0,     0,    51,   116,   361,   385,   250,   252,   254,
++     259,   260,   261,   258,   256,   414,     0,   378,   406,   409,
++     450,   438,   440,   442,   444,   446,   448,   320,   153,   324,
++     322,   327,   354,   199,   201,   536,   538,   541,   546,   547,
++     545,   549,   555,   556,   557,   558,   559,   554,   561,     0,
++      44,     0,     0,     0,   139,   145,   147,   149,     0,     0,
++       0,     0,     0,   158,     0,     0,   162,   138,     0,   122,
++     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
++     134,   135,   136,   137,     0,   224,     0,   221,   222,   298,
++       0,   295,   296,   335,     0,   332,   333,   270,     0,   267,
++     268,   170,   171,     0,   166,   168,   169,     0,   179,   180,
++     176,     0,   174,   177,   178,   459,     0,   457,   189,     0,
++     186,   187,     0,     0,     0,     0,     0,     0,     0,   204,
++     206,   207,   208,   209,   210,   211,   487,   493,     0,     0,
++       0,   486,   483,   484,   485,     0,   476,   478,   481,   479,
++     480,   482,   507,   509,   506,   504,   505,     0,   500,   502,
++     503,     0,    53,   365,     0,   362,   363,   389,     0,   386,
++     387,   418,     0,   415,   416,   453,     0,   579,     0,   577,
++      69,   569,   105,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,   119,   121,     0,
++     219,     0,   302,   291,     0,   339,   330,     0,     0,   265,
++       0,     0,   165,   182,     0,   173,   461,     0,   456,     0,
++     184,     0,     0,     0,     0,     0,     0,     0,     0,   203,
++       0,     0,     0,     0,     0,     0,   475,     0,     0,     0,
++     499,   512,    55,     0,    54,     0,   360,     0,     0,   384,
++       0,   422,   413,     0,     0,   452,     0,     0,   576,     0,
++       0,     0,     0,   151,   154,   155,   156,   157,     0,   160,
++     161,     0,   123,     0,   223,     0,   297,     0,   334,   289,
++     284,   286,   278,   279,   274,   275,   276,   277,   283,   282,
++     285,     0,   272,   280,   287,   288,   281,   269,   167,   175,
++     472,   470,   471,   467,   468,   469,     0,   462,   463,   465,
++     466,   458,     0,   188,   212,   213,   214,   215,   216,   217,
++     205,     0,     0,   492,   495,   496,   477,     0,     0,   501,
++      52,     0,     0,   364,     0,   388,     0,   417,     0,   593,
++       0,   591,   589,   583,   587,   588,     0,   581,   585,   586,
++     584,   578,   141,   142,   143,   144,   140,   146,   148,   150,
++     159,   163,   225,   299,   336,     0,   271,     0,   460,     0,
++     190,   489,   490,   491,   488,   494,   508,   510,    56,   366,
++     390,   419,   454,     0,     0,     0,     0,   580,   273,     0,
++     464,     0,   590,     0,   582,   473,     0,   592,   597,     0,
++     595,     0,     0,   594,   605,     0,     0,     0,     0,   599,
++     601,   602,   603,   604,   596,     0,     0,     0,     0,     0,
++     598,     0,   607,   608,   609,   600,   606
    };
  
    const short int
    Dhcp6Parser::yypgoto_[] =
    {
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,     6,  -750,   105,  -750,
-     -750,  -750,  -750,  -750,  -750,    82,  -750,  -139,  -750,  -750,
-     -750,   -70,  -750,  -750,  -750,   391,  -750,  -750,  -750,  -750,
-      178,   355,   -72,   -58,   -56,   -55,  -750,  -750,  -750,  -750,
-     -750,   182,   377,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-      185,   -16,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,    -7,  -750,  -553,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,   -28,  -544,  -750,  -750,  -750,
-     -750,   -19,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-      -27,  -750,  -750,  -750,   -15,   333,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,   -23,  -750,  -750,  -750,  -750,  -750,  -750,
-     -749,  -750,  -750,  -750,     5,  -750,  -750,  -750,     8,   385,
-     -750,  -750,  -746,  -750,  -742,  -750,   -34,  -750,  -741,  -750,
-     -750,  -750,  -739,  -750,  -750,  -750,  -750,     2,  -750,  -750,
-     -147,   694,  -750,  -750,  -750,  -750,  -750,    14,  -750,  -750,
-     -750,    18,  -750,   376,  -750,   -65,  -750,  -750,  -750,  -750,
-     -750,   -60,  -750,  -750,  -750,  -750,  -750,    -6,  -750,  -750,
-     -750,    15,  -750,  -750,  -750,    16,  -750,   360,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,   -21,
-     -750,  -750,  -750,   -18,   393,  -750,  -750,   -48,  -750,   -20,
-     -750,  -750,  -750,  -750,  -750,   -17,  -750,  -750,  -750,   -13,
-      392,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,   -24,  -750,  -750,  -750,   -14,  -750,   395,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -733,  -750,  -750,  -750,  -750,  -750,  -750,
-       21,  -750,  -750,  -750,  -135,  -750,  -750,  -750,  -750,  -750,
-     -750,     9,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,     1,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,   233,   382,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
-     -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,   260,   388,
-     -750,  -750,  -750,   -10,  -750,  -750,  -136,  -750,  -750,  -750,
-     -750,  -750,  -750,  -150,  -750,  -750,  -166,  -750,  -750,  -750,
-     -750,  -750
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,    -4,  -768,   223,  -768,
 -    -768,  -768,  -768,  -768,  -768,    67,  -768,  -461,  -768,  -768,
 -    -768,   -70,  -768,  -768,  -768,   403,  -768,  -768,  -768,  -768,
 -     171,   366,   -72,   -59,   -56,   -54,  -768,  -768,  -768,  -768,
 -    -768,   167,   370,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -     180,   -29,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,   -66,  -768,  -564,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,   -32,  -547,  -768,
 -    -768,  -768,  -768,   -34,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,   -38,  -768,  -768,  -768,   -35,   339,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,   -40,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -767,  -768,  -768,  -768,    -9,  -768,  -768,  -768,
 -      -6,   388,  -768,  -768,  -762,  -768,  -761,  -768,  -553,  -768,
 -    -755,  -768,  -768,  -768,  -749,  -768,  -768,  -768,  -768,   -12,
 -    -768,  -768,  -154,   701,  -768,  -768,  -768,  -768,  -768,    -3,
 -    -768,  -768,  -768,     4,  -768,   367,  -768,   -61,  -768,  -768,
 -    -768,  -768,  -768,   -48,  -768,  -768,  -768,  -768,  -768,    10,
 -    -768,  -768,  -768,     1,  -768,  -768,  -768,     0,  -768,   372,
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,   -37,  -768,  -768,  -768,   -33,   409,  -768,  -768,   -49,
 -    -768,   -11,  -768,  -768,  -768,  -768,  -768,   -39,  -768,  -768,
 -    -768,   -31,   408,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,   -25,  -768,  -768,  -768,   -30,  -768,
 -     411,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -747,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,   210,  -768,  -768,  -768,  -768,
 -    -768,  -768,   -19,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,   -22,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,   222,   363,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,  -768,   253,
 -     375,  -768,  -768,  -768,   -26,  -768,  -768,  -150,  -768,  -768,
 -    -768,  -768,  -768,  -768,  -159,  -768,  -768,  -172,  -768,  -768,
 -    -768,  -768,  -768
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,     6,  -756,   108,  -756,
++    -756,  -756,  -756,  -756,  -756,   -24,  -756,  -204,  -756,  -756,
++    -756,   -70,  -756,  -756,  -756,   382,  -756,  -756,  -756,  -756,
++     185,   379,   -72,   -58,   -56,   -55,  -756,  -756,  -756,  -756,
++    -756,   182,   383,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++     187,   -26,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,    -7,  -756,  -553,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,   -39,  -544,  -756,
++    -756,  -756,  -756,   -38,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,   -17,  -756,  -756,  -756,   -42,   323,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,   -23,  -756,  -756,  -756,  -756,
++    -756,  -756,  -755,  -756,  -756,  -756,    11,  -756,  -756,  -756,
++       8,   384,  -756,  -756,  -752,  -756,  -748,  -756,   -34,  -756,
++    -747,  -756,  -756,  -756,  -745,  -756,  -756,  -756,  -756,     3,
++    -756,  -756,  -149,   700,  -756,  -756,  -756,  -756,  -756,    14,
++    -756,  -756,  -756,    18,  -756,   388,  -756,   -65,  -756,  -756,
++    -756,  -756,  -756,   -60,  -756,  -756,  -756,  -756,  -756,    -6,
++    -756,  -756,  -756,    15,  -756,  -756,  -756,    16,  -756,   390,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,   -21,  -756,  -756,  -756,   -22,   399,  -756,  -756,   -48,
++    -756,   -20,  -756,  -756,  -756,  -756,  -756,   -18,  -756,  -756,
++    -756,   -19,   395,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,   -16,  -756,  -756,  -756,   -10,  -756,
++     392,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -739,  -756,  -756,  -756,  -756,
++    -756,  -756,    13,  -756,  -756,  -756,  -136,  -756,  -756,  -756,
++    -756,  -756,  -756,     0,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,    -1,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,   241,   393,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++    -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,  -756,
++     268,   394,  -756,  -756,  -756,   -11,  -756,  -756,  -142,  -756,
++    -756,  -756,  -756,  -756,  -756,  -152,  -756,  -756,  -168,  -756,
++    -756,  -756,  -756,  -756
    };
  
    const short int
    {
        -1,    15,    16,    17,    18,    19,    20,    21,    22,    23,
        24,    25,    26,    27,    28,    29,    83,    39,    40,    69,
-      551,    87,    88,    41,    68,    84,    85,   564,   718,   797,
-      798,   127,    43,    70,    96,    97,    98,   333,    45,    71,
 -     562,    87,    88,    41,    68,    84,    85,   575,   735,   817,
 -     818,   127,    43,    70,    96,    97,    98,   332,    45,    71,
 -     128,   129,   130,   131,   132,   133,   134,   135,   340,    47,
 -      72,   157,   158,   159,   366,   160,   136,   341,   137,   342,
 -     642,   643,   644,   758,   920,   645,   759,   646,   760,   647,
 -     761,   648,   250,   405,   650,   651,   652,   653,   654,   767,
 -     655,   656,   657,   770,   138,   354,   677,   678,   679,   680,
 -     139,   356,   685,   686,   687,   688,   140,   355,   141,   358,
 -     692,   693,   694,   793,    63,    80,   286,   287,   288,   418,
 -     289,   419,   142,   359,   701,   702,   703,   704,   705,   706,
 -     707,   708,   143,   348,   660,   661,   662,   774,    49,    73,
 -     180,   181,   182,   373,   183,   374,   184,   375,   185,   379,
 -     186,   378,   587,   187,   188,   144,   353,   672,   673,   674,
 -     783,   866,   867,   145,   349,    57,    77,   664,   665,   666,
 -     777,    59,    78,   251,   252,   253,   254,   255,   256,   257,
 -     404,   258,   408,   259,   407,   260,   261,   409,   262,   146,
 -     350,   668,   669,   670,   780,    61,    79,   272,   273,   274,
 -     275,   276,   413,   277,   278,   279,   280,   190,   371,   739,
 -     740,   741,   820,    51,    74,   199,   200,   201,   384,   147,
 -     351,   148,   352,   193,   372,   743,   744,   745,   823,    53,
 -      75,   213,   214,   215,   387,   216,   217,   389,   218,   219,
 -     194,   380,   747,   748,   749,   826,    55,    76,   231,   232,
 -     233,   234,   395,   235,   396,   236,   397,   237,   398,   238,
 -     399,   239,   400,   240,   394,   195,   381,   751,   829,   149,
 -     357,   690,   370,   484,   485,   486,   487,   488,   576,   150,
 -     360,   718,   719,   720,   804,   935,   721,   722,   805,   723,
 -     724,   151,   152,   362,   730,   731,   732,   811,   733,   812,
 -     153,   363,    65,    81,   307,   308,   309,   310,   423,   311,
 -     424,   312,   313,   426,   314,   315,   316,   429,   614,   317,
 -     430,   318,   319,   320,   321,   434,   621,   322,   435,    99,
 -     334,   100,   335,   101,   336,   102,   333,    67,    82,   324,
 -     325,   326,   438,   753,   754,   831,   910,   911,   912,   913,
 -     946,   914,   944,   957,   958,   959,   966,   967,   968,   973,
 -     969,   970,   971
++     551,    87,    88,    41,    68,    84,    85,   564,   722,   803,
++     804,   127,    43,    70,    96,    97,    98,   333,    45,    71,
 +     128,   129,   130,   131,   132,   133,   134,   135,   341,    47,
 +      72,   157,   158,   159,   367,   160,   136,   342,   137,   343,
-      626,   627,   628,   739,   908,   629,   740,   630,   741,   631,
-      742,   632,   251,   405,   634,   635,   636,   637,   638,   748,
-      639,   749,   138,   355,   659,   660,   661,   662,   139,   357,
-      667,   668,   669,   670,   140,   356,   141,   359,   675,   676,
-      677,   773,    63,    80,   287,   288,   289,   418,   290,   419,
-      142,   360,   684,   685,   686,   687,   688,   689,   690,   691,
-      143,   349,   642,   643,   644,   753,    49,    73,   179,   180,
-      181,   373,   182,   374,   183,   375,   184,   379,   185,   378,
-      573,   186,   187,   144,   354,   654,   655,   656,   762,   843,
-      844,   145,   350,    57,    77,   646,   647,   648,   756,    59,
-       78,   252,   253,   254,   255,   256,   257,   258,   404,   259,
-      408,   260,   407,   261,   262,   409,   263,   146,   351,   650,
-      651,   652,   759,    61,    79,   273,   274,   275,   276,   277,
-      413,   278,   279,   280,   281,   189,   371,   720,   721,   722,
-      799,    51,    74,   199,   200,   201,   384,   147,   352,   148,
-      353,   192,   372,   724,   725,   726,   802,    53,    75,   214,
-      215,   216,   387,   217,   218,   389,   219,   220,   193,   380,
-      728,   729,   730,   805,    55,    76,   232,   233,   234,   235,
-      395,   236,   396,   237,   397,   238,   398,   239,   399,   240,
-      400,   241,   394,   194,   381,   732,   808,   149,   358,   672,
-      673,   770,   858,   859,   860,   861,   862,   919,   150,   361,
-      701,   702,   703,   784,   926,   704,   705,   785,   706,   707,
-      151,   152,   363,   713,   714,   715,   791,   716,   792,   153,
-      364,    65,    81,   308,   309,   310,   311,   423,   312,   424,
-      313,   314,   426,   315,   316,   317,   429,   600,   318,   430,
-      319,   320,   321,   322,   434,   607,   323,   435,    99,   335,
-      100,   336,   101,   337,   102,   334,    67,    82,   325,   326,
-      327,   438,   734,   735,   810,   898,   899,   900,   901,   937,
-      902,   935,   951,   952,   953,   960,   961,   962,   967,   963,
-      964,   965
++     628,   629,   630,   743,   916,   631,   744,   632,   745,   633,
++     746,   634,   251,   405,   636,   637,   638,   639,   640,   752,
++     641,   642,   643,   755,   138,   355,   663,   664,   665,   666,
++     139,   357,   671,   672,   673,   674,   140,   356,   141,   359,
++     679,   680,   681,   779,    63,    80,   287,   288,   289,   418,
++     290,   419,   142,   360,   688,   689,   690,   691,   692,   693,
++     694,   695,   143,   349,   646,   647,   648,   759,    49,    73,
++     179,   180,   181,   373,   182,   374,   183,   375,   184,   379,
++     185,   378,   573,   186,   187,   144,   354,   658,   659,   660,
++     768,   851,   852,   145,   350,    57,    77,   650,   651,   652,
++     762,    59,    78,   252,   253,   254,   255,   256,   257,   258,
++     404,   259,   408,   260,   407,   261,   262,   409,   263,   146,
++     351,   654,   655,   656,   765,    61,    79,   273,   274,   275,
++     276,   277,   413,   278,   279,   280,   281,   189,   371,   724,
++     725,   726,   805,    51,    74,   199,   200,   201,   384,   147,
++     352,   148,   353,   192,   372,   728,   729,   730,   808,    53,
++      75,   214,   215,   216,   387,   217,   218,   389,   219,   220,
++     193,   380,   732,   733,   734,   811,    55,    76,   232,   233,
++     234,   235,   395,   236,   396,   237,   397,   238,   398,   239,
++     399,   240,   400,   241,   394,   194,   381,   736,   814,   149,
++     358,   676,   677,   776,   866,   867,   868,   869,   870,   927,
++     150,   361,   705,   706,   707,   790,   934,   708,   709,   791,
++     710,   711,   151,   152,   363,   717,   718,   719,   797,   720,
++     798,   153,   364,    65,    81,   308,   309,   310,   311,   423,
++     312,   424,   313,   314,   426,   315,   316,   317,   429,   600,
++     318,   430,   319,   320,   321,   322,   434,   607,   323,   435,
++      99,   335,   100,   336,   101,   337,   102,   334,    67,    82,
++     325,   326,   327,   438,   738,   739,   816,   906,   907,   908,
++     909,   945,   910,   943,   959,   960,   961,   968,   969,   970,
++     975,   971,   972,   973
    };
  
    const unsigned short int
    Dhcp6Parser::yytable_[] =
    {
-       95,   175,   156,   174,   196,   209,   228,   698,   250,   269,
-      286,   305,   666,   837,   271,   176,   838,   177,   178,   272,
-      839,   841,    38,   842,   161,   190,   202,   212,   230,   848,
-      264,   282,    31,   306,    32,   657,    33,   339,   284,   285,
-      197,   210,   340,   365,   154,   155,    89,   765,   366,    42,
-      766,    30,   162,   191,   203,   213,   231,   369,   265,   283,
-      103,   307,   370,   104,   105,    86,   382,   188,   198,   211,
-      229,   383,   270,   328,   385,   113,   244,   598,   599,   386,
-      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-      614,   284,   285,   114,   115,   615,   616,   617,   618,   619,
-      620,   621,   622,   623,   624,   114,   115,    94,   243,   852,
-      113,   658,   692,   244,   114,   115,   116,   117,   118,   119,
-      120,   619,    44,   204,   205,   206,   207,   208,   114,   115,
-       46,   244,   121,   245,   246,   122,   392,   247,   248,   249,
-      112,   393,   123,   657,   664,   171,   665,    48,   114,   115,
-      124,   125,   114,   115,   126,   678,   679,   680,   681,   682,
-      683,   708,   709,    90,   420,   436,    50,    52,   837,   421,
-      437,   838,    91,    92,    93,   839,   841,    54,   842,   113,
-       34,    35,    36,    37,   848,    94,   439,    56,   113,    94,
-       94,   440,   244,   693,   694,   695,   696,   114,   115,   195,
-      956,    58,    94,   957,   958,   959,   114,   115,   365,   114,
-      115,    94,   221,   736,    60,    62,   222,   223,   224,   225,
-      226,   227,    64,   171,   666,    94,   768,    94,    66,   769,
-      439,   106,   107,   108,   109,   737,   698,   324,   113,   602,
-      603,   604,   605,   329,   332,    94,   369,   750,   163,    94,
-      164,   738,   751,   570,   571,   572,   114,   115,   165,   166,
-      167,   168,   169,   170,   771,   750,   782,   772,   330,    95,
-      752,   783,   606,   171,   172,   244,   266,   245,   246,   267,
-      268,   173,   891,   789,   892,   893,   793,   331,   790,   338,
-      436,   794,   114,   115,    94,   795,   382,   917,   401,   156,
-      420,   914,   918,    94,   385,   922,    94,   344,   392,   931,
-      175,   938,   174,   932,   971,   196,   939,   811,   402,   972,
-      812,   161,   209,   345,   176,   954,   177,   178,   955,   923,
-      924,   925,   228,   346,   190,   441,   442,   202,   904,   905,
-      906,   907,   250,   347,   212,   348,   362,   269,   368,   162,
-      376,   197,   271,    94,   230,   403,   377,   272,   210,   580,
-      581,   582,   191,   388,   264,   203,   305,   390,   391,   282,
-      406,   412,   213,   410,   453,   414,   188,   415,   411,   198,
-      416,   417,   231,   422,   425,   427,   211,   428,   306,    94,
-      431,   432,   265,   433,   444,   443,   229,   283,   106,   107,
 -      95,   176,   156,   175,   197,   209,   227,   715,   249,   268,
 -     285,   304,    38,   269,   177,   689,   860,   178,   270,   179,
 -     684,   861,   862,   161,   191,   202,   211,   229,   864,   263,
 -     281,   271,   305,    31,   865,    32,   871,    33,   113,   584,
 -     585,   586,    89,   675,   163,   163,   154,   155,   594,   595,
 -     596,   204,   205,   206,   207,   208,   114,   115,   283,   284,
 -      30,   162,   192,   203,   212,   230,   709,   264,   282,    42,
 -     306,   106,   107,   108,   109,   633,   113,   243,   113,   283,
 -     284,   114,   115,   189,   198,   210,   228,    44,   164,   163,
 -     165,    46,   114,   115,   114,   115,   114,   115,   166,   167,
 -     168,   169,   170,   171,   675,   682,   338,   683,   114,   115,
 -     478,   339,   172,   172,   173,   106,   107,   108,   109,   676,
 -     111,   174,   113,   243,   612,   613,    48,    94,   725,   726,
 -     616,   617,   618,   619,   364,   786,    50,   113,   787,   365,
 -     114,   115,   789,   167,   168,   790,   170,   171,   196,   710,
 -     711,   712,   713,    94,   368,   114,   115,   172,    86,   369,
 -      52,    90,   860,   620,   382,   174,    54,   861,   862,   383,
 -      91,    92,    93,   103,   864,    56,   104,   105,    94,    58,
 -     865,   242,   871,    34,    35,    36,    37,    94,    60,    94,
 -      62,    94,    64,    94,    66,   106,   107,   108,   109,   110,
 -     111,   112,   113,   112,   791,    94,   243,   792,   244,   245,
 -     385,   392,   246,   247,   248,   386,   393,   932,   933,   934,
 -     114,   115,   113,   114,   115,   323,   916,   917,   918,   919,
 -     863,   116,   117,   118,   119,   120,   327,    94,   875,   420,
 -     114,   115,   684,   436,   421,   715,   439,   121,   437,   364,
 -     122,   440,    94,   439,   755,   220,   243,   123,   756,   221,
 -     222,   223,   224,   225,   226,   124,   125,   368,    95,   126,
 -     628,   328,   757,   114,   115,   629,   630,   631,   632,   633,
 -     634,   635,   636,   637,   638,   639,   640,   329,   330,   243,
 -     265,   244,   245,   266,   267,   243,   771,   771,   156,   331,
 -     479,   772,   773,   802,   480,   337,   114,   115,   803,   809,
 -     176,   813,   175,   436,   810,   197,   814,    94,   815,   161,
 -      94,   482,   209,   177,   441,   442,   178,   343,   179,   382,
 -     401,   344,   227,   191,   926,   962,   202,    94,   963,   964,
 -     965,   832,   249,   211,   833,   929,   903,   268,   904,   905,
 -     930,   269,   345,   229,   346,   420,   270,   162,   960,   483,
 -     931,   961,   385,   263,   347,   361,   304,   940,   281,   271,
 -      94,   192,   367,   376,   203,   377,   863,   114,   115,   392,
 -     481,   212,   388,   947,   941,   977,   402,   305,   948,   390,
 -     978,   230,   189,   391,   403,   198,   406,   410,   411,   412,
 -     417,   264,   210,    94,   414,   415,   282,   416,   422,    94,
 -     425,   427,   228,   695,   696,   697,   698,   699,   700,   428,
 -     431,   432,   433,   444,   443,   306,   445,   290,   291,   292,
 -     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
 -     303,   446,   552,   553,   554,     1,     2,     3,     4,     5,
 -       6,     7,     8,     9,    10,    11,    12,    13,    14,   447,
 -     448,   450,   451,   452,   458,   453,   459,   454,   455,   456,
 -     457,   460,   461,   462,    94,   463,   464,   465,   466,   467,
 -     468,   469,   470,   472,   471,   156,   641,   641,   473,   475,
 -     649,   649,   476,   489,   490,   491,   492,   493,   495,   494,
 -     496,   714,   727,   304,   497,   498,   161,   499,   479,   501,
 -     503,   505,   480,   504,   506,   509,   510,   511,   507,   512,
 -     513,   514,   716,   728,   305,   515,   608,   517,   518,   482,
 -     519,   520,   521,   522,   525,   523,   529,   526,   530,   527,
 -     533,   534,   532,   535,   162,   624,   536,   537,   539,   540,
 -     538,   544,   545,   541,   547,   549,   542,   563,   558,   550,
 -     717,   729,   306,   543,   551,   555,   556,   483,   557,   559,
 -     560,   577,   564,    32,   565,   566,   567,   568,   569,   581,
 -     582,   570,   571,   572,   573,   574,   578,   579,   481,   580,
 -     583,   588,   589,   590,   591,   592,   593,   597,   598,   599,
 -     600,   601,   602,   603,   604,   605,   606,   607,   609,   610,
 -     615,   623,   659,   736,   663,   667,   611,   671,   622,   691,
 -     738,   742,   746,   750,   752,   762,   763,   764,   765,   766,
 -     768,   769,   776,   681,   775,   779,   778,   781,   782,   784,
 -     785,   839,   788,   795,   794,   796,   797,   798,   799,   800,
 -     801,   806,   807,   808,   816,   822,   821,   819,   825,   824,
 -     827,   828,   841,   834,   830,   835,   836,   837,   843,   846,
 -     838,   885,   886,   891,   840,   842,   844,   892,   845,   895,
 -     894,   878,   879,   902,   561,   927,   928,   880,   942,   881,
 -     945,   882,   950,   952,   883,   954,   887,   888,   956,   889,
 -     974,   641,   176,   975,   175,   649,   976,   249,   979,   921,
 -     268,   855,   951,   854,   269,   177,   981,   859,   178,   270,
 -     179,   625,   627,   285,   856,   191,   980,   857,   263,   858,
 -     474,   281,   271,   922,   869,   982,   923,   658,   477,   714,
 -     924,   449,   847,   727,   925,   936,   937,   938,   939,   943,
 -     197,   955,   984,   209,   873,   874,   227,   877,   876,   531,
 -     716,   906,   884,   192,   728,   907,   264,   849,   848,   282,
 -     500,   202,   870,   872,   211,   949,   851,   229,   241,   524,
 -     852,   850,   908,   853,   189,   897,   899,   896,   737,   528,
 -     890,   893,   898,   868,   502,   734,   900,   953,   717,   546,
 -     508,   972,   729,   901,   626,   983,   915,     0,     0,   203,
 -       0,     0,   212,   516,   548,   230,     0,     0,     0,     0,
 -     909,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 -     198,     0,     0,   210,     0,     0,   228,     0,     0,     0,
++      95,   175,   156,   174,   196,   209,   228,   702,   250,   269,
++     286,   305,   670,   845,   271,   176,   846,   177,   178,   272,
++     847,   849,    38,   850,   161,   190,   202,   212,   230,   856,
++     264,   282,    31,   306,    32,   661,    33,   284,   285,    30,
++     197,   210,   598,   599,   154,   155,    89,   602,   603,   604,
++     605,    42,   162,   191,   203,   213,   231,    44,   265,   283,
++     103,   307,   696,   104,   105,   114,   115,   188,   198,   211,
++     229,   619,   270,   339,   771,   113,   244,   772,   340,   244,
++     606,   113,   106,   107,   108,   109,   110,   111,   112,   113,
++     114,   115,   195,   114,   115,    46,   114,   115,   243,   114,
++     115,   931,   932,   933,   114,   115,    94,   114,   115,   860,
++     365,   662,   712,   713,   774,   366,   171,   775,   116,   117,
++     118,   119,   120,   244,    48,   245,   246,   369,   382,   247,
++     248,   249,   370,   383,   121,    50,   777,   122,   385,   778,
++     114,   115,    86,   386,   123,   697,   698,   699,   700,   112,
++     392,    52,   124,   125,   964,   393,   126,   965,   966,   967,
++      54,   420,    94,   436,   817,    90,   421,   818,   437,   899,
++     845,   900,   901,   846,    91,    92,    93,   847,   849,    56,
++     850,    58,    34,    35,    36,    37,   856,    94,    60,   439,
++      94,    94,   365,    94,   440,   324,    94,   740,   439,   962,
++     614,    94,   963,   741,    94,   615,   616,   617,   618,   619,
++     620,   621,   622,   623,   624,   625,   626,   912,   913,   914,
++     915,   106,   107,   108,   109,   244,   284,   285,   113,    62,
++     670,   682,   683,   684,   685,   686,   687,    94,   163,   369,
++     164,   113,   702,   328,   742,    64,   114,   115,   165,   166,
++     167,   168,   169,   170,    66,   329,   756,   756,   331,   114,
++     115,   757,   758,   171,   172,   788,   401,   330,   795,    95,
++     789,   173,   113,   796,   221,   570,   571,   572,   222,   223,
++     224,   225,   226,   227,   338,   204,   205,   206,   207,   208,
++     114,   115,   799,   436,   580,   581,   582,   800,   801,   156,
++     244,   266,   245,   246,   267,   268,   382,   171,   925,   420,
++     175,   922,   174,   926,   930,   196,   332,   114,   115,   344,
++     385,   161,   209,   392,   176,   939,   177,   178,   940,   345,
++     346,   347,   228,   946,   190,   441,   442,   202,   947,    94,
++     979,   402,   250,    94,   212,   980,   348,   269,   362,   162,
++     368,   197,   271,   403,   230,   376,    94,   272,   210,   377,
++     661,   668,   191,   669,   264,   203,   305,   388,   390,   282,
++     391,   406,   213,   410,   412,   417,   188,   414,   411,   198,
++     415,   422,   231,   416,   425,   427,   211,    94,   306,   428,
++     431,   432,   265,   433,   443,   444,   229,   283,   106,   107,
 +     108,   109,   445,   111,   446,   113,   244,   114,   115,   447,
-      270,   448,   450,   451,   452,   458,   307,   459,   460,   454,
-      455,   456,   457,   114,   115,   461,   166,   167,   462,   169,
-      170,   463,   464,   465,   466,   467,   468,   469,   470,   472,
-      171,   473,   471,   475,   478,   476,   479,   480,   173,   481,
-      482,   484,   541,   542,   543,   485,   483,   291,   292,   293,
++     270,   448,   450,   451,    94,   452,   307,   453,   458,   459,
++     454,   460,   455,   114,   115,   456,   166,   167,   457,   169,
++     170,   461,   462,   463,   464,   465,   466,   467,   468,   469,
++     171,   470,   471,   472,   473,   475,   476,   478,   173,   479,
++     480,   481,   541,   542,   543,   482,   483,   291,   292,   293,
 +     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
-      304,   486,   487,   488,   156,   625,   625,   490,   492,   493,
-      494,   495,   496,   498,   499,   500,   501,   502,   503,   504,
-      697,   710,   305,   506,   507,   509,   161,   508,   510,   511,
-      514,   512,   518,   519,    94,   515,   516,   522,   523,   521,
-      524,   525,   699,   711,   306,   526,   527,   528,   529,   533,
-       94,   530,   534,   536,   162,   594,   538,   539,   540,   547,
-      531,   532,   544,   545,   546,   548,   549,   552,   633,   633,
-      700,   712,   307,    32,   610,     1,     2,     3,     4,     5,
-        6,     7,     8,     9,    10,    11,    12,    13,    14,   553,
-      554,   555,   556,   557,   558,   567,   550,   559,   560,   561,
-      562,   563,   565,   566,   575,   568,   569,   576,   574,   577,
-      609,   641,   601,   645,   649,   653,   671,   674,   719,   578,
-      723,   579,   727,   731,   583,   733,   743,   584,   744,   745,
-      585,   586,   587,   588,   746,   589,   590,   591,   592,   593,
-      595,   596,   597,   747,   608,   755,   754,   757,   758,   760,
-      761,   764,   763,   796,   775,   767,   774,   776,   777,   778,
-      779,   780,   781,   786,   787,   788,   801,   663,   800,   804,
-      803,   806,   807,   818,   813,   809,   814,   815,   816,   820,
-      822,   817,   823,   873,   819,   821,   866,   874,   879,   867,
-      868,   880,   869,   870,   871,   882,   875,   883,   915,   890,
-      876,   877,   921,   948,   916,   920,   909,   936,   933,   941,
-      625,   175,   910,   174,   943,   911,   250,   912,   913,   269,
-      832,   927,   831,   928,   271,   176,   929,   177,   178,   272,
-      853,   930,   934,   286,   833,   190,   834,   835,   264,   945,
-      950,   282,   968,   969,   846,   970,   973,   611,   944,   697,
-      474,   974,   856,   710,   947,   949,   613,   975,   840,   196,
-      449,   640,   209,   191,   824,   228,   265,   850,   976,   283,
-      894,   699,   847,   633,   978,   711,   477,   188,   865,   851,
-      857,   202,   270,   520,   212,   836,   845,   230,   864,   872,
-      826,   825,   896,   854,   855,   197,   849,   489,   210,   700,
-      940,   242,   828,   712,   827,   829,   830,   517,   491,   203,
-      885,   884,   213,   889,   497,   231,   942,   887,   513,   886,
-      897,   888,   863,   198,   881,   717,   211,   505,   878,   229,
-      612,   903,   946,   895,   966,   977,     0,     0,     0,     0,
-        0,     0,     0,     0,     0,     0,     0,     0,   535,     0,
-        0,     0,     0,     0,     0,     0,     0,   537,     0,     0,
++     304,   485,   484,   486,   156,   627,   627,   487,   488,   490,
++     492,   494,   498,   499,   493,   495,   500,   496,   501,   502,
++     701,   714,   305,   503,   504,   506,   161,   507,   509,   508,
++     510,   511,   514,   518,    94,   512,   515,   519,   516,   522,
++     521,   523,   703,   715,   306,   524,   525,   526,   527,   528,
++      94,   529,   533,   534,   162,   594,   530,   536,   538,   539,
++     547,   667,   531,   540,   544,   545,   532,   546,   635,   635,
++     704,   716,   307,   548,   610,     1,     2,     3,     4,     5,
++       6,     7,     8,     9,    10,    11,    12,    13,    14,   549,
++      32,   552,   553,   554,   555,   556,   557,   558,   567,   550,
++     559,   560,   561,   562,   563,   565,   566,   568,   569,   574,
++     575,   576,   609,   645,   735,   649,   601,   653,   657,   675,
++     678,   577,   723,   578,   727,   731,   737,   579,   747,   583,
++     748,   749,   750,   584,   585,   586,   751,   587,   588,   589,
++     590,   591,   592,   593,   595,   596,   597,   753,   608,   754,
++     760,   761,   763,   764,   767,   766,   770,   802,   769,   781,
++     773,   780,   782,   783,   784,   785,   786,   787,   792,   793,
++     794,   807,   823,   806,   810,   809,   812,   813,   825,   819,
++     815,   820,   821,   822,   828,   831,   881,   882,   887,   824,
++     826,   888,   827,   891,   829,   830,   874,   875,   890,   876,
++     877,   898,   878,   923,   924,   929,   879,   883,   928,   941,
++     944,   949,   951,   953,   976,   884,   627,   175,   885,   174,
++     917,   918,   250,   952,   919,   269,   840,   920,   839,   921,
++     271,   176,   935,   177,   178,   272,   861,   936,   956,   286,
++     841,   190,   842,   843,   264,   958,   977,   282,   978,   981,
++     854,   449,   937,   938,   611,   701,   613,   942,   864,   714,
++     832,   982,   858,   644,   848,   196,   859,   872,   209,   191,
++     983,   228,   265,   520,   474,   283,   902,   703,   855,   635,
++     955,   715,   477,   188,   957,   986,   865,   202,   270,   984,
++     212,   844,   853,   230,   873,   880,   489,   833,   904,   862,
++     863,   197,   834,   857,   210,   704,   948,   242,   836,   716,
++     835,   837,   838,   892,   491,   203,   893,   497,   213,   894,
++     871,   231,   895,   950,   505,   886,   905,   897,   889,   198,
++     513,   896,   211,   721,   954,   229,   911,   517,   612,   903,
++     974,   985,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,   535,
++       0,     0,     0,   537,     0,     0,     0,     0,     0,     0,
         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-        0,     0,     0,     0,     0,   832,     0,   831,     0,     0,
-        0,   853,     0,     0,     0,     0,     0,     0,     0,   833,
-        0,   834,   835,     0,     0,     0,     0,     0,   894,   846,
-        0,     0,     0,   856,     0,     0,     0,     0,     0,     0,
-        0,     0,     0,   840,     0,     0,     0,     0,     0,     0,
-      896,     0,     0,     0,     0,     0,     0,   847,     0,     0,
-        0,   857,     0,     0,     0,     0,     0,     0,     0,     0,
-      836,   845,     0,     0,   854,   855,     0,     0,   897,     0,
 -       0,     0,     0,     0,     0,     0,     0,   855,     0,   854,
 -       0,     0,     0,   859,     0,     0,     0,     0,     0,     0,
 -     856,     0,     0,   857,     0,   858,     0,   906,     0,     0,
 -     869,   907,     0,     0,     0,     0,     0,     0,     0,     0,
 -       0,     0,     0,     0,     0,     0,     0,     0,   908,     0,
--       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-        0,   895
 -       0,     0,     0,     0,     0,     0,     0,     0,   870,     0,
 -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 -       0,     0,     0,     0,     0,     0,   909,     0,     0,   868
++       0,     0,     0,   840,     0,   839,     0,     0,     0,   861,
++       0,     0,     0,     0,     0,     0,     0,   841,     0,   842,
++     843,     0,     0,     0,     0,     0,   902,   854,     0,     0,
++       0,   864,     0,     0,     0,     0,     0,     0,     0,     0,
++       0,   848,     0,     0,     0,     0,     0,     0,   904,     0,
++       0,     0,     0,     0,     0,   855,     0,     0,     0,   865,
++       0,     0,     0,     0,     0,     0,     0,     0,   844,   853,
++       0,     0,   862,   863,     0,     0,   905,     0,     0,     0,
++       0,     0,     0,     0,     0,     0,     0,     0,     0,   903
    };
  
    const short int
    Dhcp6Parser::yycheck_[] =
    {
 -      70,    73,    72,    73,    74,    75,    76,   571,    78,    79,
 -      80,    81,    16,    79,    73,   568,   783,    73,    79,    73,
 -     567,   783,   783,    72,    73,    74,    75,    76,   783,    78,
 -      79,    79,    81,     5,   783,     7,   783,     9,    40,    66,
 -      67,    68,    10,    79,     7,     7,    12,    13,   509,   510,
 -     511,    53,    54,    55,    56,    57,    58,    59,    86,    87,
 -       0,    72,    73,    74,    75,    76,    16,    78,    79,     7,
 -      81,    33,    34,    35,    36,    25,    40,    41,    40,    86,
 -      87,    58,    59,    73,    74,    75,    76,     7,    50,     7,
 -      52,     7,    58,    59,    58,    59,    58,    59,    60,    61,
 -      62,    63,    64,    65,    79,    80,     3,    82,    58,    59,
 -      74,     8,    75,    75,    76,    33,    34,    35,    36,   155,
 -      38,    83,    40,    41,   122,   123,     7,   155,   105,   106,
 -     125,   126,   127,   128,     3,     3,     7,    40,     6,     8,
 -      58,    59,     3,    61,    62,     6,    64,    65,    51,    99,
 -     100,   101,   102,   155,     3,    58,    59,    75,   155,     8,
 -       7,   129,   929,   158,     3,    83,     7,   929,   929,     8,
 -     138,   139,   140,    11,   929,     7,    14,    15,   155,     7,
 -     929,    16,   929,   155,   156,   157,   158,   155,     7,   155,
 -       7,   155,     7,   155,     7,    33,    34,    35,    36,    37,
 -      38,    39,    40,    39,     3,   155,    41,     6,    43,    44,
 -       3,     3,    47,    48,    49,     8,     8,    96,    97,    98,
 -      58,    59,    40,    58,    59,   130,    17,    18,    19,    20,
 -     783,    69,    70,    71,    72,    73,     6,   155,   791,     3,
 -      58,    59,   789,     3,     8,   809,     3,    85,     8,     3,
 -      88,     8,   155,     3,     8,    73,    41,    95,     8,    77,
 -      78,    79,    80,    81,    82,   103,   104,     3,   338,   107,
 -      16,     3,     8,    58,    59,    21,    22,    23,    24,    25,
 -      26,    27,    28,    29,    30,    31,    32,     4,     8,    41,
 -      42,    43,    44,    45,    46,    41,     3,     3,   368,     3,
 -     370,     8,     8,     3,   370,     4,    58,    59,     8,     3,
 -     382,     3,   382,     3,     8,   385,     8,   155,     8,   368,
 -     155,   370,   392,   382,   328,   329,   382,     4,   382,     3,
 -       8,     4,   402,   382,     8,   132,   385,   155,   135,   136,
 -     137,     3,   412,   392,     6,     3,   131,   417,   133,   134,
 -       8,   417,     4,   402,     4,     3,   417,   368,     3,   370,
 -       8,     6,     3,   412,     4,     4,   436,     8,   417,   417,
 -     155,   382,     4,     4,   385,     4,   929,    58,    59,     3,
 -     370,   392,     4,     3,     8,     3,     3,   436,     8,     4,
 -       8,   402,   382,     4,     8,   385,     4,     4,     8,     3,
 -       3,   412,   392,   155,     4,     4,   417,     8,     4,   155,
 -       4,     4,   402,    89,    90,    91,    92,    93,    94,     4,
 -       4,     4,     4,     4,   155,   436,     4,   108,   109,   110,
 +      70,    73,    72,    73,    74,    75,    76,   560,    78,    79,
-       80,    81,   556,   762,    79,    73,   762,    73,    73,    79,
-      762,   762,    16,   762,    72,    73,    74,    75,    76,   762,
-       78,    79,     5,    81,     7,    77,     9,     3,    84,    85,
-       74,    75,     8,     3,    12,    13,    10,     3,     8,     7,
-        6,     0,    72,    73,    74,    75,    76,     3,    78,    79,
-       11,    81,     8,    14,    15,   153,     3,    73,    74,    75,
-       76,     8,    79,     6,     3,    38,    39,   120,   121,     8,
-       31,    32,    33,    34,    35,    36,    37,    38,    56,    57,
-       16,    84,    85,    56,    57,    21,    22,    23,    24,    25,
-       26,    27,    28,    29,    30,    56,    57,   153,    16,    72,
-       38,   153,    16,    39,    56,    57,    67,    68,    69,    70,
-       71,    25,     7,    51,    52,    53,    54,    55,    56,    57,
-        7,    39,    83,    41,    42,    86,     3,    45,    46,    47,
-       37,     8,    93,    77,    78,    73,    80,     7,    56,    57,
-      101,   102,    56,    57,   105,    87,    88,    89,    90,    91,
-       92,   103,   104,   127,     3,     3,     7,     7,   917,     8,
-        8,   917,   136,   137,   138,   917,   917,     7,   917,    38,
-      153,   154,   155,   156,   917,   153,     3,     7,    38,   153,
-      153,     8,    39,    97,    98,    99,   100,    56,    57,    49,
-      130,     7,   153,   133,   134,   135,    56,    57,     3,    56,
-       57,   153,    71,     8,     7,     7,    75,    76,    77,    78,
-       79,    80,     7,    73,   768,   153,     3,   153,     7,     6,
-        3,    31,    32,    33,    34,     8,   789,   128,    38,   123,
-      124,   125,   126,     3,     3,   153,     3,     3,    48,   153,
-       50,     8,     8,    64,    65,    66,    56,    57,    58,    59,
-       60,    61,    62,    63,     3,     3,     3,     6,     4,   339,
-        8,     8,   156,    73,    74,    39,    40,    41,    42,    43,
-       44,    81,   129,     3,   131,   132,     3,     8,     8,     4,
-        3,     8,    56,    57,   153,     8,     3,     3,     8,   369,
-        3,     8,     8,   153,     3,     8,   153,     4,     3,     8,
-      382,     3,   382,     8,     3,   385,     8,     3,     3,     8,
-        6,   369,   392,     4,   382,     3,   382,   382,     6,    94,
-       95,    96,   402,     4,   382,   329,   330,   385,    17,    18,
-       19,    20,   412,     4,   392,     4,     4,   417,     4,   369,
-        4,   385,   417,   153,   402,     8,     4,   417,   392,   498,
-      499,   500,   382,     4,   412,   385,   436,     4,     4,   417,
-        4,     3,   392,     4,   154,     4,   382,     4,     8,   385,
-        8,     3,   402,     4,     4,     4,   392,     4,   436,   153,
-        4,     4,   412,     4,     4,   153,   402,   417,    31,    32,
-       33,    34,     4,    36,     4,    38,    39,    56,    57,     4,
-      417,     4,     4,     4,     4,     4,   436,     4,     4,   154,
-      154,   154,   154,    56,    57,     4,    59,    60,     4,    62,
-       63,     4,     4,     4,     4,     4,     4,     4,     4,     4,
-       73,     4,   154,     4,     4,   156,     4,     4,    81,     4,
-        4,   156,   446,   447,   448,     4,   154,   106,   107,   108,
-      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-      119,     4,     4,     4,   544,   545,   546,     4,     4,   154,
-        4,   154,   154,     4,     4,     4,     4,     4,     4,     4,
-      560,   561,   562,     4,     4,     4,   544,   154,     4,     4,
-        4,   156,     4,     4,   153,   156,   156,     4,     4,   156,
-      154,     4,   560,   561,   562,   154,   154,     4,     4,     4,
-      153,   156,     4,     4,   544,   519,     4,     7,     7,     5,
-      156,   156,     7,     7,     7,     5,     5,   153,   545,   546,
-      560,   561,   562,     7,   538,   139,   140,   141,   142,   143,
-      144,   145,   146,   147,   148,   149,   150,   151,   152,     5,
-        5,     5,     5,     5,     5,   153,   461,     7,     7,     7,
-        7,     5,     5,     5,     5,   153,   153,     7,   153,   153,
-        5,     7,   122,     7,     7,     7,     7,     7,     7,   153,
-        7,   153,     7,    82,   153,     7,     4,   153,     4,     4,
-      153,   153,   153,   153,     4,   153,   153,   153,   153,   153,
-      153,   153,   153,     4,   153,     3,     6,     6,     3,     6,
-        3,     3,     6,   153,     3,     6,     6,     4,     4,     4,
-        4,     4,     4,     4,     4,     4,     3,   555,     6,     3,
-        6,     6,     3,   156,     4,     8,     4,     4,     4,   156,
-        4,   154,     4,     4,   154,   154,   154,     4,     4,   154,
-      154,     4,   154,   154,   154,     6,   154,     3,     8,     4,
-      154,   154,     3,     5,     8,     8,   153,     4,     8,     4,
-      750,   753,   153,   753,     4,   153,   756,   153,   153,   759,
-      762,   153,   762,   153,   759,   753,   153,   753,   753,   759,
-      770,   153,   153,   773,   762,   753,   762,   762,   756,     4,
-        7,   759,     4,     4,   762,     4,     4,   539,   154,   789,
-      365,   156,   770,   793,   153,   153,   544,   154,   762,   799,
-      339,   546,   802,   753,   750,   805,   756,   765,   154,   759,
-      810,   789,   762,   750,   153,   793,   369,   753,   775,   768,
-      770,   799,   759,   420,   802,   762,   762,   805,   773,   782,
-      755,   753,   810,   770,   770,   799,   764,   382,   802,   789,
-      917,    77,   758,   793,   756,   759,   761,   417,   385,   799,
-      801,   799,   802,   807,   392,   805,   921,   804,   412,   802,
-      810,   805,   771,   799,   793,   562,   802,   402,   789,   805,
-      540,   811,   938,   810,   954,   971,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   436,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,   439,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,    -1,    -1,   917,    -1,   917,    -1,    -1,
-       -1,   921,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   917,
-       -1,   917,   917,    -1,    -1,    -1,    -1,    -1,   938,   917,
-       -1,    -1,    -1,   921,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,    -1,    -1,   917,    -1,    -1,    -1,    -1,    -1,    -1,
-      938,    -1,    -1,    -1,    -1,    -1,    -1,   917,    -1,    -1,
-       -1,   921,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      917,   917,    -1,    -1,   921,   921,    -1,    -1,   938,    -1,
++      80,    81,   556,   768,    79,    73,   768,    73,    73,    79,
++     768,   768,    16,   768,    72,    73,    74,    75,    76,   768,
++      78,    79,     5,    81,     7,    79,     9,    86,    87,     0,
++      74,    75,   122,   123,    12,    13,    10,   125,   126,   127,
++     128,     7,    72,    73,    74,    75,    76,     7,    78,    79,
++      11,    81,    16,    14,    15,    58,    59,    73,    74,    75,
++      76,    25,    79,     3,     3,    40,    41,     6,     8,    41,
++     158,    40,    33,    34,    35,    36,    37,    38,    39,    40,
++      58,    59,    51,    58,    59,     7,    58,    59,    16,    58,
++      59,    96,    97,    98,    58,    59,   155,    58,    59,    74,
++       3,   155,   105,   106,     3,     8,    75,     6,    69,    70,
++      71,    72,    73,    41,     7,    43,    44,     3,     3,    47,
++      48,    49,     8,     8,    85,     7,     3,    88,     3,     6,
++      58,    59,   155,     8,    95,    99,   100,   101,   102,    39,
++       3,     7,   103,   104,   132,     8,   107,   135,   136,   137,
++       7,     3,   155,     3,     3,   129,     8,     6,     8,   131,
++     925,   133,   134,   925,   138,   139,   140,   925,   925,     7,
++     925,     7,   155,   156,   157,   158,   925,   155,     7,     3,
++     155,   155,     3,   155,     8,   130,   155,     8,     3,     3,
++      16,   155,     6,     8,   155,    21,    22,    23,    24,    25,
++      26,    27,    28,    29,    30,    31,    32,    17,    18,    19,
++      20,    33,    34,    35,    36,    41,    86,    87,    40,     7,
++     774,    89,    90,    91,    92,    93,    94,   155,    50,     3,
++      52,    40,   795,     6,     8,     7,    58,    59,    60,    61,
++      62,    63,    64,    65,     7,     3,     3,     3,     8,    58,
++      59,     8,     8,    75,    76,     3,     8,     4,     3,   339,
++       8,    83,    40,     8,    73,    66,    67,    68,    77,    78,
++      79,    80,    81,    82,     4,    53,    54,    55,    56,    57,
++      58,    59,     3,     3,   498,   499,   500,     8,     8,   369,
++      41,    42,    43,    44,    45,    46,     3,    75,     3,     3,
++     382,     8,   382,     8,     8,   385,     3,    58,    59,     4,
++       3,   369,   392,     3,   382,     8,   382,   382,     8,     4,
++       4,     4,   402,     3,   382,   329,   330,   385,     8,   155,
++       3,     3,   412,   155,   392,     8,     4,   417,     4,   369,
++       4,   385,   417,     8,   402,     4,   155,   417,   392,     4,
++      79,    80,   382,    82,   412,   385,   436,     4,     4,   417,
++       4,     4,   392,     4,     3,     3,   382,     4,     8,   385,
++       4,     4,   402,     8,     4,     4,   392,   155,   436,     4,
++       4,     4,   412,     4,   155,     4,   402,   417,    33,    34,
++      35,    36,     4,    38,     4,    40,    41,    58,    59,     4,
++     417,     4,     4,     4,   155,     4,   436,   156,     4,     4,
++     156,     4,   156,    58,    59,   156,    61,    62,   156,    64,
++      65,     4,     4,     4,     4,     4,     4,     4,     4,     4,
++      75,     4,   156,     4,     4,     4,   158,     4,    83,     4,
++       4,     4,   446,   447,   448,     4,   156,   108,   109,   110,
+      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
 -     121,     4,   446,   447,   448,   141,   142,   143,   144,   145,
 -     146,   147,   148,   149,   150,   151,   152,   153,   154,     4,
 -       4,     4,     4,     4,     4,   156,     4,   156,   156,   156,
 -     156,     4,     4,     4,   155,     4,     4,     4,     4,     4,
 -       4,     4,     4,     4,   156,   555,   556,   557,     4,     4,
 -     556,   557,   158,     4,     4,     4,     4,     4,   158,   156,
 -       4,   571,   572,   573,     4,     4,   555,     4,   578,     4,
 -       4,     4,   578,   156,   156,     4,     4,     4,   156,     4,
 -       4,     4,   571,   572,   573,     4,   530,     4,     4,   578,
 -     156,     4,     4,     4,     4,   158,     4,   158,     4,   158,
 -       4,     4,   158,   156,   555,   549,     4,   156,     4,     4,
 -     156,     4,     4,   158,     4,     4,   158,   155,     5,     7,
 -     571,   572,   573,   158,     7,     7,     7,   578,     7,     5,
 -       5,     8,     5,     7,     5,     5,     5,     5,     5,   155,
 -     155,     7,     7,     7,     7,     5,     3,     5,   578,     5,
 -     155,   155,     5,     7,   155,   155,   155,   155,   155,   155,
 -     155,   155,   155,   155,   155,   155,   155,   155,   155,   155,
 -     124,     5,     7,     4,     7,     7,   155,     7,   155,     7,
 -       7,     7,     7,    84,     7,     4,     4,     4,     4,     4,
 -       4,     4,     3,   566,     6,     3,     6,     6,     3,     6,
 -       3,   158,     6,     3,     6,     4,     4,     4,     4,     4,
 -       4,     4,     4,     4,   155,     3,     6,   155,     3,     6,
 -       6,     3,   158,     4,     8,     4,     4,     4,     4,     4,
 -     156,     4,     4,     4,   156,   156,   156,     4,   156,     3,
 -       6,   156,   156,     4,   461,     8,     8,   156,     8,   156,
 -       4,   156,     4,     4,   156,     5,   156,   156,     7,   156,
 -       4,   771,   774,     4,   774,   771,     4,   777,     4,   155,
 -     780,   783,   156,   783,   780,   774,   156,   783,   774,   780,
 -     774,   550,   555,   793,   783,   774,   158,   783,   777,   783,
 -     364,   780,   780,   155,   783,   156,   155,   557,   368,   809,
 -     155,   338,   771,   813,   155,   155,   155,   155,   155,   155,
 -     820,   155,   155,   823,   786,   789,   826,   795,   793,   420,
 -     809,   831,   802,   774,   813,   831,   777,   776,   774,   780,
 -     382,   820,   783,   785,   823,   929,   779,   826,    77,   412,
 -     780,   777,   831,   782,   774,   822,   825,   820,   578,   417,
 -     809,   813,   823,   783,   385,   573,   826,   947,   809,   436,
 -     392,   960,   813,   828,   551,   977,   832,    -1,    -1,   820,
 -      -1,    -1,   823,   402,   439,   826,    -1,    -1,    -1,    -1,
 -     831,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 -     820,    -1,    -1,   823,    -1,    -1,   826,    -1,    -1,    -1,
 -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 -      -1,    -1,    -1,    -1,    -1,    -1,    -1,   929,    -1,   929,
 -      -1,    -1,    -1,   929,    -1,    -1,    -1,    -1,    -1,    -1,
 -     929,    -1,    -1,   929,    -1,   929,    -1,   947,    -1,    -1,
 -     929,   947,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   947,    -1,
 -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   929,    -1,
++     121,     4,   158,     4,   544,   545,   546,     4,     4,     4,
++       4,     4,     4,     4,   156,   156,     4,   156,     4,     4,
++     560,   561,   562,     4,     4,     4,   544,     4,     4,   156,
++       4,     4,     4,     4,   155,   158,   158,     4,   158,     4,
++     158,     4,   560,   561,   562,   156,     4,   156,   156,     4,
++     155,     4,     4,     4,   544,   519,   158,     4,     4,     7,
++       5,   555,   158,     7,     7,     7,   158,     7,   545,   546,
++     560,   561,   562,     5,   538,   141,   142,   143,   144,   145,
++     146,   147,   148,   149,   150,   151,   152,   153,   154,     5,
++       7,   155,     5,     5,     5,     5,     5,     5,   155,   461,
++       7,     7,     7,     7,     5,     5,     5,   155,   155,   155,
++       5,     7,     5,     7,    84,     7,   124,     7,     7,     7,
++       7,   155,     7,   155,     7,     7,     7,   155,     4,   155,
++       4,     4,     4,   155,   155,   155,     4,   155,   155,   155,
++     155,   155,   155,   155,   155,   155,   155,     4,   155,     4,
++       6,     3,     6,     3,     3,     6,     3,   155,     6,     3,
++       6,     6,     4,     4,     4,     4,     4,     4,     4,     4,
++       4,     3,   156,     6,     3,     6,     6,     3,   156,     4,
++       8,     4,     4,     4,     4,     4,     4,     4,     4,   158,
++     158,     4,   156,     3,   156,   156,   156,   156,     6,   156,
++     156,     4,   156,     8,     8,     3,   156,   156,     8,     8,
++       4,     4,     4,     4,     4,   156,   756,   759,   156,   759,
++     155,   155,   762,   156,   155,   765,   768,   155,   768,   155,
++     765,   759,   155,   759,   759,   765,   776,   155,     5,   779,
++     768,   759,   768,   768,   762,     7,     4,   765,     4,     4,
++     768,   339,   155,   155,   539,   795,   544,   155,   776,   799,
++     756,   158,   771,   546,   768,   805,   774,   779,   808,   759,
++     156,   811,   762,   420,   365,   765,   816,   795,   768,   756,
++     155,   799,   369,   759,   155,   155,   776,   805,   765,   156,
++     808,   768,   768,   811,   781,   788,   382,   759,   816,   776,
++     776,   805,   761,   770,   808,   795,   925,    77,   764,   799,
++     762,   765,   767,   805,   385,   805,   807,   392,   808,   808,
++     777,   811,   810,   929,   402,   795,   816,   813,   799,   805,
++     412,   811,   808,   562,   946,   811,   817,   417,   540,   816,
++     962,   979,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   436,
++      -1,    -1,    -1,   439,    -1,    -1,    -1,    -1,    -1,    -1,
        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-       -1,   938
 -      -1,    -1,    -1,    -1,    -1,    -1,   947,    -1,    -1,   929
++      -1,    -1,    -1,   925,    -1,   925,    -1,    -1,    -1,   929,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,   925,    -1,   925,
++     925,    -1,    -1,    -1,    -1,    -1,   946,   925,    -1,    -1,
++      -1,   929,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
++      -1,   925,    -1,    -1,    -1,    -1,    -1,    -1,   946,    -1,
++      -1,    -1,    -1,    -1,    -1,   925,    -1,    -1,    -1,   929,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   925,   925,
++      -1,    -1,   929,   929,    -1,    -1,   946,    -1,    -1,    -1,
++      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   946
    };
  
    const unsigned short int
    Dhcp6Parser::yystos_[] =
    {
-        0,   139,   140,   141,   142,   143,   144,   145,   146,   147,
-      148,   149,   150,   151,   152,   158,   159,   160,   161,   162,
-      163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
-        0,     5,     7,     9,   153,   154,   155,   156,   173,   174,
-      175,   180,     7,   189,     7,   195,     7,   206,     7,   283,
-        7,   358,     7,   374,     7,   391,     7,   310,     7,   316,
-        7,   340,     7,   259,     7,   448,     7,   483,   181,   176,
-      190,   196,   207,   284,   359,   375,   392,   311,   317,   341,
-      260,   449,   484,   173,   182,   183,   153,   178,   179,    10,
-      127,   136,   137,   138,   153,   188,   191,   192,   193,   475,
-      477,   479,   481,    11,    14,    15,    31,    32,    33,    34,
-       35,    36,    37,    38,    56,    57,    67,    68,    69,    70,
-       71,    83,    86,    93,   101,   102,   105,   188,   197,   198,
-      199,   200,   201,   202,   203,   204,   213,   215,   239,   245,
-      251,   253,   267,   277,   300,   308,   334,   364,   366,   414,
-      425,   437,   438,   446,    12,    13,   188,   208,   209,   210,
-      212,   364,   366,    48,    50,    58,    59,    60,    61,    62,
-       63,    73,    74,    81,   188,   199,   200,   201,   202,   285,
-      286,   287,   289,   291,   293,   295,   298,   299,   334,   352,
-      364,   366,   368,   385,   410,    49,   188,   293,   334,   360,
-      361,   362,   364,   366,    51,    52,    53,    54,    55,   188,
-      293,   334,   364,   366,   376,   377,   378,   380,   381,   383,
-      384,    71,    75,    76,    77,    78,    79,    80,   188,   334,
-      364,   366,   393,   394,   395,   396,   398,   400,   402,   404,
-      406,   408,   308,    16,    39,    41,    42,    45,    46,    47,
-      188,   229,   318,   319,   320,   321,   322,   323,   324,   326,
-      328,   330,   331,   333,   364,   366,    40,    43,    44,   188,
-      229,   322,   328,   342,   343,   344,   345,   346,   348,   349,
-      350,   351,   364,   366,    84,    85,   188,   261,   262,   263,
-      265,   106,   107,   108,   109,   110,   111,   112,   113,   114,
-      115,   116,   117,   118,   119,   188,   364,   366,   450,   451,
-      452,   453,   455,   457,   458,   460,   461,   462,   465,   467,
-      468,   469,   470,   473,   128,   485,   486,   487,     6,     3,
-        4,     8,     3,   194,   482,   476,   478,   480,     4,     3,
-        8,   205,   214,   216,     4,     4,     4,     4,     4,   278,
-      309,   335,   365,   367,   301,   240,   252,   246,   415,   254,
-      268,   426,     4,   439,   447,     3,     8,   211,     4,     3,
-        8,   353,   369,   288,   290,   292,     4,     4,   296,   294,
-      386,   411,     3,     8,   363,     3,     8,   379,     4,   382,
-        4,     4,     3,     8,   409,   397,   399,   401,   403,   405,
-      407,     8,     3,     8,   325,   230,     4,   329,   327,   332,
-        4,     8,     3,   347,     4,     4,     8,     3,   264,   266,
-        3,     8,     4,   454,   456,     4,   459,     4,     4,   463,
-      466,     4,     4,     4,   471,   474,     3,     8,   488,     3,
-        8,   173,   173,   153,     4,     4,     4,     4,     4,   192,
-        4,     4,     4,   154,   154,   154,   154,   154,     4,     4,
+        0,   141,   142,   143,   144,   145,   146,   147,   148,   149,
+      150,   151,   152,   153,   154,   160,   161,   162,   163,   164,
+      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
+        0,     5,     7,     9,   155,   156,   157,   158,   175,   176,
+      177,   182,     7,   191,     7,   197,     7,   208,     7,   287,
+        7,   362,     7,   378,     7,   395,     7,   314,     7,   320,
 -       7,   344,     7,   263,     7,   451,     7,   486,   183,   178,
++       7,   344,     7,   263,     7,   452,     7,   487,   183,   178,
+      192,   198,   209,   288,   363,   379,   396,   315,   321,   345,
 -     264,   452,   487,   175,   184,   185,   155,   180,   181,    10,
 -     129,   138,   139,   140,   155,   190,   193,   194,   195,   478,
 -     480,   482,   484,    11,    14,    15,    33,    34,    35,    36,
++     264,   453,   488,   175,   184,   185,   155,   180,   181,    10,
++     129,   138,   139,   140,   155,   190,   193,   194,   195,   479,
++     481,   483,   485,    11,    14,    15,    33,    34,    35,    36,
+       37,    38,    39,    40,    58,    59,    69,    70,    71,    72,
+       73,    85,    88,    95,   103,   104,   107,   190,   199,   200,
+      201,   202,   203,   204,   205,   206,   215,   217,   243,   249,
+      255,   257,   271,   281,   304,   312,   338,   368,   370,   418,
 -     428,   440,   441,   449,    12,    13,   190,   210,   211,   212,
 -     214,   368,   370,     7,    50,    52,    60,    61,    62,    63,
 -      64,    65,    75,    76,    83,   190,   201,   202,   203,   204,
 -     289,   290,   291,   293,   295,   297,   299,   302,   303,   338,
 -     356,   368,   370,   372,   389,   414,    51,   190,   338,   364,
++     429,   441,   442,   450,    12,    13,   190,   210,   211,   212,
++     214,   368,   370,    50,    52,    60,    61,    62,    63,    64,
++      65,    75,    76,    83,   190,   201,   202,   203,   204,   289,
++     290,   291,   293,   295,   297,   299,   302,   303,   338,   356,
++     368,   370,   372,   389,   414,    51,   190,   297,   338,   364,
+      365,   366,   368,   370,    53,    54,    55,    56,    57,   190,
 -     338,   368,   370,   380,   381,   382,   384,   385,   387,   388,
 -      73,    77,    78,    79,    80,    81,    82,   190,   338,   368,
 -     370,   397,   398,   399,   400,   402,   404,   406,   408,   410,
 -     412,   312,    16,    41,    43,    44,    47,    48,    49,   190,
 -     231,   322,   323,   324,   325,   326,   327,   328,   330,   332,
 -     334,   335,   337,   368,   370,    42,    45,    46,   190,   231,
 -     326,   332,   346,   347,   348,   349,   350,   352,   353,   354,
 -     355,   368,   370,    86,    87,   190,   265,   266,   267,   269,
 -     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
 -     118,   119,   120,   121,   190,   368,   370,   453,   454,   455,
 -     456,   458,   460,   461,   463,   464,   465,   468,   470,   471,
 -     472,   473,   476,   130,   488,   489,   490,     6,     3,     4,
 -       8,     3,   196,   485,   479,   481,   483,     4,     3,     8,
 -     207,   216,   218,     4,     4,     4,     4,     4,   282,   313,
 -     339,   369,   371,   305,   244,   256,   250,   419,   258,   272,
 -     429,     4,   442,   450,     3,     8,   213,     4,     3,     8,
 -     421,   357,   373,   292,   294,   296,     4,     4,   300,   298,
++     297,   338,   368,   370,   380,   381,   382,   384,   385,   387,
++     388,    73,    77,    78,    79,    80,    81,    82,   190,   338,
++     368,   370,   397,   398,   399,   400,   402,   404,   406,   408,
++     410,   412,   312,    16,    41,    43,    44,    47,    48,    49,
++     190,   231,   322,   323,   324,   325,   326,   327,   328,   330,
++     332,   334,   335,   337,   368,   370,    42,    45,    46,   190,
++     231,   326,   332,   346,   347,   348,   349,   350,   352,   353,
++     354,   355,   368,   370,    86,    87,   190,   265,   266,   267,
++     269,   108,   109,   110,   111,   112,   113,   114,   115,   116,
++     117,   118,   119,   120,   121,   190,   368,   370,   454,   455,
++     456,   457,   459,   461,   462,   464,   465,   466,   469,   471,
++     472,   473,   474,   477,   130,   489,   490,   491,     6,     3,
++       4,     8,     3,   196,   486,   480,   482,   484,     4,     3,
++       8,   207,   216,   218,     4,     4,     4,     4,     4,   282,
++     313,   339,   369,   371,   305,   244,   256,   250,   419,   258,
++     272,   430,     4,   443,   451,     3,     8,   213,     4,     3,
++       8,   357,   373,   292,   294,   296,     4,     4,   300,   298,
+      390,   415,     3,     8,   367,     3,     8,   383,     4,   386,
+        4,     4,     3,     8,   413,   401,   403,   405,   407,   409,
+      411,     8,     3,     8,   329,   232,     4,   333,   331,   336,
+        4,     8,     3,   351,     4,     4,     8,     3,   268,   270,
 -       3,     8,     4,   457,   459,     4,   462,     4,     4,   466,
 -     469,     4,     4,     4,   474,   477,     3,     8,   491,     3,
++       3,     8,     4,   458,   460,     4,   463,     4,     4,   467,
++     470,     4,     4,     4,   475,   478,     3,     8,   492,     3,
+        8,   175,   175,   155,     4,     4,     4,     4,     4,   194,
+        4,     4,     4,   156,   156,   156,   156,   156,     4,     4,
         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
-        4,   154,     4,     4,   198,     4,   156,   209,     4,     4,
-        4,     4,     4,   154,   156,     4,     4,     4,     4,   286,
-        4,   361,     4,   154,     4,   154,   154,   377,     4,     4,
-        4,     4,     4,     4,     4,   395,     4,     4,   154,     4,
-        4,     4,   156,   320,     4,   156,   156,   344,     4,     4,
-      262,   156,     4,     4,   154,     4,   154,   154,     4,     4,
-      156,   156,   156,     4,     4,   451,     4,   486,     4,     7,
-        7,   173,   173,   173,     7,     7,     7,     5,     5,     5,
-      175,   177,   153,     5,     5,     5,     5,     5,     5,     7,
-        7,     7,     7,     5,   184,     5,     5,   153,   153,   153,
-       64,    65,    66,   297,   153,     5,     7,   153,   153,   153,
-      184,   184,   184,   153,   153,   153,   153,   153,   153,   153,
-      153,   153,   153,   153,   173,   153,   153,   153,   120,   121,
-      464,   122,   123,   124,   125,   126,   156,   472,   153,     5,
-      173,   197,   485,   208,    16,    21,    22,    23,    24,    25,
-       26,    27,    28,    29,    30,   188,   217,   218,   219,   222,
-      224,   226,   228,   229,   231,   232,   233,   234,   235,   237,
-      217,     7,   279,   280,   281,     7,   312,   313,   314,     7,
-      336,   337,   338,     7,   302,   303,   304,    77,   153,   241,
-      242,   243,   244,   182,    78,    80,   243,   247,   248,   249,
-      250,     7,   416,   417,     7,   255,   256,   257,    87,    88,
-       89,    90,    91,    92,   269,   270,   271,   272,   273,   274,
-      275,   276,    16,    97,    98,    99,   100,   188,   231,   364,
-      366,   427,   428,   429,   432,   433,   435,   436,   103,   104,
-      188,   364,   366,   440,   441,   442,   444,   450,   185,     7,
-      354,   355,   356,     7,   370,   371,   372,     7,   387,   388,
-      389,    82,   412,     7,   489,   490,     8,     8,     8,   220,
-      223,   225,   227,     4,     4,     4,     4,     4,   236,   238,
-        3,     8,     8,   282,     6,     3,   315,     6,     3,   339,
-        6,     3,   305,     6,     3,     3,     6,     6,     3,     6,
-      418,     3,     6,   258,     6,     3,     4,     4,     4,     4,
-        4,     4,     3,     8,   430,   434,     4,     4,     4,     3,
-        8,   443,   445,     3,     8,     8,   153,   186,   187,   357,
-        6,     3,   373,     6,     3,   390,     6,     3,   413,     8,
-      491,     3,     6,     4,     4,     4,     4,   154,   156,   154,
-      156,   154,     4,     4,   218,   285,   281,   318,   314,   342,
-      338,   188,   199,   200,   201,   202,   229,   277,   289,   291,
-      293,   295,   299,   306,   307,   334,   364,   366,   410,   304,
-      242,   248,    72,   188,   229,   334,   364,   366,   419,   420,
-      421,   422,   423,   417,   261,   257,   154,   154,   154,   154,
-      154,   154,   270,     4,     4,   154,   154,   154,   428,     4,
-        4,   441,     6,     3,   360,   356,   376,   372,   393,   389,
-        4,   129,   131,   132,   188,   229,   364,   366,   492,   493,
-      494,   495,   497,   490,    17,    18,    19,    20,   221,   153,
-      153,   153,   153,   153,     8,     8,     8,     3,     8,   424,
-        8,     3,     8,    94,    95,    96,   431,   153,   153,   153,
-      153,     8,     8,     8,   153,   498,     4,   496,     3,     8,
-      307,     4,   421,     4,   154,     4,   493,   153,     5,   153,
-        7,   499,   500,   501,     3,     6,   130,   133,   134,   135,
-      502,   503,   504,   506,   507,   508,   500,   505,     4,     4,
-        4,     3,     8,     4,   156,   154,   154,   503,   153
 -       4,   156,     4,     4,   200,     4,   158,   211,    74,   190,
 -     231,   338,   368,   370,   422,   423,   424,   425,   426,     4,
 -       4,     4,     4,     4,   156,   158,     4,     4,     4,     4,
 -     290,     4,   365,     4,   156,     4,   156,   156,   381,     4,
 -       4,     4,     4,     4,     4,     4,   399,     4,     4,   156,
 -       4,     4,     4,   158,   324,     4,   158,   158,   348,     4,
 -       4,   266,   158,     4,     4,   156,     4,   156,   156,     4,
 -       4,   158,   158,   158,     4,     4,   454,     4,   489,     4,
 -       7,     7,   175,   175,   175,     7,     7,     7,     5,     5,
 -       5,   177,   179,   155,     5,     5,     5,     5,     5,     5,
 -       7,     7,     7,     7,     5,   186,   427,     8,     3,     5,
 -       5,   155,   155,   155,    66,    67,    68,   301,   155,     5,
 -       7,   155,   155,   155,   186,   186,   186,   155,   155,   155,
 -     155,   155,   155,   155,   155,   155,   155,   155,   175,   155,
 -     155,   155,   122,   123,   467,   124,   125,   126,   127,   128,
 -     158,   475,   155,     5,   175,   199,   488,   210,    16,    21,
 -      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
 -      32,   190,   219,   220,   221,   224,   226,   228,   230,   231,
 -     233,   234,   235,   236,   237,   239,   240,   241,   219,     7,
 -     283,   284,   285,     7,   316,   317,   318,     7,   340,   341,
 -     342,     7,   306,   307,   308,    79,   155,   245,   246,   247,
 -     248,   184,    80,    82,   247,   251,   252,   253,   254,   297,
 -     420,     7,   259,   260,   261,    89,    90,    91,    92,    93,
 -      94,   273,   274,   275,   276,   277,   278,   279,   280,    16,
 -      99,   100,   101,   102,   190,   233,   368,   370,   430,   431,
 -     432,   435,   436,   438,   439,   105,   106,   190,   368,   370,
 -     443,   444,   445,   447,   453,   187,     4,   424,     7,   358,
 -     359,   360,     7,   374,   375,   376,     7,   391,   392,   393,
 -      84,   416,     7,   492,   493,     8,     8,     8,   222,   225,
 -     227,   229,     4,     4,     4,     4,     4,   238,     4,     4,
 -     242,     3,     8,     8,   286,     6,     3,   319,     6,     3,
 -     343,     6,     3,   309,     6,     3,     3,     6,     6,     3,
 -       6,     3,     6,   262,     6,     3,     4,     4,     4,     4,
 -       4,     4,     3,     8,   433,   437,     4,     4,     4,     3,
 -       8,   446,   448,     3,     8,     8,   155,   188,   189,   155,
 -     361,     6,     3,   377,     6,     3,   394,     6,     3,   417,
 -       8,   494,     3,     6,     4,     4,     4,     4,   156,   158,
 -     156,   158,   156,     4,   156,   156,     4,   220,   289,   285,
 -     322,   318,   346,   342,   190,   201,   202,   203,   204,   231,
 -     281,   293,   295,   297,   299,   303,   310,   311,   338,   368,
 -     370,   414,   308,   246,   252,   297,   265,   261,   156,   156,
 -     156,   156,   156,   156,   274,     4,     4,   156,   156,   156,
 -     431,     4,     4,   444,     6,     3,   364,   360,   380,   376,
 -     397,   393,     4,   131,   133,   134,   190,   231,   368,   370,
 -     495,   496,   497,   498,   500,   493,    17,    18,    19,    20,
 -     223,   155,   155,   155,   155,   155,     8,     8,     8,     3,
 -       8,     8,    96,    97,    98,   434,   155,   155,   155,   155,
 -       8,     8,     8,   155,   501,     4,   499,     3,     8,   311,
 -       4,   156,     4,   496,     5,   155,     7,   502,   503,   504,
 -       3,     6,   132,   135,   136,   137,   505,   506,   507,   509,
 -     510,   511,   503,   508,     4,     4,     4,     3,     8,     4,
 -     158,   156,   156,   506,   155
++       4,   156,     4,     4,   200,     4,   158,   211,     4,     4,
++       4,     4,     4,   156,   158,     4,     4,     4,     4,   290,
++       4,   365,     4,   156,     4,   156,   156,   381,     4,     4,
++       4,     4,     4,     4,     4,   399,     4,     4,   156,     4,
++       4,     4,   158,   324,     4,   158,   158,   348,     4,     4,
++     266,   158,     4,     4,   156,     4,   156,   156,     4,     4,
++     158,   158,   158,     4,     4,   455,     4,   490,     4,     7,
++       7,   175,   175,   175,     7,     7,     7,     5,     5,     5,
++     177,   179,   155,     5,     5,     5,     5,     5,     5,     7,
++       7,     7,     7,     5,   186,     5,     5,   155,   155,   155,
++      66,    67,    68,   301,   155,     5,     7,   155,   155,   155,
++     186,   186,   186,   155,   155,   155,   155,   155,   155,   155,
++     155,   155,   155,   155,   175,   155,   155,   155,   122,   123,
++     468,   124,   125,   126,   127,   128,   158,   476,   155,     5,
++     175,   199,   489,   210,    16,    21,    22,    23,    24,    25,
++      26,    27,    28,    29,    30,    31,    32,   190,   219,   220,
++     221,   224,   226,   228,   230,   231,   233,   234,   235,   236,
++     237,   239,   240,   241,   219,     7,   283,   284,   285,     7,
++     316,   317,   318,     7,   340,   341,   342,     7,   306,   307,
++     308,    79,   155,   245,   246,   247,   248,   184,    80,    82,
++     247,   251,   252,   253,   254,     7,   420,   421,     7,   259,
++     260,   261,    89,    90,    91,    92,    93,    94,   273,   274,
++     275,   276,   277,   278,   279,   280,    16,    99,   100,   101,
++     102,   190,   233,   368,   370,   431,   432,   433,   436,   437,
++     439,   440,   105,   106,   190,   368,   370,   444,   445,   446,
++     448,   454,   187,     7,   358,   359,   360,     7,   374,   375,
++     376,     7,   391,   392,   393,    84,   416,     7,   493,   494,
++       8,     8,     8,   222,   225,   227,   229,     4,     4,     4,
++       4,     4,   238,     4,     4,   242,     3,     8,     8,   286,
++       6,     3,   319,     6,     3,   343,     6,     3,   309,     6,
++       3,     3,     6,     6,     3,     6,   422,     3,     6,   262,
++       6,     3,     4,     4,     4,     4,     4,     4,     3,     8,
++     434,   438,     4,     4,     4,     3,     8,   447,   449,     3,
++       8,     8,   155,   188,   189,   361,     6,     3,   377,     6,
++       3,   394,     6,     3,   417,     8,   495,     3,     6,     4,
++       4,     4,     4,   156,   158,   156,   158,   156,     4,   156,
++     156,     4,   220,   289,   285,   322,   318,   346,   342,   190,
++     201,   202,   203,   204,   231,   281,   293,   295,   297,   299,
++     303,   310,   311,   338,   368,   370,   414,   308,   246,   252,
++      74,   190,   231,   338,   368,   370,   423,   424,   425,   426,
++     427,   421,   265,   261,   156,   156,   156,   156,   156,   156,
++     274,     4,     4,   156,   156,   156,   432,     4,     4,   445,
++       6,     3,   364,   360,   380,   376,   397,   393,     4,   131,
++     133,   134,   190,   231,   368,   370,   496,   497,   498,   499,
++     501,   494,    17,    18,    19,    20,   223,   155,   155,   155,
++     155,   155,     8,     8,     8,     3,     8,   428,     8,     3,
++       8,    96,    97,    98,   435,   155,   155,   155,   155,     8,
++       8,     8,   155,   502,     4,   500,     3,     8,   311,     4,
++     425,     4,   156,     4,   497,   155,     5,   155,     7,   503,
++     504,   505,     3,     6,   132,   135,   136,   137,   506,   507,
++     508,   510,   511,   512,   504,   509,     4,     4,     4,     3,
++       8,     4,   158,   156,   156,   507,   155
    };
  
    const unsigned short int
    Dhcp6Parser::yyr1_[] =
    {
-        0,   157,   159,   158,   160,   158,   161,   158,   162,   158,
-      163,   158,   164,   158,   165,   158,   166,   158,   167,   158,
-      168,   158,   169,   158,   170,   158,   171,   158,   172,   158,
-      173,   173,   173,   173,   173,   173,   173,   174,   176,   175,
-      177,   178,   178,   179,   179,   181,   180,   182,   182,   183,
-      183,   185,   184,   186,   186,   187,   187,   188,   190,   189,
-      191,   191,   192,   192,   192,   192,   192,   192,   194,   193,
-      196,   195,   197,   197,   198,   198,   198,   198,   198,   198,
-      198,   198,   198,   198,   198,   198,   198,   198,   198,   198,
-      198,   198,   198,   198,   198,   198,   198,   198,   198,   199,
-      200,   201,   202,   203,   205,   204,   207,   206,   208,   208,
-      209,   209,   209,   209,   209,   211,   210,   212,   214,   213,
-      216,   215,   217,   217,   218,   218,   218,   218,   218,   218,
-      218,   218,   218,   218,   218,   218,   218,   220,   219,   221,
-      221,   221,   221,   223,   222,   225,   224,   227,   226,   228,
-      230,   229,   231,   232,   233,   234,   236,   235,   238,   237,
-      240,   239,   241,   241,   242,   242,   243,   244,   246,   245,
-      247,   247,   248,   248,   248,   249,   250,   252,   251,   254,
-      253,   255,   255,   256,   256,   258,   257,   260,   259,   261,
-      261,   261,   262,   262,   264,   263,   266,   265,   268,   267,
-      269,   269,   270,   270,   270,   270,   270,   270,   271,   272,
-      273,   274,   275,   276,   278,   277,   279,   279,   280,   280,
-      282,   281,   284,   283,   285,   285,   286,   286,   286,   286,
-      286,   286,   286,   286,   286,   286,   286,   286,   286,   286,
-      286,   286,   286,   286,   286,   288,   287,   290,   289,   292,
-      291,   294,   293,   296,   295,   297,   297,   297,   298,   299,
-      301,   300,   302,   302,   303,   303,   305,   304,   306,   306,
-      307,   307,   307,   307,   307,   307,   307,   307,   307,   307,
-      307,   307,   307,   307,   307,   307,   309,   308,   311,   310,
-      312,   312,   313,   313,   315,   314,   317,   316,   318,   318,
-      319,   319,   320,   320,   320,   320,   320,   320,   320,   320,
-      320,   320,   321,   322,   323,   325,   324,   327,   326,   329,
-      328,   330,   332,   331,   333,   335,   334,   336,   336,   337,
-      337,   339,   338,   341,   340,   342,   342,   343,   343,   344,
-      344,   344,   344,   344,   344,   344,   344,   344,   345,   347,
-      346,   348,   349,   350,   351,   353,   352,   354,   354,   355,
-      355,   357,   356,   359,   358,   360,   360,   361,   361,   361,
-      361,   361,   361,   363,   362,   365,   364,   367,   366,   369,
-      368,   370,   370,   371,   371,   373,   372,   375,   374,   376,
-      376,   377,   377,   377,   377,   377,   377,   377,   377,   377,
-      377,   379,   378,   380,   382,   381,   383,   384,   386,   385,
-      387,   387,   388,   388,   390,   389,   392,   391,   393,   393,
-      394,   394,   395,   395,   395,   395,   395,   395,   395,   395,
-      395,   395,   395,   397,   396,   399,   398,   401,   400,   403,
+        0,   159,   161,   160,   162,   160,   163,   160,   164,   160,
+      165,   160,   166,   160,   167,   160,   168,   160,   169,   160,
+      170,   160,   171,   160,   172,   160,   173,   160,   174,   160,
+      175,   175,   175,   175,   175,   175,   175,   176,   178,   177,
+      179,   180,   180,   181,   181,   183,   182,   184,   184,   185,
+      185,   187,   186,   188,   188,   189,   189,   190,   192,   191,
+      193,   193,   194,   194,   194,   194,   194,   194,   196,   195,
+      198,   197,   199,   199,   200,   200,   200,   200,   200,   200,
+      200,   200,   200,   200,   200,   200,   200,   200,   200,   200,
+      200,   200,   200,   200,   200,   200,   200,   200,   200,   201,
+      202,   203,   204,   205,   207,   206,   209,   208,   210,   210,
+      211,   211,   211,   211,   211,   213,   212,   214,   216,   215,
+      218,   217,   219,   219,   220,   220,   220,   220,   220,   220,
+      220,   220,   220,   220,   220,   220,   220,   220,   220,   222,
+      221,   223,   223,   223,   223,   225,   224,   227,   226,   229,
+      228,   230,   232,   231,   233,   234,   235,   236,   238,   237,
+      239,   240,   242,   241,   244,   243,   245,   245,   246,   246,
+      247,   248,   250,   249,   251,   251,   252,   252,   252,   253,
+      254,   256,   255,   258,   257,   259,   259,   260,   260,   262,
+      261,   264,   263,   265,   265,   265,   266,   266,   268,   267,
+      270,   269,   272,   271,   273,   273,   274,   274,   274,   274,
+      274,   274,   275,   276,   277,   278,   279,   280,   282,   281,
+      283,   283,   284,   284,   286,   285,   288,   287,   289,   289,
+      290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
+      290,   290,   290,   290,   290,   290,   290,   290,   290,   292,
+      291,   294,   293,   296,   295,   298,   297,   300,   299,   301,
+      301,   301,   302,   303,   305,   304,   306,   306,   307,   307,
+      309,   308,   310,   310,   311,   311,   311,   311,   311,   311,
+      311,   311,   311,   311,   311,   311,   311,   311,   311,   311,
+      313,   312,   315,   314,   316,   316,   317,   317,   319,   318,
+      321,   320,   322,   322,   323,   323,   324,   324,   324,   324,
+      324,   324,   324,   324,   324,   324,   325,   326,   327,   329,
+      328,   331,   330,   333,   332,   334,   336,   335,   337,   339,
+      338,   340,   340,   341,   341,   343,   342,   345,   344,   346,
+      346,   347,   347,   348,   348,   348,   348,   348,   348,   348,
+      348,   348,   349,   351,   350,   352,   353,   354,   355,   357,
+      356,   358,   358,   359,   359,   361,   360,   363,   362,   364,
 -     364,   365,   365,   365,   365,   365,   367,   366,   369,   368,
 -     371,   370,   373,   372,   374,   374,   375,   375,   377,   376,
 -     379,   378,   380,   380,   381,   381,   381,   381,   381,   381,
 -     381,   381,   381,   383,   382,   384,   386,   385,   387,   388,
 -     390,   389,   391,   391,   392,   392,   394,   393,   396,   395,
 -     397,   397,   398,   398,   399,   399,   399,   399,   399,   399,
 -     399,   399,   399,   399,   399,   401,   400,   403,   402,   405,
 -     404,   407,   406,   409,   408,   411,   410,   413,   412,   415,
 -     414,   417,   416,   419,   418,   420,   420,   421,   297,   422,
 -     422,   423,   423,   424,   424,   424,   424,   424,   424,   425,
 -     427,   426,   429,   428,   430,   430,   431,   431,   431,   431,
 -     431,   431,   431,   431,   431,   433,   432,   434,   434,   434,
 -     435,   437,   436,   438,   439,   440,   442,   441,   443,   443,
 -     444,   444,   444,   444,   444,   446,   445,   448,   447,   450,
 -     449,   452,   451,   453,   453,   454,   454,   454,   454,   454,
 -     454,   454,   454,   454,   454,   454,   454,   454,   454,   454,
 -     454,   454,   455,   457,   456,   459,   458,   460,   462,   461,
 -     463,   464,   466,   465,   467,   467,   469,   468,   470,   471,
 -     472,   474,   473,   475,   475,   475,   475,   475,   477,   476,
 -     479,   478,   481,   480,   483,   482,   485,   484,   487,   486,
 -     488,   488,   489,   491,   490,   492,   492,   494,   493,   495,
 -     495,   496,   496,   496,   496,   496,   496,   496,   497,   499,
 -     498,   501,   500,   502,   502,   504,   503,   505,   505,   506,
 -     506,   506,   506,   508,   507,   509,   510,   511
++     364,   365,   365,   365,   365,   365,   365,   367,   366,   369,
++     368,   371,   370,   373,   372,   374,   374,   375,   375,   377,
++     376,   379,   378,   380,   380,   381,   381,   381,   381,   381,
++     381,   381,   381,   381,   381,   383,   382,   384,   386,   385,
++     387,   388,   390,   389,   391,   391,   392,   392,   394,   393,
++     396,   395,   397,   397,   398,   398,   399,   399,   399,   399,
++     399,   399,   399,   399,   399,   399,   399,   401,   400,   403,
 +     402,   405,   404,   407,   406,   409,   408,   411,   410,   413,
-      412,   415,   414,   416,   416,   418,   417,   419,   419,   420,
-      420,   421,   421,   421,   421,   421,   421,   422,   424,   423,
-      426,   425,   427,   427,   428,   428,   428,   428,   428,   428,
-      428,   428,   428,   430,   429,   431,   431,   431,   432,   434,
-      433,   435,   436,   437,   439,   438,   440,   440,   441,   441,
-      441,   441,   441,   443,   442,   445,   444,   447,   446,   449,
-      448,   450,   450,   451,   451,   451,   451,   451,   451,   451,
-      451,   451,   451,   451,   451,   451,   451,   451,   451,   451,
-      452,   454,   453,   456,   455,   457,   459,   458,   460,   461,
-      463,   462,   464,   464,   466,   465,   467,   468,   469,   471,
-      470,   472,   472,   472,   472,   472,   474,   473,   476,   475,
-      478,   477,   480,   479,   482,   481,   484,   483,   485,   485,
-      486,   488,   487,   489,   489,   491,   490,   492,   492,   493,
-      493,   493,   493,   493,   493,   493,   494,   496,   495,   498,
-      497,   499,   499,   501,   500,   502,   502,   503,   503,   503,
-      503,   505,   504,   506,   507,   508
++     412,   415,   414,   417,   416,   419,   418,   420,   420,   422,
++     421,   423,   423,   424,   424,   425,   425,   425,   425,   425,
++     425,   426,   428,   427,   430,   429,   431,   431,   432,   432,
++     432,   432,   432,   432,   432,   432,   432,   434,   433,   435,
++     435,   435,   436,   438,   437,   439,   440,   441,   443,   442,
++     444,   444,   445,   445,   445,   445,   445,   447,   446,   449,
++     448,   451,   450,   453,   452,   454,   454,   455,   455,   455,
++     455,   455,   455,   455,   455,   455,   455,   455,   455,   455,
++     455,   455,   455,   455,   456,   458,   457,   460,   459,   461,
++     463,   462,   464,   465,   467,   466,   468,   468,   470,   469,
++     471,   472,   473,   475,   474,   476,   476,   476,   476,   476,
++     478,   477,   480,   479,   482,   481,   484,   483,   486,   485,
++     488,   487,   489,   489,   490,   492,   491,   493,   493,   495,
++     494,   496,   496,   497,   497,   497,   497,   497,   497,   497,
++     498,   500,   499,   502,   501,   503,   503,   505,   504,   506,
++     506,   507,   507,   507,   507,   509,   508,   510,   511,   512
    };
  
    const unsigned char
         3,     3,     3,     3,     0,     6,     0,     4,     1,     3,
         1,     1,     1,     1,     1,     0,     4,     3,     0,     6,
         0,     6,     1,     3,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     0,     4,     1,
-        1,     1,     1,     0,     4,     0,     4,     0,     4,     3,
-        0,     4,     3,     3,     3,     3,     0,     4,     0,     4,
-        0,     6,     1,     3,     1,     1,     1,     1,     0,     6,
-        1,     3,     1,     1,     1,     1,     1,     0,     6,     0,
-        6,     0,     1,     1,     3,     0,     4,     0,     4,     1,
-        3,     1,     1,     1,     0,     4,     0,     4,     0,     6,
-        1,     3,     1,     1,     1,     1,     1,     1,     3,     3,
-        3,     3,     3,     3,     0,     6,     0,     1,     1,     3,
-        0,     4,     0,     4,     1,     3,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     0,     4,     0,     4,     0,
-        4,     0,     4,     0,     4,     1,     1,     1,     3,     3,
-        0,     6,     0,     1,     1,     3,     0,     4,     1,     3,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
+        4,     1,     1,     1,     1,     0,     4,     0,     4,     0,
+        4,     3,     0,     4,     3,     3,     3,     3,     0,     4,
+        3,     3,     0,     4,     0,     6,     1,     3,     1,     1,
+        1,     1,     0,     6,     1,     3,     1,     1,     1,     1,
+        1,     0,     6,     0,     6,     0,     1,     1,     3,     0,
+        4,     0,     4,     1,     3,     1,     1,     1,     0,     4,
+        0,     4,     0,     6,     1,     3,     1,     1,     1,     1,
+        1,     1,     3,     3,     3,     3,     3,     3,     0,     6,
+        0,     1,     1,     3,     0,     4,     0,     4,     1,     3,
         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     1,     1,     1,     0,     6,     0,     4,
-        0,     1,     1,     3,     0,     4,     0,     4,     0,     1,
-        1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     3,     1,     0,     4,     0,     4,     0,
-        4,     1,     0,     4,     3,     0,     6,     0,     1,     1,
-        3,     0,     4,     0,     4,     0,     1,     1,     3,     1,
         1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
-        4,     1,     1,     3,     3,     0,     6,     0,     1,     1,
-        3,     0,     4,     0,     4,     1,     3,     1,     1,     1,
-        1,     1,     1,     0,     4,     0,     4,     0,     4,     0,
+        4,     0,     4,     0,     4,     0,     4,     0,     4,     1,
+        1,     1,     3,     3,     0,     6,     0,     1,     1,     3,
+        0,     4,     1,     3,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+        0,     6,     0,     4,     0,     1,     1,     3,     0,     4,
+        0,     4,     0,     1,     1,     3,     1,     1,     1,     1,
+        1,     1,     1,     1,     1,     1,     1,     3,     1,     0,
+        4,     0,     4,     0,     4,     1,     0,     4,     3,     0,
+        6,     0,     1,     1,     3,     0,     4,     0,     4,     0,
+        1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
+        1,     1,     1,     0,     4,     1,     1,     3,     3,     0,
         6,     0,     1,     1,     3,     0,     4,     0,     4,     1,
-        3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     0,     4,     3,     0,     4,     3,     3,     0,     6,
-        0,     1,     1,     3,     0,     4,     0,     4,     0,     1,
-        1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     0,     4,     0,     4,     0,     4,     0,
-        4,     0,     4,     0,     4,     0,     4,     0,     6,     0,
-        4,     0,     6,     1,     3,     0,     4,     0,     1,     1,
-        3,     1,     1,     1,     1,     1,     1,     1,     0,     4,
-        0,     6,     1,     3,     1,     1,     1,     1,     1,     1,
-        1,     1,     1,     0,     4,     1,     1,     1,     3,     0,
-        4,     3,     3,     3,     0,     6,     1,     3,     1,     1,
-        1,     1,     1,     0,     4,     0,     4,     0,     6,     0,
-        4,     1,     3,     1,     1,     1,     1,     1,     1,     1,
 -       3,     1,     1,     1,     1,     1,     0,     4,     0,     4,
 -       0,     4,     0,     6,     0,     1,     1,     3,     0,     4,
 -       0,     4,     1,     3,     1,     1,     1,     1,     1,     1,
 -       1,     1,     1,     0,     4,     3,     0,     4,     3,     3,
 -       0,     6,     0,     1,     1,     3,     0,     4,     0,     4,
 -       0,     1,     1,     3,     1,     1,     1,     1,     1,     1,
 -       1,     1,     1,     1,     1,     0,     4,     0,     4,     0,
++       3,     1,     1,     1,     1,     1,     1,     0,     4,     0,
++       4,     0,     4,     0,     6,     0,     1,     1,     3,     0,
++       4,     0,     4,     1,     3,     1,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     0,     4,     3,     0,     4,
++       3,     3,     0,     6,     0,     1,     1,     3,     0,     4,
++       0,     4,     0,     1,     1,     3,     1,     1,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     0,     4,     0,
+        4,     0,     4,     0,     4,     0,     4,     0,     4,     0,
 -       6,     0,     4,     0,     6,     1,     3,     0,     4,     0,
 -       1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
 -       0,     4,     0,     6,     1,     3,     1,     1,     1,     1,
 -       1,     1,     1,     1,     1,     0,     4,     1,     1,     1,
 -       3,     0,     4,     3,     3,     3,     0,     6,     1,     3,
 -       1,     1,     1,     1,     1,     0,     4,     0,     4,     0,
 -       6,     0,     4,     1,     3,     1,     1,     1,     1,     1,
++       4,     0,     6,     0,     4,     0,     6,     1,     3,     0,
++       4,     0,     1,     1,     3,     1,     1,     1,     1,     1,
++       1,     1,     0,     4,     0,     6,     1,     3,     1,     1,
++       1,     1,     1,     1,     1,     1,     1,     0,     4,     1,
++       1,     1,     3,     0,     4,     3,     3,     3,     0,     6,
++       1,     3,     1,     1,     1,     1,     1,     0,     4,     0,
++       4,     0,     6,     0,     4,     1,     3,     1,     1,     1,
         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-        3,     0,     4,     0,     4,     3,     0,     4,     3,     3,
-        0,     4,     1,     1,     0,     4,     3,     3,     3,     0,
-        4,     1,     1,     1,     1,     1,     0,     4,     0,     4,
-        0,     4,     0,     4,     0,     6,     0,     4,     1,     3,
-        1,     0,     6,     1,     3,     0,     4,     1,     3,     1,
-        1,     1,     1,     1,     1,     1,     3,     0,     4,     0,
-        6,     1,     3,     0,     4,     1,     3,     1,     1,     1,
-        1,     0,     4,     3,     3,     3
 -       1,     1,     3,     0,     4,     0,     4,     3,     0,     4,
 -       3,     3,     0,     4,     1,     1,     0,     4,     3,     3,
 -       3,     0,     4,     1,     1,     1,     1,     1,     0,     4,
 -       0,     4,     0,     4,     0,     4,     0,     6,     0,     4,
 -       1,     3,     1,     0,     6,     1,     3,     0,     4,     1,
 -       3,     1,     1,     1,     1,     1,     1,     1,     3,     0,
 -       4,     0,     6,     1,     3,     0,     4,     1,     3,     1,
 -       1,     1,     1,     0,     4,     3,     3,     3
++       1,     1,     1,     1,     3,     0,     4,     0,     4,     3,
++       0,     4,     3,     3,     0,     4,     1,     1,     0,     4,
++       3,     3,     3,     0,     4,     1,     1,     1,     1,     1,
++       0,     4,     0,     4,     0,     4,     0,     4,     0,     6,
++       0,     4,     1,     3,     1,     0,     6,     1,     3,     0,
++       4,     1,     3,     1,     1,     1,     1,     1,     1,     1,
++       3,     0,     4,     0,     6,     1,     3,     0,     4,     1,
++       3,     1,     1,     1,     1,     0,     4,     3,     3,     3
    };
  
  
    const unsigned short int
    Dhcp6Parser::yyrline_[] =
    {
-        0,   238,   238,   238,   239,   239,   240,   240,   241,   241,
-      242,   242,   243,   243,   244,   244,   245,   245,   246,   246,
-      247,   247,   248,   248,   249,   249,   250,   250,   251,   251,
-      259,   260,   261,   262,   263,   264,   265,   268,   273,   273,
-      284,   287,   288,   291,   295,   302,   302,   309,   310,   313,
-      317,   324,   324,   331,   332,   335,   339,   350,   360,   360,
-      375,   376,   380,   381,   382,   383,   384,   385,   388,   388,
-      403,   403,   412,   413,   418,   419,   420,   421,   422,   423,
-      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
-      434,   435,   436,   437,   438,   439,   440,   441,   442,   445,
-      450,   455,   460,   465,   470,   470,   481,   481,   490,   491,
-      494,   495,   496,   497,   498,   501,   501,   511,   517,   517,
-      529,   529,   541,   542,   545,   546,   547,   548,   549,   550,
-      551,   552,   553,   554,   555,   556,   557,   560,   560,   567,
-      568,   569,   570,   573,   573,   581,   581,   589,   589,   597,
-      602,   602,   610,   615,   620,   625,   630,   630,   638,   638,
-      647,   647,   657,   658,   661,   662,   665,   670,   675,   675,
-      685,   686,   689,   690,   691,   694,   699,   706,   706,   716,
-      716,   726,   727,   730,   731,   734,   734,   744,   744,   754,
-      755,   756,   759,   760,   763,   763,   771,   771,   779,   779,
-      790,   791,   794,   795,   796,   797,   798,   799,   802,   807,
-      812,   817,   822,   827,   835,   835,   848,   849,   852,   853,
-      860,   860,   886,   886,   897,   898,   902,   903,   904,   905,
-      906,   907,   908,   909,   910,   911,   912,   913,   914,   915,
-      916,   917,   918,   919,   920,   923,   923,   931,   931,   939,
-      939,   947,   947,   955,   955,   962,   963,   964,   967,   972,
-      980,   980,   991,   992,   996,   997,  1000,  1000,  1008,  1009,
-     1012,  1013,  1014,  1015,  1016,  1017,  1018,  1019,  1020,  1021,
-     1022,  1023,  1024,  1025,  1026,  1027,  1034,  1034,  1047,  1047,
-     1056,  1057,  1060,  1061,  1066,  1066,  1081,  1081,  1095,  1096,
-     1099,  1100,  1103,  1104,  1105,  1106,  1107,  1108,  1109,  1110,
-     1111,  1112,  1115,  1117,  1122,  1124,  1124,  1132,  1132,  1140,
-     1140,  1148,  1150,  1150,  1158,  1167,  1167,  1179,  1180,  1185,
-     1186,  1191,  1191,  1203,  1203,  1215,  1216,  1221,  1222,  1227,
-     1228,  1229,  1230,  1231,  1232,  1233,  1234,  1235,  1238,  1240,
-     1240,  1248,  1250,  1252,  1257,  1265,  1265,  1277,  1278,  1281,
-     1282,  1285,  1285,  1295,  1295,  1304,  1305,  1308,  1309,  1310,
-     1311,  1312,  1313,  1316,  1316,  1324,  1324,  1349,  1349,  1379,
-     1379,  1391,  1392,  1395,  1396,  1399,  1399,  1411,  1411,  1423,
-     1424,  1427,  1428,  1429,  1430,  1431,  1432,  1433,  1434,  1435,
-     1436,  1439,  1439,  1447,  1452,  1452,  1460,  1465,  1473,  1473,
-     1483,  1484,  1487,  1488,  1491,  1491,  1500,  1500,  1509,  1510,
-     1513,  1514,  1518,  1519,  1520,  1521,  1522,  1523,  1524,  1525,
-     1526,  1527,  1528,  1531,  1531,  1541,  1541,  1551,  1551,  1559,
-     1559,  1567,  1567,  1575,  1575,  1583,  1583,  1596,  1596,  1606,
-     1606,  1617,  1617,  1627,  1628,  1631,  1631,  1641,  1642,  1645,
-     1646,  1649,  1650,  1651,  1652,  1653,  1654,  1657,  1659,  1659,
-     1670,  1670,  1682,  1683,  1686,  1687,  1688,  1689,  1690,  1691,
-     1692,  1693,  1694,  1697,  1697,  1704,  1705,  1706,  1709,  1714,
-     1714,  1722,  1727,  1734,  1741,  1741,  1751,  1752,  1755,  1756,
-     1757,  1758,  1759,  1762,  1762,  1770,  1770,  1780,  1780,  1792,
-     1792,  1802,  1803,  1806,  1807,  1808,  1809,  1810,  1811,  1812,
-     1813,  1814,  1815,  1816,  1817,  1818,  1819,  1820,  1821,  1822,
-     1825,  1830,  1830,  1838,  1838,  1846,  1851,  1851,  1859,  1864,
-     1869,  1869,  1877,  1878,  1881,  1881,  1889,  1894,  1899,  1904,
-     1904,  1912,  1915,  1918,  1921,  1924,  1930,  1930,  1940,  1940,
-     1947,  1947,  1954,  1954,  1967,  1967,  1977,  1977,  1988,  1989,
-     1993,  1997,  1997,  2009,  2010,  2014,  2014,  2022,  2023,  2026,
-     2027,  2028,  2029,  2030,  2031,  2032,  2035,  2040,  2040,  2048,
-     2048,  2058,  2059,  2062,  2062,  2070,  2071,  2074,  2075,  2076,
-     2077,  2080,  2080,  2088,  2093,  2098
+        0,   240,   240,   240,   241,   241,   242,   242,   243,   243,
+      244,   244,   245,   245,   246,   246,   247,   247,   248,   248,
+      249,   249,   250,   250,   251,   251,   252,   252,   253,   253,
+      261,   262,   263,   264,   265,   266,   267,   270,   275,   275,
+      286,   289,   290,   293,   297,   304,   304,   311,   312,   315,
+      319,   326,   326,   333,   334,   337,   341,   352,   362,   362,
+      377,   378,   382,   383,   384,   385,   386,   387,   390,   390,
+      405,   405,   414,   415,   420,   421,   422,   423,   424,   425,
+      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
+      436,   437,   438,   439,   440,   441,   442,   443,   444,   447,
+      452,   457,   462,   467,   472,   472,   483,   483,   492,   493,
+      496,   497,   498,   499,   500,   503,   503,   513,   519,   519,
+      531,   531,   543,   544,   547,   548,   549,   550,   551,   552,
+      553,   554,   555,   556,   557,   558,   559,   560,   561,   564,
+      564,   571,   572,   573,   574,   577,   577,   585,   585,   593,
+      593,   601,   606,   606,   614,   619,   624,   629,   634,   634,
+      642,   647,   652,   652,   661,   661,   671,   672,   675,   676,
+      679,   684,   689,   689,   699,   700,   703,   704,   705,   708,
+      713,   720,   720,   730,   730,   740,   741,   744,   745,   748,
+      748,   758,   758,   768,   769,   770,   773,   774,   777,   777,
+      785,   785,   793,   793,   804,   805,   808,   809,   810,   811,
+      812,   813,   816,   821,   826,   831,   836,   841,   849,   849,
+      862,   863,   866,   867,   874,   874,   900,   900,   911,   912,
+      916,   917,   918,   919,   920,   921,   922,   923,   924,   925,
+      926,   927,   928,   929,   930,   931,   932,   933,   934,   937,
+      937,   945,   945,   953,   953,   961,   961,   969,   969,   976,
+      977,   978,   981,   986,   994,   994,  1005,  1006,  1010,  1011,
+     1014,  1014,  1022,  1023,  1026,  1027,  1028,  1029,  1030,  1031,
+     1032,  1033,  1034,  1035,  1036,  1037,  1038,  1039,  1040,  1041,
+     1048,  1048,  1061,  1061,  1070,  1071,  1074,  1075,  1080,  1080,
+     1095,  1095,  1109,  1110,  1113,  1114,  1117,  1118,  1119,  1120,
+     1121,  1122,  1123,  1124,  1125,  1126,  1129,  1131,  1136,  1138,
+     1138,  1146,  1146,  1154,  1154,  1162,  1164,  1164,  1172,  1181,
+     1181,  1193,  1194,  1199,  1200,  1205,  1205,  1217,  1217,  1229,
+     1230,  1235,  1236,  1241,  1242,  1243,  1244,  1245,  1246,  1247,
+     1248,  1249,  1252,  1254,  1254,  1262,  1264,  1266,  1271,  1279,
+     1279,  1291,  1292,  1295,  1296,  1299,  1299,  1309,  1309,  1318,
 -    1319,  1322,  1323,  1324,  1325,  1326,  1329,  1329,  1337,  1337,
 -    1362,  1362,  1392,  1392,  1404,  1405,  1408,  1409,  1412,  1412,
 -    1424,  1424,  1436,  1437,  1440,  1441,  1442,  1443,  1444,  1445,
 -    1446,  1447,  1448,  1451,  1451,  1459,  1464,  1464,  1472,  1477,
 -    1485,  1485,  1495,  1496,  1499,  1500,  1503,  1503,  1512,  1512,
 -    1521,  1522,  1525,  1526,  1530,  1531,  1532,  1533,  1534,  1535,
 -    1536,  1537,  1538,  1539,  1540,  1543,  1543,  1553,  1553,  1563,
 -    1563,  1571,  1571,  1579,  1579,  1587,  1587,  1595,  1595,  1608,
 -    1608,  1618,  1618,  1629,  1629,  1639,  1640,  1643,  1643,  1653,
 -    1654,  1657,  1658,  1661,  1662,  1663,  1664,  1665,  1666,  1669,
 -    1671,  1671,  1682,  1682,  1694,  1695,  1698,  1699,  1700,  1701,
 -    1702,  1703,  1704,  1705,  1706,  1709,  1709,  1716,  1717,  1718,
 -    1721,  1726,  1726,  1734,  1739,  1746,  1753,  1753,  1763,  1764,
 -    1767,  1768,  1769,  1770,  1771,  1774,  1774,  1782,  1782,  1792,
 -    1792,  1804,  1804,  1814,  1815,  1818,  1819,  1820,  1821,  1822,
++    1319,  1322,  1323,  1324,  1325,  1326,  1327,  1330,  1330,  1338,
++    1338,  1363,  1363,  1393,  1393,  1405,  1406,  1409,  1410,  1413,
++    1413,  1425,  1425,  1437,  1438,  1441,  1442,  1443,  1444,  1445,
++    1446,  1447,  1448,  1449,  1450,  1453,  1453,  1461,  1466,  1466,
++    1474,  1479,  1487,  1487,  1497,  1498,  1501,  1502,  1505,  1505,
++    1514,  1514,  1523,  1524,  1527,  1528,  1532,  1533,  1534,  1535,
++    1536,  1537,  1538,  1539,  1540,  1541,  1542,  1545,  1545,  1555,
++    1555,  1565,  1565,  1573,  1573,  1581,  1581,  1589,  1589,  1597,
++    1597,  1610,  1610,  1620,  1620,  1631,  1631,  1641,  1642,  1645,
++    1645,  1655,  1656,  1659,  1660,  1663,  1664,  1665,  1666,  1667,
++    1668,  1671,  1673,  1673,  1684,  1684,  1696,  1697,  1700,  1701,
++    1702,  1703,  1704,  1705,  1706,  1707,  1708,  1711,  1711,  1718,
++    1719,  1720,  1723,  1728,  1728,  1736,  1741,  1748,  1755,  1755,
++    1765,  1766,  1769,  1770,  1771,  1772,  1773,  1776,  1776,  1784,
++    1784,  1794,  1794,  1806,  1806,  1816,  1817,  1820,  1821,  1822,
+     1823,  1824,  1825,  1826,  1827,  1828,  1829,  1830,  1831,  1832,
 -    1833,  1834,  1837,  1842,  1842,  1850,  1850,  1858,  1863,  1863,
 -    1871,  1876,  1881,  1881,  1889,  1890,  1893,  1893,  1901,  1906,
 -    1911,  1916,  1916,  1924,  1927,  1930,  1933,  1936,  1942,  1942,
 -    1952,  1952,  1959,  1959,  1966,  1966,  1979,  1979,  1989,  1989,
 -    2000,  2001,  2005,  2009,  2009,  2021,  2022,  2026,  2026,  2034,
 -    2035,  2038,  2039,  2040,  2041,  2042,  2043,  2044,  2047,  2052,
 -    2052,  2060,  2060,  2070,  2071,  2074,  2074,  2082,  2083,  2086,
 -    2087,  2088,  2089,  2092,  2092,  2100,  2105,  2110
++    1833,  1834,  1835,  1836,  1839,  1844,  1844,  1852,  1852,  1860,
++    1865,  1865,  1873,  1878,  1883,  1883,  1891,  1892,  1895,  1895,
++    1903,  1908,  1913,  1918,  1918,  1926,  1929,  1932,  1935,  1938,
++    1944,  1944,  1954,  1954,  1961,  1961,  1968,  1968,  1981,  1981,
++    1991,  1991,  2002,  2003,  2007,  2011,  2011,  2023,  2024,  2028,
++    2028,  2036,  2037,  2040,  2041,  2042,  2043,  2044,  2045,  2046,
++    2049,  2054,  2054,  2062,  2062,  2072,  2073,  2076,  2076,  2084,
++    2085,  2088,  2089,  2090,  2091,  2094,  2094,  2102,  2107,  2112
    };
  
    // Print the state stack on the debug stream.
  
  #line 14 "dhcp6_parser.yy" // lalr1.cc:1167
  } } // isc::dhcp
- #line 4593 "dhcp6_parser.cc" // lalr1.cc:1167
- #line 2103 "dhcp6_parser.yy" // lalr1.cc:1168
 -#line 4614 "dhcp6_parser.cc" // lalr1.cc:1167
 -#line 2115 "dhcp6_parser.yy" // lalr1.cc:1168
++#line 4615 "dhcp6_parser.cc" // lalr1.cc:1167
++#line 2117 "dhcp6_parser.yy" // lalr1.cc:1168
  
  
  void
index 9634f42983df4c1b365c1a3ada5cc154292b42c7,d3d37a6adf5094fe9625a95d3b3a0f6534cbc5ce..fe587b53a9b229719d4694d5467e3c65d483d91c
@@@ -1440,8 -1450,8 +1450,8 @@@ namespace isc { namespace dhcp 
      enum
      {
        yyeof_ = 0,
-       yylast_ = 931,     ///< Last index in yytable_.
-       yynnts_ = 352,  ///< Number of nonterminal symbols.
+       yylast_ = 939,     ///< Last index in yytable_.
 -      yynnts_ = 353,  ///< Number of nonterminal symbols.
++      yynnts_ = 354,  ///< Number of nonterminal symbols.
        yyfinal_ = 30, ///< Termination state number.
        yyterror_ = 1,
        yyerrcode_ = 256,
    {
        switch (other.type_get ())
      {
-       case 173: // value
-       case 177: // map_value
-       case 221: // db_type
-       case 297: // hr_mode
-       case 431: // duid_type
-       case 464: // ncr_protocol_value
-       case 472: // replace_client_name_value
+       case 175: // value
+       case 179: // map_value
+       case 223: // db_type
+       case 301: // hr_mode
 -      case 434: // duid_type
 -      case 467: // ncr_protocol_value
 -      case 475: // replace_client_name_value
++      case 435: // duid_type
++      case 468: // ncr_protocol_value
++      case 476: // replace_client_name_value
          value.copy< ElementPtr > (other.value);
          break;
  
      (void) v;
        switch (this->type_get ())
      {
-       case 173: // value
-       case 177: // map_value
-       case 221: // db_type
-       case 297: // hr_mode
-       case 431: // duid_type
-       case 464: // ncr_protocol_value
-       case 472: // replace_client_name_value
+       case 175: // value
+       case 179: // map_value
+       case 223: // db_type
+       case 301: // hr_mode
 -      case 434: // duid_type
 -      case 467: // ncr_protocol_value
 -      case 475: // replace_client_name_value
++      case 435: // duid_type
++      case 468: // ncr_protocol_value
++      case 476: // replace_client_name_value
          value.copy< ElementPtr > (v);
          break;
  
      // Type destructor.
      switch (yytype)
      {
-       case 173: // value
-       case 177: // map_value
-       case 221: // db_type
-       case 297: // hr_mode
-       case 431: // duid_type
-       case 464: // ncr_protocol_value
-       case 472: // replace_client_name_value
+       case 175: // value
+       case 179: // map_value
+       case 223: // db_type
+       case 301: // hr_mode
 -      case 434: // duid_type
 -      case 467: // ncr_protocol_value
 -      case 475: // replace_client_name_value
++      case 435: // duid_type
++      case 468: // ncr_protocol_value
++      case 476: // replace_client_name_value
          value.template destroy< ElementPtr > ();
          break;
  
      super_type::move(s);
        switch (this->type_get ())
      {
-       case 173: // value
-       case 177: // map_value
-       case 221: // db_type
-       case 297: // hr_mode
-       case 431: // duid_type
-       case 464: // ncr_protocol_value
-       case 472: // replace_client_name_value
+       case 175: // value
+       case 179: // map_value
+       case 223: // db_type
+       case 301: // hr_mode
 -      case 434: // duid_type
 -      case 467: // ncr_protocol_value
 -      case 475: // replace_client_name_value
++      case 435: // duid_type
++      case 468: // ncr_protocol_value
++      case 476: // replace_client_name_value
          value.move< ElementPtr > (s.value);
          break;
  
Simple merge
Simple merge
Simple merge