jssm 5.142.2 → 5.142.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cdn/viz.js CHANGED
@@ -453,11 +453,11 @@ function peg$parse(input, options) {
453
453
  return { config_kind: "action", config_items: action_items || [] };
454
454
  }, peg$c1359 = function (key, value) { return { key, value }; }, peg$c1360 = peg$otherExpectation("graph default edge color"), peg$c1361 = function (value) { return { key: 'graph_default_edge_color', value }; }, peg$c1362 = "transition", peg$c1363 = peg$literalExpectation("transition", false), peg$c1364 = function (transition_items) {
455
455
  return { config_kind: "transition", config_items: transition_items || [] };
456
- }, peg$c1365 = "graph_layout", peg$c1366 = peg$literalExpectation("graph_layout", false), peg$c1367 = function (value) { return { key: "graph_layout", value: value }; }, peg$c1368 = "start_states", peg$c1369 = peg$literalExpectation("start_states", false), peg$c1370 = function (value) { return { key: "start_states", value: value }; }, peg$c1371 = "end_states", peg$c1372 = peg$literalExpectation("end_states", false), peg$c1373 = function (value) { return { key: "end_states", value: value }; }, peg$c1374 = "failed_outputs", peg$c1375 = peg$literalExpectation("failed_outputs", false), peg$c1376 = function (value) { return { key: "failed_outputs", value: typeof value === 'string' ? [value] : value }; }, peg$c1377 = "graph_bg_color", peg$c1378 = peg$literalExpectation("graph_bg_color", false), peg$c1379 = function (value) { return { key: "graph_bg_color", value: value }; }, peg$c1380 = "allows_override", peg$c1381 = peg$literalExpectation("allows_override", false), peg$c1382 = function (value) { return { key: "allows_override", value: value }; }, peg$c1383 = function () { return true; }, peg$c1384 = function () { return false; }, peg$c1385 = peg$otherExpectation("configuration"), peg$c1386 = "MIT", peg$c1387 = peg$literalExpectation("MIT", false), peg$c1388 = "BSD 2-clause", peg$c1389 = peg$literalExpectation("BSD 2-clause", false), peg$c1390 = "BSD 3-clause", peg$c1391 = peg$literalExpectation("BSD 3-clause", false), peg$c1392 = "Apache 2.0", peg$c1393 = peg$literalExpectation("Apache 2.0", false), peg$c1394 = "Mozilla 2.0", peg$c1395 = peg$literalExpectation("Mozilla 2.0", false), peg$c1396 = "Public domain", peg$c1397 = peg$literalExpectation("Public domain", false), peg$c1398 = "GPL v2", peg$c1399 = peg$literalExpectation("GPL v2", false), peg$c1400 = "GPL v3", peg$c1401 = peg$literalExpectation("GPL v3", false), peg$c1402 = "LGPL v2.1", peg$c1403 = peg$literalExpectation("LGPL v2.1", false), peg$c1404 = "LGPL v3.0", peg$c1405 = peg$literalExpectation("LGPL v3.0", false), peg$c1406 = "Unknown", peg$c1407 = peg$literalExpectation("Unknown", false), peg$c1408 = peg$otherExpectation("direction"), peg$c1409 = "up", peg$c1410 = peg$literalExpectation("up", false), peg$c1411 = "right", peg$c1412 = peg$literalExpectation("right", false), peg$c1413 = "down", peg$c1414 = peg$literalExpectation("down", false), peg$c1415 = "left", peg$c1416 = peg$literalExpectation("left", false), peg$c1417 = peg$otherExpectation("hook definition (open/closed)"), peg$c1418 = "open", peg$c1419 = peg$literalExpectation("open", false), peg$c1420 = "closed", peg$c1421 = peg$literalExpectation("closed", false), peg$c1422 = "machine_author", peg$c1423 = peg$literalExpectation("machine_author", false), peg$c1424 = function (value) { return { key: "machine_author", value }; }, peg$c1425 = "machine_contributor", peg$c1426 = peg$literalExpectation("machine_contributor", false), peg$c1427 = function (value) { return { key: "machine_contributor", value }; }, peg$c1428 = "machine_comment", peg$c1429 = peg$literalExpectation("machine_comment", false), peg$c1430 = function (value) { return { key: "machine_comment", value }; }, peg$c1431 = "machine_definition", peg$c1432 = peg$literalExpectation("machine_definition", false), peg$c1433 = function (value) { return { key: "machine_definition", value }; }, peg$c1434 = "machine_name", peg$c1435 = peg$literalExpectation("machine_name", false), peg$c1436 = function (value) { return { key: "machine_name", value }; }, peg$c1437 = "npm_name", peg$c1438 = peg$literalExpectation("npm_name", false), peg$c1439 = function (value) { return { key: "npm_name", value }; }, peg$c1440 = "machine_reference", peg$c1441 = peg$literalExpectation("machine_reference", false), peg$c1442 = function (value) { return { key: "machine_reference", value }; }, peg$c1443 = "machine_version", peg$c1444 = peg$literalExpectation("machine_version", false), peg$c1445 = function (value) { return { key: "machine_version", value }; }, peg$c1446 = "machine_license", peg$c1447 = peg$literalExpectation("machine_license", false), peg$c1448 = function (value) { return { key: "machine_license", value }; }, peg$c1449 = "machine_language", peg$c1450 = peg$literalExpectation("machine_language", false), peg$c1451 = function (value) { return { key: "machine_language", value }; }, peg$c1452 = "fsl_version", peg$c1453 = peg$literalExpectation("fsl_version", false), peg$c1454 = function (value) { return { key: "fsl_version", value }; }, peg$c1455 = "theme", peg$c1456 = peg$literalExpectation("theme", false), peg$c1457 = function (value) { return { key: "theme", value }; }, peg$c1458 = "flow", peg$c1459 = peg$literalExpectation("flow", false), peg$c1460 = function (value) { return { key: "flow", value }; }, peg$c1461 = "hooks", peg$c1462 = peg$literalExpectation("hooks", false), peg$c1463 = function (value) { return { key: "hook_definition", value }; }, peg$c1464 = "dot_preamble", peg$c1465 = peg$literalExpectation("dot_preamble", false), peg$c1466 = function (value) { return { key: "dot_preamble", value }; }, peg$c1467 = peg$otherExpectation("machine attribute"), peg$c1468 = "label", peg$c1469 = peg$literalExpectation("label", false), peg$c1470 = function (value) { return { key: 'state-label', value }; }, peg$c1471 = "color", peg$c1472 = peg$literalExpectation("color", false), peg$c1473 = function (value) { return { key: 'color', value }; }, peg$c1474 = peg$otherExpectation("text color"), peg$c1475 = "text-color", peg$c1476 = peg$literalExpectation("text-color", false), peg$c1477 = function (value) { return { key: 'text-color', value }; }, peg$c1478 = peg$otherExpectation("background color"), peg$c1479 = "background-color", peg$c1480 = peg$literalExpectation("background-color", false), peg$c1481 = function (value) { return { key: 'background-color', value }; }, peg$c1482 = peg$otherExpectation("border color"), peg$c1483 = "border-color", peg$c1484 = peg$literalExpectation("border-color", false), peg$c1485 = function (value) { return { key: 'border-color', value }; }, peg$c1486 = peg$otherExpectation("shape"), peg$c1487 = "shape", peg$c1488 = peg$literalExpectation("shape", false), peg$c1489 = function (value) { return { key: 'shape', value }; }, peg$c1490 = peg$otherExpectation("corners"), peg$c1491 = "corners", peg$c1492 = peg$literalExpectation("corners", false), peg$c1493 = function (value) { return { key: 'corners', value }; }, peg$c1494 = peg$otherExpectation("linestyle"), peg$c1495 = function (value) { return { key: 'line-style', value }; }, peg$c1496 = "linestyle", peg$c1497 = peg$literalExpectation("linestyle", false), peg$c1498 = peg$otherExpectation("image"), peg$c1499 = "image", peg$c1500 = peg$literalExpectation("image", false), peg$c1501 = function (value) { return { key: 'image', value }; }, peg$c1502 = peg$otherExpectation("url"), peg$c1503 = "url", peg$c1504 = peg$literalExpectation("url", false), peg$c1505 = function (value) { return { key: 'url', value }; }, peg$c1506 = peg$otherExpectation("state property"), peg$c1507 = "property", peg$c1508 = peg$literalExpectation("property", false), peg$c1509 = function (name, value) {
456
+ }, peg$c1365 = "graph_layout", peg$c1366 = peg$literalExpectation("graph_layout", false), peg$c1367 = function (value) { return { key: "graph_layout", value: value }; }, peg$c1368 = "start_states", peg$c1369 = peg$literalExpectation("start_states", false), peg$c1370 = function (value) { return { key: "start_states", value: value }; }, peg$c1371 = "end_states", peg$c1372 = peg$literalExpectation("end_states", false), peg$c1373 = function (value) { return { key: "end_states", value: value }; }, peg$c1374 = "failed_outputs", peg$c1375 = peg$literalExpectation("failed_outputs", false), peg$c1376 = function (value) { return { key: "failed_outputs", value: typeof value === 'string' ? [value] : value }; }, peg$c1377 = "graph_bg_color", peg$c1378 = peg$literalExpectation("graph_bg_color", false), peg$c1379 = function (value) { return { key: "graph_bg_color", value: value }; }, peg$c1380 = "allows_override", peg$c1381 = peg$literalExpectation("allows_override", false), peg$c1382 = function (value) { return { key: "allows_override", value: value }; }, peg$c1383 = "allow_islands", peg$c1384 = peg$literalExpectation("allow_islands", false), peg$c1385 = function (value) { return { key: "allow_islands", value: value }; }, peg$c1386 = function () { return true; }, peg$c1387 = function () { return false; }, peg$c1388 = "with_start", peg$c1389 = peg$literalExpectation("with_start", false), peg$c1390 = function () { return 'with_start'; }, peg$c1391 = function () { return true; }, peg$c1392 = function () { return false; }, peg$c1393 = peg$otherExpectation("configuration"), peg$c1394 = "MIT", peg$c1395 = peg$literalExpectation("MIT", false), peg$c1396 = "BSD 2-clause", peg$c1397 = peg$literalExpectation("BSD 2-clause", false), peg$c1398 = "BSD 3-clause", peg$c1399 = peg$literalExpectation("BSD 3-clause", false), peg$c1400 = "Apache 2.0", peg$c1401 = peg$literalExpectation("Apache 2.0", false), peg$c1402 = "Mozilla 2.0", peg$c1403 = peg$literalExpectation("Mozilla 2.0", false), peg$c1404 = "Public domain", peg$c1405 = peg$literalExpectation("Public domain", false), peg$c1406 = "GPL v2", peg$c1407 = peg$literalExpectation("GPL v2", false), peg$c1408 = "GPL v3", peg$c1409 = peg$literalExpectation("GPL v3", false), peg$c1410 = "LGPL v2.1", peg$c1411 = peg$literalExpectation("LGPL v2.1", false), peg$c1412 = "LGPL v3.0", peg$c1413 = peg$literalExpectation("LGPL v3.0", false), peg$c1414 = "Unknown", peg$c1415 = peg$literalExpectation("Unknown", false), peg$c1416 = peg$otherExpectation("direction"), peg$c1417 = "up", peg$c1418 = peg$literalExpectation("up", false), peg$c1419 = "right", peg$c1420 = peg$literalExpectation("right", false), peg$c1421 = "down", peg$c1422 = peg$literalExpectation("down", false), peg$c1423 = "left", peg$c1424 = peg$literalExpectation("left", false), peg$c1425 = peg$otherExpectation("hook definition (open/closed)"), peg$c1426 = "open", peg$c1427 = peg$literalExpectation("open", false), peg$c1428 = "closed", peg$c1429 = peg$literalExpectation("closed", false), peg$c1430 = "machine_author", peg$c1431 = peg$literalExpectation("machine_author", false), peg$c1432 = function (value) { return { key: "machine_author", value }; }, peg$c1433 = "machine_contributor", peg$c1434 = peg$literalExpectation("machine_contributor", false), peg$c1435 = function (value) { return { key: "machine_contributor", value }; }, peg$c1436 = "machine_comment", peg$c1437 = peg$literalExpectation("machine_comment", false), peg$c1438 = function (value) { return { key: "machine_comment", value }; }, peg$c1439 = "machine_definition", peg$c1440 = peg$literalExpectation("machine_definition", false), peg$c1441 = function (value) { return { key: "machine_definition", value }; }, peg$c1442 = "machine_name", peg$c1443 = peg$literalExpectation("machine_name", false), peg$c1444 = function (value) { return { key: "machine_name", value }; }, peg$c1445 = "npm_name", peg$c1446 = peg$literalExpectation("npm_name", false), peg$c1447 = function (value) { return { key: "npm_name", value }; }, peg$c1448 = "machine_reference", peg$c1449 = peg$literalExpectation("machine_reference", false), peg$c1450 = function (value) { return { key: "machine_reference", value }; }, peg$c1451 = "machine_version", peg$c1452 = peg$literalExpectation("machine_version", false), peg$c1453 = function (value) { return { key: "machine_version", value }; }, peg$c1454 = "machine_license", peg$c1455 = peg$literalExpectation("machine_license", false), peg$c1456 = function (value) { return { key: "machine_license", value }; }, peg$c1457 = "machine_language", peg$c1458 = peg$literalExpectation("machine_language", false), peg$c1459 = function (value) { return { key: "machine_language", value }; }, peg$c1460 = "fsl_version", peg$c1461 = peg$literalExpectation("fsl_version", false), peg$c1462 = function (value) { return { key: "fsl_version", value }; }, peg$c1463 = "theme", peg$c1464 = peg$literalExpectation("theme", false), peg$c1465 = function (value) { return { key: "theme", value }; }, peg$c1466 = "flow", peg$c1467 = peg$literalExpectation("flow", false), peg$c1468 = function (value) { return { key: "flow", value }; }, peg$c1469 = "hooks", peg$c1470 = peg$literalExpectation("hooks", false), peg$c1471 = function (value) { return { key: "hook_definition", value }; }, peg$c1472 = "dot_preamble", peg$c1473 = peg$literalExpectation("dot_preamble", false), peg$c1474 = function (value) { return { key: "dot_preamble", value }; }, peg$c1475 = peg$otherExpectation("machine attribute"), peg$c1476 = "label", peg$c1477 = peg$literalExpectation("label", false), peg$c1478 = function (value) { return { key: 'state-label', value }; }, peg$c1479 = "color", peg$c1480 = peg$literalExpectation("color", false), peg$c1481 = function (value) { return { key: 'color', value }; }, peg$c1482 = peg$otherExpectation("text color"), peg$c1483 = "text-color", peg$c1484 = peg$literalExpectation("text-color", false), peg$c1485 = function (value) { return { key: 'text-color', value }; }, peg$c1486 = peg$otherExpectation("background color"), peg$c1487 = "background-color", peg$c1488 = peg$literalExpectation("background-color", false), peg$c1489 = function (value) { return { key: 'background-color', value }; }, peg$c1490 = peg$otherExpectation("border color"), peg$c1491 = "border-color", peg$c1492 = peg$literalExpectation("border-color", false), peg$c1493 = function (value) { return { key: 'border-color', value }; }, peg$c1494 = peg$otherExpectation("shape"), peg$c1495 = "shape", peg$c1496 = peg$literalExpectation("shape", false), peg$c1497 = function (value) { return { key: 'shape', value }; }, peg$c1498 = peg$otherExpectation("corners"), peg$c1499 = "corners", peg$c1500 = peg$literalExpectation("corners", false), peg$c1501 = function (value) { return { key: 'corners', value }; }, peg$c1502 = peg$otherExpectation("linestyle"), peg$c1503 = function (value) { return { key: 'line-style', value }; }, peg$c1504 = "linestyle", peg$c1505 = peg$literalExpectation("linestyle", false), peg$c1506 = peg$otherExpectation("image"), peg$c1507 = "image", peg$c1508 = peg$literalExpectation("image", false), peg$c1509 = function (value) { return { key: 'image', value }; }, peg$c1510 = peg$otherExpectation("url"), peg$c1511 = "url", peg$c1512 = peg$literalExpectation("url", false), peg$c1513 = function (value) { return { key: 'url', value }; }, peg$c1514 = peg$otherExpectation("state property"), peg$c1515 = "property", peg$c1516 = peg$literalExpectation("property", false), peg$c1517 = function (name, value) {
457
457
  return { key: 'state_property', name, value };
458
- }, peg$c1510 = "required", peg$c1511 = peg$literalExpectation("required", false), peg$c1512 = function (name, value) {
458
+ }, peg$c1518 = "required", peg$c1519 = peg$literalExpectation("required", false), peg$c1520 = function (name, value) {
459
459
  return { key: 'state_property', name, value, required: true };
460
- }, peg$c1513 = function (name, value) { return { key: 'state_declaration', name, value }; }, peg$c1514 = "&", peg$c1515 = peg$literalExpectation("&", false), peg$c1516 = function (name, value) { return { key: 'named_list', name, value }; }, peg$c1517 = function (name, default_value) { return { key: 'property_definition', name, default_value, required: true }; }, peg$c1518 = function (name) { return { key: 'property_definition', name, required: true }; }, peg$c1519 = function (name, default_value) { return { key: 'property_definition', name, default_value }; }, peg$c1520 = function (name) { return { key: 'property_definition', name }; }, peg$c1521 = "arrange", peg$c1522 = peg$literalExpectation("arrange", false), peg$c1523 = function (value) { return { key: 'arrange_declaration', value }; }, peg$c1524 = "arrange-start", peg$c1525 = peg$literalExpectation("arrange-start", false), peg$c1526 = function (value) { return { key: 'arrange_start_declaration', value }; }, peg$c1527 = "arrange-end", peg$c1528 = peg$literalExpectation("arrange-end", false), peg$c1529 = function (value) { return { key: 'arrange_end_declaration', value }; }, peg$c1530 = peg$otherExpectation("arrange declaration"), peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result;
460
+ }, peg$c1521 = function (name, value) { return { key: 'state_declaration', name, value }; }, peg$c1522 = "&", peg$c1523 = peg$literalExpectation("&", false), peg$c1524 = function (name, value) { return { key: 'named_list', name, value }; }, peg$c1525 = function (name, default_value) { return { key: 'property_definition', name, default_value, required: true }; }, peg$c1526 = function (name) { return { key: 'property_definition', name, required: true }; }, peg$c1527 = function (name, default_value) { return { key: 'property_definition', name, default_value }; }, peg$c1528 = function (name) { return { key: 'property_definition', name }; }, peg$c1529 = "arrange", peg$c1530 = peg$literalExpectation("arrange", false), peg$c1531 = function (value) { return { key: 'arrange_declaration', value }; }, peg$c1532 = "arrange-start", peg$c1533 = peg$literalExpectation("arrange-start", false), peg$c1534 = function (value) { return { key: 'arrange_start_declaration', value }; }, peg$c1535 = "arrange-end", peg$c1536 = peg$literalExpectation("arrange-end", false), peg$c1537 = function (value) { return { key: 'arrange_end_declaration', value }; }, peg$c1538 = peg$otherExpectation("arrange declaration"), peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result;
461
461
  if ("startRule" in options) {
462
462
  if (!(options.startRule in peg$startRuleFunctions)) {
463
463
  throw new Error("Can't start parsing from rule \"" + options.startRule + "\".");
@@ -14985,6 +14985,119 @@ function peg$parse(input, options) {
14985
14985
  }
14986
14986
  return s0;
14987
14987
  }
14988
+ function peg$parseConfigAllowIslands() {
14989
+ var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
14990
+ s0 = peg$currPos;
14991
+ s1 = peg$parseWS();
14992
+ if (s1 === peg$FAILED) {
14993
+ s1 = null;
14994
+ }
14995
+ if (s1 !== peg$FAILED) {
14996
+ if (input.substr(peg$currPos, 13) === peg$c1383) {
14997
+ s2 = peg$c1383;
14998
+ peg$currPos += 13;
14999
+ }
15000
+ else {
15001
+ s2 = peg$FAILED;
15002
+ if (peg$silentFails === 0) {
15003
+ peg$fail(peg$c1384);
15004
+ }
15005
+ }
15006
+ if (s2 !== peg$FAILED) {
15007
+ s3 = peg$parseWS();
15008
+ if (s3 === peg$FAILED) {
15009
+ s3 = null;
15010
+ }
15011
+ if (s3 !== peg$FAILED) {
15012
+ if (input.charCodeAt(peg$currPos) === 58) {
15013
+ s4 = peg$c1206;
15014
+ peg$currPos++;
15015
+ }
15016
+ else {
15017
+ s4 = peg$FAILED;
15018
+ if (peg$silentFails === 0) {
15019
+ peg$fail(peg$c1207);
15020
+ }
15021
+ }
15022
+ if (s4 !== peg$FAILED) {
15023
+ s5 = peg$parseWS();
15024
+ if (s5 === peg$FAILED) {
15025
+ s5 = null;
15026
+ }
15027
+ if (s5 !== peg$FAILED) {
15028
+ s6 = peg$parseIslandsT();
15029
+ if (s6 !== peg$FAILED) {
15030
+ s7 = peg$parseWS();
15031
+ if (s7 === peg$FAILED) {
15032
+ s7 = null;
15033
+ }
15034
+ if (s7 !== peg$FAILED) {
15035
+ if (input.charCodeAt(peg$currPos) === 59) {
15036
+ s8 = peg$c1208;
15037
+ peg$currPos++;
15038
+ }
15039
+ else {
15040
+ s8 = peg$FAILED;
15041
+ if (peg$silentFails === 0) {
15042
+ peg$fail(peg$c1209);
15043
+ }
15044
+ }
15045
+ if (s8 !== peg$FAILED) {
15046
+ s9 = peg$parseWS();
15047
+ if (s9 === peg$FAILED) {
15048
+ s9 = null;
15049
+ }
15050
+ if (s9 !== peg$FAILED) {
15051
+ peg$savedPos = s0;
15052
+ s1 = peg$c1385(s6);
15053
+ s0 = s1;
15054
+ }
15055
+ else {
15056
+ peg$currPos = s0;
15057
+ s0 = peg$FAILED;
15058
+ }
15059
+ }
15060
+ else {
15061
+ peg$currPos = s0;
15062
+ s0 = peg$FAILED;
15063
+ }
15064
+ }
15065
+ else {
15066
+ peg$currPos = s0;
15067
+ s0 = peg$FAILED;
15068
+ }
15069
+ }
15070
+ else {
15071
+ peg$currPos = s0;
15072
+ s0 = peg$FAILED;
15073
+ }
15074
+ }
15075
+ else {
15076
+ peg$currPos = s0;
15077
+ s0 = peg$FAILED;
15078
+ }
15079
+ }
15080
+ else {
15081
+ peg$currPos = s0;
15082
+ s0 = peg$FAILED;
15083
+ }
15084
+ }
15085
+ else {
15086
+ peg$currPos = s0;
15087
+ s0 = peg$FAILED;
15088
+ }
15089
+ }
15090
+ else {
15091
+ peg$currPos = s0;
15092
+ s0 = peg$FAILED;
15093
+ }
15094
+ }
15095
+ else {
15096
+ peg$currPos = s0;
15097
+ s0 = peg$FAILED;
15098
+ }
15099
+ return s0;
15100
+ }
14988
15101
  function peg$parseOverrideT() {
14989
15102
  var s0, s1;
14990
15103
  s0 = peg$currPos;
@@ -15000,7 +15113,7 @@ function peg$parse(input, options) {
15000
15113
  }
15001
15114
  if (s1 !== peg$FAILED) {
15002
15115
  peg$savedPos = s0;
15003
- s1 = peg$c1383();
15116
+ s1 = peg$c1386();
15004
15117
  }
15005
15118
  s0 = s1;
15006
15119
  if (s0 === peg$FAILED) {
@@ -15017,7 +15130,7 @@ function peg$parse(input, options) {
15017
15130
  }
15018
15131
  if (s1 !== peg$FAILED) {
15019
15132
  peg$savedPos = s0;
15020
- s1 = peg$c1384();
15133
+ s1 = peg$c1387();
15021
15134
  }
15022
15135
  s0 = s1;
15023
15136
  if (s0 === peg$FAILED) {
@@ -15041,6 +15154,62 @@ function peg$parse(input, options) {
15041
15154
  }
15042
15155
  return s0;
15043
15156
  }
15157
+ function peg$parseIslandsT() {
15158
+ var s0, s1;
15159
+ s0 = peg$currPos;
15160
+ if (input.substr(peg$currPos, 10) === peg$c1388) {
15161
+ s1 = peg$c1388;
15162
+ peg$currPos += 10;
15163
+ }
15164
+ else {
15165
+ s1 = peg$FAILED;
15166
+ if (peg$silentFails === 0) {
15167
+ peg$fail(peg$c1389);
15168
+ }
15169
+ }
15170
+ if (s1 !== peg$FAILED) {
15171
+ peg$savedPos = s0;
15172
+ s1 = peg$c1390();
15173
+ }
15174
+ s0 = s1;
15175
+ if (s0 === peg$FAILED) {
15176
+ s0 = peg$currPos;
15177
+ if (input.substr(peg$currPos, 4) === peg$c230) {
15178
+ s1 = peg$c230;
15179
+ peg$currPos += 4;
15180
+ }
15181
+ else {
15182
+ s1 = peg$FAILED;
15183
+ if (peg$silentFails === 0) {
15184
+ peg$fail(peg$c231);
15185
+ }
15186
+ }
15187
+ if (s1 !== peg$FAILED) {
15188
+ peg$savedPos = s0;
15189
+ s1 = peg$c1391();
15190
+ }
15191
+ s0 = s1;
15192
+ if (s0 === peg$FAILED) {
15193
+ s0 = peg$currPos;
15194
+ if (input.substr(peg$currPos, 5) === peg$c233) {
15195
+ s1 = peg$c233;
15196
+ peg$currPos += 5;
15197
+ }
15198
+ else {
15199
+ s1 = peg$FAILED;
15200
+ if (peg$silentFails === 0) {
15201
+ peg$fail(peg$c234);
15202
+ }
15203
+ }
15204
+ if (s1 !== peg$FAILED) {
15205
+ peg$savedPos = s0;
15206
+ s1 = peg$c1392();
15207
+ }
15208
+ s0 = s1;
15209
+ }
15210
+ }
15211
+ return s0;
15212
+ }
15044
15213
  function peg$parseConfig() {
15045
15214
  var s0;
15046
15215
  peg$silentFails++;
@@ -15063,6 +15232,9 @@ function peg$parse(input, options) {
15063
15232
  s0 = peg$parseConfigGraphBgColor();
15064
15233
  if (s0 === peg$FAILED) {
15065
15234
  s0 = peg$parseConfigAllowsOverride();
15235
+ if (s0 === peg$FAILED) {
15236
+ s0 = peg$parseConfigAllowIslands();
15237
+ }
15066
15238
  }
15067
15239
  }
15068
15240
  }
@@ -15075,131 +15247,131 @@ function peg$parse(input, options) {
15075
15247
  peg$silentFails--;
15076
15248
  if (s0 === peg$FAILED) {
15077
15249
  if (peg$silentFails === 0) {
15078
- peg$fail(peg$c1385);
15250
+ peg$fail(peg$c1393);
15079
15251
  }
15080
15252
  }
15081
15253
  return s0;
15082
15254
  }
15083
15255
  function peg$parseLicenseOrLabelOrList() {
15084
15256
  var s0;
15085
- if (input.substr(peg$currPos, 3) === peg$c1386) {
15086
- s0 = peg$c1386;
15257
+ if (input.substr(peg$currPos, 3) === peg$c1394) {
15258
+ s0 = peg$c1394;
15087
15259
  peg$currPos += 3;
15088
15260
  }
15089
15261
  else {
15090
15262
  s0 = peg$FAILED;
15091
15263
  if (peg$silentFails === 0) {
15092
- peg$fail(peg$c1387);
15264
+ peg$fail(peg$c1395);
15093
15265
  }
15094
15266
  }
15095
15267
  if (s0 === peg$FAILED) {
15096
- if (input.substr(peg$currPos, 12) === peg$c1388) {
15097
- s0 = peg$c1388;
15268
+ if (input.substr(peg$currPos, 12) === peg$c1396) {
15269
+ s0 = peg$c1396;
15098
15270
  peg$currPos += 12;
15099
15271
  }
15100
15272
  else {
15101
15273
  s0 = peg$FAILED;
15102
15274
  if (peg$silentFails === 0) {
15103
- peg$fail(peg$c1389);
15275
+ peg$fail(peg$c1397);
15104
15276
  }
15105
15277
  }
15106
15278
  if (s0 === peg$FAILED) {
15107
- if (input.substr(peg$currPos, 12) === peg$c1390) {
15108
- s0 = peg$c1390;
15279
+ if (input.substr(peg$currPos, 12) === peg$c1398) {
15280
+ s0 = peg$c1398;
15109
15281
  peg$currPos += 12;
15110
15282
  }
15111
15283
  else {
15112
15284
  s0 = peg$FAILED;
15113
15285
  if (peg$silentFails === 0) {
15114
- peg$fail(peg$c1391);
15286
+ peg$fail(peg$c1399);
15115
15287
  }
15116
15288
  }
15117
15289
  if (s0 === peg$FAILED) {
15118
- if (input.substr(peg$currPos, 10) === peg$c1392) {
15119
- s0 = peg$c1392;
15290
+ if (input.substr(peg$currPos, 10) === peg$c1400) {
15291
+ s0 = peg$c1400;
15120
15292
  peg$currPos += 10;
15121
15293
  }
15122
15294
  else {
15123
15295
  s0 = peg$FAILED;
15124
15296
  if (peg$silentFails === 0) {
15125
- peg$fail(peg$c1393);
15297
+ peg$fail(peg$c1401);
15126
15298
  }
15127
15299
  }
15128
15300
  if (s0 === peg$FAILED) {
15129
- if (input.substr(peg$currPos, 11) === peg$c1394) {
15130
- s0 = peg$c1394;
15301
+ if (input.substr(peg$currPos, 11) === peg$c1402) {
15302
+ s0 = peg$c1402;
15131
15303
  peg$currPos += 11;
15132
15304
  }
15133
15305
  else {
15134
15306
  s0 = peg$FAILED;
15135
15307
  if (peg$silentFails === 0) {
15136
- peg$fail(peg$c1395);
15308
+ peg$fail(peg$c1403);
15137
15309
  }
15138
15310
  }
15139
15311
  if (s0 === peg$FAILED) {
15140
- if (input.substr(peg$currPos, 13) === peg$c1396) {
15141
- s0 = peg$c1396;
15312
+ if (input.substr(peg$currPos, 13) === peg$c1404) {
15313
+ s0 = peg$c1404;
15142
15314
  peg$currPos += 13;
15143
15315
  }
15144
15316
  else {
15145
15317
  s0 = peg$FAILED;
15146
15318
  if (peg$silentFails === 0) {
15147
- peg$fail(peg$c1397);
15319
+ peg$fail(peg$c1405);
15148
15320
  }
15149
15321
  }
15150
15322
  if (s0 === peg$FAILED) {
15151
- if (input.substr(peg$currPos, 6) === peg$c1398) {
15152
- s0 = peg$c1398;
15323
+ if (input.substr(peg$currPos, 6) === peg$c1406) {
15324
+ s0 = peg$c1406;
15153
15325
  peg$currPos += 6;
15154
15326
  }
15155
15327
  else {
15156
15328
  s0 = peg$FAILED;
15157
15329
  if (peg$silentFails === 0) {
15158
- peg$fail(peg$c1399);
15330
+ peg$fail(peg$c1407);
15159
15331
  }
15160
15332
  }
15161
15333
  if (s0 === peg$FAILED) {
15162
- if (input.substr(peg$currPos, 6) === peg$c1400) {
15163
- s0 = peg$c1400;
15334
+ if (input.substr(peg$currPos, 6) === peg$c1408) {
15335
+ s0 = peg$c1408;
15164
15336
  peg$currPos += 6;
15165
15337
  }
15166
15338
  else {
15167
15339
  s0 = peg$FAILED;
15168
15340
  if (peg$silentFails === 0) {
15169
- peg$fail(peg$c1401);
15341
+ peg$fail(peg$c1409);
15170
15342
  }
15171
15343
  }
15172
15344
  if (s0 === peg$FAILED) {
15173
- if (input.substr(peg$currPos, 9) === peg$c1402) {
15174
- s0 = peg$c1402;
15345
+ if (input.substr(peg$currPos, 9) === peg$c1410) {
15346
+ s0 = peg$c1410;
15175
15347
  peg$currPos += 9;
15176
15348
  }
15177
15349
  else {
15178
15350
  s0 = peg$FAILED;
15179
15351
  if (peg$silentFails === 0) {
15180
- peg$fail(peg$c1403);
15352
+ peg$fail(peg$c1411);
15181
15353
  }
15182
15354
  }
15183
15355
  if (s0 === peg$FAILED) {
15184
- if (input.substr(peg$currPos, 9) === peg$c1404) {
15185
- s0 = peg$c1404;
15356
+ if (input.substr(peg$currPos, 9) === peg$c1412) {
15357
+ s0 = peg$c1412;
15186
15358
  peg$currPos += 9;
15187
15359
  }
15188
15360
  else {
15189
15361
  s0 = peg$FAILED;
15190
15362
  if (peg$silentFails === 0) {
15191
- peg$fail(peg$c1405);
15363
+ peg$fail(peg$c1413);
15192
15364
  }
15193
15365
  }
15194
15366
  if (s0 === peg$FAILED) {
15195
- if (input.substr(peg$currPos, 7) === peg$c1406) {
15196
- s0 = peg$c1406;
15367
+ if (input.substr(peg$currPos, 7) === peg$c1414) {
15368
+ s0 = peg$c1414;
15197
15369
  peg$currPos += 7;
15198
15370
  }
15199
15371
  else {
15200
15372
  s0 = peg$FAILED;
15201
15373
  if (peg$silentFails === 0) {
15202
- peg$fail(peg$c1407);
15374
+ peg$fail(peg$c1415);
15203
15375
  }
15204
15376
  }
15205
15377
  if (s0 === peg$FAILED) {
@@ -15223,47 +15395,47 @@ function peg$parse(input, options) {
15223
15395
  function peg$parseDirection() {
15224
15396
  var s0;
15225
15397
  peg$silentFails++;
15226
- if (input.substr(peg$currPos, 2) === peg$c1409) {
15227
- s0 = peg$c1409;
15398
+ if (input.substr(peg$currPos, 2) === peg$c1417) {
15399
+ s0 = peg$c1417;
15228
15400
  peg$currPos += 2;
15229
15401
  }
15230
15402
  else {
15231
15403
  s0 = peg$FAILED;
15232
15404
  if (peg$silentFails === 0) {
15233
- peg$fail(peg$c1410);
15405
+ peg$fail(peg$c1418);
15234
15406
  }
15235
15407
  }
15236
15408
  if (s0 === peg$FAILED) {
15237
- if (input.substr(peg$currPos, 5) === peg$c1411) {
15238
- s0 = peg$c1411;
15409
+ if (input.substr(peg$currPos, 5) === peg$c1419) {
15410
+ s0 = peg$c1419;
15239
15411
  peg$currPos += 5;
15240
15412
  }
15241
15413
  else {
15242
15414
  s0 = peg$FAILED;
15243
15415
  if (peg$silentFails === 0) {
15244
- peg$fail(peg$c1412);
15416
+ peg$fail(peg$c1420);
15245
15417
  }
15246
15418
  }
15247
15419
  if (s0 === peg$FAILED) {
15248
- if (input.substr(peg$currPos, 4) === peg$c1413) {
15249
- s0 = peg$c1413;
15420
+ if (input.substr(peg$currPos, 4) === peg$c1421) {
15421
+ s0 = peg$c1421;
15250
15422
  peg$currPos += 4;
15251
15423
  }
15252
15424
  else {
15253
15425
  s0 = peg$FAILED;
15254
15426
  if (peg$silentFails === 0) {
15255
- peg$fail(peg$c1414);
15427
+ peg$fail(peg$c1422);
15256
15428
  }
15257
15429
  }
15258
15430
  if (s0 === peg$FAILED) {
15259
- if (input.substr(peg$currPos, 4) === peg$c1415) {
15260
- s0 = peg$c1415;
15431
+ if (input.substr(peg$currPos, 4) === peg$c1423) {
15432
+ s0 = peg$c1423;
15261
15433
  peg$currPos += 4;
15262
15434
  }
15263
15435
  else {
15264
15436
  s0 = peg$FAILED;
15265
15437
  if (peg$silentFails === 0) {
15266
- peg$fail(peg$c1416);
15438
+ peg$fail(peg$c1424);
15267
15439
  }
15268
15440
  }
15269
15441
  }
@@ -15272,7 +15444,7 @@ function peg$parse(input, options) {
15272
15444
  peg$silentFails--;
15273
15445
  if (s0 === peg$FAILED) {
15274
15446
  if (peg$silentFails === 0) {
15275
- peg$fail(peg$c1408);
15447
+ peg$fail(peg$c1416);
15276
15448
  }
15277
15449
  }
15278
15450
  return s0;
@@ -15280,32 +15452,32 @@ function peg$parse(input, options) {
15280
15452
  function peg$parseHookDefinition() {
15281
15453
  var s0;
15282
15454
  peg$silentFails++;
15283
- if (input.substr(peg$currPos, 4) === peg$c1418) {
15284
- s0 = peg$c1418;
15455
+ if (input.substr(peg$currPos, 4) === peg$c1426) {
15456
+ s0 = peg$c1426;
15285
15457
  peg$currPos += 4;
15286
15458
  }
15287
15459
  else {
15288
15460
  s0 = peg$FAILED;
15289
15461
  if (peg$silentFails === 0) {
15290
- peg$fail(peg$c1419);
15462
+ peg$fail(peg$c1427);
15291
15463
  }
15292
15464
  }
15293
15465
  if (s0 === peg$FAILED) {
15294
- if (input.substr(peg$currPos, 6) === peg$c1420) {
15295
- s0 = peg$c1420;
15466
+ if (input.substr(peg$currPos, 6) === peg$c1428) {
15467
+ s0 = peg$c1428;
15296
15468
  peg$currPos += 6;
15297
15469
  }
15298
15470
  else {
15299
15471
  s0 = peg$FAILED;
15300
15472
  if (peg$silentFails === 0) {
15301
- peg$fail(peg$c1421);
15473
+ peg$fail(peg$c1429);
15302
15474
  }
15303
15475
  }
15304
15476
  }
15305
15477
  peg$silentFails--;
15306
15478
  if (s0 === peg$FAILED) {
15307
15479
  if (peg$silentFails === 0) {
15308
- peg$fail(peg$c1417);
15480
+ peg$fail(peg$c1425);
15309
15481
  }
15310
15482
  }
15311
15483
  return s0;
@@ -15318,14 +15490,14 @@ function peg$parse(input, options) {
15318
15490
  s1 = null;
15319
15491
  }
15320
15492
  if (s1 !== peg$FAILED) {
15321
- if (input.substr(peg$currPos, 14) === peg$c1422) {
15322
- s2 = peg$c1422;
15493
+ if (input.substr(peg$currPos, 14) === peg$c1430) {
15494
+ s2 = peg$c1430;
15323
15495
  peg$currPos += 14;
15324
15496
  }
15325
15497
  else {
15326
15498
  s2 = peg$FAILED;
15327
15499
  if (peg$silentFails === 0) {
15328
- peg$fail(peg$c1423);
15500
+ peg$fail(peg$c1431);
15329
15501
  }
15330
15502
  }
15331
15503
  if (s2 !== peg$FAILED) {
@@ -15374,7 +15546,7 @@ function peg$parse(input, options) {
15374
15546
  }
15375
15547
  if (s9 !== peg$FAILED) {
15376
15548
  peg$savedPos = s0;
15377
- s1 = peg$c1424(s6);
15549
+ s1 = peg$c1432(s6);
15378
15550
  s0 = s1;
15379
15551
  }
15380
15552
  else {
@@ -15431,14 +15603,14 @@ function peg$parse(input, options) {
15431
15603
  s1 = null;
15432
15604
  }
15433
15605
  if (s1 !== peg$FAILED) {
15434
- if (input.substr(peg$currPos, 19) === peg$c1425) {
15435
- s2 = peg$c1425;
15606
+ if (input.substr(peg$currPos, 19) === peg$c1433) {
15607
+ s2 = peg$c1433;
15436
15608
  peg$currPos += 19;
15437
15609
  }
15438
15610
  else {
15439
15611
  s2 = peg$FAILED;
15440
15612
  if (peg$silentFails === 0) {
15441
- peg$fail(peg$c1426);
15613
+ peg$fail(peg$c1434);
15442
15614
  }
15443
15615
  }
15444
15616
  if (s2 !== peg$FAILED) {
@@ -15487,7 +15659,7 @@ function peg$parse(input, options) {
15487
15659
  }
15488
15660
  if (s9 !== peg$FAILED) {
15489
15661
  peg$savedPos = s0;
15490
- s1 = peg$c1427(s6);
15662
+ s1 = peg$c1435(s6);
15491
15663
  s0 = s1;
15492
15664
  }
15493
15665
  else {
@@ -15544,14 +15716,14 @@ function peg$parse(input, options) {
15544
15716
  s1 = null;
15545
15717
  }
15546
15718
  if (s1 !== peg$FAILED) {
15547
- if (input.substr(peg$currPos, 15) === peg$c1428) {
15548
- s2 = peg$c1428;
15719
+ if (input.substr(peg$currPos, 15) === peg$c1436) {
15720
+ s2 = peg$c1436;
15549
15721
  peg$currPos += 15;
15550
15722
  }
15551
15723
  else {
15552
15724
  s2 = peg$FAILED;
15553
15725
  if (peg$silentFails === 0) {
15554
- peg$fail(peg$c1429);
15726
+ peg$fail(peg$c1437);
15555
15727
  }
15556
15728
  }
15557
15729
  if (s2 !== peg$FAILED) {
@@ -15600,7 +15772,7 @@ function peg$parse(input, options) {
15600
15772
  }
15601
15773
  if (s9 !== peg$FAILED) {
15602
15774
  peg$savedPos = s0;
15603
- s1 = peg$c1430(s6);
15775
+ s1 = peg$c1438(s6);
15604
15776
  s0 = s1;
15605
15777
  }
15606
15778
  else {
@@ -15657,14 +15829,14 @@ function peg$parse(input, options) {
15657
15829
  s1 = null;
15658
15830
  }
15659
15831
  if (s1 !== peg$FAILED) {
15660
- if (input.substr(peg$currPos, 18) === peg$c1431) {
15661
- s2 = peg$c1431;
15832
+ if (input.substr(peg$currPos, 18) === peg$c1439) {
15833
+ s2 = peg$c1439;
15662
15834
  peg$currPos += 18;
15663
15835
  }
15664
15836
  else {
15665
15837
  s2 = peg$FAILED;
15666
15838
  if (peg$silentFails === 0) {
15667
- peg$fail(peg$c1432);
15839
+ peg$fail(peg$c1440);
15668
15840
  }
15669
15841
  }
15670
15842
  if (s2 !== peg$FAILED) {
@@ -15713,7 +15885,7 @@ function peg$parse(input, options) {
15713
15885
  }
15714
15886
  if (s9 !== peg$FAILED) {
15715
15887
  peg$savedPos = s0;
15716
- s1 = peg$c1433(s6);
15888
+ s1 = peg$c1441(s6);
15717
15889
  s0 = s1;
15718
15890
  }
15719
15891
  else {
@@ -15770,14 +15942,14 @@ function peg$parse(input, options) {
15770
15942
  s1 = null;
15771
15943
  }
15772
15944
  if (s1 !== peg$FAILED) {
15773
- if (input.substr(peg$currPos, 12) === peg$c1434) {
15774
- s2 = peg$c1434;
15945
+ if (input.substr(peg$currPos, 12) === peg$c1442) {
15946
+ s2 = peg$c1442;
15775
15947
  peg$currPos += 12;
15776
15948
  }
15777
15949
  else {
15778
15950
  s2 = peg$FAILED;
15779
15951
  if (peg$silentFails === 0) {
15780
- peg$fail(peg$c1435);
15952
+ peg$fail(peg$c1443);
15781
15953
  }
15782
15954
  }
15783
15955
  if (s2 !== peg$FAILED) {
@@ -15826,7 +15998,7 @@ function peg$parse(input, options) {
15826
15998
  }
15827
15999
  if (s9 !== peg$FAILED) {
15828
16000
  peg$savedPos = s0;
15829
- s1 = peg$c1436(s6);
16001
+ s1 = peg$c1444(s6);
15830
16002
  s0 = s1;
15831
16003
  }
15832
16004
  else {
@@ -15883,14 +16055,14 @@ function peg$parse(input, options) {
15883
16055
  s1 = null;
15884
16056
  }
15885
16057
  if (s1 !== peg$FAILED) {
15886
- if (input.substr(peg$currPos, 8) === peg$c1437) {
15887
- s2 = peg$c1437;
16058
+ if (input.substr(peg$currPos, 8) === peg$c1445) {
16059
+ s2 = peg$c1445;
15888
16060
  peg$currPos += 8;
15889
16061
  }
15890
16062
  else {
15891
16063
  s2 = peg$FAILED;
15892
16064
  if (peg$silentFails === 0) {
15893
- peg$fail(peg$c1438);
16065
+ peg$fail(peg$c1446);
15894
16066
  }
15895
16067
  }
15896
16068
  if (s2 !== peg$FAILED) {
@@ -15939,7 +16111,7 @@ function peg$parse(input, options) {
15939
16111
  }
15940
16112
  if (s9 !== peg$FAILED) {
15941
16113
  peg$savedPos = s0;
15942
- s1 = peg$c1439(s6);
16114
+ s1 = peg$c1447(s6);
15943
16115
  s0 = s1;
15944
16116
  }
15945
16117
  else {
@@ -15996,14 +16168,14 @@ function peg$parse(input, options) {
15996
16168
  s1 = null;
15997
16169
  }
15998
16170
  if (s1 !== peg$FAILED) {
15999
- if (input.substr(peg$currPos, 17) === peg$c1440) {
16000
- s2 = peg$c1440;
16171
+ if (input.substr(peg$currPos, 17) === peg$c1448) {
16172
+ s2 = peg$c1448;
16001
16173
  peg$currPos += 17;
16002
16174
  }
16003
16175
  else {
16004
16176
  s2 = peg$FAILED;
16005
16177
  if (peg$silentFails === 0) {
16006
- peg$fail(peg$c1441);
16178
+ peg$fail(peg$c1449);
16007
16179
  }
16008
16180
  }
16009
16181
  if (s2 !== peg$FAILED) {
@@ -16052,7 +16224,7 @@ function peg$parse(input, options) {
16052
16224
  }
16053
16225
  if (s9 !== peg$FAILED) {
16054
16226
  peg$savedPos = s0;
16055
- s1 = peg$c1442(s6);
16227
+ s1 = peg$c1450(s6);
16056
16228
  s0 = s1;
16057
16229
  }
16058
16230
  else {
@@ -16109,14 +16281,14 @@ function peg$parse(input, options) {
16109
16281
  s1 = null;
16110
16282
  }
16111
16283
  if (s1 !== peg$FAILED) {
16112
- if (input.substr(peg$currPos, 15) === peg$c1443) {
16113
- s2 = peg$c1443;
16284
+ if (input.substr(peg$currPos, 15) === peg$c1451) {
16285
+ s2 = peg$c1451;
16114
16286
  peg$currPos += 15;
16115
16287
  }
16116
16288
  else {
16117
16289
  s2 = peg$FAILED;
16118
16290
  if (peg$silentFails === 0) {
16119
- peg$fail(peg$c1444);
16291
+ peg$fail(peg$c1452);
16120
16292
  }
16121
16293
  }
16122
16294
  if (s2 !== peg$FAILED) {
@@ -16165,7 +16337,7 @@ function peg$parse(input, options) {
16165
16337
  }
16166
16338
  if (s9 !== peg$FAILED) {
16167
16339
  peg$savedPos = s0;
16168
- s1 = peg$c1445(s6);
16340
+ s1 = peg$c1453(s6);
16169
16341
  s0 = s1;
16170
16342
  }
16171
16343
  else {
@@ -16222,14 +16394,14 @@ function peg$parse(input, options) {
16222
16394
  s1 = null;
16223
16395
  }
16224
16396
  if (s1 !== peg$FAILED) {
16225
- if (input.substr(peg$currPos, 15) === peg$c1446) {
16226
- s2 = peg$c1446;
16397
+ if (input.substr(peg$currPos, 15) === peg$c1454) {
16398
+ s2 = peg$c1454;
16227
16399
  peg$currPos += 15;
16228
16400
  }
16229
16401
  else {
16230
16402
  s2 = peg$FAILED;
16231
16403
  if (peg$silentFails === 0) {
16232
- peg$fail(peg$c1447);
16404
+ peg$fail(peg$c1455);
16233
16405
  }
16234
16406
  }
16235
16407
  if (s2 !== peg$FAILED) {
@@ -16278,7 +16450,7 @@ function peg$parse(input, options) {
16278
16450
  }
16279
16451
  if (s9 !== peg$FAILED) {
16280
16452
  peg$savedPos = s0;
16281
- s1 = peg$c1448(s6);
16453
+ s1 = peg$c1456(s6);
16282
16454
  s0 = s1;
16283
16455
  }
16284
16456
  else {
@@ -16335,14 +16507,14 @@ function peg$parse(input, options) {
16335
16507
  s1 = null;
16336
16508
  }
16337
16509
  if (s1 !== peg$FAILED) {
16338
- if (input.substr(peg$currPos, 16) === peg$c1449) {
16339
- s2 = peg$c1449;
16510
+ if (input.substr(peg$currPos, 16) === peg$c1457) {
16511
+ s2 = peg$c1457;
16340
16512
  peg$currPos += 16;
16341
16513
  }
16342
16514
  else {
16343
16515
  s2 = peg$FAILED;
16344
16516
  if (peg$silentFails === 0) {
16345
- peg$fail(peg$c1450);
16517
+ peg$fail(peg$c1458);
16346
16518
  }
16347
16519
  }
16348
16520
  if (s2 !== peg$FAILED) {
@@ -16391,7 +16563,7 @@ function peg$parse(input, options) {
16391
16563
  }
16392
16564
  if (s9 !== peg$FAILED) {
16393
16565
  peg$savedPos = s0;
16394
- s1 = peg$c1451(s6);
16566
+ s1 = peg$c1459(s6);
16395
16567
  s0 = s1;
16396
16568
  }
16397
16569
  else {
@@ -16448,14 +16620,14 @@ function peg$parse(input, options) {
16448
16620
  s1 = null;
16449
16621
  }
16450
16622
  if (s1 !== peg$FAILED) {
16451
- if (input.substr(peg$currPos, 11) === peg$c1452) {
16452
- s2 = peg$c1452;
16623
+ if (input.substr(peg$currPos, 11) === peg$c1460) {
16624
+ s2 = peg$c1460;
16453
16625
  peg$currPos += 11;
16454
16626
  }
16455
16627
  else {
16456
16628
  s2 = peg$FAILED;
16457
16629
  if (peg$silentFails === 0) {
16458
- peg$fail(peg$c1453);
16630
+ peg$fail(peg$c1461);
16459
16631
  }
16460
16632
  }
16461
16633
  if (s2 !== peg$FAILED) {
@@ -16504,7 +16676,7 @@ function peg$parse(input, options) {
16504
16676
  }
16505
16677
  if (s9 !== peg$FAILED) {
16506
16678
  peg$savedPos = s0;
16507
- s1 = peg$c1454(s6);
16679
+ s1 = peg$c1462(s6);
16508
16680
  s0 = s1;
16509
16681
  }
16510
16682
  else {
@@ -16561,14 +16733,14 @@ function peg$parse(input, options) {
16561
16733
  s1 = null;
16562
16734
  }
16563
16735
  if (s1 !== peg$FAILED) {
16564
- if (input.substr(peg$currPos, 5) === peg$c1455) {
16565
- s2 = peg$c1455;
16736
+ if (input.substr(peg$currPos, 5) === peg$c1463) {
16737
+ s2 = peg$c1463;
16566
16738
  peg$currPos += 5;
16567
16739
  }
16568
16740
  else {
16569
16741
  s2 = peg$FAILED;
16570
16742
  if (peg$silentFails === 0) {
16571
- peg$fail(peg$c1456);
16743
+ peg$fail(peg$c1464);
16572
16744
  }
16573
16745
  }
16574
16746
  if (s2 !== peg$FAILED) {
@@ -16617,7 +16789,7 @@ function peg$parse(input, options) {
16617
16789
  }
16618
16790
  if (s9 !== peg$FAILED) {
16619
16791
  peg$savedPos = s0;
16620
- s1 = peg$c1457(s6);
16792
+ s1 = peg$c1465(s6);
16621
16793
  s0 = s1;
16622
16794
  }
16623
16795
  else {
@@ -16674,14 +16846,14 @@ function peg$parse(input, options) {
16674
16846
  s1 = null;
16675
16847
  }
16676
16848
  if (s1 !== peg$FAILED) {
16677
- if (input.substr(peg$currPos, 4) === peg$c1458) {
16678
- s2 = peg$c1458;
16849
+ if (input.substr(peg$currPos, 4) === peg$c1466) {
16850
+ s2 = peg$c1466;
16679
16851
  peg$currPos += 4;
16680
16852
  }
16681
16853
  else {
16682
16854
  s2 = peg$FAILED;
16683
16855
  if (peg$silentFails === 0) {
16684
- peg$fail(peg$c1459);
16856
+ peg$fail(peg$c1467);
16685
16857
  }
16686
16858
  }
16687
16859
  if (s2 !== peg$FAILED) {
@@ -16730,7 +16902,7 @@ function peg$parse(input, options) {
16730
16902
  }
16731
16903
  if (s9 !== peg$FAILED) {
16732
16904
  peg$savedPos = s0;
16733
- s1 = peg$c1460(s6);
16905
+ s1 = peg$c1468(s6);
16734
16906
  s0 = s1;
16735
16907
  }
16736
16908
  else {
@@ -16787,14 +16959,14 @@ function peg$parse(input, options) {
16787
16959
  s1 = null;
16788
16960
  }
16789
16961
  if (s1 !== peg$FAILED) {
16790
- if (input.substr(peg$currPos, 5) === peg$c1461) {
16791
- s2 = peg$c1461;
16962
+ if (input.substr(peg$currPos, 5) === peg$c1469) {
16963
+ s2 = peg$c1469;
16792
16964
  peg$currPos += 5;
16793
16965
  }
16794
16966
  else {
16795
16967
  s2 = peg$FAILED;
16796
16968
  if (peg$silentFails === 0) {
16797
- peg$fail(peg$c1462);
16969
+ peg$fail(peg$c1470);
16798
16970
  }
16799
16971
  }
16800
16972
  if (s2 !== peg$FAILED) {
@@ -16843,7 +17015,7 @@ function peg$parse(input, options) {
16843
17015
  }
16844
17016
  if (s9 !== peg$FAILED) {
16845
17017
  peg$savedPos = s0;
16846
- s1 = peg$c1463(s6);
17018
+ s1 = peg$c1471(s6);
16847
17019
  s0 = s1;
16848
17020
  }
16849
17021
  else {
@@ -16900,14 +17072,14 @@ function peg$parse(input, options) {
16900
17072
  s1 = null;
16901
17073
  }
16902
17074
  if (s1 !== peg$FAILED) {
16903
- if (input.substr(peg$currPos, 12) === peg$c1464) {
16904
- s2 = peg$c1464;
17075
+ if (input.substr(peg$currPos, 12) === peg$c1472) {
17076
+ s2 = peg$c1472;
16905
17077
  peg$currPos += 12;
16906
17078
  }
16907
17079
  else {
16908
17080
  s2 = peg$FAILED;
16909
17081
  if (peg$silentFails === 0) {
16910
- peg$fail(peg$c1465);
17082
+ peg$fail(peg$c1473);
16911
17083
  }
16912
17084
  }
16913
17085
  if (s2 !== peg$FAILED) {
@@ -16956,7 +17128,7 @@ function peg$parse(input, options) {
16956
17128
  }
16957
17129
  if (s9 !== peg$FAILED) {
16958
17130
  peg$savedPos = s0;
16959
- s1 = peg$c1466(s6);
17131
+ s1 = peg$c1474(s6);
16960
17132
  s0 = s1;
16961
17133
  }
16962
17134
  else {
@@ -17054,7 +17226,7 @@ function peg$parse(input, options) {
17054
17226
  peg$silentFails--;
17055
17227
  if (s0 === peg$FAILED) {
17056
17228
  if (peg$silentFails === 0) {
17057
- peg$fail(peg$c1467);
17229
+ peg$fail(peg$c1475);
17058
17230
  }
17059
17231
  }
17060
17232
  return s0;
@@ -17085,14 +17257,14 @@ function peg$parse(input, options) {
17085
17257
  s1 = null;
17086
17258
  }
17087
17259
  if (s1 !== peg$FAILED) {
17088
- if (input.substr(peg$currPos, 5) === peg$c1468) {
17089
- s2 = peg$c1468;
17260
+ if (input.substr(peg$currPos, 5) === peg$c1476) {
17261
+ s2 = peg$c1476;
17090
17262
  peg$currPos += 5;
17091
17263
  }
17092
17264
  else {
17093
17265
  s2 = peg$FAILED;
17094
17266
  if (peg$silentFails === 0) {
17095
- peg$fail(peg$c1469);
17267
+ peg$fail(peg$c1477);
17096
17268
  }
17097
17269
  }
17098
17270
  if (s2 !== peg$FAILED) {
@@ -17141,7 +17313,7 @@ function peg$parse(input, options) {
17141
17313
  }
17142
17314
  if (s9 !== peg$FAILED) {
17143
17315
  peg$savedPos = s0;
17144
- s1 = peg$c1470(s6);
17316
+ s1 = peg$c1478(s6);
17145
17317
  s0 = s1;
17146
17318
  }
17147
17319
  else {
@@ -17206,14 +17378,14 @@ function peg$parse(input, options) {
17206
17378
  s1 = null;
17207
17379
  }
17208
17380
  if (s1 !== peg$FAILED) {
17209
- if (input.substr(peg$currPos, 5) === peg$c1471) {
17210
- s2 = peg$c1471;
17381
+ if (input.substr(peg$currPos, 5) === peg$c1479) {
17382
+ s2 = peg$c1479;
17211
17383
  peg$currPos += 5;
17212
17384
  }
17213
17385
  else {
17214
17386
  s2 = peg$FAILED;
17215
17387
  if (peg$silentFails === 0) {
17216
- peg$fail(peg$c1472);
17388
+ peg$fail(peg$c1480);
17217
17389
  }
17218
17390
  }
17219
17391
  if (s2 !== peg$FAILED) {
@@ -17262,7 +17434,7 @@ function peg$parse(input, options) {
17262
17434
  }
17263
17435
  if (s9 !== peg$FAILED) {
17264
17436
  peg$savedPos = s0;
17265
- s1 = peg$c1473(s6);
17437
+ s1 = peg$c1481(s6);
17266
17438
  s0 = s1;
17267
17439
  }
17268
17440
  else {
@@ -17327,14 +17499,14 @@ function peg$parse(input, options) {
17327
17499
  s1 = null;
17328
17500
  }
17329
17501
  if (s1 !== peg$FAILED) {
17330
- if (input.substr(peg$currPos, 10) === peg$c1475) {
17331
- s2 = peg$c1475;
17502
+ if (input.substr(peg$currPos, 10) === peg$c1483) {
17503
+ s2 = peg$c1483;
17332
17504
  peg$currPos += 10;
17333
17505
  }
17334
17506
  else {
17335
17507
  s2 = peg$FAILED;
17336
17508
  if (peg$silentFails === 0) {
17337
- peg$fail(peg$c1476);
17509
+ peg$fail(peg$c1484);
17338
17510
  }
17339
17511
  }
17340
17512
  if (s2 !== peg$FAILED) {
@@ -17383,7 +17555,7 @@ function peg$parse(input, options) {
17383
17555
  }
17384
17556
  if (s9 !== peg$FAILED) {
17385
17557
  peg$savedPos = s0;
17386
- s1 = peg$c1477(s6);
17558
+ s1 = peg$c1485(s6);
17387
17559
  s0 = s1;
17388
17560
  }
17389
17561
  else {
@@ -17434,7 +17606,7 @@ function peg$parse(input, options) {
17434
17606
  if (s0 === peg$FAILED) {
17435
17607
  s1 = peg$FAILED;
17436
17608
  if (peg$silentFails === 0) {
17437
- peg$fail(peg$c1474);
17609
+ peg$fail(peg$c1482);
17438
17610
  }
17439
17611
  }
17440
17612
  return s0;
@@ -17448,14 +17620,14 @@ function peg$parse(input, options) {
17448
17620
  s1 = null;
17449
17621
  }
17450
17622
  if (s1 !== peg$FAILED) {
17451
- if (input.substr(peg$currPos, 16) === peg$c1479) {
17452
- s2 = peg$c1479;
17623
+ if (input.substr(peg$currPos, 16) === peg$c1487) {
17624
+ s2 = peg$c1487;
17453
17625
  peg$currPos += 16;
17454
17626
  }
17455
17627
  else {
17456
17628
  s2 = peg$FAILED;
17457
17629
  if (peg$silentFails === 0) {
17458
- peg$fail(peg$c1480);
17630
+ peg$fail(peg$c1488);
17459
17631
  }
17460
17632
  }
17461
17633
  if (s2 !== peg$FAILED) {
@@ -17504,7 +17676,7 @@ function peg$parse(input, options) {
17504
17676
  }
17505
17677
  if (s9 !== peg$FAILED) {
17506
17678
  peg$savedPos = s0;
17507
- s1 = peg$c1481(s6);
17679
+ s1 = peg$c1489(s6);
17508
17680
  s0 = s1;
17509
17681
  }
17510
17682
  else {
@@ -17555,7 +17727,7 @@ function peg$parse(input, options) {
17555
17727
  if (s0 === peg$FAILED) {
17556
17728
  s1 = peg$FAILED;
17557
17729
  if (peg$silentFails === 0) {
17558
- peg$fail(peg$c1478);
17730
+ peg$fail(peg$c1486);
17559
17731
  }
17560
17732
  }
17561
17733
  return s0;
@@ -17569,14 +17741,14 @@ function peg$parse(input, options) {
17569
17741
  s1 = null;
17570
17742
  }
17571
17743
  if (s1 !== peg$FAILED) {
17572
- if (input.substr(peg$currPos, 12) === peg$c1483) {
17573
- s2 = peg$c1483;
17744
+ if (input.substr(peg$currPos, 12) === peg$c1491) {
17745
+ s2 = peg$c1491;
17574
17746
  peg$currPos += 12;
17575
17747
  }
17576
17748
  else {
17577
17749
  s2 = peg$FAILED;
17578
17750
  if (peg$silentFails === 0) {
17579
- peg$fail(peg$c1484);
17751
+ peg$fail(peg$c1492);
17580
17752
  }
17581
17753
  }
17582
17754
  if (s2 !== peg$FAILED) {
@@ -17625,7 +17797,7 @@ function peg$parse(input, options) {
17625
17797
  }
17626
17798
  if (s9 !== peg$FAILED) {
17627
17799
  peg$savedPos = s0;
17628
- s1 = peg$c1485(s6);
17800
+ s1 = peg$c1493(s6);
17629
17801
  s0 = s1;
17630
17802
  }
17631
17803
  else {
@@ -17676,7 +17848,7 @@ function peg$parse(input, options) {
17676
17848
  if (s0 === peg$FAILED) {
17677
17849
  s1 = peg$FAILED;
17678
17850
  if (peg$silentFails === 0) {
17679
- peg$fail(peg$c1482);
17851
+ peg$fail(peg$c1490);
17680
17852
  }
17681
17853
  }
17682
17854
  return s0;
@@ -17690,14 +17862,14 @@ function peg$parse(input, options) {
17690
17862
  s1 = null;
17691
17863
  }
17692
17864
  if (s1 !== peg$FAILED) {
17693
- if (input.substr(peg$currPos, 5) === peg$c1487) {
17694
- s2 = peg$c1487;
17865
+ if (input.substr(peg$currPos, 5) === peg$c1495) {
17866
+ s2 = peg$c1495;
17695
17867
  peg$currPos += 5;
17696
17868
  }
17697
17869
  else {
17698
17870
  s2 = peg$FAILED;
17699
17871
  if (peg$silentFails === 0) {
17700
- peg$fail(peg$c1488);
17872
+ peg$fail(peg$c1496);
17701
17873
  }
17702
17874
  }
17703
17875
  if (s2 !== peg$FAILED) {
@@ -17746,7 +17918,7 @@ function peg$parse(input, options) {
17746
17918
  }
17747
17919
  if (s9 !== peg$FAILED) {
17748
17920
  peg$savedPos = s0;
17749
- s1 = peg$c1489(s6);
17921
+ s1 = peg$c1497(s6);
17750
17922
  s0 = s1;
17751
17923
  }
17752
17924
  else {
@@ -17797,7 +17969,7 @@ function peg$parse(input, options) {
17797
17969
  if (s0 === peg$FAILED) {
17798
17970
  s1 = peg$FAILED;
17799
17971
  if (peg$silentFails === 0) {
17800
- peg$fail(peg$c1486);
17972
+ peg$fail(peg$c1494);
17801
17973
  }
17802
17974
  }
17803
17975
  return s0;
@@ -17811,14 +17983,14 @@ function peg$parse(input, options) {
17811
17983
  s1 = null;
17812
17984
  }
17813
17985
  if (s1 !== peg$FAILED) {
17814
- if (input.substr(peg$currPos, 7) === peg$c1491) {
17815
- s2 = peg$c1491;
17986
+ if (input.substr(peg$currPos, 7) === peg$c1499) {
17987
+ s2 = peg$c1499;
17816
17988
  peg$currPos += 7;
17817
17989
  }
17818
17990
  else {
17819
17991
  s2 = peg$FAILED;
17820
17992
  if (peg$silentFails === 0) {
17821
- peg$fail(peg$c1492);
17993
+ peg$fail(peg$c1500);
17822
17994
  }
17823
17995
  }
17824
17996
  if (s2 !== peg$FAILED) {
@@ -17867,7 +18039,7 @@ function peg$parse(input, options) {
17867
18039
  }
17868
18040
  if (s9 !== peg$FAILED) {
17869
18041
  peg$savedPos = s0;
17870
- s1 = peg$c1493(s6);
18042
+ s1 = peg$c1501(s6);
17871
18043
  s0 = s1;
17872
18044
  }
17873
18045
  else {
@@ -17918,7 +18090,7 @@ function peg$parse(input, options) {
17918
18090
  if (s0 === peg$FAILED) {
17919
18091
  s1 = peg$FAILED;
17920
18092
  if (peg$silentFails === 0) {
17921
- peg$fail(peg$c1490);
18093
+ peg$fail(peg$c1498);
17922
18094
  }
17923
18095
  }
17924
18096
  return s0;
@@ -17988,7 +18160,7 @@ function peg$parse(input, options) {
17988
18160
  }
17989
18161
  if (s9 !== peg$FAILED) {
17990
18162
  peg$savedPos = s0;
17991
- s1 = peg$c1495(s6);
18163
+ s1 = peg$c1503(s6);
17992
18164
  s0 = s1;
17993
18165
  }
17994
18166
  else {
@@ -18042,14 +18214,14 @@ function peg$parse(input, options) {
18042
18214
  s1 = null;
18043
18215
  }
18044
18216
  if (s1 !== peg$FAILED) {
18045
- if (input.substr(peg$currPos, 9) === peg$c1496) {
18046
- s2 = peg$c1496;
18217
+ if (input.substr(peg$currPos, 9) === peg$c1504) {
18218
+ s2 = peg$c1504;
18047
18219
  peg$currPos += 9;
18048
18220
  }
18049
18221
  else {
18050
18222
  s2 = peg$FAILED;
18051
18223
  if (peg$silentFails === 0) {
18052
- peg$fail(peg$c1497);
18224
+ peg$fail(peg$c1505);
18053
18225
  }
18054
18226
  }
18055
18227
  if (s2 !== peg$FAILED) {
@@ -18098,7 +18270,7 @@ function peg$parse(input, options) {
18098
18270
  }
18099
18271
  if (s9 !== peg$FAILED) {
18100
18272
  peg$savedPos = s0;
18101
- s1 = peg$c1495(s6);
18273
+ s1 = peg$c1503(s6);
18102
18274
  s0 = s1;
18103
18275
  }
18104
18276
  else {
@@ -18150,7 +18322,7 @@ function peg$parse(input, options) {
18150
18322
  if (s0 === peg$FAILED) {
18151
18323
  s1 = peg$FAILED;
18152
18324
  if (peg$silentFails === 0) {
18153
- peg$fail(peg$c1494);
18325
+ peg$fail(peg$c1502);
18154
18326
  }
18155
18327
  }
18156
18328
  return s0;
@@ -18164,14 +18336,14 @@ function peg$parse(input, options) {
18164
18336
  s1 = null;
18165
18337
  }
18166
18338
  if (s1 !== peg$FAILED) {
18167
- if (input.substr(peg$currPos, 5) === peg$c1499) {
18168
- s2 = peg$c1499;
18339
+ if (input.substr(peg$currPos, 5) === peg$c1507) {
18340
+ s2 = peg$c1507;
18169
18341
  peg$currPos += 5;
18170
18342
  }
18171
18343
  else {
18172
18344
  s2 = peg$FAILED;
18173
18345
  if (peg$silentFails === 0) {
18174
- peg$fail(peg$c1500);
18346
+ peg$fail(peg$c1508);
18175
18347
  }
18176
18348
  }
18177
18349
  if (s2 !== peg$FAILED) {
@@ -18220,7 +18392,7 @@ function peg$parse(input, options) {
18220
18392
  }
18221
18393
  if (s9 !== peg$FAILED) {
18222
18394
  peg$savedPos = s0;
18223
- s1 = peg$c1501(s6);
18395
+ s1 = peg$c1509(s6);
18224
18396
  s0 = s1;
18225
18397
  }
18226
18398
  else {
@@ -18271,7 +18443,7 @@ function peg$parse(input, options) {
18271
18443
  if (s0 === peg$FAILED) {
18272
18444
  s1 = peg$FAILED;
18273
18445
  if (peg$silentFails === 0) {
18274
- peg$fail(peg$c1498);
18446
+ peg$fail(peg$c1506);
18275
18447
  }
18276
18448
  }
18277
18449
  return s0;
@@ -18285,14 +18457,14 @@ function peg$parse(input, options) {
18285
18457
  s1 = null;
18286
18458
  }
18287
18459
  if (s1 !== peg$FAILED) {
18288
- if (input.substr(peg$currPos, 3) === peg$c1503) {
18289
- s2 = peg$c1503;
18460
+ if (input.substr(peg$currPos, 3) === peg$c1511) {
18461
+ s2 = peg$c1511;
18290
18462
  peg$currPos += 3;
18291
18463
  }
18292
18464
  else {
18293
18465
  s2 = peg$FAILED;
18294
18466
  if (peg$silentFails === 0) {
18295
- peg$fail(peg$c1504);
18467
+ peg$fail(peg$c1512);
18296
18468
  }
18297
18469
  }
18298
18470
  if (s2 !== peg$FAILED) {
@@ -18341,7 +18513,7 @@ function peg$parse(input, options) {
18341
18513
  }
18342
18514
  if (s9 !== peg$FAILED) {
18343
18515
  peg$savedPos = s0;
18344
- s1 = peg$c1505(s6);
18516
+ s1 = peg$c1513(s6);
18345
18517
  s0 = s1;
18346
18518
  }
18347
18519
  else {
@@ -18392,7 +18564,7 @@ function peg$parse(input, options) {
18392
18564
  if (s0 === peg$FAILED) {
18393
18565
  s1 = peg$FAILED;
18394
18566
  if (peg$silentFails === 0) {
18395
- peg$fail(peg$c1502);
18567
+ peg$fail(peg$c1510);
18396
18568
  }
18397
18569
  }
18398
18570
  return s0;
@@ -18406,14 +18578,14 @@ function peg$parse(input, options) {
18406
18578
  s1 = null;
18407
18579
  }
18408
18580
  if (s1 !== peg$FAILED) {
18409
- if (input.substr(peg$currPos, 8) === peg$c1507) {
18410
- s2 = peg$c1507;
18581
+ if (input.substr(peg$currPos, 8) === peg$c1515) {
18582
+ s2 = peg$c1515;
18411
18583
  peg$currPos += 8;
18412
18584
  }
18413
18585
  else {
18414
18586
  s2 = peg$FAILED;
18415
18587
  if (peg$silentFails === 0) {
18416
- peg$fail(peg$c1508);
18588
+ peg$fail(peg$c1516);
18417
18589
  }
18418
18590
  }
18419
18591
  if (s2 !== peg$FAILED) {
@@ -18466,7 +18638,7 @@ function peg$parse(input, options) {
18466
18638
  }
18467
18639
  if (s11 !== peg$FAILED) {
18468
18640
  peg$savedPos = s0;
18469
- s1 = peg$c1509(s6, s8);
18641
+ s1 = peg$c1517(s6, s8);
18470
18642
  s0 = s1;
18471
18643
  }
18472
18644
  else {
@@ -18530,14 +18702,14 @@ function peg$parse(input, options) {
18530
18702
  s1 = null;
18531
18703
  }
18532
18704
  if (s1 !== peg$FAILED) {
18533
- if (input.substr(peg$currPos, 8) === peg$c1507) {
18534
- s2 = peg$c1507;
18705
+ if (input.substr(peg$currPos, 8) === peg$c1515) {
18706
+ s2 = peg$c1515;
18535
18707
  peg$currPos += 8;
18536
18708
  }
18537
18709
  else {
18538
18710
  s2 = peg$FAILED;
18539
18711
  if (peg$silentFails === 0) {
18540
- peg$fail(peg$c1508);
18712
+ peg$fail(peg$c1516);
18541
18713
  }
18542
18714
  }
18543
18715
  if (s2 !== peg$FAILED) {
@@ -18570,14 +18742,14 @@ function peg$parse(input, options) {
18570
18742
  if (s8 !== peg$FAILED) {
18571
18743
  s9 = peg$parseWS();
18572
18744
  if (s9 !== peg$FAILED) {
18573
- if (input.substr(peg$currPos, 8) === peg$c1510) {
18574
- s10 = peg$c1510;
18745
+ if (input.substr(peg$currPos, 8) === peg$c1518) {
18746
+ s10 = peg$c1518;
18575
18747
  peg$currPos += 8;
18576
18748
  }
18577
18749
  else {
18578
18750
  s10 = peg$FAILED;
18579
18751
  if (peg$silentFails === 0) {
18580
- peg$fail(peg$c1511);
18752
+ peg$fail(peg$c1519);
18581
18753
  }
18582
18754
  }
18583
18755
  if (s10 !== peg$FAILED) {
@@ -18603,7 +18775,7 @@ function peg$parse(input, options) {
18603
18775
  }
18604
18776
  if (s13 !== peg$FAILED) {
18605
18777
  peg$savedPos = s0;
18606
- s1 = peg$c1512(s6, s8);
18778
+ s1 = peg$c1520(s6, s8);
18607
18779
  s0 = s1;
18608
18780
  }
18609
18781
  else {
@@ -18675,7 +18847,7 @@ function peg$parse(input, options) {
18675
18847
  if (s0 === peg$FAILED) {
18676
18848
  s1 = peg$FAILED;
18677
18849
  if (peg$silentFails === 0) {
18678
- peg$fail(peg$c1506);
18850
+ peg$fail(peg$c1514);
18679
18851
  }
18680
18852
  }
18681
18853
  return s0;
@@ -18855,7 +19027,7 @@ function peg$parse(input, options) {
18855
19027
  }
18856
19028
  if (s11 !== peg$FAILED) {
18857
19029
  peg$savedPos = s0;
18858
- s1 = peg$c1513(s4, s8);
19030
+ s1 = peg$c1521(s4, s8);
18859
19031
  s0 = s1;
18860
19032
  }
18861
19033
  else {
@@ -18923,13 +19095,13 @@ function peg$parse(input, options) {
18923
19095
  }
18924
19096
  if (s1 !== peg$FAILED) {
18925
19097
  if (input.charCodeAt(peg$currPos) === 38) {
18926
- s2 = peg$c1514;
19098
+ s2 = peg$c1522;
18927
19099
  peg$currPos++;
18928
19100
  }
18929
19101
  else {
18930
19102
  s2 = peg$FAILED;
18931
19103
  if (peg$silentFails === 0) {
18932
- peg$fail(peg$c1515);
19104
+ peg$fail(peg$c1523);
18933
19105
  }
18934
19106
  }
18935
19107
  if (s2 !== peg$FAILED) {
@@ -18985,7 +19157,7 @@ function peg$parse(input, options) {
18985
19157
  }
18986
19158
  if (s11 !== peg$FAILED) {
18987
19159
  peg$savedPos = s0;
18988
- s1 = peg$c1516(s4, s8);
19160
+ s1 = peg$c1524(s4, s8);
18989
19161
  s0 = s1;
18990
19162
  }
18991
19163
  else {
@@ -19052,14 +19224,14 @@ function peg$parse(input, options) {
19052
19224
  s1 = null;
19053
19225
  }
19054
19226
  if (s1 !== peg$FAILED) {
19055
- if (input.substr(peg$currPos, 8) === peg$c1507) {
19056
- s2 = peg$c1507;
19227
+ if (input.substr(peg$currPos, 8) === peg$c1515) {
19228
+ s2 = peg$c1515;
19057
19229
  peg$currPos += 8;
19058
19230
  }
19059
19231
  else {
19060
19232
  s2 = peg$FAILED;
19061
19233
  if (peg$silentFails === 0) {
19062
- peg$fail(peg$c1508);
19234
+ peg$fail(peg$c1516);
19063
19235
  }
19064
19236
  }
19065
19237
  if (s2 !== peg$FAILED) {
@@ -19086,14 +19258,14 @@ function peg$parse(input, options) {
19086
19258
  if (s8 !== peg$FAILED) {
19087
19259
  s9 = peg$parseWS();
19088
19260
  if (s9 !== peg$FAILED) {
19089
- if (input.substr(peg$currPos, 8) === peg$c1510) {
19090
- s10 = peg$c1510;
19261
+ if (input.substr(peg$currPos, 8) === peg$c1518) {
19262
+ s10 = peg$c1518;
19091
19263
  peg$currPos += 8;
19092
19264
  }
19093
19265
  else {
19094
19266
  s10 = peg$FAILED;
19095
19267
  if (peg$silentFails === 0) {
19096
- peg$fail(peg$c1511);
19268
+ peg$fail(peg$c1519);
19097
19269
  }
19098
19270
  }
19099
19271
  if (s10 !== peg$FAILED) {
@@ -19119,7 +19291,7 @@ function peg$parse(input, options) {
19119
19291
  }
19120
19292
  if (s13 !== peg$FAILED) {
19121
19293
  peg$savedPos = s0;
19122
- s1 = peg$c1517(s4, s8);
19294
+ s1 = peg$c1525(s4, s8);
19123
19295
  s0 = s1;
19124
19296
  }
19125
19297
  else {
@@ -19193,14 +19365,14 @@ function peg$parse(input, options) {
19193
19365
  s1 = null;
19194
19366
  }
19195
19367
  if (s1 !== peg$FAILED) {
19196
- if (input.substr(peg$currPos, 8) === peg$c1507) {
19197
- s2 = peg$c1507;
19368
+ if (input.substr(peg$currPos, 8) === peg$c1515) {
19369
+ s2 = peg$c1515;
19198
19370
  peg$currPos += 8;
19199
19371
  }
19200
19372
  else {
19201
19373
  s2 = peg$FAILED;
19202
19374
  if (peg$silentFails === 0) {
19203
- peg$fail(peg$c1508);
19375
+ peg$fail(peg$c1516);
19204
19376
  }
19205
19377
  }
19206
19378
  if (s2 !== peg$FAILED) {
@@ -19210,14 +19382,14 @@ function peg$parse(input, options) {
19210
19382
  if (s4 !== peg$FAILED) {
19211
19383
  s5 = peg$parseWS();
19212
19384
  if (s5 !== peg$FAILED) {
19213
- if (input.substr(peg$currPos, 8) === peg$c1510) {
19214
- s6 = peg$c1510;
19385
+ if (input.substr(peg$currPos, 8) === peg$c1518) {
19386
+ s6 = peg$c1518;
19215
19387
  peg$currPos += 8;
19216
19388
  }
19217
19389
  else {
19218
19390
  s6 = peg$FAILED;
19219
19391
  if (peg$silentFails === 0) {
19220
- peg$fail(peg$c1511);
19392
+ peg$fail(peg$c1519);
19221
19393
  }
19222
19394
  }
19223
19395
  if (s6 !== peg$FAILED) {
@@ -19243,7 +19415,7 @@ function peg$parse(input, options) {
19243
19415
  }
19244
19416
  if (s9 !== peg$FAILED) {
19245
19417
  peg$savedPos = s0;
19246
- s1 = peg$c1518(s4);
19418
+ s1 = peg$c1526(s4);
19247
19419
  s0 = s1;
19248
19420
  }
19249
19421
  else {
@@ -19297,14 +19469,14 @@ function peg$parse(input, options) {
19297
19469
  s1 = null;
19298
19470
  }
19299
19471
  if (s1 !== peg$FAILED) {
19300
- if (input.substr(peg$currPos, 8) === peg$c1507) {
19301
- s2 = peg$c1507;
19472
+ if (input.substr(peg$currPos, 8) === peg$c1515) {
19473
+ s2 = peg$c1515;
19302
19474
  peg$currPos += 8;
19303
19475
  }
19304
19476
  else {
19305
19477
  s2 = peg$FAILED;
19306
19478
  if (peg$silentFails === 0) {
19307
- peg$fail(peg$c1508);
19479
+ peg$fail(peg$c1516);
19308
19480
  }
19309
19481
  }
19310
19482
  if (s2 !== peg$FAILED) {
@@ -19351,7 +19523,7 @@ function peg$parse(input, options) {
19351
19523
  }
19352
19524
  if (s11 !== peg$FAILED) {
19353
19525
  peg$savedPos = s0;
19354
- s1 = peg$c1519(s4, s8);
19526
+ s1 = peg$c1527(s4, s8);
19355
19527
  s0 = s1;
19356
19528
  }
19357
19529
  else {
@@ -19415,14 +19587,14 @@ function peg$parse(input, options) {
19415
19587
  s1 = null;
19416
19588
  }
19417
19589
  if (s1 !== peg$FAILED) {
19418
- if (input.substr(peg$currPos, 8) === peg$c1507) {
19419
- s2 = peg$c1507;
19590
+ if (input.substr(peg$currPos, 8) === peg$c1515) {
19591
+ s2 = peg$c1515;
19420
19592
  peg$currPos += 8;
19421
19593
  }
19422
19594
  else {
19423
19595
  s2 = peg$FAILED;
19424
19596
  if (peg$silentFails === 0) {
19425
- peg$fail(peg$c1508);
19597
+ peg$fail(peg$c1516);
19426
19598
  }
19427
19599
  }
19428
19600
  if (s2 !== peg$FAILED) {
@@ -19452,7 +19624,7 @@ function peg$parse(input, options) {
19452
19624
  }
19453
19625
  if (s7 !== peg$FAILED) {
19454
19626
  peg$savedPos = s0;
19455
- s1 = peg$c1520(s4);
19627
+ s1 = peg$c1528(s4);
19456
19628
  s0 = s1;
19457
19629
  }
19458
19630
  else {
@@ -19497,14 +19669,14 @@ function peg$parse(input, options) {
19497
19669
  function peg$parseRegularArrangeDeclaration() {
19498
19670
  var s0, s1, s2, s3, s4, s5, s6;
19499
19671
  s0 = peg$currPos;
19500
- if (input.substr(peg$currPos, 7) === peg$c1521) {
19501
- s1 = peg$c1521;
19672
+ if (input.substr(peg$currPos, 7) === peg$c1529) {
19673
+ s1 = peg$c1529;
19502
19674
  peg$currPos += 7;
19503
19675
  }
19504
19676
  else {
19505
19677
  s1 = peg$FAILED;
19506
19678
  if (peg$silentFails === 0) {
19507
- peg$fail(peg$c1522);
19679
+ peg$fail(peg$c1530);
19508
19680
  }
19509
19681
  }
19510
19682
  if (s1 !== peg$FAILED) {
@@ -19537,7 +19709,7 @@ function peg$parse(input, options) {
19537
19709
  }
19538
19710
  if (s6 !== peg$FAILED) {
19539
19711
  peg$savedPos = s0;
19540
- s1 = peg$c1523(s3);
19712
+ s1 = peg$c1531(s3);
19541
19713
  s0 = s1;
19542
19714
  }
19543
19715
  else {
@@ -19574,14 +19746,14 @@ function peg$parse(input, options) {
19574
19746
  function peg$parseArrangeStartDeclaration() {
19575
19747
  var s0, s1, s2, s3, s4, s5, s6;
19576
19748
  s0 = peg$currPos;
19577
- if (input.substr(peg$currPos, 13) === peg$c1524) {
19578
- s1 = peg$c1524;
19749
+ if (input.substr(peg$currPos, 13) === peg$c1532) {
19750
+ s1 = peg$c1532;
19579
19751
  peg$currPos += 13;
19580
19752
  }
19581
19753
  else {
19582
19754
  s1 = peg$FAILED;
19583
19755
  if (peg$silentFails === 0) {
19584
- peg$fail(peg$c1525);
19756
+ peg$fail(peg$c1533);
19585
19757
  }
19586
19758
  }
19587
19759
  if (s1 !== peg$FAILED) {
@@ -19614,7 +19786,7 @@ function peg$parse(input, options) {
19614
19786
  }
19615
19787
  if (s6 !== peg$FAILED) {
19616
19788
  peg$savedPos = s0;
19617
- s1 = peg$c1526(s3);
19789
+ s1 = peg$c1534(s3);
19618
19790
  s0 = s1;
19619
19791
  }
19620
19792
  else {
@@ -19651,14 +19823,14 @@ function peg$parse(input, options) {
19651
19823
  function peg$parseArrangeEndDeclaration() {
19652
19824
  var s0, s1, s2, s3, s4, s5, s6;
19653
19825
  s0 = peg$currPos;
19654
- if (input.substr(peg$currPos, 11) === peg$c1527) {
19655
- s1 = peg$c1527;
19826
+ if (input.substr(peg$currPos, 11) === peg$c1535) {
19827
+ s1 = peg$c1535;
19656
19828
  peg$currPos += 11;
19657
19829
  }
19658
19830
  else {
19659
19831
  s1 = peg$FAILED;
19660
19832
  if (peg$silentFails === 0) {
19661
- peg$fail(peg$c1528);
19833
+ peg$fail(peg$c1536);
19662
19834
  }
19663
19835
  }
19664
19836
  if (s1 !== peg$FAILED) {
@@ -19691,7 +19863,7 @@ function peg$parse(input, options) {
19691
19863
  }
19692
19864
  if (s6 !== peg$FAILED) {
19693
19865
  peg$savedPos = s0;
19694
- s1 = peg$c1529(s3);
19866
+ s1 = peg$c1537(s3);
19695
19867
  s0 = s1;
19696
19868
  }
19697
19869
  else {
@@ -19738,7 +19910,7 @@ function peg$parse(input, options) {
19738
19910
  peg$silentFails--;
19739
19911
  if (s0 === peg$FAILED) {
19740
19912
  if (peg$silentFails === 0) {
19741
- peg$fail(peg$c1530);
19913
+ peg$fail(peg$c1538);
19742
19914
  }
19743
19915
  }
19744
19916
  return s0;
@@ -21059,7 +21231,7 @@ function compile_rule_handler(rule) {
21059
21231
  'graph_layout', 'start_states', 'end_states', 'failed_outputs', 'machine_name', 'machine_version',
21060
21232
  'machine_comment', 'machine_author', 'machine_contributor', 'machine_definition',
21061
21233
  'machine_reference', 'machine_license', 'fsl_version', 'state_config', 'theme',
21062
- 'flow', 'dot_preamble', 'allows_override', 'default_state_config',
21234
+ 'flow', 'dot_preamble', 'allows_override', 'allow_islands', 'default_state_config',
21063
21235
  'default_start_state_config', 'default_end_state_config',
21064
21236
  'default_hooked_state_config', 'default_active_state_config',
21065
21237
  'default_terminal_state_config', 'npm_name'
@@ -21154,7 +21326,8 @@ function compile(tree) {
21154
21326
  default_terminal_state_config: [],
21155
21327
  default_start_state_config: [],
21156
21328
  default_end_state_config: [],
21157
- allows_override: []
21329
+ allows_override: [],
21330
+ allow_islands: []
21158
21331
  };
21159
21332
  tree.map((tr) => {
21160
21333
  const rule = compile_rule_handler(tr), agg_as = rule.agg_as, val = rule.val; // TODO FIXME no any
@@ -21175,7 +21348,7 @@ function compile(tree) {
21175
21348
  const oneOnlyKeys = [
21176
21349
  'graph_layout', 'machine_name', 'machine_version', 'machine_comment',
21177
21350
  'fsl_version', 'machine_license', 'machine_definition', 'machine_language',
21178
- 'flow', 'dot_preamble', 'allows_override', 'npm_name'
21351
+ 'flow', 'dot_preamble', 'allows_override', 'allow_islands', 'npm_name'
21179
21352
  ];
21180
21353
  oneOnlyKeys.map((oneOnlyKey) => {
21181
21354
  if (results[oneOnlyKey].length > 1) {
@@ -21690,7 +21863,7 @@ var constants = /*#__PURE__*/Object.freeze({
21690
21863
  * Useful for runtime diagnostics and for embedding in serialized machine
21691
21864
  * snapshots so that deserializers can detect version-skew.
21692
21865
  */
21693
- const version = "5.142.2";
21866
+ const version = "5.142.3";
21694
21867
 
21695
21868
  // whargarbl lots of these return arrays could/should be sets
21696
21869
  const { state_name_chars, state_name_first_chars, action_label_chars } = constants;
@@ -21880,9 +22053,56 @@ function state_style_condense(jssk, machine) {
21880
22053
  * `.data()`. Defaults to `undefined` when no data is used.
21881
22054
  *
21882
22055
  */
22056
+ /*********
22057
+ *
22058
+ * Partition a state graph into its connected components using an undirected
22059
+ * BFS over state names. Each edge (from, to) is treated as bidirectional so
22060
+ * that island membership is topology-based rather than flow-based.
22061
+ *
22062
+ * Used at construction time to enforce the `allow_islands` constraint.
22063
+ *
22064
+ * @param states The machine's state map (keys are state names).
22065
+ * @param edges The machine's edge list; only `from` and `to` are used.
22066
+ * @returns An array of components, each component an array of state names.
22067
+ *
22068
+ */
22069
+ function find_connected_components(states, edges) {
22070
+ // Build undirected adjacency list
22071
+ const adj = new Map();
22072
+ for (const name of states.keys()) {
22073
+ adj.set(name, new Set());
22074
+ }
22075
+ for (const edge of edges) {
22076
+ adj.get(edge.from).add(edge.to);
22077
+ adj.get(edge.to).add(edge.from);
22078
+ }
22079
+ const visited = new Set();
22080
+ const result = [];
22081
+ for (const start of states.keys()) {
22082
+ if (visited.has(start)) {
22083
+ continue;
22084
+ }
22085
+ // BFS to collect this component
22086
+ const component = [];
22087
+ const queue = [start];
22088
+ visited.add(start);
22089
+ while (queue.length > 0) {
22090
+ const node = queue.shift();
22091
+ component.push(node);
22092
+ for (const neighbor of adj.get(node)) {
22093
+ if (!visited.has(neighbor)) {
22094
+ visited.add(neighbor);
22095
+ queue.push(neighbor);
22096
+ }
22097
+ }
22098
+ }
22099
+ result.push(component);
22100
+ }
22101
+ return result;
22102
+ }
21883
22103
  class Machine {
21884
22104
  // whargarbl this badly needs to be broken up, monolith master
21885
- constructor({ start_states, end_states = [], failed_outputs = [], initial_state, start_states_no_enforce, complete = [], transitions, machine_author, machine_comment, machine_contributor, machine_definition, machine_language, machine_license, machine_name, machine_version, npm_name, state_declaration, property_definition, state_property, fsl_version, dot_preamble = undefined, arrange_declaration = [], arrange_start_declaration = [], arrange_end_declaration = [], theme = ['default'], flow = 'down', graph_layout = 'dot', instance_name, history, data, default_state_config, default_active_state_config, default_hooked_state_config, default_terminal_state_config, default_start_state_config, default_end_state_config, allows_override, config_allows_override, rng_seed, time_source, timeout_source, clear_timeout_source }) {
22105
+ constructor({ start_states, end_states = [], failed_outputs = [], initial_state, start_states_no_enforce, complete = [], transitions, machine_author, machine_comment, machine_contributor, machine_definition, machine_language, machine_license, machine_name, machine_version, npm_name, state_declaration, property_definition, state_property, fsl_version, dot_preamble = undefined, arrange_declaration = [], arrange_start_declaration = [], arrange_end_declaration = [], theme = ['default'], flow = 'down', graph_layout = 'dot', instance_name, history, data, default_state_config, default_active_state_config, default_hooked_state_config, default_terminal_state_config, default_start_state_config, default_end_state_config, allows_override, config_allows_override, allow_islands, rng_seed, time_source, timeout_source, clear_timeout_source }) {
21886
22106
  this._time_source = () => new Date().getTime();
21887
22107
  this._create_started = this._time_source();
21888
22108
  this._instance_name = instance_name;
@@ -21947,6 +22167,7 @@ class Machine {
21947
22167
  // no need for a boolean for single hooks, just test for undefinedness
21948
22168
  this._code_allows_override = allows_override;
21949
22169
  this._config_allows_override = config_allows_override;
22170
+ this._allow_islands = allow_islands !== null && allow_islands !== void 0 ? allow_islands : true;
21950
22171
  if ((allows_override === false) && (config_allows_override === true)) {
21951
22172
  throw new JssmError(undefined, "Code specifies no override, but config tries to permit; config may not be less strict than code");
21952
22173
  }
@@ -22205,6 +22426,24 @@ class Machine {
22205
22426
  if (!(start_states.length === this._start_states.size)) {
22206
22427
  throw new JssmError(this, `Start states cannot be repeated`);
22207
22428
  }
22429
+ // assert connectivity constraints imposed by allow_islands
22430
+ if (this._allow_islands !== true) {
22431
+ const components = find_connected_components(this._states, this._edges);
22432
+ if (this._allow_islands === false) {
22433
+ if (components.length > 1) {
22434
+ throw new JssmError(this, `allow_islands is false but the state graph has ${components.length} disconnected components`);
22435
+ }
22436
+ }
22437
+ else {
22438
+ // 'with_start': every component must contain at least one start state
22439
+ for (const component of components) {
22440
+ const has_start = component.some(s => this._start_states.has(s));
22441
+ if (!has_start) {
22442
+ throw new JssmError(this, `allow_islands is 'with_start' but a connected component has no start state: [${[...component].join(', ')}]`);
22443
+ }
22444
+ }
22445
+ }
22446
+ }
22208
22447
  this._created = this._time_source();
22209
22448
  this.auto_set_state_timeout();
22210
22449
  this._arrange_declaration.forEach((arrange_pair) => arrange_pair.forEach((possibleState) => {
@@ -22925,6 +23164,19 @@ class Machine {
22925
23164
  return false;
22926
23165
  }
22927
23166
  }
23167
+ /*********
23168
+ *
23169
+ * Return the effective island policy for this machine. `true` means
23170
+ * disconnected components are allowed (the default), `false` requires a
23171
+ * single connected component, and `'with_start'` allows islands only when
23172
+ * every component contains at least one start state.
23173
+ *
23174
+ * @returns The island policy stored in the machine.
23175
+ *
23176
+ */
23177
+ get allow_islands() {
23178
+ return this._allow_islands;
23179
+ }
22928
23180
  /** List all available theme names.
22929
23181
  * @returns An array of theme name strings.
22930
23182
  */