jssm 5.142.4 → 5.143.0

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
@@ -57,6 +57,12 @@ class circular_buffer{constructor(uCapacity){if(!Number.isInteger(uCapacity)){th
57
57
  * machine context (current state, instance name) and an optional
58
58
  * `requested_state` so that error messages are self-describing.
59
59
  *
60
+ * When a semantic error is detected during `compile()` and the parse tree
61
+ * was produced with `parse(input, { locations: true })`, the thrown error
62
+ * also carries a `source_location` field — the FSL source span of the
63
+ * offending statement — so downstream tooling can map the error to a precise
64
+ * position in the original source text without additional scanning.
65
+ *
60
66
  * ```typescript
61
67
  * throw new JssmError(machine, 'no such state', { requested_state: 'Blue' });
62
68
  * // JssmError: [[my-light]]: no such state (at "Red", requested "Blue")
@@ -67,13 +73,16 @@ class circular_buffer{constructor(uCapacity){if(!Number.isInteger(uCapacity)){th
67
73
  * read `state()` and `instance_name()` for context.
68
74
  * @param message - A human-readable description of the error.
69
75
  * @param JEEI - Optional {@link JssmErrorExtendedInfo} with extra
70
- * context such as `requested_state`.
76
+ * context such as `requested_state` and/or
77
+ * `source_location` (the FSL source span of the
78
+ * offending statement, present when the error
79
+ * originated from a located parse tree).
71
80
  *
72
81
  */
73
82
  class JssmError extends Error {
74
83
  constructor(machine, message, JEEI) {
75
- const { requested_state } = (JEEI === undefined)
76
- ? { requested_state: undefined }
84
+ const { requested_state, source_location } = (JEEI === undefined)
85
+ ? { requested_state: undefined, source_location: undefined }
77
86
  : JEEI;
78
87
  const follow_ups = [];
79
88
  if (machine) {
@@ -94,6 +103,7 @@ class JssmError extends Error {
94
103
  this.message = complex_msg;
95
104
  this.base_message = message;
96
105
  this.requested_state = requested_state;
106
+ this.source_location = source_location;
97
107
  }
98
108
  }
99
109
 
@@ -360,12 +370,16 @@ function peg$parse(input, options) {
360
370
  }, peg$c445 = "0o", peg$c446 = peg$literalExpectation("0o", true), peg$c447 = function (digits) {
361
371
  return parseInt(digits, 8);
362
372
  }, peg$c448 = function (major, minor, patch) {
363
- return {
373
+ const node = {
364
374
  major: parseInt(major, 10),
365
375
  minor: parseInt(minor, 10),
366
376
  patch: parseInt(patch, 10),
367
377
  full: text()
368
378
  };
379
+ if (options.locations) {
380
+ node.loc = location();
381
+ }
382
+ return node;
369
383
  }, peg$c459 = "http://", peg$c460 = peg$literalExpectation("http://", false), peg$c461 = "https://", peg$c462 = peg$literalExpectation("https://", false), peg$c463 = /^[a-zA-Z0-9!*'():;@&=+$,\/?#[\]_.~\-]/, peg$c464 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "!", "*", "'", "(", ")", ":", ";", "@", "&", "=", "+", "$", ",", "/", "?", "#", "[", "]", "_", ".", "~", "-"], false, false), peg$c465 = function (protocol) { return text(); }, peg$c466 = "aliceblue", peg$c467 = peg$literalExpectation("aliceblue", false), peg$c468 = function () { return '#f0f8ffff'; }, peg$c469 = "AliceBlue", peg$c470 = peg$literalExpectation("AliceBlue", false), peg$c471 = "antiquewhite", peg$c472 = peg$literalExpectation("antiquewhite", false), peg$c473 = function () { return '#faebd7ff'; }, peg$c474 = "AntiqueWhite", peg$c475 = peg$literalExpectation("AntiqueWhite", false), peg$c476 = "aquamarine", peg$c477 = peg$literalExpectation("aquamarine", false), peg$c478 = function () { return '#7fffd4ff'; }, peg$c479 = "Aquamarine", peg$c480 = peg$literalExpectation("Aquamarine", false), peg$c481 = "aqua", peg$c482 = peg$literalExpectation("aqua", false), peg$c483 = function () { return '#00ffffff'; }, peg$c484 = "Aqua", peg$c485 = peg$literalExpectation("Aqua", false), peg$c486 = "azure", peg$c487 = peg$literalExpectation("azure", false), peg$c488 = function () { return '#f0ffffff'; }, peg$c489 = "Azure", peg$c490 = peg$literalExpectation("Azure", false), peg$c491 = "beige", peg$c492 = peg$literalExpectation("beige", false), peg$c493 = function () { return '#f5f5dcff'; }, peg$c494 = "Beige", peg$c495 = peg$literalExpectation("Beige", false), peg$c496 = "bisque", peg$c497 = peg$literalExpectation("bisque", false), peg$c498 = function () { return '#ffe4c4ff'; }, peg$c499 = "Bisque", peg$c500 = peg$literalExpectation("Bisque", false), peg$c501 = "black", peg$c502 = peg$literalExpectation("black", false), peg$c503 = function () { return '#000000ff'; }, peg$c504 = "Black", peg$c505 = peg$literalExpectation("Black", false), peg$c506 = "blanchedalmond", peg$c507 = peg$literalExpectation("blanchedalmond", false), peg$c508 = function () { return '#ffebcdff'; }, peg$c509 = "BlanchedAlmond", peg$c510 = peg$literalExpectation("BlanchedAlmond", false), peg$c511 = "blueviolet", peg$c512 = peg$literalExpectation("blueviolet", false), peg$c513 = function () { return '#8a2be2ff'; }, peg$c514 = "BlueViolet", peg$c515 = peg$literalExpectation("BlueViolet", false), peg$c516 = "blue", peg$c517 = peg$literalExpectation("blue", false), peg$c518 = function () { return '#0000ffff'; }, peg$c519 = "Blue", peg$c520 = peg$literalExpectation("Blue", false), peg$c521 = "brown", peg$c522 = peg$literalExpectation("brown", false), peg$c523 = function () { return '#a52a2aff'; }, peg$c524 = "Brown", peg$c525 = peg$literalExpectation("Brown", false), peg$c526 = "burlywood", peg$c527 = peg$literalExpectation("burlywood", false), peg$c528 = function () { return '#deb887ff'; }, peg$c529 = "BurlyWood", peg$c530 = peg$literalExpectation("BurlyWood", false), peg$c531 = "cadetblue", peg$c532 = peg$literalExpectation("cadetblue", false), peg$c533 = function () { return '#5f9ea0ff'; }, peg$c534 = "CadetBlue", peg$c535 = peg$literalExpectation("CadetBlue", false), peg$c536 = "chartreuse", peg$c537 = peg$literalExpectation("chartreuse", false), peg$c538 = function () { return '#7fff00ff'; }, peg$c539 = "Chartreuse", peg$c540 = peg$literalExpectation("Chartreuse", false), peg$c541 = "chocolate", peg$c542 = peg$literalExpectation("chocolate", false), peg$c543 = function () { return '#d2691eff'; }, peg$c544 = "Chocolate", peg$c545 = peg$literalExpectation("Chocolate", false), peg$c546 = "coral", peg$c547 = peg$literalExpectation("coral", false), peg$c548 = function () { return '#ff7f50ff'; }, peg$c549 = "Coral", peg$c550 = peg$literalExpectation("Coral", false), peg$c551 = "cornflowerblue", peg$c552 = peg$literalExpectation("cornflowerblue", false), peg$c553 = function () { return '#6495edff'; }, peg$c554 = "CornflowerBlue", peg$c555 = peg$literalExpectation("CornflowerBlue", false), peg$c556 = "cornsilk", peg$c557 = peg$literalExpectation("cornsilk", false), peg$c558 = function () { return '#fff8dcff'; }, peg$c559 = "Cornsilk", peg$c560 = peg$literalExpectation("Cornsilk", false), peg$c561 = "crimson", peg$c562 = peg$literalExpectation("crimson", false), peg$c563 = function () { return '#dc143cff'; }, peg$c564 = "Crimson", peg$c565 = peg$literalExpectation("Crimson", false), peg$c566 = "cyan", peg$c567 = peg$literalExpectation("cyan", false), peg$c568 = "Cyan", peg$c569 = peg$literalExpectation("Cyan", false), peg$c570 = "darkblue", peg$c571 = peg$literalExpectation("darkblue", false), peg$c572 = function () { return '#00008bff'; }, peg$c573 = "DarkBlue", peg$c574 = peg$literalExpectation("DarkBlue", false), peg$c575 = "darkcyan", peg$c576 = peg$literalExpectation("darkcyan", false), peg$c577 = function () { return '#008b8bff'; }, peg$c578 = "DarkCyan", peg$c579 = peg$literalExpectation("DarkCyan", false), peg$c580 = "darkgoldenrod", peg$c581 = peg$literalExpectation("darkgoldenrod", false), peg$c582 = function () { return '#b8860bff'; }, peg$c583 = "DarkGoldenRod", peg$c584 = peg$literalExpectation("DarkGoldenRod", false), peg$c585 = "darkgray", peg$c586 = peg$literalExpectation("darkgray", false), peg$c587 = function () { return '#a9a9a9ff'; }, peg$c588 = "DarkGray", peg$c589 = peg$literalExpectation("DarkGray", false), peg$c590 = "darkgrey", peg$c591 = peg$literalExpectation("darkgrey", false), peg$c592 = "DarkGrey", peg$c593 = peg$literalExpectation("DarkGrey", false), peg$c594 = "darkgreen", peg$c595 = peg$literalExpectation("darkgreen", false), peg$c596 = function () { return '#006400ff'; }, peg$c597 = "DarkGreen", peg$c598 = peg$literalExpectation("DarkGreen", false), peg$c599 = "darkkhaki", peg$c600 = peg$literalExpectation("darkkhaki", false), peg$c601 = function () { return '#bdb76bff'; }, peg$c602 = "DarkKhaki", peg$c603 = peg$literalExpectation("DarkKhaki", false), peg$c604 = "darkmagenta", peg$c605 = peg$literalExpectation("darkmagenta", false), peg$c606 = function () { return '#8b008bff'; }, peg$c607 = "DarkMagenta", peg$c608 = peg$literalExpectation("DarkMagenta", false), peg$c609 = "darkolivegreen", peg$c610 = peg$literalExpectation("darkolivegreen", false), peg$c611 = function () { return '#556b2fff'; }, peg$c612 = "DarkOliveGreen", peg$c613 = peg$literalExpectation("DarkOliveGreen", false), peg$c614 = "darkorange", peg$c615 = peg$literalExpectation("darkorange", false), peg$c616 = function () { return '#ff8c00ff'; }, peg$c617 = "Darkorange", peg$c618 = peg$literalExpectation("Darkorange", false), peg$c619 = "darkorchid", peg$c620 = peg$literalExpectation("darkorchid", false), peg$c621 = function () { return '#9932ccff'; }, peg$c622 = "DarkOrchid", peg$c623 = peg$literalExpectation("DarkOrchid", false), peg$c624 = "darkred", peg$c625 = peg$literalExpectation("darkred", false), peg$c626 = function () { return '#8b0000ff'; }, peg$c627 = "DarkRed", peg$c628 = peg$literalExpectation("DarkRed", false), peg$c629 = "darksalmon", peg$c630 = peg$literalExpectation("darksalmon", false), peg$c631 = function () { return '#e9967aff'; }, peg$c632 = "DarkSalmon", peg$c633 = peg$literalExpectation("DarkSalmon", false), peg$c634 = "darkseagreen", peg$c635 = peg$literalExpectation("darkseagreen", false), peg$c636 = function () { return '#8fbc8fff'; }, peg$c637 = "DarkSeaGreen", peg$c638 = peg$literalExpectation("DarkSeaGreen", false), peg$c639 = "darkslateblue", peg$c640 = peg$literalExpectation("darkslateblue", false), peg$c641 = function () { return '#483d8bff'; }, peg$c642 = "DarkSlateBlue", peg$c643 = peg$literalExpectation("DarkSlateBlue", false), peg$c644 = "darkslategray", peg$c645 = peg$literalExpectation("darkslategray", false), peg$c646 = function () { return '#2f4f4fff'; }, peg$c647 = "DarkSlateGray", peg$c648 = peg$literalExpectation("DarkSlateGray", false), peg$c649 = "darkslategrey", peg$c650 = peg$literalExpectation("darkslategrey", false), peg$c651 = "DarkSlateGrey", peg$c652 = peg$literalExpectation("DarkSlateGrey", false), peg$c653 = "darkturquoise", peg$c654 = peg$literalExpectation("darkturquoise", false), peg$c655 = function () { return '#00ced1ff'; }, peg$c656 = "DarkTurquoise", peg$c657 = peg$literalExpectation("DarkTurquoise", false), peg$c658 = "darkviolet", peg$c659 = peg$literalExpectation("darkviolet", false), peg$c660 = function () { return '#9400d3ff'; }, peg$c661 = "DarkViolet", peg$c662 = peg$literalExpectation("DarkViolet", false), peg$c663 = "deeppink", peg$c664 = peg$literalExpectation("deeppink", false), peg$c665 = function () { return '#ff1493ff'; }, peg$c666 = "DeepPink", peg$c667 = peg$literalExpectation("DeepPink", false), peg$c668 = "deepskyblue", peg$c669 = peg$literalExpectation("deepskyblue", false), peg$c670 = function () { return '#00bfffff'; }, peg$c671 = "DeepSkyBlue", peg$c672 = peg$literalExpectation("DeepSkyBlue", false), peg$c673 = "dimgray", peg$c674 = peg$literalExpectation("dimgray", false), peg$c675 = function () { return '#696969ff'; }, peg$c676 = "DimGray", peg$c677 = peg$literalExpectation("DimGray", false), peg$c678 = "dimgrey", peg$c679 = peg$literalExpectation("dimgrey", false), peg$c680 = "DimGrey", peg$c681 = peg$literalExpectation("DimGrey", false), peg$c682 = "dodgerblue", peg$c683 = peg$literalExpectation("dodgerblue", false), peg$c684 = function () { return '#1e90ffff'; }, peg$c685 = "DodgerBlue", peg$c686 = peg$literalExpectation("DodgerBlue", false), peg$c687 = "firebrick", peg$c688 = peg$literalExpectation("firebrick", false), peg$c689 = function () { return '#b22222ff'; }, peg$c690 = "FireBrick", peg$c691 = peg$literalExpectation("FireBrick", false), peg$c692 = "floralwhite", peg$c693 = peg$literalExpectation("floralwhite", false), peg$c694 = function () { return '#fffaf0ff'; }, peg$c695 = "FloralWhite", peg$c696 = peg$literalExpectation("FloralWhite", false), peg$c697 = "forestgreen", peg$c698 = peg$literalExpectation("forestgreen", false), peg$c699 = function () { return '#228b22ff'; }, peg$c700 = "ForestGreen", peg$c701 = peg$literalExpectation("ForestGreen", false), peg$c702 = "fuchsia", peg$c703 = peg$literalExpectation("fuchsia", false), peg$c704 = function () { return '#ff00ffff'; }, peg$c705 = "Fuchsia", peg$c706 = peg$literalExpectation("Fuchsia", false), peg$c707 = "gainsboro", peg$c708 = peg$literalExpectation("gainsboro", false), peg$c709 = function () { return '#dcdcdcff'; }, peg$c710 = "Gainsboro", peg$c711 = peg$literalExpectation("Gainsboro", false), peg$c712 = "ghostwhite", peg$c713 = peg$literalExpectation("ghostwhite", false), peg$c714 = function () { return '#f8f8ffff'; }, peg$c715 = "GhostWhite", peg$c716 = peg$literalExpectation("GhostWhite", false), peg$c717 = "goldenrod", peg$c718 = peg$literalExpectation("goldenrod", false), peg$c719 = function () { return '#daa520ff'; }, peg$c720 = "GoldenRod", peg$c721 = peg$literalExpectation("GoldenRod", false), peg$c722 = "gold", peg$c723 = peg$literalExpectation("gold", false), peg$c724 = function () { return '#ffd700ff'; }, peg$c725 = "Gold", peg$c726 = peg$literalExpectation("Gold", false), peg$c727 = "gray", peg$c728 = peg$literalExpectation("gray", false), peg$c729 = function () { return '#808080ff'; }, peg$c730 = "Gray", peg$c731 = peg$literalExpectation("Gray", false), peg$c732 = "grey", peg$c733 = peg$literalExpectation("grey", false), peg$c734 = "Grey", peg$c735 = peg$literalExpectation("Grey", false), peg$c736 = "greenyellow", peg$c737 = peg$literalExpectation("greenyellow", false), peg$c738 = function () { return '#adff2fff'; }, peg$c739 = "GreenYellow", peg$c740 = peg$literalExpectation("GreenYellow", false), peg$c741 = "green", peg$c742 = peg$literalExpectation("green", false), peg$c743 = function () { return '#008000ff'; }, peg$c744 = "Green", peg$c745 = peg$literalExpectation("Green", false), peg$c746 = "honeydew", peg$c747 = peg$literalExpectation("honeydew", false), peg$c748 = function () { return '#f0fff0ff'; }, peg$c749 = "HoneyDew", peg$c750 = peg$literalExpectation("HoneyDew", false), peg$c751 = "hotpink", peg$c752 = peg$literalExpectation("hotpink", false), peg$c753 = function () { return '#ff69b4ff'; }, peg$c754 = "HotPink", peg$c755 = peg$literalExpectation("HotPink", false), peg$c756 = "indianred", peg$c757 = peg$literalExpectation("indianred", false), peg$c758 = function () { return '#cd5c5cff'; }, peg$c759 = "IndianRed", peg$c760 = peg$literalExpectation("IndianRed", false), peg$c761 = "indigo", peg$c762 = peg$literalExpectation("indigo", false), peg$c763 = function () { return '#4b0082ff'; }, peg$c764 = "Indigo", peg$c765 = peg$literalExpectation("Indigo", false), peg$c766 = "ivory", peg$c767 = peg$literalExpectation("ivory", false), peg$c768 = function () { return '#fffff0ff'; }, peg$c769 = "Ivory", peg$c770 = peg$literalExpectation("Ivory", false), peg$c771 = "khaki", peg$c772 = peg$literalExpectation("khaki", false), peg$c773 = function () { return '#f0e68cff'; }, peg$c774 = "Khaki", peg$c775 = peg$literalExpectation("Khaki", false), peg$c776 = "lavenderblush", peg$c777 = peg$literalExpectation("lavenderblush", false), peg$c778 = function () { return '#fff0f5ff'; }, peg$c779 = "LavenderBlush", peg$c780 = peg$literalExpectation("LavenderBlush", false), peg$c781 = "lavender", peg$c782 = peg$literalExpectation("lavender", false), peg$c783 = function () { return '#e6e6faff'; }, peg$c784 = "Lavender", peg$c785 = peg$literalExpectation("Lavender", false), peg$c786 = "lawngreen", peg$c787 = peg$literalExpectation("lawngreen", false), peg$c788 = function () { return '#7cfc00ff'; }, peg$c789 = "LawnGreen", peg$c790 = peg$literalExpectation("LawnGreen", false), peg$c791 = "lemonchiffon", peg$c792 = peg$literalExpectation("lemonchiffon", false), peg$c793 = function () { return '#fffacdff'; }, peg$c794 = "LemonChiffon", peg$c795 = peg$literalExpectation("LemonChiffon", false), peg$c796 = "lightblue", peg$c797 = peg$literalExpectation("lightblue", false), peg$c798 = function () { return '#add8e6ff'; }, peg$c799 = "LightBlue", peg$c800 = peg$literalExpectation("LightBlue", false), peg$c801 = "lightcoral", peg$c802 = peg$literalExpectation("lightcoral", false), peg$c803 = function () { return '#f08080ff'; }, peg$c804 = "LightCoral", peg$c805 = peg$literalExpectation("LightCoral", false), peg$c806 = "lightcyan", peg$c807 = peg$literalExpectation("lightcyan", false), peg$c808 = function () { return '#e0ffffff'; }, peg$c809 = "LightCyan", peg$c810 = peg$literalExpectation("LightCyan", false), peg$c811 = "lightgoldenrodyellow", peg$c812 = peg$literalExpectation("lightgoldenrodyellow", false), peg$c813 = function () { return '#fafad2ff'; }, peg$c814 = "LightGoldenRodYellow", peg$c815 = peg$literalExpectation("LightGoldenRodYellow", false), peg$c816 = "lightgray", peg$c817 = peg$literalExpectation("lightgray", false), peg$c818 = function () { return '#d3d3d3ff'; }, peg$c819 = "LightGray", peg$c820 = peg$literalExpectation("LightGray", false), peg$c821 = "lightgrey", peg$c822 = peg$literalExpectation("lightgrey", false), peg$c823 = "LightGrey", peg$c824 = peg$literalExpectation("LightGrey", false), peg$c825 = "lightgreen", peg$c826 = peg$literalExpectation("lightgreen", false), peg$c827 = function () { return '#90ee90ff'; }, peg$c828 = "LightGreen", peg$c829 = peg$literalExpectation("LightGreen", false), peg$c830 = "lightpink", peg$c831 = peg$literalExpectation("lightpink", false), peg$c832 = function () { return '#ffb6c1ff'; }, peg$c833 = "LightPink", peg$c834 = peg$literalExpectation("LightPink", false), peg$c835 = "lightsalmon", peg$c836 = peg$literalExpectation("lightsalmon", false), peg$c837 = function () { return '#ffa07aff'; }, peg$c838 = "LightSalmon", peg$c839 = peg$literalExpectation("LightSalmon", false), peg$c840 = "lightseagreen", peg$c841 = peg$literalExpectation("lightseagreen", false), peg$c842 = function () { return '#20b2aaff'; }, peg$c843 = "LightSeaGreen", peg$c844 = peg$literalExpectation("LightSeaGreen", false), peg$c845 = "lightskyblue", peg$c846 = peg$literalExpectation("lightskyblue", false), peg$c847 = function () { return '#87cefaff'; }, peg$c848 = "LightSkyBlue", peg$c849 = peg$literalExpectation("LightSkyBlue", false), peg$c850 = "lightslategray", peg$c851 = peg$literalExpectation("lightslategray", false), peg$c852 = function () { return '#778899ff'; }, peg$c853 = "LightSlateGray", peg$c854 = peg$literalExpectation("LightSlateGray", false), peg$c855 = "lightslategrey", peg$c856 = peg$literalExpectation("lightslategrey", false), peg$c857 = "LightSlateGrey", peg$c858 = peg$literalExpectation("LightSlateGrey", false), peg$c859 = "lightsteelblue", peg$c860 = peg$literalExpectation("lightsteelblue", false), peg$c861 = function () { return '#b0c4deff'; }, peg$c862 = "LightSteelBlue", peg$c863 = peg$literalExpectation("LightSteelBlue", false), peg$c864 = "lightyellow", peg$c865 = peg$literalExpectation("lightyellow", false), peg$c866 = function () { return '#ffffe0ff'; }, peg$c867 = "LightYellow", peg$c868 = peg$literalExpectation("LightYellow", false), peg$c869 = "limegreen", peg$c870 = peg$literalExpectation("limegreen", false), peg$c871 = function () { return '#32cd32ff'; }, peg$c872 = "LimeGreen", peg$c873 = peg$literalExpectation("LimeGreen", false), peg$c874 = "lime", peg$c875 = peg$literalExpectation("lime", false), peg$c876 = function () { return '#00ff00ff'; }, peg$c877 = "Lime", peg$c878 = peg$literalExpectation("Lime", false), peg$c879 = "linen", peg$c880 = peg$literalExpectation("linen", false), peg$c881 = function () { return '#faf0e6ff'; }, peg$c882 = "Linen", peg$c883 = peg$literalExpectation("Linen", false), peg$c884 = "magenta", peg$c885 = peg$literalExpectation("magenta", false), peg$c886 = "Magenta", peg$c887 = peg$literalExpectation("Magenta", false), peg$c888 = "maroon", peg$c889 = peg$literalExpectation("maroon", false), peg$c890 = function () { return '#800000ff'; }, peg$c891 = "Maroon", peg$c892 = peg$literalExpectation("Maroon", false), peg$c893 = "mediumaquamarine", peg$c894 = peg$literalExpectation("mediumaquamarine", false), peg$c895 = function () { return '#66cdaaff'; }, peg$c896 = "MediumAquaMarine", peg$c897 = peg$literalExpectation("MediumAquaMarine", false), peg$c898 = "mediumblue", peg$c899 = peg$literalExpectation("mediumblue", false), peg$c900 = function () { return '#0000cdff'; }, peg$c901 = "MediumBlue", peg$c902 = peg$literalExpectation("MediumBlue", false), peg$c903 = "mediumorchid", peg$c904 = peg$literalExpectation("mediumorchid", false), peg$c905 = function () { return '#ba55d3ff'; }, peg$c906 = "MediumOrchid", peg$c907 = peg$literalExpectation("MediumOrchid", false), peg$c908 = "mediumpurple", peg$c909 = peg$literalExpectation("mediumpurple", false), peg$c910 = function () { return '#9370d8ff'; }, peg$c911 = "MediumPurple", peg$c912 = peg$literalExpectation("MediumPurple", false), peg$c913 = "mediumseagreen", peg$c914 = peg$literalExpectation("mediumseagreen", false), peg$c915 = function () { return '#3cb371ff'; }, peg$c916 = "MediumSeaGreen", peg$c917 = peg$literalExpectation("MediumSeaGreen", false), peg$c918 = "mediumslateblue", peg$c919 = peg$literalExpectation("mediumslateblue", false), peg$c920 = function () { return '#7b68eeff'; }, peg$c921 = "MediumSlateBlue", peg$c922 = peg$literalExpectation("MediumSlateBlue", false), peg$c923 = "mediumspringgreen", peg$c924 = peg$literalExpectation("mediumspringgreen", false), peg$c925 = function () { return '#00fa9aff'; }, peg$c926 = "MediumSpringGreen", peg$c927 = peg$literalExpectation("MediumSpringGreen", false), peg$c928 = "mediumturquoise", peg$c929 = peg$literalExpectation("mediumturquoise", false), peg$c930 = function () { return '#48d1ccff'; }, peg$c931 = "MediumTurquoise", peg$c932 = peg$literalExpectation("MediumTurquoise", false), peg$c933 = "mediumvioletred", peg$c934 = peg$literalExpectation("mediumvioletred", false), peg$c935 = function () { return '#c71585ff'; }, peg$c936 = "MediumVioletRed", peg$c937 = peg$literalExpectation("MediumVioletRed", false), peg$c938 = "midnightblue", peg$c939 = peg$literalExpectation("midnightblue", false), peg$c940 = function () { return '#191970ff'; }, peg$c941 = "MidnightBlue", peg$c942 = peg$literalExpectation("MidnightBlue", false), peg$c943 = "mintcream", peg$c944 = peg$literalExpectation("mintcream", false), peg$c945 = function () { return '#f5fffaff'; }, peg$c946 = "MintCream", peg$c947 = peg$literalExpectation("MintCream", false), peg$c948 = "mistyrose", peg$c949 = peg$literalExpectation("mistyrose", false), peg$c950 = function () { return '#ffe4e1ff'; }, peg$c951 = "MistyRose", peg$c952 = peg$literalExpectation("MistyRose", false), peg$c953 = "moccasin", peg$c954 = peg$literalExpectation("moccasin", false), peg$c955 = function () { return '#ffe4b5ff'; }, peg$c956 = "Moccasin", peg$c957 = peg$literalExpectation("Moccasin", false), peg$c958 = "navajowhite", peg$c959 = peg$literalExpectation("navajowhite", false), peg$c960 = function () { return '#ffdeadff'; }, peg$c961 = "NavajoWhite", peg$c962 = peg$literalExpectation("NavajoWhite", false), peg$c963 = "navy", peg$c964 = peg$literalExpectation("navy", false), peg$c965 = function () { return '#000080ff'; }, peg$c966 = "Navy", peg$c967 = peg$literalExpectation("Navy", false), peg$c968 = "oldlace", peg$c969 = peg$literalExpectation("oldlace", false), peg$c970 = function () { return '#fdf5e6ff'; }, peg$c971 = "OldLace", peg$c972 = peg$literalExpectation("OldLace", false), peg$c973 = "olivedrab", peg$c974 = peg$literalExpectation("olivedrab", false), peg$c975 = function () { return '#6b8e23ff'; }, peg$c976 = "OliveDrab", peg$c977 = peg$literalExpectation("OliveDrab", false), peg$c978 = "olive", peg$c979 = peg$literalExpectation("olive", false), peg$c980 = function () { return '#808000ff'; }, peg$c981 = "Olive", peg$c982 = peg$literalExpectation("Olive", false), peg$c983 = "orangered", peg$c984 = peg$literalExpectation("orangered", false), peg$c985 = function () { return '#ff4500ff'; }, peg$c986 = "OrangeRed", peg$c987 = peg$literalExpectation("OrangeRed", false), peg$c988 = "orange", peg$c989 = peg$literalExpectation("orange", false), peg$c990 = function () { return '#ffa500ff'; }, peg$c991 = "Orange", peg$c992 = peg$literalExpectation("Orange", false), peg$c993 = "orchid", peg$c994 = peg$literalExpectation("orchid", false), peg$c995 = function () { return '#da70d6ff'; }, peg$c996 = "Orchid", peg$c997 = peg$literalExpectation("Orchid", false), peg$c998 = "palegoldenrod", peg$c999 = peg$literalExpectation("palegoldenrod", false), peg$c1000 = function () { return '#eee8aaff'; }, peg$c1001 = "PaleGoldenRod", peg$c1002 = peg$literalExpectation("PaleGoldenRod", false), peg$c1003 = "palegreen", peg$c1004 = peg$literalExpectation("palegreen", false), peg$c1005 = function () { return '#98fb98ff'; }, peg$c1006 = "PaleGreen", peg$c1007 = peg$literalExpectation("PaleGreen", false), peg$c1008 = "paleturquoise", peg$c1009 = peg$literalExpectation("paleturquoise", false), peg$c1010 = function () { return '#afeeeeff'; }, peg$c1011 = "PaleTurquoise", peg$c1012 = peg$literalExpectation("PaleTurquoise", false), peg$c1013 = "palevioletred", peg$c1014 = peg$literalExpectation("palevioletred", false), peg$c1015 = function () { return '#d87093ff'; }, peg$c1016 = "PaleVioletRed", peg$c1017 = peg$literalExpectation("PaleVioletRed", false), peg$c1018 = "papayawhip", peg$c1019 = peg$literalExpectation("papayawhip", false), peg$c1020 = function () { return '#ffefd5ff'; }, peg$c1021 = "PapayaWhip", peg$c1022 = peg$literalExpectation("PapayaWhip", false), peg$c1023 = "peachpuff", peg$c1024 = peg$literalExpectation("peachpuff", false), peg$c1025 = function () { return '#ffdab9ff'; }, peg$c1026 = "PeachPuff", peg$c1027 = peg$literalExpectation("PeachPuff", false), peg$c1028 = "peru", peg$c1029 = peg$literalExpectation("peru", false), peg$c1030 = function () { return '#cd853fff'; }, peg$c1031 = "Peru", peg$c1032 = peg$literalExpectation("Peru", false), peg$c1033 = "pink", peg$c1034 = peg$literalExpectation("pink", false), peg$c1035 = function () { return '#ffc0cbff'; }, peg$c1036 = "Pink", peg$c1037 = peg$literalExpectation("Pink", false), peg$c1038 = "plum", peg$c1039 = peg$literalExpectation("plum", false), peg$c1040 = function () { return '#dda0ddff'; }, peg$c1041 = "Plum", peg$c1042 = peg$literalExpectation("Plum", false), peg$c1043 = "powderblue", peg$c1044 = peg$literalExpectation("powderblue", false), peg$c1045 = function () { return '#b0e0e6ff'; }, peg$c1046 = "PowderBlue", peg$c1047 = peg$literalExpectation("PowderBlue", false), peg$c1048 = "purple", peg$c1049 = peg$literalExpectation("purple", false), peg$c1050 = function () { return '#800080ff'; }, peg$c1051 = "Purple", peg$c1052 = peg$literalExpectation("Purple", false), peg$c1053 = "red", peg$c1054 = peg$literalExpectation("red", false), peg$c1055 = function () { return '#ff0000ff'; }, peg$c1056 = "Red", peg$c1057 = peg$literalExpectation("Red", false), peg$c1058 = "rosybrown", peg$c1059 = peg$literalExpectation("rosybrown", false), peg$c1060 = function () { return '#bc8f8fff'; }, peg$c1061 = "RosyBrown", peg$c1062 = peg$literalExpectation("RosyBrown", false), peg$c1063 = "royalblue", peg$c1064 = peg$literalExpectation("royalblue", false), peg$c1065 = function () { return '#4169e1ff'; }, peg$c1066 = "RoyalBlue", peg$c1067 = peg$literalExpectation("RoyalBlue", false), peg$c1068 = "saddlebrown", peg$c1069 = peg$literalExpectation("saddlebrown", false), peg$c1070 = function () { return '#8b4513ff'; }, peg$c1071 = "SaddleBrown", peg$c1072 = peg$literalExpectation("SaddleBrown", false), peg$c1073 = "salmon", peg$c1074 = peg$literalExpectation("salmon", false), peg$c1075 = function () { return '#fa8072ff'; }, peg$c1076 = "Salmon", peg$c1077 = peg$literalExpectation("Salmon", false), peg$c1078 = "sandybrown", peg$c1079 = peg$literalExpectation("sandybrown", false), peg$c1080 = function () { return '#f4a460ff'; }, peg$c1081 = "SandyBrown", peg$c1082 = peg$literalExpectation("SandyBrown", false), peg$c1083 = "seagreen", peg$c1084 = peg$literalExpectation("seagreen", false), peg$c1085 = function () { return '#2e8b57ff'; }, peg$c1086 = "SeaGreen", peg$c1087 = peg$literalExpectation("SeaGreen", false), peg$c1088 = "seashell", peg$c1089 = peg$literalExpectation("seashell", false), peg$c1090 = function () { return '#fff5eeff'; }, peg$c1091 = "SeaShell", peg$c1092 = peg$literalExpectation("SeaShell", false), peg$c1093 = "sienna", peg$c1094 = peg$literalExpectation("sienna", false), peg$c1095 = function () { return '#a0522dff'; }, peg$c1096 = "Sienna", peg$c1097 = peg$literalExpectation("Sienna", false), peg$c1098 = "silver", peg$c1099 = peg$literalExpectation("silver", false), peg$c1100 = function () { return '#c0c0c0ff'; }, peg$c1101 = "Silver", peg$c1102 = peg$literalExpectation("Silver", false), peg$c1103 = "skyblue", peg$c1104 = peg$literalExpectation("skyblue", false), peg$c1105 = function () { return '#87ceebff'; }, peg$c1106 = "SkyBlue", peg$c1107 = peg$literalExpectation("SkyBlue", false), peg$c1108 = "slateblue", peg$c1109 = peg$literalExpectation("slateblue", false), peg$c1110 = function () { return '#6a5acdff'; }, peg$c1111 = "SlateBlue", peg$c1112 = peg$literalExpectation("SlateBlue", false), peg$c1113 = "slategray", peg$c1114 = peg$literalExpectation("slategray", false), peg$c1115 = function () { return '#708090ff'; }, peg$c1116 = "SlateGray", peg$c1117 = peg$literalExpectation("SlateGray", false), peg$c1118 = "slategrey", peg$c1119 = peg$literalExpectation("slategrey", false), peg$c1120 = "SlateGrey", peg$c1121 = peg$literalExpectation("SlateGrey", false), peg$c1122 = "snow", peg$c1123 = peg$literalExpectation("snow", false), peg$c1124 = function () { return '#fffafaff'; }, peg$c1125 = "Snow", peg$c1126 = peg$literalExpectation("Snow", false), peg$c1127 = "springgreen", peg$c1128 = peg$literalExpectation("springgreen", false), peg$c1129 = function () { return '#00ff7fff'; }, peg$c1130 = "SpringGreen", peg$c1131 = peg$literalExpectation("SpringGreen", false), peg$c1132 = "steelblue", peg$c1133 = peg$literalExpectation("steelblue", false), peg$c1134 = function () { return '#4682b4ff'; }, peg$c1135 = "SteelBlue", peg$c1136 = peg$literalExpectation("SteelBlue", false), peg$c1137 = "tan", peg$c1138 = peg$literalExpectation("tan", false), peg$c1139 = function () { return '#d2b48cff'; }, peg$c1140 = "Tan", peg$c1141 = peg$literalExpectation("Tan", false), peg$c1142 = "teal", peg$c1143 = peg$literalExpectation("teal", false), peg$c1144 = function () { return '#008080ff'; }, peg$c1145 = "Teal", peg$c1146 = peg$literalExpectation("Teal", false), peg$c1147 = "thistle", peg$c1148 = peg$literalExpectation("thistle", false), peg$c1149 = function () { return '#d8bfd8ff'; }, peg$c1150 = "Thistle", peg$c1151 = peg$literalExpectation("Thistle", false), peg$c1152 = "tomato", peg$c1153 = peg$literalExpectation("tomato", false), peg$c1154 = function () { return '#ff6347ff'; }, peg$c1155 = "Tomato", peg$c1156 = peg$literalExpectation("Tomato", false), peg$c1157 = "turquoise", peg$c1158 = peg$literalExpectation("turquoise", false), peg$c1159 = function () { return '#40e0d0ff'; }, peg$c1160 = "Turquoise", peg$c1161 = peg$literalExpectation("Turquoise", false), peg$c1162 = "violet", peg$c1163 = peg$literalExpectation("violet", false), peg$c1164 = function () { return '#ee82eeff'; }, peg$c1165 = "Violet", peg$c1166 = peg$literalExpectation("Violet", false), peg$c1167 = "wheat", peg$c1168 = peg$literalExpectation("wheat", false), peg$c1169 = function () { return '#f5deb3ff'; }, peg$c1170 = "Wheat", peg$c1171 = peg$literalExpectation("Wheat", false), peg$c1172 = "whitesmoke", peg$c1173 = peg$literalExpectation("whitesmoke", false), peg$c1174 = function () { return '#f5f5f5ff'; }, peg$c1175 = "WhiteSmoke", peg$c1176 = peg$literalExpectation("WhiteSmoke", false), peg$c1177 = "white", peg$c1178 = peg$literalExpectation("white", false), peg$c1179 = function () { return '#ffffffff'; }, peg$c1180 = "White", peg$c1181 = peg$literalExpectation("White", false), peg$c1182 = "yellowgreen", peg$c1183 = peg$literalExpectation("yellowgreen", false), peg$c1184 = function () { return '#9acd32ff'; }, peg$c1185 = "YellowGreen", peg$c1186 = peg$literalExpectation("YellowGreen", false), peg$c1187 = "yellow", peg$c1188 = peg$literalExpectation("yellow", false), peg$c1189 = function () { return '#ffff00ff'; }, peg$c1190 = "Yellow", peg$c1191 = peg$literalExpectation("Yellow", false), peg$c1192 = function (lab) { return lab; }, peg$c1193 = "#", peg$c1194 = peg$literalExpectation("#", false), peg$c1195 = function (r, g, b) {
370
384
  return `#${r}${r}${g}${g}${b}${b}ff`;
371
385
  }, peg$c1196 = function (r1, r2, g1, g2, b1, b2) {
@@ -374,10 +388,67 @@ function peg$parse(input, options) {
374
388
  return `#${r}${r}${g}${g}${b}${b}${a}${a}`;
375
389
  }, peg$c1198 = function (r1, r2, g1, g2, b1, b2, a1, a2) {
376
390
  return `#${r1}${r2}${g1}${g2}${b1}${b2}${a1}${a2}`;
377
- }, peg$c1199 = peg$otherExpectation("color"), peg$c1200 = "arc_label", peg$c1201 = peg$literalExpectation("arc_label", false), peg$c1202 = "head_label", peg$c1203 = peg$literalExpectation("head_label", false), peg$c1204 = "tail_label", peg$c1205 = peg$literalExpectation("tail_label", false), peg$c1206 = ":", peg$c1207 = peg$literalExpectation(":", false), peg$c1208 = ";", peg$c1209 = peg$literalExpectation(";", false), peg$c1210 = function (key, value) { return { key: key, value: value }; }, peg$c1211 = peg$otherExpectation("single edge color"), peg$c1212 = "edge-color", peg$c1213 = peg$literalExpectation("edge-color", false), peg$c1214 = function (value) { return { key: 'single_edge_color', value: value }; }, peg$c1215 = "edge_color", peg$c1216 = peg$literalExpectation("edge_color", false), peg$c1217 = peg$otherExpectation("transition line style"), peg$c1218 = "line-style", peg$c1219 = peg$literalExpectation("line-style", false), peg$c1220 = function (value) { return { key: 'transition_line_style', value: value }; }, peg$c1221 = "{", peg$c1222 = peg$literalExpectation("{", false), peg$c1223 = "}", peg$c1224 = peg$literalExpectation("}", false), peg$c1225 = function (items) { return items; }, peg$c1226 = "%", peg$c1227 = peg$literalExpectation("%", false), peg$c1228 = function (value) { return { key: 'arrow probability', value: value }; }, peg$c1229 = "milliseconds", peg$c1230 = peg$literalExpectation("milliseconds", false), peg$c1231 = function () { return 1; }, peg$c1232 = "millisecond", peg$c1233 = peg$literalExpectation("millisecond", false), peg$c1234 = "msecs", peg$c1235 = peg$literalExpectation("msecs", false), peg$c1236 = "msec", peg$c1237 = peg$literalExpectation("msec", false), peg$c1238 = "ms", peg$c1239 = peg$literalExpectation("ms", false), peg$c1240 = "seconds", peg$c1241 = peg$literalExpectation("seconds", false), peg$c1242 = function () { return 1000; }, peg$c1243 = "second", peg$c1244 = peg$literalExpectation("second", false), peg$c1245 = "secs", peg$c1246 = peg$literalExpectation("secs", false), peg$c1247 = "sec", peg$c1248 = peg$literalExpectation("sec", false), peg$c1249 = "s", peg$c1250 = peg$literalExpectation("s", false), peg$c1251 = "minutes", peg$c1252 = peg$literalExpectation("minutes", false), peg$c1253 = function () { return 1000 * 60; }, peg$c1254 = "minute", peg$c1255 = peg$literalExpectation("minute", false), peg$c1256 = "mins", peg$c1257 = peg$literalExpectation("mins", false), peg$c1258 = "min", peg$c1259 = peg$literalExpectation("min", false), peg$c1260 = "m", peg$c1261 = peg$literalExpectation("m", false), peg$c1262 = "hours", peg$c1263 = peg$literalExpectation("hours", false), peg$c1264 = function () { return 1000 * 60 * 60; }, peg$c1265 = "hour", peg$c1266 = peg$literalExpectation("hour", false), peg$c1267 = "hrs", peg$c1268 = peg$literalExpectation("hrs", false), peg$c1269 = "hr", peg$c1270 = peg$literalExpectation("hr", false), peg$c1271 = "h", peg$c1272 = peg$literalExpectation("h", false), peg$c1273 = "days", peg$c1274 = peg$literalExpectation("days", false), peg$c1275 = function () { return 1000 * 60 * 60 * 24; }, peg$c1276 = "day", peg$c1277 = peg$literalExpectation("day", false), peg$c1278 = "d", peg$c1279 = peg$literalExpectation("d", false), peg$c1280 = "weeks", peg$c1281 = peg$literalExpectation("weeks", false), peg$c1282 = function () { return 1000 * 60 * 60 * 24 * 7; }, peg$c1283 = "week", peg$c1284 = peg$literalExpectation("week", false), peg$c1285 = "wks", peg$c1286 = peg$literalExpectation("wks", false), peg$c1287 = "wk", peg$c1288 = peg$literalExpectation("wk", false), peg$c1289 = "w", peg$c1290 = peg$literalExpectation("w", false), peg$c1291 = "after", peg$c1292 = peg$literalExpectation("after", false), peg$c1293 = function (value, timescale) { return value * (timescale || 1000); }, peg$c1294 = function (names) { return names.map(i => i[0]); }, peg$c1295 = "+|", peg$c1296 = peg$literalExpectation("+|", false), peg$c1297 = function (n) { return { key: 'stripe', value: parseInt(n, 10) }; }, peg$c1298 = "-|", peg$c1299 = peg$literalExpectation("-|", false), peg$c1300 = function (n) { return { key: 'stripe', value: -1 * parseInt(n, 10) }; }, peg$c1301 = "+", peg$c1302 = peg$literalExpectation("+", false), peg$c1303 = function (n) { return { key: 'cycle', value: parseInt(n, 10) }; }, peg$c1304 = "-", peg$c1305 = peg$literalExpectation("-", false), peg$c1306 = function (n) { return { key: 'cycle', value: -1 * parseInt(n, 10) }; }, peg$c1307 = "+0", peg$c1308 = peg$literalExpectation("+0", false), peg$c1309 = function () { return { key: 'cycle', value: 0 }; }, peg$c1310 = function (v) { return { _kind: 'after', v: v }; }, peg$c1311 = function (v) { return { _kind: 'action', v: v }; }, peg$c1312 = function (v) { return { _kind: 'prob', v: v }; }, peg$c1313 = function (v) { return { _kind: 'desc', v: v }; }, peg$c1314 = function (d) { return d; }, peg$c1315 = function (pre, arrow, post, label, tail) {
391
+ }, peg$c1199 = peg$otherExpectation("color"), peg$c1200 = "arc_label", peg$c1201 = peg$literalExpectation("arc_label", false), peg$c1202 = "head_label", peg$c1203 = peg$literalExpectation("head_label", false), peg$c1204 = "tail_label", peg$c1205 = peg$literalExpectation("tail_label", false), peg$c1206 = ":", peg$c1207 = peg$literalExpectation(":", false), peg$c1208 = ";", peg$c1209 = peg$literalExpectation(";", false), peg$c1210 = function (key, value) {
392
+ const node = { key: key, value: value };
393
+ if (options.locations) {
394
+ node.loc = location();
395
+ }
396
+ return node;
397
+ }, peg$c1211 = peg$otherExpectation("single edge color"), peg$c1212 = "edge-color", peg$c1213 = peg$literalExpectation("edge-color", false), peg$c1214 = function (v) { return options.locations ? { __v: v, __loc: location() } : v; }, peg$c1215 = function (value) {
398
+ const raw = options.locations ? value.__v : value;
399
+ const node = { key: 'single_edge_color', value: raw };
400
+ if (options.locations) {
401
+ node.loc = location();
402
+ node.value_loc = value.__loc;
403
+ }
404
+ return node;
405
+ }, peg$c1216 = "edge_color", peg$c1217 = peg$literalExpectation("edge_color", false), peg$c1218 = peg$otherExpectation("transition line style"), peg$c1219 = "line-style", peg$c1220 = peg$literalExpectation("line-style", false), peg$c1221 = function (value) {
406
+ const node = { key: 'transition_line_style', value: value };
407
+ if (options.locations) {
408
+ node.loc = location();
409
+ }
410
+ return node;
411
+ }, peg$c1222 = "{", peg$c1223 = peg$literalExpectation("{", false), peg$c1224 = "}", peg$c1225 = peg$literalExpectation("}", false), peg$c1226 = function (items) { return items; }, peg$c1227 = "%", peg$c1228 = peg$literalExpectation("%", false), peg$c1229 = function (value) {
412
+ const node = { key: 'arrow probability', value: value };
413
+ if (options.locations) {
414
+ node.loc = location();
415
+ }
416
+ return node;
417
+ }, peg$c1230 = "milliseconds", peg$c1231 = peg$literalExpectation("milliseconds", false), peg$c1232 = function () { return 1; }, peg$c1233 = "millisecond", peg$c1234 = peg$literalExpectation("millisecond", false), peg$c1235 = "msecs", peg$c1236 = peg$literalExpectation("msecs", false), peg$c1237 = "msec", peg$c1238 = peg$literalExpectation("msec", false), peg$c1239 = "ms", peg$c1240 = peg$literalExpectation("ms", false), peg$c1241 = "seconds", peg$c1242 = peg$literalExpectation("seconds", false), peg$c1243 = function () { return 1000; }, peg$c1244 = "second", peg$c1245 = peg$literalExpectation("second", false), peg$c1246 = "secs", peg$c1247 = peg$literalExpectation("secs", false), peg$c1248 = "sec", peg$c1249 = peg$literalExpectation("sec", false), peg$c1250 = "s", peg$c1251 = peg$literalExpectation("s", false), peg$c1252 = "minutes", peg$c1253 = peg$literalExpectation("minutes", false), peg$c1254 = function () { return 1000 * 60; }, peg$c1255 = "minute", peg$c1256 = peg$literalExpectation("minute", false), peg$c1257 = "mins", peg$c1258 = peg$literalExpectation("mins", false), peg$c1259 = "min", peg$c1260 = peg$literalExpectation("min", false), peg$c1261 = "m", peg$c1262 = peg$literalExpectation("m", false), peg$c1263 = "hours", peg$c1264 = peg$literalExpectation("hours", false), peg$c1265 = function () { return 1000 * 60 * 60; }, peg$c1266 = "hour", peg$c1267 = peg$literalExpectation("hour", false), peg$c1268 = "hrs", peg$c1269 = peg$literalExpectation("hrs", false), peg$c1270 = "hr", peg$c1271 = peg$literalExpectation("hr", false), peg$c1272 = "h", peg$c1273 = peg$literalExpectation("h", false), peg$c1274 = "days", peg$c1275 = peg$literalExpectation("days", false), peg$c1276 = function () { return 1000 * 60 * 60 * 24; }, peg$c1277 = "day", peg$c1278 = peg$literalExpectation("day", false), peg$c1279 = "d", peg$c1280 = peg$literalExpectation("d", false), peg$c1281 = "weeks", peg$c1282 = peg$literalExpectation("weeks", false), peg$c1283 = function () { return 1000 * 60 * 60 * 24 * 7; }, peg$c1284 = "week", peg$c1285 = peg$literalExpectation("week", false), peg$c1286 = "wks", peg$c1287 = peg$literalExpectation("wks", false), peg$c1288 = "wk", peg$c1289 = peg$literalExpectation("wk", false), peg$c1290 = "w", peg$c1291 = peg$literalExpectation("w", false), peg$c1292 = "after", peg$c1293 = peg$literalExpectation("after", false), peg$c1294 = function (value, timescale) { return value * (timescale || 1000); }, peg$c1295 = function (names) { return names.map(i => i[0]); }, peg$c1296 = "+|", peg$c1297 = peg$literalExpectation("+|", false), peg$c1298 = function (n) {
418
+ const node = { key: 'stripe', value: parseInt(n, 10) };
419
+ if (options.locations) {
420
+ node.loc = location();
421
+ }
422
+ return node;
423
+ }, peg$c1299 = "-|", peg$c1300 = peg$literalExpectation("-|", false), peg$c1301 = function (n) {
424
+ const node = { key: 'stripe', value: -1 * parseInt(n, 10) };
425
+ if (options.locations) {
426
+ node.loc = location();
427
+ }
428
+ return node;
429
+ }, peg$c1302 = "+", peg$c1303 = peg$literalExpectation("+", false), peg$c1304 = function (n) {
430
+ const node = { key: 'cycle', value: parseInt(n, 10) };
431
+ if (options.locations) {
432
+ node.loc = location();
433
+ }
434
+ return node;
435
+ }, peg$c1305 = "-", peg$c1306 = peg$literalExpectation("-", false), peg$c1307 = function (n) {
436
+ const node = { key: 'cycle', value: -1 * parseInt(n, 10) };
437
+ if (options.locations) {
438
+ node.loc = location();
439
+ }
440
+ return node;
441
+ }, peg$c1308 = "+0", peg$c1309 = peg$literalExpectation("+0", false), peg$c1310 = function () {
442
+ const node = { key: 'cycle', value: 0 };
443
+ if (options.locations) {
444
+ node.loc = location();
445
+ }
446
+ return node;
447
+ }, peg$c1311 = function (v) { return { _kind: 'after', v: v }; }, peg$c1312 = function (v) { return { _kind: 'action', v: v, loc: location() }; }, peg$c1313 = function (v) { return { _kind: 'prob', v: v }; }, peg$c1314 = function (v) { return { _kind: 'desc', v: v }; }, peg$c1315 = function (d) { return d; }, peg$c1316 = function (pre, arrow, post, l) { return options.locations ? { __v: l, __loc: location() } : l; }, peg$c1317 = function (pre, arrow, post, label, tail) {
378
448
  // Reminder: remove this type and the one in Exp if you want to work in pegjs online
379
449
  // TODO: properly type this
380
- const base = { kind: arrow, to: label };
450
+ const toVal = options.locations ? label.__v : label;
451
+ const base = { kind: arrow, to: toVal };
381
452
  // AST field-name conventions inherited from the original
382
453
  // fixed-order rule:
383
454
  // pre-arrow: after→r_after action→r_action prob→r_probability desc→l_desc
@@ -397,6 +468,9 @@ function peg$parse(input, options) {
397
468
  }
398
469
  if (d._kind === 'action' && d.v != null) {
399
470
  base.r_action = d.v;
471
+ if (options.locations) {
472
+ base.r_action_loc = d.loc;
473
+ }
400
474
  }
401
475
  if (d._kind === 'prob' && d.v != null) {
402
476
  base.r_probability = d.v.value;
@@ -415,6 +489,9 @@ function peg$parse(input, options) {
415
489
  }
416
490
  if (d._kind === 'action' && d.v != null) {
417
491
  base.l_action = d.v;
492
+ if (options.locations) {
493
+ base.l_action_loc = d.loc;
494
+ }
418
495
  }
419
496
  if (d._kind === 'prob' && d.v != null) {
420
497
  base.l_probability = d.v.value;
@@ -426,38 +503,417 @@ function peg$parse(input, options) {
426
503
  if (tail) {
427
504
  base.se = tail;
428
505
  }
506
+ if (options.locations) {
507
+ base.loc = location();
508
+ base.to_loc = label.__loc;
509
+ }
429
510
  return base;
430
- }, peg$c1316 = function (label, se) {
511
+ }, peg$c1318 = function (l) { return options.locations ? { __v: l, __loc: location() } : l; }, peg$c1319 = function (label, se) {
431
512
  // Reminder: remove this type and the one in subexp if you want to work in pegjs online
432
513
  // TODO: properly type this
433
- const base = { key: 'transition', from: label };
514
+ const fromVal = options.locations ? label.__v : label;
515
+ const base = { key: 'transition', from: fromVal };
434
516
  if (se) {
435
517
  base.se = se;
436
518
  }
519
+ if (options.locations) {
520
+ base.loc = location();
521
+ base.from_loc = label.__loc;
522
+ }
437
523
  return base;
438
- }, peg$c1317 = "whargarbl", peg$c1318 = peg$literalExpectation("whargarbl", false), peg$c1319 = "todo", peg$c1320 = peg$literalExpectation("todo", false), peg$c1321 = function (validationkey, value) { return { key: validationkey, value: value }; }, peg$c1322 = "validation", peg$c1323 = peg$literalExpectation("validation", false), peg$c1324 = "};", peg$c1325 = peg$literalExpectation("};", false), peg$c1326 = function (validation_items) {
439
- return { config_kind: "validation", config_items: validation_items || [] };
440
- }, peg$c1327 = "dot", peg$c1328 = peg$literalExpectation("dot", false), peg$c1329 = "circo", peg$c1330 = peg$literalExpectation("circo", false), peg$c1331 = "fdp", peg$c1332 = peg$literalExpectation("fdp", false), peg$c1333 = "neato", peg$c1334 = peg$literalExpectation("neato", false), peg$c1335 = "twopi", peg$c1336 = peg$literalExpectation("twopi", false), peg$c1337 = "state", peg$c1338 = peg$literalExpectation("state", false), peg$c1339 = function (state_items) {
441
- return { key: "default_state_config", value: state_items || [] };
442
- }, peg$c1340 = "start_state", peg$c1341 = peg$literalExpectation("start_state", false), peg$c1342 = function (state_items) {
443
- return { key: "default_start_state_config", value: state_items || [] };
444
- }, peg$c1343 = "end_state", peg$c1344 = peg$literalExpectation("end_state", false), peg$c1345 = function (state_items) {
445
- return { key: "default_end_state_config", value: state_items || [] };
446
- }, peg$c1346 = "active_state", peg$c1347 = peg$literalExpectation("active_state", false), peg$c1348 = function (state_items) {
447
- return { key: "default_active_state_config", value: state_items || [] };
448
- }, peg$c1349 = "terminal_state", peg$c1350 = peg$literalExpectation("terminal_state", false), peg$c1351 = function (state_items) {
449
- return { key: "default_terminal_state_config", value: state_items || [] };
450
- }, peg$c1352 = "hooked_state", peg$c1353 = peg$literalExpectation("hooked_state", false), peg$c1354 = function (state_items) {
451
- return { key: "default_hooked_state_config", value: state_items || [] };
452
- }, peg$c1355 = function (actionkey, value) { return { key: actionkey, value: value }; }, peg$c1356 = "action", peg$c1357 = peg$literalExpectation("action", false), peg$c1358 = function (action_items) {
453
- return { config_kind: "action", config_items: action_items || [] };
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
- 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 = "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 = "height", peg$c1476 = peg$literalExpectation("height", false), peg$c1477 = function (n) { return { height: n }; }, peg$c1478 = function (w, h) { return { width: w, height: h }; }, peg$c1479 = function (w) { return { width: w }; }, peg$c1480 = "default_size", peg$c1481 = peg$literalExpectation("default_size", false), peg$c1482 = function (value) { return { key: "default_size", value }; }, peg$c1483 = peg$otherExpectation("machine attribute"), peg$c1484 = "label", peg$c1485 = peg$literalExpectation("label", false), peg$c1486 = function (value) { return { key: 'state-label', value }; }, peg$c1487 = "color", peg$c1488 = peg$literalExpectation("color", false), peg$c1489 = function (value) { return { key: 'color', value }; }, peg$c1490 = peg$otherExpectation("text color"), peg$c1491 = "text-color", peg$c1492 = peg$literalExpectation("text-color", false), peg$c1493 = function (value) { return { key: 'text-color', value }; }, peg$c1494 = peg$otherExpectation("background color"), peg$c1495 = "background-color", peg$c1496 = peg$literalExpectation("background-color", false), peg$c1497 = function (value) { return { key: 'background-color', value }; }, peg$c1498 = peg$otherExpectation("border color"), peg$c1499 = "border-color", peg$c1500 = peg$literalExpectation("border-color", false), peg$c1501 = function (value) { return { key: 'border-color', value }; }, peg$c1502 = peg$otherExpectation("shape"), peg$c1503 = "shape", peg$c1504 = peg$literalExpectation("shape", false), peg$c1505 = function (value) { return { key: 'shape', value }; }, peg$c1506 = peg$otherExpectation("corners"), peg$c1507 = "corners", peg$c1508 = peg$literalExpectation("corners", false), peg$c1509 = function (value) { return { key: 'corners', value }; }, peg$c1510 = peg$otherExpectation("linestyle"), peg$c1511 = function (value) { return { key: 'line-style', value }; }, peg$c1512 = "linestyle", peg$c1513 = peg$literalExpectation("linestyle", false), peg$c1514 = peg$otherExpectation("image"), peg$c1515 = "image", peg$c1516 = peg$literalExpectation("image", false), peg$c1517 = function (value) { return { key: 'image', value }; }, peg$c1518 = peg$otherExpectation("url"), peg$c1519 = "url", peg$c1520 = peg$literalExpectation("url", false), peg$c1521 = function (value) { return { key: 'url', value }; }, peg$c1522 = peg$otherExpectation("state property"), peg$c1523 = "property", peg$c1524 = peg$literalExpectation("property", false), peg$c1525 = function (name, value) {
457
- return { key: 'state_property', name, value };
458
- }, peg$c1526 = "required", peg$c1527 = peg$literalExpectation("required", false), peg$c1528 = function (name, value) {
459
- return { key: 'state_property', name, value, required: true };
460
- }, peg$c1529 = function (name, value) { return { key: 'state_declaration', name, value }; }, peg$c1530 = "&", peg$c1531 = peg$literalExpectation("&", false), peg$c1532 = function (name, value) { return { key: 'named_list', name, value }; }, peg$c1533 = function (name, default_value) { return { key: 'property_definition', name, default_value, required: true }; }, peg$c1534 = function (name) { return { key: 'property_definition', name, required: true }; }, peg$c1535 = function (name, default_value) { return { key: 'property_definition', name, default_value }; }, peg$c1536 = function (name) { return { key: 'property_definition', name }; }, peg$c1537 = "arrange", peg$c1538 = peg$literalExpectation("arrange", false), peg$c1539 = function (value) { return { key: 'arrange_declaration', value }; }, peg$c1540 = "arrange-start", peg$c1541 = peg$literalExpectation("arrange-start", false), peg$c1542 = function (value) { return { key: 'arrange_start_declaration', value }; }, peg$c1543 = "arrange-end", peg$c1544 = peg$literalExpectation("arrange-end", false), peg$c1545 = function (value) { return { key: 'arrange_end_declaration', value }; }, peg$c1546 = 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;
524
+ }, peg$c1320 = "whargarbl", peg$c1321 = peg$literalExpectation("whargarbl", false), peg$c1322 = "todo", peg$c1323 = peg$literalExpectation("todo", false), peg$c1324 = function (validationkey, value) {
525
+ const node = { key: validationkey, value: value };
526
+ if (options.locations) {
527
+ node.loc = location();
528
+ }
529
+ return node;
530
+ }, peg$c1325 = "validation", peg$c1326 = peg$literalExpectation("validation", false), peg$c1327 = "};", peg$c1328 = peg$literalExpectation("};", false), peg$c1329 = function (validation_items) {
531
+ const node = { config_kind: "validation", config_items: validation_items || [] };
532
+ if (options.locations) {
533
+ node.loc = location();
534
+ }
535
+ return node;
536
+ }, peg$c1330 = "dot", peg$c1331 = peg$literalExpectation("dot", false), peg$c1332 = "circo", peg$c1333 = peg$literalExpectation("circo", false), peg$c1334 = "fdp", peg$c1335 = peg$literalExpectation("fdp", false), peg$c1336 = "neato", peg$c1337 = peg$literalExpectation("neato", false), peg$c1338 = "twopi", peg$c1339 = peg$literalExpectation("twopi", false), peg$c1340 = "state", peg$c1341 = peg$literalExpectation("state", false), peg$c1342 = function (state_items) {
537
+ const node = { key: "default_state_config", value: state_items || [] };
538
+ if (options.locations) {
539
+ node.loc = location();
540
+ }
541
+ return node;
542
+ }, peg$c1343 = "start_state", peg$c1344 = peg$literalExpectation("start_state", false), peg$c1345 = function (state_items) {
543
+ const node = { key: "default_start_state_config", value: state_items || [] };
544
+ if (options.locations) {
545
+ node.loc = location();
546
+ }
547
+ return node;
548
+ }, peg$c1346 = "end_state", peg$c1347 = peg$literalExpectation("end_state", false), peg$c1348 = function (state_items) {
549
+ const node = { key: "default_end_state_config", value: state_items || [] };
550
+ if (options.locations) {
551
+ node.loc = location();
552
+ }
553
+ return node;
554
+ }, peg$c1349 = "active_state", peg$c1350 = peg$literalExpectation("active_state", false), peg$c1351 = function (state_items) {
555
+ const node = { key: "default_active_state_config", value: state_items || [] };
556
+ if (options.locations) {
557
+ node.loc = location();
558
+ }
559
+ return node;
560
+ }, peg$c1352 = "terminal_state", peg$c1353 = peg$literalExpectation("terminal_state", false), peg$c1354 = function (state_items) {
561
+ const node = { key: "default_terminal_state_config", value: state_items || [] };
562
+ if (options.locations) {
563
+ node.loc = location();
564
+ }
565
+ return node;
566
+ }, peg$c1355 = "hooked_state", peg$c1356 = peg$literalExpectation("hooked_state", false), peg$c1357 = function (state_items) {
567
+ const node = { key: "default_hooked_state_config", value: state_items || [] };
568
+ if (options.locations) {
569
+ node.loc = location();
570
+ }
571
+ return node;
572
+ }, peg$c1358 = function (actionkey, value) {
573
+ const node = { key: actionkey, value: value };
574
+ if (options.locations) {
575
+ node.loc = location();
576
+ }
577
+ return node;
578
+ }, peg$c1359 = "action", peg$c1360 = peg$literalExpectation("action", false), peg$c1361 = function (action_items) {
579
+ const node = { config_kind: "action", config_items: action_items || [] };
580
+ if (options.locations) {
581
+ node.loc = location();
582
+ }
583
+ return node;
584
+ }, peg$c1362 = function (key, value) {
585
+ const node = { key, value };
586
+ if (options.locations) {
587
+ node.loc = location();
588
+ }
589
+ return node;
590
+ }, peg$c1363 = peg$otherExpectation("graph default edge color"), peg$c1364 = function (value) {
591
+ const raw = options.locations ? value.__v : value;
592
+ const node = { key: 'graph_default_edge_color', value: raw };
593
+ if (options.locations) {
594
+ node.loc = location();
595
+ node.value_loc = value.__loc;
596
+ }
597
+ return node;
598
+ }, peg$c1365 = "transition", peg$c1366 = peg$literalExpectation("transition", false), peg$c1367 = function (transition_items) {
599
+ const node = { config_kind: "transition", config_items: transition_items || [] };
600
+ if (options.locations) {
601
+ node.loc = location();
602
+ }
603
+ return node;
604
+ }, peg$c1368 = "graph_layout", peg$c1369 = peg$literalExpectation("graph_layout", false), peg$c1370 = function (value) {
605
+ const node = { key: "graph_layout", value: value };
606
+ if (options.locations) {
607
+ node.loc = location();
608
+ }
609
+ return node;
610
+ }, peg$c1371 = "start_states", peg$c1372 = peg$literalExpectation("start_states", false), peg$c1373 = function (value) {
611
+ const node = { key: "start_states", value: value };
612
+ if (options.locations) {
613
+ node.loc = location();
614
+ }
615
+ return node;
616
+ }, peg$c1374 = "end_states", peg$c1375 = peg$literalExpectation("end_states", false), peg$c1376 = function (value) {
617
+ const node = { key: "end_states", value: value };
618
+ if (options.locations) {
619
+ node.loc = location();
620
+ }
621
+ return node;
622
+ }, peg$c1377 = "failed_outputs", peg$c1378 = peg$literalExpectation("failed_outputs", false), peg$c1379 = function (value) {
623
+ const raw = options.locations ? value.__v : value;
624
+ const node = { key: "failed_outputs", value: typeof raw === 'string' ? [raw] : raw };
625
+ if (options.locations) {
626
+ node.loc = location();
627
+ node.value_loc = value.__loc;
628
+ }
629
+ return node;
630
+ }, peg$c1380 = "graph_bg_color", peg$c1381 = peg$literalExpectation("graph_bg_color", false), peg$c1382 = function (value) {
631
+ const raw = options.locations ? value.__v : value;
632
+ const node = { key: "graph_bg_color", value: raw };
633
+ if (options.locations) {
634
+ node.loc = location();
635
+ node.value_loc = value.__loc;
636
+ }
637
+ return node;
638
+ }, peg$c1383 = "allows_override", peg$c1384 = peg$literalExpectation("allows_override", false), peg$c1385 = function (value) {
639
+ const node = { key: "allows_override", value: value };
640
+ if (options.locations) {
641
+ node.loc = location();
642
+ }
643
+ return node;
644
+ }, peg$c1386 = "allow_islands", peg$c1387 = peg$literalExpectation("allow_islands", false), peg$c1388 = function (value) {
645
+ const raw = options.locations ? value.__v : value;
646
+ const node = { key: "allow_islands", value: raw };
647
+ if (options.locations) {
648
+ node.loc = location();
649
+ node.value_loc = value.__loc;
650
+ }
651
+ return node;
652
+ }, peg$c1389 = function () { return true; }, peg$c1390 = function () { return false; }, peg$c1391 = "with_start", peg$c1392 = peg$literalExpectation("with_start", false), peg$c1393 = function () { return 'with_start'; }, peg$c1394 = function () { return true; }, peg$c1395 = function () { return false; }, peg$c1396 = peg$otherExpectation("configuration"), peg$c1397 = "MIT", peg$c1398 = peg$literalExpectation("MIT", false), peg$c1399 = "BSD 2-clause", peg$c1400 = peg$literalExpectation("BSD 2-clause", false), peg$c1401 = "BSD 3-clause", peg$c1402 = peg$literalExpectation("BSD 3-clause", false), peg$c1403 = "Apache 2.0", peg$c1404 = peg$literalExpectation("Apache 2.0", false), peg$c1405 = "Mozilla 2.0", peg$c1406 = peg$literalExpectation("Mozilla 2.0", false), peg$c1407 = "Public domain", peg$c1408 = peg$literalExpectation("Public domain", false), peg$c1409 = "GPL v2", peg$c1410 = peg$literalExpectation("GPL v2", false), peg$c1411 = "GPL v3", peg$c1412 = peg$literalExpectation("GPL v3", false), peg$c1413 = "LGPL v2.1", peg$c1414 = peg$literalExpectation("LGPL v2.1", false), peg$c1415 = "LGPL v3.0", peg$c1416 = peg$literalExpectation("LGPL v3.0", false), peg$c1417 = "Unknown", peg$c1418 = peg$literalExpectation("Unknown", false), peg$c1419 = peg$otherExpectation("direction"), peg$c1420 = "up", peg$c1421 = peg$literalExpectation("up", false), peg$c1422 = "right", peg$c1423 = peg$literalExpectation("right", false), peg$c1424 = "down", peg$c1425 = peg$literalExpectation("down", false), peg$c1426 = "left", peg$c1427 = peg$literalExpectation("left", false), peg$c1428 = peg$otherExpectation("hook definition (open/closed)"), peg$c1429 = "open", peg$c1430 = peg$literalExpectation("open", false), peg$c1431 = "closed", peg$c1432 = peg$literalExpectation("closed", false), peg$c1433 = "machine_author", peg$c1434 = peg$literalExpectation("machine_author", false), peg$c1435 = function (value) {
653
+ const raw = options.locations ? value.__v : value;
654
+ const node = { key: "machine_author", value: raw };
655
+ if (options.locations) {
656
+ node.loc = location();
657
+ node.value_loc = value.__loc;
658
+ }
659
+ return node;
660
+ }, peg$c1436 = "machine_contributor", peg$c1437 = peg$literalExpectation("machine_contributor", false), peg$c1438 = function (value) {
661
+ const raw = options.locations ? value.__v : value;
662
+ const node = { key: "machine_contributor", value: raw };
663
+ if (options.locations) {
664
+ node.loc = location();
665
+ node.value_loc = value.__loc;
666
+ }
667
+ return node;
668
+ }, peg$c1439 = "machine_comment", peg$c1440 = peg$literalExpectation("machine_comment", false), peg$c1441 = function (value) {
669
+ const raw = options.locations ? value.__v : value;
670
+ const node = { key: "machine_comment", value: raw };
671
+ if (options.locations) {
672
+ node.loc = location();
673
+ node.value_loc = value.__loc;
674
+ }
675
+ return node;
676
+ }, peg$c1442 = "machine_definition", peg$c1443 = peg$literalExpectation("machine_definition", false), peg$c1444 = function (value) {
677
+ const raw = options.locations ? value.__v : value;
678
+ const node = { key: "machine_definition", value: raw };
679
+ if (options.locations) {
680
+ node.loc = location();
681
+ node.value_loc = value.__loc;
682
+ }
683
+ return node;
684
+ }, peg$c1445 = "machine_name", peg$c1446 = peg$literalExpectation("machine_name", false), peg$c1447 = function (value) {
685
+ const raw = options.locations ? value.__v : value;
686
+ const node = { key: "machine_name", value: raw };
687
+ if (options.locations) {
688
+ node.loc = location();
689
+ node.value_loc = value.__loc;
690
+ }
691
+ return node;
692
+ }, peg$c1448 = "npm_name", peg$c1449 = peg$literalExpectation("npm_name", false), peg$c1450 = function (value) {
693
+ const raw = options.locations ? value.__v : value;
694
+ const node = { key: "npm_name", value: raw };
695
+ if (options.locations) {
696
+ node.loc = location();
697
+ node.value_loc = value.__loc;
698
+ }
699
+ return node;
700
+ }, peg$c1451 = "machine_reference", peg$c1452 = peg$literalExpectation("machine_reference", false), peg$c1453 = function (value) {
701
+ const raw = options.locations ? value.__v : value;
702
+ const node = { key: "machine_reference", value: raw };
703
+ if (options.locations) {
704
+ node.loc = location();
705
+ node.value_loc = value.__loc;
706
+ }
707
+ return node;
708
+ }, peg$c1454 = "machine_version", peg$c1455 = peg$literalExpectation("machine_version", false), peg$c1456 = function (value) {
709
+ const raw = options.locations ? value.__v : value;
710
+ const node = { key: "machine_version", value: raw };
711
+ if (options.locations) {
712
+ node.loc = location();
713
+ node.value_loc = value.__loc;
714
+ }
715
+ return node;
716
+ }, peg$c1457 = "machine_license", peg$c1458 = peg$literalExpectation("machine_license", false), peg$c1459 = function (value) {
717
+ const raw = options.locations ? value.__v : value;
718
+ const node = { key: "machine_license", value: raw };
719
+ if (options.locations) {
720
+ node.loc = location();
721
+ node.value_loc = value.__loc;
722
+ }
723
+ return node;
724
+ }, peg$c1460 = "machine_language", peg$c1461 = peg$literalExpectation("machine_language", false), peg$c1462 = function (value) {
725
+ const raw = options.locations ? value.__v : value;
726
+ const node = { key: "machine_language", value: raw };
727
+ if (options.locations) {
728
+ node.loc = location();
729
+ node.value_loc = value.__loc;
730
+ }
731
+ return node;
732
+ }, peg$c1463 = "fsl_version", peg$c1464 = peg$literalExpectation("fsl_version", false), peg$c1465 = function (value) {
733
+ const raw = options.locations ? value.__v : value;
734
+ const node = { key: "fsl_version", value: raw };
735
+ if (options.locations) {
736
+ node.loc = location();
737
+ node.value_loc = value.__loc;
738
+ }
739
+ return node;
740
+ }, peg$c1466 = "theme", peg$c1467 = peg$literalExpectation("theme", false), peg$c1468 = function (value) {
741
+ const raw = options.locations ? value.__v : value;
742
+ const node = { key: "theme", value: raw };
743
+ if (options.locations) {
744
+ node.loc = location();
745
+ node.value_loc = value.__loc;
746
+ }
747
+ return node;
748
+ }, peg$c1469 = "flow", peg$c1470 = peg$literalExpectation("flow", false), peg$c1471 = function (value) {
749
+ const raw = options.locations ? value.__v : value;
750
+ const node = { key: "flow", value: raw };
751
+ if (options.locations) {
752
+ node.loc = location();
753
+ node.value_loc = value.__loc;
754
+ }
755
+ return node;
756
+ }, peg$c1472 = "hooks", peg$c1473 = peg$literalExpectation("hooks", false), peg$c1474 = function (value) {
757
+ const raw = options.locations ? value.__v : value;
758
+ const node = { key: "hook_definition", value: raw };
759
+ if (options.locations) {
760
+ node.loc = location();
761
+ node.value_loc = value.__loc;
762
+ }
763
+ return node;
764
+ }, peg$c1475 = "dot_preamble", peg$c1476 = peg$literalExpectation("dot_preamble", false), peg$c1477 = function (value) {
765
+ const raw = options.locations ? value.__v : value;
766
+ const node = { key: "dot_preamble", value: raw };
767
+ if (options.locations) {
768
+ node.loc = location();
769
+ node.value_loc = value.__loc;
770
+ }
771
+ return node;
772
+ }, peg$c1478 = "height", peg$c1479 = peg$literalExpectation("height", false), peg$c1480 = function (n) { return { height: n }; }, peg$c1481 = function (w, h) { return { width: w, height: h }; }, peg$c1482 = function (w) { return { width: w }; }, peg$c1483 = "default_size", peg$c1484 = peg$literalExpectation("default_size", false), peg$c1485 = function (value) {
773
+ const raw = options.locations ? value.__v : value;
774
+ const node = { key: "default_size", value: raw };
775
+ if (options.locations) {
776
+ node.loc = location();
777
+ node.value_loc = value.__loc;
778
+ }
779
+ return node;
780
+ }, peg$c1486 = peg$otherExpectation("machine attribute"), peg$c1487 = "label", peg$c1488 = peg$literalExpectation("label", false), peg$c1489 = function (value) {
781
+ const node = { key: 'state-label', value };
782
+ if (options.locations) {
783
+ node.loc = location();
784
+ }
785
+ return node;
786
+ }, peg$c1490 = "color", peg$c1491 = peg$literalExpectation("color", false), peg$c1492 = function (value) {
787
+ const raw = options.locations ? value.__v : value;
788
+ const node = { key: 'color', value: raw };
789
+ if (options.locations) {
790
+ node.loc = location();
791
+ node.value_loc = value.__loc;
792
+ }
793
+ return node;
794
+ }, peg$c1493 = peg$otherExpectation("text color"), peg$c1494 = "text-color", peg$c1495 = peg$literalExpectation("text-color", false), peg$c1496 = function (value) {
795
+ const raw = options.locations ? value.__v : value;
796
+ const node = { key: 'text-color', value: raw };
797
+ if (options.locations) {
798
+ node.loc = location();
799
+ node.value_loc = value.__loc;
800
+ }
801
+ return node;
802
+ }, peg$c1497 = peg$otherExpectation("background color"), peg$c1498 = "background-color", peg$c1499 = peg$literalExpectation("background-color", false), peg$c1500 = function (value) {
803
+ const raw = options.locations ? value.__v : value;
804
+ const node = { key: 'background-color', value: raw };
805
+ if (options.locations) {
806
+ node.loc = location();
807
+ node.value_loc = value.__loc;
808
+ }
809
+ return node;
810
+ }, peg$c1501 = peg$otherExpectation("border color"), peg$c1502 = "border-color", peg$c1503 = peg$literalExpectation("border-color", false), peg$c1504 = function (value) {
811
+ const raw = options.locations ? value.__v : value;
812
+ const node = { key: 'border-color', value: raw };
813
+ if (options.locations) {
814
+ node.loc = location();
815
+ node.value_loc = value.__loc;
816
+ }
817
+ return node;
818
+ }, peg$c1505 = peg$otherExpectation("shape"), peg$c1506 = "shape", peg$c1507 = peg$literalExpectation("shape", false), peg$c1508 = function (value) {
819
+ const node = { key: 'shape', value };
820
+ if (options.locations) {
821
+ node.loc = location();
822
+ }
823
+ return node;
824
+ }, peg$c1509 = peg$otherExpectation("corners"), peg$c1510 = "corners", peg$c1511 = peg$literalExpectation("corners", false), peg$c1512 = function (value) {
825
+ const node = { key: 'corners', value };
826
+ if (options.locations) {
827
+ node.loc = location();
828
+ }
829
+ return node;
830
+ }, peg$c1513 = peg$otherExpectation("linestyle"), peg$c1514 = function (value) {
831
+ const node = { key: 'line-style', value };
832
+ if (options.locations) {
833
+ node.loc = location();
834
+ }
835
+ return node;
836
+ }, peg$c1515 = "linestyle", peg$c1516 = peg$literalExpectation("linestyle", false), peg$c1517 = peg$otherExpectation("image"), peg$c1518 = "image", peg$c1519 = peg$literalExpectation("image", false), peg$c1520 = function (value) {
837
+ const node = { key: 'image', value };
838
+ if (options.locations) {
839
+ node.loc = location();
840
+ }
841
+ return node;
842
+ }, peg$c1521 = peg$otherExpectation("url"), peg$c1522 = "url", peg$c1523 = peg$literalExpectation("url", false), peg$c1524 = function (value) {
843
+ const node = { key: 'url', value };
844
+ if (options.locations) {
845
+ node.loc = location();
846
+ }
847
+ return node;
848
+ }, peg$c1525 = peg$otherExpectation("state property"), peg$c1526 = "property", peg$c1527 = peg$literalExpectation("property", false), peg$c1528 = function (name, value) {
849
+ const node = { key: 'state_property', name, value };
850
+ if (options.locations) {
851
+ node.loc = location();
852
+ }
853
+ return node;
854
+ }, peg$c1529 = "required", peg$c1530 = peg$literalExpectation("required", false), peg$c1531 = function (name, value) {
855
+ const node = { key: 'state_property', name, value, required: true };
856
+ if (options.locations) {
857
+ node.loc = location();
858
+ }
859
+ return node;
860
+ }, peg$c1532 = function (n) { return options.locations ? { __v: n, __loc: location() } : n; }, peg$c1533 = function (name, value) {
861
+ const raw = options.locations ? name.__v : name;
862
+ const node = { key: 'state_declaration', name: raw, value };
863
+ if (options.locations) {
864
+ node.loc = location();
865
+ node.name_loc = name.__loc;
866
+ }
867
+ return node;
868
+ }, peg$c1534 = "&", peg$c1535 = peg$literalExpectation("&", false), peg$c1536 = function (name, value) {
869
+ const node = { key: 'named_list', name, value };
870
+ if (options.locations) {
871
+ node.loc = location();
872
+ }
873
+ return node;
874
+ }, peg$c1537 = function (name, default_value) {
875
+ const node = { key: 'property_definition', name, default_value, required: true };
876
+ if (options.locations) {
877
+ node.loc = location();
878
+ }
879
+ return node;
880
+ }, peg$c1538 = function (name) {
881
+ const node = { key: 'property_definition', name, required: true };
882
+ if (options.locations) {
883
+ node.loc = location();
884
+ }
885
+ return node;
886
+ }, peg$c1539 = function (name, default_value) {
887
+ const node = { key: 'property_definition', name, default_value };
888
+ if (options.locations) {
889
+ node.loc = location();
890
+ }
891
+ return node;
892
+ }, peg$c1540 = function (name) {
893
+ const node = { key: 'property_definition', name };
894
+ if (options.locations) {
895
+ node.loc = location();
896
+ }
897
+ return node;
898
+ }, peg$c1541 = "arrange", peg$c1542 = peg$literalExpectation("arrange", false), peg$c1543 = function (value) {
899
+ const node = { key: 'arrange_declaration', value };
900
+ if (options.locations) {
901
+ node.loc = location();
902
+ }
903
+ return node;
904
+ }, peg$c1544 = "arrange-start", peg$c1545 = peg$literalExpectation("arrange-start", false), peg$c1546 = function (value) {
905
+ const node = { key: 'arrange_start_declaration', value };
906
+ if (options.locations) {
907
+ node.loc = location();
908
+ }
909
+ return node;
910
+ }, peg$c1547 = "arrange-end", peg$c1548 = peg$literalExpectation("arrange-end", false), peg$c1549 = function (value) {
911
+ const node = { key: 'arrange_end_declaration', value };
912
+ if (options.locations) {
913
+ node.loc = location();
914
+ }
915
+ return node;
916
+ }, peg$c1550 = 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
917
  if ("startRule" in options) {
462
918
  if (!(options.startRule in peg$startRuleFunctions)) {
463
919
  throw new Error("Can't start parsing from rule \"" + options.startRule + "\".");
@@ -10800,7 +11256,13 @@ function peg$parse(input, options) {
10800
11256
  s5 = null;
10801
11257
  }
10802
11258
  if (s5 !== peg$FAILED) {
10803
- s6 = peg$parseColor();
11259
+ s6 = peg$currPos;
11260
+ s7 = peg$parseColor();
11261
+ if (s7 !== peg$FAILED) {
11262
+ peg$savedPos = s6;
11263
+ s7 = peg$c1214(s7);
11264
+ }
11265
+ s6 = s7;
10804
11266
  if (s6 !== peg$FAILED) {
10805
11267
  s7 = peg$parseWS();
10806
11268
  if (s7 === peg$FAILED) {
@@ -10824,7 +11286,7 @@ function peg$parse(input, options) {
10824
11286
  }
10825
11287
  if (s9 !== peg$FAILED) {
10826
11288
  peg$savedPos = s0;
10827
- s1 = peg$c1214(s6);
11289
+ s1 = peg$c1215(s6);
10828
11290
  s0 = s1;
10829
11291
  }
10830
11292
  else {
@@ -10878,14 +11340,14 @@ function peg$parse(input, options) {
10878
11340
  s1 = null;
10879
11341
  }
10880
11342
  if (s1 !== peg$FAILED) {
10881
- if (input.substr(peg$currPos, 10) === peg$c1215) {
10882
- s2 = peg$c1215;
11343
+ if (input.substr(peg$currPos, 10) === peg$c1216) {
11344
+ s2 = peg$c1216;
10883
11345
  peg$currPos += 10;
10884
11346
  }
10885
11347
  else {
10886
11348
  s2 = peg$FAILED;
10887
11349
  if (peg$silentFails === 0) {
10888
- peg$fail(peg$c1216);
11350
+ peg$fail(peg$c1217);
10889
11351
  }
10890
11352
  }
10891
11353
  if (s2 !== peg$FAILED) {
@@ -10910,7 +11372,13 @@ function peg$parse(input, options) {
10910
11372
  s5 = null;
10911
11373
  }
10912
11374
  if (s5 !== peg$FAILED) {
10913
- s6 = peg$parseColor();
11375
+ s6 = peg$currPos;
11376
+ s7 = peg$parseColor();
11377
+ if (s7 !== peg$FAILED) {
11378
+ peg$savedPos = s6;
11379
+ s7 = peg$c1214(s7);
11380
+ }
11381
+ s6 = s7;
10914
11382
  if (s6 !== peg$FAILED) {
10915
11383
  s7 = peg$parseWS();
10916
11384
  if (s7 === peg$FAILED) {
@@ -10934,7 +11402,7 @@ function peg$parse(input, options) {
10934
11402
  }
10935
11403
  if (s9 !== peg$FAILED) {
10936
11404
  peg$savedPos = s0;
10937
- s1 = peg$c1214(s6);
11405
+ s1 = peg$c1215(s6);
10938
11406
  s0 = s1;
10939
11407
  }
10940
11408
  else {
@@ -11000,14 +11468,14 @@ function peg$parse(input, options) {
11000
11468
  s1 = null;
11001
11469
  }
11002
11470
  if (s1 !== peg$FAILED) {
11003
- if (input.substr(peg$currPos, 10) === peg$c1218) {
11004
- s2 = peg$c1218;
11471
+ if (input.substr(peg$currPos, 10) === peg$c1219) {
11472
+ s2 = peg$c1219;
11005
11473
  peg$currPos += 10;
11006
11474
  }
11007
11475
  else {
11008
11476
  s2 = peg$FAILED;
11009
11477
  if (peg$silentFails === 0) {
11010
- peg$fail(peg$c1219);
11478
+ peg$fail(peg$c1220);
11011
11479
  }
11012
11480
  }
11013
11481
  if (s2 !== peg$FAILED) {
@@ -11056,7 +11524,7 @@ function peg$parse(input, options) {
11056
11524
  }
11057
11525
  if (s9 !== peg$FAILED) {
11058
11526
  peg$savedPos = s0;
11059
- s1 = peg$c1220(s6);
11527
+ s1 = peg$c1221(s6);
11060
11528
  s0 = s1;
11061
11529
  }
11062
11530
  else {
@@ -11107,7 +11575,7 @@ function peg$parse(input, options) {
11107
11575
  if (s0 === peg$FAILED) {
11108
11576
  s1 = peg$FAILED;
11109
11577
  if (peg$silentFails === 0) {
11110
- peg$fail(peg$c1217);
11578
+ peg$fail(peg$c1218);
11111
11579
  }
11112
11580
  }
11113
11581
  return s0;
@@ -11137,13 +11605,13 @@ function peg$parse(input, options) {
11137
11605
  var s0, s1, s2, s3, s4, s5;
11138
11606
  s0 = peg$currPos;
11139
11607
  if (input.charCodeAt(peg$currPos) === 123) {
11140
- s1 = peg$c1221;
11608
+ s1 = peg$c1222;
11141
11609
  peg$currPos++;
11142
11610
  }
11143
11611
  else {
11144
11612
  s1 = peg$FAILED;
11145
11613
  if (peg$silentFails === 0) {
11146
- peg$fail(peg$c1222);
11614
+ peg$fail(peg$c1223);
11147
11615
  }
11148
11616
  }
11149
11617
  if (s1 !== peg$FAILED) {
@@ -11163,18 +11631,18 @@ function peg$parse(input, options) {
11163
11631
  }
11164
11632
  if (s4 !== peg$FAILED) {
11165
11633
  if (input.charCodeAt(peg$currPos) === 125) {
11166
- s5 = peg$c1223;
11634
+ s5 = peg$c1224;
11167
11635
  peg$currPos++;
11168
11636
  }
11169
11637
  else {
11170
11638
  s5 = peg$FAILED;
11171
11639
  if (peg$silentFails === 0) {
11172
- peg$fail(peg$c1224);
11640
+ peg$fail(peg$c1225);
11173
11641
  }
11174
11642
  }
11175
11643
  if (s5 !== peg$FAILED) {
11176
11644
  peg$savedPos = s0;
11177
- s1 = peg$c1225(s3);
11645
+ s1 = peg$c1226(s3);
11178
11646
  s0 = s1;
11179
11647
  }
11180
11648
  else {
@@ -11209,18 +11677,18 @@ function peg$parse(input, options) {
11209
11677
  s1 = peg$parseNonNegNumber();
11210
11678
  if (s1 !== peg$FAILED) {
11211
11679
  if (input.charCodeAt(peg$currPos) === 37) {
11212
- s2 = peg$c1226;
11680
+ s2 = peg$c1227;
11213
11681
  peg$currPos++;
11214
11682
  }
11215
11683
  else {
11216
11684
  s2 = peg$FAILED;
11217
11685
  if (peg$silentFails === 0) {
11218
- peg$fail(peg$c1227);
11686
+ peg$fail(peg$c1228);
11219
11687
  }
11220
11688
  }
11221
11689
  if (s2 !== peg$FAILED) {
11222
11690
  peg$savedPos = s0;
11223
- s1 = peg$c1228(s1);
11691
+ s1 = peg$c1229(s1);
11224
11692
  s0 = s1;
11225
11693
  }
11226
11694
  else {
@@ -11237,478 +11705,478 @@ function peg$parse(input, options) {
11237
11705
  function peg$parseTimeType() {
11238
11706
  var s0, s1;
11239
11707
  s0 = peg$currPos;
11240
- if (input.substr(peg$currPos, 12) === peg$c1229) {
11241
- s1 = peg$c1229;
11708
+ if (input.substr(peg$currPos, 12) === peg$c1230) {
11709
+ s1 = peg$c1230;
11242
11710
  peg$currPos += 12;
11243
11711
  }
11244
11712
  else {
11245
11713
  s1 = peg$FAILED;
11246
11714
  if (peg$silentFails === 0) {
11247
- peg$fail(peg$c1230);
11715
+ peg$fail(peg$c1231);
11248
11716
  }
11249
11717
  }
11250
11718
  if (s1 !== peg$FAILED) {
11251
11719
  peg$savedPos = s0;
11252
- s1 = peg$c1231();
11720
+ s1 = peg$c1232();
11253
11721
  }
11254
11722
  s0 = s1;
11255
11723
  if (s0 === peg$FAILED) {
11256
11724
  s0 = peg$currPos;
11257
- if (input.substr(peg$currPos, 11) === peg$c1232) {
11258
- s1 = peg$c1232;
11725
+ if (input.substr(peg$currPos, 11) === peg$c1233) {
11726
+ s1 = peg$c1233;
11259
11727
  peg$currPos += 11;
11260
11728
  }
11261
11729
  else {
11262
11730
  s1 = peg$FAILED;
11263
11731
  if (peg$silentFails === 0) {
11264
- peg$fail(peg$c1233);
11732
+ peg$fail(peg$c1234);
11265
11733
  }
11266
11734
  }
11267
11735
  if (s1 !== peg$FAILED) {
11268
11736
  peg$savedPos = s0;
11269
- s1 = peg$c1231();
11737
+ s1 = peg$c1232();
11270
11738
  }
11271
11739
  s0 = s1;
11272
11740
  if (s0 === peg$FAILED) {
11273
11741
  s0 = peg$currPos;
11274
- if (input.substr(peg$currPos, 5) === peg$c1234) {
11275
- s1 = peg$c1234;
11742
+ if (input.substr(peg$currPos, 5) === peg$c1235) {
11743
+ s1 = peg$c1235;
11276
11744
  peg$currPos += 5;
11277
11745
  }
11278
11746
  else {
11279
11747
  s1 = peg$FAILED;
11280
11748
  if (peg$silentFails === 0) {
11281
- peg$fail(peg$c1235);
11749
+ peg$fail(peg$c1236);
11282
11750
  }
11283
11751
  }
11284
11752
  if (s1 !== peg$FAILED) {
11285
11753
  peg$savedPos = s0;
11286
- s1 = peg$c1231();
11754
+ s1 = peg$c1232();
11287
11755
  }
11288
11756
  s0 = s1;
11289
11757
  if (s0 === peg$FAILED) {
11290
11758
  s0 = peg$currPos;
11291
- if (input.substr(peg$currPos, 4) === peg$c1236) {
11292
- s1 = peg$c1236;
11759
+ if (input.substr(peg$currPos, 4) === peg$c1237) {
11760
+ s1 = peg$c1237;
11293
11761
  peg$currPos += 4;
11294
11762
  }
11295
11763
  else {
11296
11764
  s1 = peg$FAILED;
11297
11765
  if (peg$silentFails === 0) {
11298
- peg$fail(peg$c1237);
11766
+ peg$fail(peg$c1238);
11299
11767
  }
11300
11768
  }
11301
11769
  if (s1 !== peg$FAILED) {
11302
11770
  peg$savedPos = s0;
11303
- s1 = peg$c1231();
11771
+ s1 = peg$c1232();
11304
11772
  }
11305
11773
  s0 = s1;
11306
11774
  if (s0 === peg$FAILED) {
11307
11775
  s0 = peg$currPos;
11308
- if (input.substr(peg$currPos, 2) === peg$c1238) {
11309
- s1 = peg$c1238;
11776
+ if (input.substr(peg$currPos, 2) === peg$c1239) {
11777
+ s1 = peg$c1239;
11310
11778
  peg$currPos += 2;
11311
11779
  }
11312
11780
  else {
11313
11781
  s1 = peg$FAILED;
11314
11782
  if (peg$silentFails === 0) {
11315
- peg$fail(peg$c1239);
11783
+ peg$fail(peg$c1240);
11316
11784
  }
11317
11785
  }
11318
11786
  if (s1 !== peg$FAILED) {
11319
11787
  peg$savedPos = s0;
11320
- s1 = peg$c1231();
11788
+ s1 = peg$c1232();
11321
11789
  }
11322
11790
  s0 = s1;
11323
11791
  if (s0 === peg$FAILED) {
11324
11792
  s0 = peg$currPos;
11325
- if (input.substr(peg$currPos, 7) === peg$c1240) {
11326
- s1 = peg$c1240;
11793
+ if (input.substr(peg$currPos, 7) === peg$c1241) {
11794
+ s1 = peg$c1241;
11327
11795
  peg$currPos += 7;
11328
11796
  }
11329
11797
  else {
11330
11798
  s1 = peg$FAILED;
11331
11799
  if (peg$silentFails === 0) {
11332
- peg$fail(peg$c1241);
11800
+ peg$fail(peg$c1242);
11333
11801
  }
11334
11802
  }
11335
11803
  if (s1 !== peg$FAILED) {
11336
11804
  peg$savedPos = s0;
11337
- s1 = peg$c1242();
11805
+ s1 = peg$c1243();
11338
11806
  }
11339
11807
  s0 = s1;
11340
11808
  if (s0 === peg$FAILED) {
11341
11809
  s0 = peg$currPos;
11342
- if (input.substr(peg$currPos, 6) === peg$c1243) {
11343
- s1 = peg$c1243;
11810
+ if (input.substr(peg$currPos, 6) === peg$c1244) {
11811
+ s1 = peg$c1244;
11344
11812
  peg$currPos += 6;
11345
11813
  }
11346
11814
  else {
11347
11815
  s1 = peg$FAILED;
11348
11816
  if (peg$silentFails === 0) {
11349
- peg$fail(peg$c1244);
11817
+ peg$fail(peg$c1245);
11350
11818
  }
11351
11819
  }
11352
11820
  if (s1 !== peg$FAILED) {
11353
11821
  peg$savedPos = s0;
11354
- s1 = peg$c1242();
11822
+ s1 = peg$c1243();
11355
11823
  }
11356
11824
  s0 = s1;
11357
11825
  if (s0 === peg$FAILED) {
11358
11826
  s0 = peg$currPos;
11359
- if (input.substr(peg$currPos, 4) === peg$c1245) {
11360
- s1 = peg$c1245;
11827
+ if (input.substr(peg$currPos, 4) === peg$c1246) {
11828
+ s1 = peg$c1246;
11361
11829
  peg$currPos += 4;
11362
11830
  }
11363
11831
  else {
11364
11832
  s1 = peg$FAILED;
11365
11833
  if (peg$silentFails === 0) {
11366
- peg$fail(peg$c1246);
11834
+ peg$fail(peg$c1247);
11367
11835
  }
11368
11836
  }
11369
11837
  if (s1 !== peg$FAILED) {
11370
11838
  peg$savedPos = s0;
11371
- s1 = peg$c1242();
11839
+ s1 = peg$c1243();
11372
11840
  }
11373
11841
  s0 = s1;
11374
11842
  if (s0 === peg$FAILED) {
11375
11843
  s0 = peg$currPos;
11376
- if (input.substr(peg$currPos, 3) === peg$c1247) {
11377
- s1 = peg$c1247;
11844
+ if (input.substr(peg$currPos, 3) === peg$c1248) {
11845
+ s1 = peg$c1248;
11378
11846
  peg$currPos += 3;
11379
11847
  }
11380
11848
  else {
11381
11849
  s1 = peg$FAILED;
11382
11850
  if (peg$silentFails === 0) {
11383
- peg$fail(peg$c1248);
11851
+ peg$fail(peg$c1249);
11384
11852
  }
11385
11853
  }
11386
11854
  if (s1 !== peg$FAILED) {
11387
11855
  peg$savedPos = s0;
11388
- s1 = peg$c1242();
11856
+ s1 = peg$c1243();
11389
11857
  }
11390
11858
  s0 = s1;
11391
11859
  if (s0 === peg$FAILED) {
11392
11860
  s0 = peg$currPos;
11393
11861
  if (input.charCodeAt(peg$currPos) === 115) {
11394
- s1 = peg$c1249;
11862
+ s1 = peg$c1250;
11395
11863
  peg$currPos++;
11396
11864
  }
11397
11865
  else {
11398
11866
  s1 = peg$FAILED;
11399
11867
  if (peg$silentFails === 0) {
11400
- peg$fail(peg$c1250);
11868
+ peg$fail(peg$c1251);
11401
11869
  }
11402
11870
  }
11403
11871
  if (s1 !== peg$FAILED) {
11404
11872
  peg$savedPos = s0;
11405
- s1 = peg$c1242();
11873
+ s1 = peg$c1243();
11406
11874
  }
11407
11875
  s0 = s1;
11408
11876
  if (s0 === peg$FAILED) {
11409
11877
  s0 = peg$currPos;
11410
- if (input.substr(peg$currPos, 7) === peg$c1251) {
11411
- s1 = peg$c1251;
11878
+ if (input.substr(peg$currPos, 7) === peg$c1252) {
11879
+ s1 = peg$c1252;
11412
11880
  peg$currPos += 7;
11413
11881
  }
11414
11882
  else {
11415
11883
  s1 = peg$FAILED;
11416
11884
  if (peg$silentFails === 0) {
11417
- peg$fail(peg$c1252);
11885
+ peg$fail(peg$c1253);
11418
11886
  }
11419
11887
  }
11420
11888
  if (s1 !== peg$FAILED) {
11421
11889
  peg$savedPos = s0;
11422
- s1 = peg$c1253();
11890
+ s1 = peg$c1254();
11423
11891
  }
11424
11892
  s0 = s1;
11425
11893
  if (s0 === peg$FAILED) {
11426
11894
  s0 = peg$currPos;
11427
- if (input.substr(peg$currPos, 6) === peg$c1254) {
11428
- s1 = peg$c1254;
11895
+ if (input.substr(peg$currPos, 6) === peg$c1255) {
11896
+ s1 = peg$c1255;
11429
11897
  peg$currPos += 6;
11430
11898
  }
11431
11899
  else {
11432
11900
  s1 = peg$FAILED;
11433
11901
  if (peg$silentFails === 0) {
11434
- peg$fail(peg$c1255);
11902
+ peg$fail(peg$c1256);
11435
11903
  }
11436
11904
  }
11437
11905
  if (s1 !== peg$FAILED) {
11438
11906
  peg$savedPos = s0;
11439
- s1 = peg$c1253();
11907
+ s1 = peg$c1254();
11440
11908
  }
11441
11909
  s0 = s1;
11442
11910
  if (s0 === peg$FAILED) {
11443
11911
  s0 = peg$currPos;
11444
- if (input.substr(peg$currPos, 4) === peg$c1256) {
11445
- s1 = peg$c1256;
11912
+ if (input.substr(peg$currPos, 4) === peg$c1257) {
11913
+ s1 = peg$c1257;
11446
11914
  peg$currPos += 4;
11447
11915
  }
11448
11916
  else {
11449
11917
  s1 = peg$FAILED;
11450
11918
  if (peg$silentFails === 0) {
11451
- peg$fail(peg$c1257);
11919
+ peg$fail(peg$c1258);
11452
11920
  }
11453
11921
  }
11454
11922
  if (s1 !== peg$FAILED) {
11455
11923
  peg$savedPos = s0;
11456
- s1 = peg$c1253();
11924
+ s1 = peg$c1254();
11457
11925
  }
11458
11926
  s0 = s1;
11459
11927
  if (s0 === peg$FAILED) {
11460
11928
  s0 = peg$currPos;
11461
- if (input.substr(peg$currPos, 3) === peg$c1258) {
11462
- s1 = peg$c1258;
11929
+ if (input.substr(peg$currPos, 3) === peg$c1259) {
11930
+ s1 = peg$c1259;
11463
11931
  peg$currPos += 3;
11464
11932
  }
11465
11933
  else {
11466
11934
  s1 = peg$FAILED;
11467
11935
  if (peg$silentFails === 0) {
11468
- peg$fail(peg$c1259);
11936
+ peg$fail(peg$c1260);
11469
11937
  }
11470
11938
  }
11471
11939
  if (s1 !== peg$FAILED) {
11472
11940
  peg$savedPos = s0;
11473
- s1 = peg$c1253();
11941
+ s1 = peg$c1254();
11474
11942
  }
11475
11943
  s0 = s1;
11476
11944
  if (s0 === peg$FAILED) {
11477
11945
  s0 = peg$currPos;
11478
11946
  if (input.charCodeAt(peg$currPos) === 109) {
11479
- s1 = peg$c1260;
11947
+ s1 = peg$c1261;
11480
11948
  peg$currPos++;
11481
11949
  }
11482
11950
  else {
11483
11951
  s1 = peg$FAILED;
11484
11952
  if (peg$silentFails === 0) {
11485
- peg$fail(peg$c1261);
11953
+ peg$fail(peg$c1262);
11486
11954
  }
11487
11955
  }
11488
11956
  if (s1 !== peg$FAILED) {
11489
11957
  peg$savedPos = s0;
11490
- s1 = peg$c1253();
11958
+ s1 = peg$c1254();
11491
11959
  }
11492
11960
  s0 = s1;
11493
11961
  if (s0 === peg$FAILED) {
11494
11962
  s0 = peg$currPos;
11495
- if (input.substr(peg$currPos, 5) === peg$c1262) {
11496
- s1 = peg$c1262;
11963
+ if (input.substr(peg$currPos, 5) === peg$c1263) {
11964
+ s1 = peg$c1263;
11497
11965
  peg$currPos += 5;
11498
11966
  }
11499
11967
  else {
11500
11968
  s1 = peg$FAILED;
11501
11969
  if (peg$silentFails === 0) {
11502
- peg$fail(peg$c1263);
11970
+ peg$fail(peg$c1264);
11503
11971
  }
11504
11972
  }
11505
11973
  if (s1 !== peg$FAILED) {
11506
11974
  peg$savedPos = s0;
11507
- s1 = peg$c1264();
11975
+ s1 = peg$c1265();
11508
11976
  }
11509
11977
  s0 = s1;
11510
11978
  if (s0 === peg$FAILED) {
11511
11979
  s0 = peg$currPos;
11512
- if (input.substr(peg$currPos, 4) === peg$c1265) {
11513
- s1 = peg$c1265;
11980
+ if (input.substr(peg$currPos, 4) === peg$c1266) {
11981
+ s1 = peg$c1266;
11514
11982
  peg$currPos += 4;
11515
11983
  }
11516
11984
  else {
11517
11985
  s1 = peg$FAILED;
11518
11986
  if (peg$silentFails === 0) {
11519
- peg$fail(peg$c1266);
11987
+ peg$fail(peg$c1267);
11520
11988
  }
11521
11989
  }
11522
11990
  if (s1 !== peg$FAILED) {
11523
11991
  peg$savedPos = s0;
11524
- s1 = peg$c1264();
11992
+ s1 = peg$c1265();
11525
11993
  }
11526
11994
  s0 = s1;
11527
11995
  if (s0 === peg$FAILED) {
11528
11996
  s0 = peg$currPos;
11529
- if (input.substr(peg$currPos, 3) === peg$c1267) {
11530
- s1 = peg$c1267;
11997
+ if (input.substr(peg$currPos, 3) === peg$c1268) {
11998
+ s1 = peg$c1268;
11531
11999
  peg$currPos += 3;
11532
12000
  }
11533
12001
  else {
11534
12002
  s1 = peg$FAILED;
11535
12003
  if (peg$silentFails === 0) {
11536
- peg$fail(peg$c1268);
12004
+ peg$fail(peg$c1269);
11537
12005
  }
11538
12006
  }
11539
12007
  if (s1 !== peg$FAILED) {
11540
12008
  peg$savedPos = s0;
11541
- s1 = peg$c1264();
12009
+ s1 = peg$c1265();
11542
12010
  }
11543
12011
  s0 = s1;
11544
12012
  if (s0 === peg$FAILED) {
11545
12013
  s0 = peg$currPos;
11546
- if (input.substr(peg$currPos, 2) === peg$c1269) {
11547
- s1 = peg$c1269;
12014
+ if (input.substr(peg$currPos, 2) === peg$c1270) {
12015
+ s1 = peg$c1270;
11548
12016
  peg$currPos += 2;
11549
12017
  }
11550
12018
  else {
11551
12019
  s1 = peg$FAILED;
11552
12020
  if (peg$silentFails === 0) {
11553
- peg$fail(peg$c1270);
12021
+ peg$fail(peg$c1271);
11554
12022
  }
11555
12023
  }
11556
12024
  if (s1 !== peg$FAILED) {
11557
12025
  peg$savedPos = s0;
11558
- s1 = peg$c1264();
12026
+ s1 = peg$c1265();
11559
12027
  }
11560
12028
  s0 = s1;
11561
12029
  if (s0 === peg$FAILED) {
11562
12030
  s0 = peg$currPos;
11563
12031
  if (input.charCodeAt(peg$currPos) === 104) {
11564
- s1 = peg$c1271;
12032
+ s1 = peg$c1272;
11565
12033
  peg$currPos++;
11566
12034
  }
11567
12035
  else {
11568
12036
  s1 = peg$FAILED;
11569
12037
  if (peg$silentFails === 0) {
11570
- peg$fail(peg$c1272);
12038
+ peg$fail(peg$c1273);
11571
12039
  }
11572
12040
  }
11573
12041
  if (s1 !== peg$FAILED) {
11574
12042
  peg$savedPos = s0;
11575
- s1 = peg$c1264();
12043
+ s1 = peg$c1265();
11576
12044
  }
11577
12045
  s0 = s1;
11578
12046
  if (s0 === peg$FAILED) {
11579
12047
  s0 = peg$currPos;
11580
- if (input.substr(peg$currPos, 4) === peg$c1273) {
11581
- s1 = peg$c1273;
12048
+ if (input.substr(peg$currPos, 4) === peg$c1274) {
12049
+ s1 = peg$c1274;
11582
12050
  peg$currPos += 4;
11583
12051
  }
11584
12052
  else {
11585
12053
  s1 = peg$FAILED;
11586
12054
  if (peg$silentFails === 0) {
11587
- peg$fail(peg$c1274);
12055
+ peg$fail(peg$c1275);
11588
12056
  }
11589
12057
  }
11590
12058
  if (s1 !== peg$FAILED) {
11591
12059
  peg$savedPos = s0;
11592
- s1 = peg$c1275();
12060
+ s1 = peg$c1276();
11593
12061
  }
11594
12062
  s0 = s1;
11595
12063
  if (s0 === peg$FAILED) {
11596
12064
  s0 = peg$currPos;
11597
- if (input.substr(peg$currPos, 3) === peg$c1276) {
11598
- s1 = peg$c1276;
12065
+ if (input.substr(peg$currPos, 3) === peg$c1277) {
12066
+ s1 = peg$c1277;
11599
12067
  peg$currPos += 3;
11600
12068
  }
11601
12069
  else {
11602
12070
  s1 = peg$FAILED;
11603
12071
  if (peg$silentFails === 0) {
11604
- peg$fail(peg$c1277);
12072
+ peg$fail(peg$c1278);
11605
12073
  }
11606
12074
  }
11607
12075
  if (s1 !== peg$FAILED) {
11608
12076
  peg$savedPos = s0;
11609
- s1 = peg$c1275();
12077
+ s1 = peg$c1276();
11610
12078
  }
11611
12079
  s0 = s1;
11612
12080
  if (s0 === peg$FAILED) {
11613
12081
  s0 = peg$currPos;
11614
12082
  if (input.charCodeAt(peg$currPos) === 100) {
11615
- s1 = peg$c1278;
12083
+ s1 = peg$c1279;
11616
12084
  peg$currPos++;
11617
12085
  }
11618
12086
  else {
11619
12087
  s1 = peg$FAILED;
11620
12088
  if (peg$silentFails === 0) {
11621
- peg$fail(peg$c1279);
12089
+ peg$fail(peg$c1280);
11622
12090
  }
11623
12091
  }
11624
12092
  if (s1 !== peg$FAILED) {
11625
12093
  peg$savedPos = s0;
11626
- s1 = peg$c1275();
12094
+ s1 = peg$c1276();
11627
12095
  }
11628
12096
  s0 = s1;
11629
12097
  if (s0 === peg$FAILED) {
11630
12098
  s0 = peg$currPos;
11631
- if (input.substr(peg$currPos, 5) === peg$c1280) {
11632
- s1 = peg$c1280;
12099
+ if (input.substr(peg$currPos, 5) === peg$c1281) {
12100
+ s1 = peg$c1281;
11633
12101
  peg$currPos += 5;
11634
12102
  }
11635
12103
  else {
11636
12104
  s1 = peg$FAILED;
11637
12105
  if (peg$silentFails === 0) {
11638
- peg$fail(peg$c1281);
12106
+ peg$fail(peg$c1282);
11639
12107
  }
11640
12108
  }
11641
12109
  if (s1 !== peg$FAILED) {
11642
12110
  peg$savedPos = s0;
11643
- s1 = peg$c1282();
12111
+ s1 = peg$c1283();
11644
12112
  }
11645
12113
  s0 = s1;
11646
12114
  if (s0 === peg$FAILED) {
11647
12115
  s0 = peg$currPos;
11648
- if (input.substr(peg$currPos, 4) === peg$c1283) {
11649
- s1 = peg$c1283;
12116
+ if (input.substr(peg$currPos, 4) === peg$c1284) {
12117
+ s1 = peg$c1284;
11650
12118
  peg$currPos += 4;
11651
12119
  }
11652
12120
  else {
11653
12121
  s1 = peg$FAILED;
11654
12122
  if (peg$silentFails === 0) {
11655
- peg$fail(peg$c1284);
12123
+ peg$fail(peg$c1285);
11656
12124
  }
11657
12125
  }
11658
12126
  if (s1 !== peg$FAILED) {
11659
12127
  peg$savedPos = s0;
11660
- s1 = peg$c1282();
12128
+ s1 = peg$c1283();
11661
12129
  }
11662
12130
  s0 = s1;
11663
12131
  if (s0 === peg$FAILED) {
11664
12132
  s0 = peg$currPos;
11665
- if (input.substr(peg$currPos, 3) === peg$c1285) {
11666
- s1 = peg$c1285;
12133
+ if (input.substr(peg$currPos, 3) === peg$c1286) {
12134
+ s1 = peg$c1286;
11667
12135
  peg$currPos += 3;
11668
12136
  }
11669
12137
  else {
11670
12138
  s1 = peg$FAILED;
11671
12139
  if (peg$silentFails === 0) {
11672
- peg$fail(peg$c1286);
12140
+ peg$fail(peg$c1287);
11673
12141
  }
11674
12142
  }
11675
12143
  if (s1 !== peg$FAILED) {
11676
12144
  peg$savedPos = s0;
11677
- s1 = peg$c1282();
12145
+ s1 = peg$c1283();
11678
12146
  }
11679
12147
  s0 = s1;
11680
12148
  if (s0 === peg$FAILED) {
11681
12149
  s0 = peg$currPos;
11682
- if (input.substr(peg$currPos, 2) === peg$c1287) {
11683
- s1 = peg$c1287;
12150
+ if (input.substr(peg$currPos, 2) === peg$c1288) {
12151
+ s1 = peg$c1288;
11684
12152
  peg$currPos += 2;
11685
12153
  }
11686
12154
  else {
11687
12155
  s1 = peg$FAILED;
11688
12156
  if (peg$silentFails === 0) {
11689
- peg$fail(peg$c1288);
12157
+ peg$fail(peg$c1289);
11690
12158
  }
11691
12159
  }
11692
12160
  if (s1 !== peg$FAILED) {
11693
12161
  peg$savedPos = s0;
11694
- s1 = peg$c1282();
12162
+ s1 = peg$c1283();
11695
12163
  }
11696
12164
  s0 = s1;
11697
12165
  if (s0 === peg$FAILED) {
11698
12166
  s0 = peg$currPos;
11699
12167
  if (input.charCodeAt(peg$currPos) === 119) {
11700
- s1 = peg$c1289;
12168
+ s1 = peg$c1290;
11701
12169
  peg$currPos++;
11702
12170
  }
11703
12171
  else {
11704
12172
  s1 = peg$FAILED;
11705
12173
  if (peg$silentFails === 0) {
11706
- peg$fail(peg$c1290);
12174
+ peg$fail(peg$c1291);
11707
12175
  }
11708
12176
  }
11709
12177
  if (s1 !== peg$FAILED) {
11710
12178
  peg$savedPos = s0;
11711
- s1 = peg$c1282();
12179
+ s1 = peg$c1283();
11712
12180
  }
11713
12181
  s0 = s1;
11714
12182
  }
@@ -11743,14 +12211,14 @@ function peg$parse(input, options) {
11743
12211
  function peg$parseArrowAfter() {
11744
12212
  var s0, s1, s2, s3, s4, s5;
11745
12213
  s0 = peg$currPos;
11746
- if (input.substr(peg$currPos, 5) === peg$c1291) {
11747
- s1 = peg$c1291;
12214
+ if (input.substr(peg$currPos, 5) === peg$c1292) {
12215
+ s1 = peg$c1292;
11748
12216
  peg$currPos += 5;
11749
12217
  }
11750
12218
  else {
11751
12219
  s1 = peg$FAILED;
11752
12220
  if (peg$silentFails === 0) {
11753
- peg$fail(peg$c1292);
12221
+ peg$fail(peg$c1293);
11754
12222
  }
11755
12223
  }
11756
12224
  if (s1 !== peg$FAILED) {
@@ -11769,7 +12237,7 @@ function peg$parse(input, options) {
11769
12237
  }
11770
12238
  if (s5 !== peg$FAILED) {
11771
12239
  peg$savedPos = s0;
11772
- s1 = peg$c1293(s3, s5);
12240
+ s1 = peg$c1294(s3, s5);
11773
12241
  s0 = s1;
11774
12242
  }
11775
12243
  else {
@@ -11874,7 +12342,7 @@ function peg$parse(input, options) {
11874
12342
  }
11875
12343
  if (s4 !== peg$FAILED) {
11876
12344
  peg$savedPos = s0;
11877
- s1 = peg$c1294(s3);
12345
+ s1 = peg$c1295(s3);
11878
12346
  s0 = s1;
11879
12347
  }
11880
12348
  else {
@@ -11909,14 +12377,14 @@ function peg$parse(input, options) {
11909
12377
  function peg$parseStripe() {
11910
12378
  var s0, s1, s2, s3, s4, s5, s6;
11911
12379
  s0 = peg$currPos;
11912
- if (input.substr(peg$currPos, 2) === peg$c1295) {
11913
- s1 = peg$c1295;
12380
+ if (input.substr(peg$currPos, 2) === peg$c1296) {
12381
+ s1 = peg$c1296;
11914
12382
  peg$currPos += 2;
11915
12383
  }
11916
12384
  else {
11917
12385
  s1 = peg$FAILED;
11918
12386
  if (peg$silentFails === 0) {
11919
- peg$fail(peg$c1296);
12387
+ peg$fail(peg$c1297);
11920
12388
  }
11921
12389
  }
11922
12390
  if (s1 !== peg$FAILED) {
@@ -11951,7 +12419,7 @@ function peg$parse(input, options) {
11951
12419
  }
11952
12420
  if (s2 !== peg$FAILED) {
11953
12421
  peg$savedPos = s0;
11954
- s1 = peg$c1297(s2);
12422
+ s1 = peg$c1298(s2);
11955
12423
  s0 = s1;
11956
12424
  }
11957
12425
  else {
@@ -11965,14 +12433,14 @@ function peg$parse(input, options) {
11965
12433
  }
11966
12434
  if (s0 === peg$FAILED) {
11967
12435
  s0 = peg$currPos;
11968
- if (input.substr(peg$currPos, 2) === peg$c1298) {
11969
- s1 = peg$c1298;
12436
+ if (input.substr(peg$currPos, 2) === peg$c1299) {
12437
+ s1 = peg$c1299;
11970
12438
  peg$currPos += 2;
11971
12439
  }
11972
12440
  else {
11973
12441
  s1 = peg$FAILED;
11974
12442
  if (peg$silentFails === 0) {
11975
- peg$fail(peg$c1299);
12443
+ peg$fail(peg$c1300);
11976
12444
  }
11977
12445
  }
11978
12446
  if (s1 !== peg$FAILED) {
@@ -12007,7 +12475,7 @@ function peg$parse(input, options) {
12007
12475
  }
12008
12476
  if (s2 !== peg$FAILED) {
12009
12477
  peg$savedPos = s0;
12010
- s1 = peg$c1300(s2);
12478
+ s1 = peg$c1301(s2);
12011
12479
  s0 = s1;
12012
12480
  }
12013
12481
  else {
@@ -12026,13 +12494,13 @@ function peg$parse(input, options) {
12026
12494
  var s0, s1, s2, s3, s4, s5, s6;
12027
12495
  s0 = peg$currPos;
12028
12496
  if (input.charCodeAt(peg$currPos) === 43) {
12029
- s1 = peg$c1301;
12497
+ s1 = peg$c1302;
12030
12498
  peg$currPos++;
12031
12499
  }
12032
12500
  else {
12033
12501
  s1 = peg$FAILED;
12034
12502
  if (peg$silentFails === 0) {
12035
- peg$fail(peg$c1302);
12503
+ peg$fail(peg$c1303);
12036
12504
  }
12037
12505
  }
12038
12506
  if (s1 !== peg$FAILED) {
@@ -12067,7 +12535,7 @@ function peg$parse(input, options) {
12067
12535
  }
12068
12536
  if (s2 !== peg$FAILED) {
12069
12537
  peg$savedPos = s0;
12070
- s1 = peg$c1303(s2);
12538
+ s1 = peg$c1304(s2);
12071
12539
  s0 = s1;
12072
12540
  }
12073
12541
  else {
@@ -12082,13 +12550,13 @@ function peg$parse(input, options) {
12082
12550
  if (s0 === peg$FAILED) {
12083
12551
  s0 = peg$currPos;
12084
12552
  if (input.charCodeAt(peg$currPos) === 45) {
12085
- s1 = peg$c1304;
12553
+ s1 = peg$c1305;
12086
12554
  peg$currPos++;
12087
12555
  }
12088
12556
  else {
12089
12557
  s1 = peg$FAILED;
12090
12558
  if (peg$silentFails === 0) {
12091
- peg$fail(peg$c1305);
12559
+ peg$fail(peg$c1306);
12092
12560
  }
12093
12561
  }
12094
12562
  if (s1 !== peg$FAILED) {
@@ -12123,7 +12591,7 @@ function peg$parse(input, options) {
12123
12591
  }
12124
12592
  if (s2 !== peg$FAILED) {
12125
12593
  peg$savedPos = s0;
12126
- s1 = peg$c1306(s2);
12594
+ s1 = peg$c1307(s2);
12127
12595
  s0 = s1;
12128
12596
  }
12129
12597
  else {
@@ -12137,19 +12605,19 @@ function peg$parse(input, options) {
12137
12605
  }
12138
12606
  if (s0 === peg$FAILED) {
12139
12607
  s0 = peg$currPos;
12140
- if (input.substr(peg$currPos, 2) === peg$c1307) {
12141
- s1 = peg$c1307;
12608
+ if (input.substr(peg$currPos, 2) === peg$c1308) {
12609
+ s1 = peg$c1308;
12142
12610
  peg$currPos += 2;
12143
12611
  }
12144
12612
  else {
12145
12613
  s1 = peg$FAILED;
12146
12614
  if (peg$silentFails === 0) {
12147
- peg$fail(peg$c1308);
12615
+ peg$fail(peg$c1309);
12148
12616
  }
12149
12617
  }
12150
12618
  if (s1 !== peg$FAILED) {
12151
12619
  peg$savedPos = s0;
12152
- s1 = peg$c1309();
12620
+ s1 = peg$c1310();
12153
12621
  }
12154
12622
  s0 = s1;
12155
12623
  }
@@ -12176,7 +12644,7 @@ function peg$parse(input, options) {
12176
12644
  s1 = peg$parseArrowAfter();
12177
12645
  if (s1 !== peg$FAILED) {
12178
12646
  peg$savedPos = s0;
12179
- s1 = peg$c1310(s1);
12647
+ s1 = peg$c1311(s1);
12180
12648
  }
12181
12649
  s0 = s1;
12182
12650
  if (s0 === peg$FAILED) {
@@ -12184,7 +12652,7 @@ function peg$parse(input, options) {
12184
12652
  s1 = peg$parseActionLabel();
12185
12653
  if (s1 !== peg$FAILED) {
12186
12654
  peg$savedPos = s0;
12187
- s1 = peg$c1311(s1);
12655
+ s1 = peg$c1312(s1);
12188
12656
  }
12189
12657
  s0 = s1;
12190
12658
  if (s0 === peg$FAILED) {
@@ -12192,7 +12660,7 @@ function peg$parse(input, options) {
12192
12660
  s1 = peg$parseArrowProbability();
12193
12661
  if (s1 !== peg$FAILED) {
12194
12662
  peg$savedPos = s0;
12195
- s1 = peg$c1312(s1);
12663
+ s1 = peg$c1313(s1);
12196
12664
  }
12197
12665
  s0 = s1;
12198
12666
  if (s0 === peg$FAILED) {
@@ -12200,7 +12668,7 @@ function peg$parse(input, options) {
12200
12668
  s1 = peg$parseArrowDesc();
12201
12669
  if (s1 !== peg$FAILED) {
12202
12670
  peg$savedPos = s0;
12203
- s1 = peg$c1313(s1);
12671
+ s1 = peg$c1314(s1);
12204
12672
  }
12205
12673
  s0 = s1;
12206
12674
  }
@@ -12220,7 +12688,7 @@ function peg$parse(input, options) {
12220
12688
  }
12221
12689
  if (s3 !== peg$FAILED) {
12222
12690
  peg$savedPos = s1;
12223
- s2 = peg$c1314(s2);
12691
+ s2 = peg$c1315(s2);
12224
12692
  s1 = s2;
12225
12693
  }
12226
12694
  else {
@@ -12243,7 +12711,7 @@ function peg$parse(input, options) {
12243
12711
  }
12244
12712
  if (s3 !== peg$FAILED) {
12245
12713
  peg$savedPos = s1;
12246
- s2 = peg$c1314(s2);
12714
+ s2 = peg$c1315(s2);
12247
12715
  s1 = s2;
12248
12716
  }
12249
12717
  else {
@@ -12287,7 +12755,13 @@ function peg$parse(input, options) {
12287
12755
  s7 = null;
12288
12756
  }
12289
12757
  if (s7 !== peg$FAILED) {
12290
- s8 = peg$parseArrowTarget();
12758
+ s8 = peg$currPos;
12759
+ s9 = peg$parseArrowTarget();
12760
+ if (s9 !== peg$FAILED) {
12761
+ peg$savedPos = s8;
12762
+ s9 = peg$c1316(s2, s4, s6, s9);
12763
+ }
12764
+ s8 = s9;
12291
12765
  if (s8 !== peg$FAILED) {
12292
12766
  s9 = peg$parseWS();
12293
12767
  if (s9 === peg$FAILED) {
@@ -12300,7 +12774,7 @@ function peg$parse(input, options) {
12300
12774
  }
12301
12775
  if (s10 !== peg$FAILED) {
12302
12776
  peg$savedPos = s0;
12303
- s1 = peg$c1315(s2, s4, s6, s8, s10);
12777
+ s1 = peg$c1317(s2, s4, s6, s8, s10);
12304
12778
  s0 = s1;
12305
12779
  }
12306
12780
  else {
@@ -12357,7 +12831,13 @@ function peg$parse(input, options) {
12357
12831
  function peg$parseExp() {
12358
12832
  var s0, s1, s2, s3, s4, s5;
12359
12833
  s0 = peg$currPos;
12360
- s1 = peg$parseArrowTarget();
12834
+ s1 = peg$currPos;
12835
+ s2 = peg$parseArrowTarget();
12836
+ if (s2 !== peg$FAILED) {
12837
+ peg$savedPos = s1;
12838
+ s2 = peg$c1318(s2);
12839
+ }
12840
+ s1 = s2;
12361
12841
  if (s1 !== peg$FAILED) {
12362
12842
  s2 = peg$parseSubexp();
12363
12843
  if (s2 !== peg$FAILED) {
@@ -12383,7 +12863,7 @@ function peg$parse(input, options) {
12383
12863
  }
12384
12864
  if (s5 !== peg$FAILED) {
12385
12865
  peg$savedPos = s0;
12386
- s1 = peg$c1316(s1, s2);
12866
+ s1 = peg$c1319(s1, s2);
12387
12867
  s0 = s1;
12388
12868
  }
12389
12869
  else {
@@ -12414,25 +12894,25 @@ function peg$parse(input, options) {
12414
12894
  }
12415
12895
  function peg$parseValidationKey() {
12416
12896
  var s0;
12417
- if (input.substr(peg$currPos, 9) === peg$c1317) {
12418
- s0 = peg$c1317;
12897
+ if (input.substr(peg$currPos, 9) === peg$c1320) {
12898
+ s0 = peg$c1320;
12419
12899
  peg$currPos += 9;
12420
12900
  }
12421
12901
  else {
12422
12902
  s0 = peg$FAILED;
12423
12903
  if (peg$silentFails === 0) {
12424
- peg$fail(peg$c1318);
12904
+ peg$fail(peg$c1321);
12425
12905
  }
12426
12906
  }
12427
12907
  if (s0 === peg$FAILED) {
12428
- if (input.substr(peg$currPos, 4) === peg$c1319) {
12429
- s0 = peg$c1319;
12908
+ if (input.substr(peg$currPos, 4) === peg$c1322) {
12909
+ s0 = peg$c1322;
12430
12910
  peg$currPos += 4;
12431
12911
  }
12432
12912
  else {
12433
12913
  s0 = peg$FAILED;
12434
12914
  if (peg$silentFails === 0) {
12435
- peg$fail(peg$c1320);
12915
+ peg$fail(peg$c1323);
12436
12916
  }
12437
12917
  }
12438
12918
  }
@@ -12468,7 +12948,7 @@ function peg$parse(input, options) {
12468
12948
  }
12469
12949
  if (s4 !== peg$FAILED) {
12470
12950
  peg$savedPos = s0;
12471
- s1 = peg$c1321(s1, s3);
12951
+ s1 = peg$c1324(s1, s3);
12472
12952
  s0 = s1;
12473
12953
  }
12474
12954
  else {
@@ -12515,14 +12995,14 @@ function peg$parse(input, options) {
12515
12995
  s1 = null;
12516
12996
  }
12517
12997
  if (s1 !== peg$FAILED) {
12518
- if (input.substr(peg$currPos, 10) === peg$c1322) {
12519
- s2 = peg$c1322;
12998
+ if (input.substr(peg$currPos, 10) === peg$c1325) {
12999
+ s2 = peg$c1325;
12520
13000
  peg$currPos += 10;
12521
13001
  }
12522
13002
  else {
12523
13003
  s2 = peg$FAILED;
12524
13004
  if (peg$silentFails === 0) {
12525
- peg$fail(peg$c1323);
13005
+ peg$fail(peg$c1326);
12526
13006
  }
12527
13007
  }
12528
13008
  if (s2 !== peg$FAILED) {
@@ -12548,13 +13028,13 @@ function peg$parse(input, options) {
12548
13028
  }
12549
13029
  if (s5 !== peg$FAILED) {
12550
13030
  if (input.charCodeAt(peg$currPos) === 123) {
12551
- s6 = peg$c1221;
13031
+ s6 = peg$c1222;
12552
13032
  peg$currPos++;
12553
13033
  }
12554
13034
  else {
12555
13035
  s6 = peg$FAILED;
12556
13036
  if (peg$silentFails === 0) {
12557
- peg$fail(peg$c1222);
13037
+ peg$fail(peg$c1223);
12558
13038
  }
12559
13039
  }
12560
13040
  if (s6 !== peg$FAILED) {
@@ -12573,14 +13053,14 @@ function peg$parse(input, options) {
12573
13053
  s9 = null;
12574
13054
  }
12575
13055
  if (s9 !== peg$FAILED) {
12576
- if (input.substr(peg$currPos, 2) === peg$c1324) {
12577
- s10 = peg$c1324;
13056
+ if (input.substr(peg$currPos, 2) === peg$c1327) {
13057
+ s10 = peg$c1327;
12578
13058
  peg$currPos += 2;
12579
13059
  }
12580
13060
  else {
12581
13061
  s10 = peg$FAILED;
12582
13062
  if (peg$silentFails === 0) {
12583
- peg$fail(peg$c1325);
13063
+ peg$fail(peg$c1328);
12584
13064
  }
12585
13065
  }
12586
13066
  if (s10 !== peg$FAILED) {
@@ -12590,7 +13070,7 @@ function peg$parse(input, options) {
12590
13070
  }
12591
13071
  if (s11 !== peg$FAILED) {
12592
13072
  peg$savedPos = s0;
12593
- s1 = peg$c1326(s8);
13073
+ s1 = peg$c1329(s8);
12594
13074
  s0 = s1;
12595
13075
  }
12596
13076
  else {
@@ -12651,58 +13131,58 @@ function peg$parse(input, options) {
12651
13131
  }
12652
13132
  function peg$parseGvizLayout() {
12653
13133
  var s0;
12654
- if (input.substr(peg$currPos, 3) === peg$c1327) {
12655
- s0 = peg$c1327;
13134
+ if (input.substr(peg$currPos, 3) === peg$c1330) {
13135
+ s0 = peg$c1330;
12656
13136
  peg$currPos += 3;
12657
13137
  }
12658
13138
  else {
12659
13139
  s0 = peg$FAILED;
12660
13140
  if (peg$silentFails === 0) {
12661
- peg$fail(peg$c1328);
13141
+ peg$fail(peg$c1331);
12662
13142
  }
12663
13143
  }
12664
13144
  if (s0 === peg$FAILED) {
12665
- if (input.substr(peg$currPos, 5) === peg$c1329) {
12666
- s0 = peg$c1329;
13145
+ if (input.substr(peg$currPos, 5) === peg$c1332) {
13146
+ s0 = peg$c1332;
12667
13147
  peg$currPos += 5;
12668
13148
  }
12669
13149
  else {
12670
13150
  s0 = peg$FAILED;
12671
13151
  if (peg$silentFails === 0) {
12672
- peg$fail(peg$c1330);
13152
+ peg$fail(peg$c1333);
12673
13153
  }
12674
13154
  }
12675
13155
  if (s0 === peg$FAILED) {
12676
- if (input.substr(peg$currPos, 3) === peg$c1331) {
12677
- s0 = peg$c1331;
13156
+ if (input.substr(peg$currPos, 3) === peg$c1334) {
13157
+ s0 = peg$c1334;
12678
13158
  peg$currPos += 3;
12679
13159
  }
12680
13160
  else {
12681
13161
  s0 = peg$FAILED;
12682
13162
  if (peg$silentFails === 0) {
12683
- peg$fail(peg$c1332);
13163
+ peg$fail(peg$c1335);
12684
13164
  }
12685
13165
  }
12686
13166
  if (s0 === peg$FAILED) {
12687
- if (input.substr(peg$currPos, 5) === peg$c1333) {
12688
- s0 = peg$c1333;
13167
+ if (input.substr(peg$currPos, 5) === peg$c1336) {
13168
+ s0 = peg$c1336;
12689
13169
  peg$currPos += 5;
12690
13170
  }
12691
13171
  else {
12692
13172
  s0 = peg$FAILED;
12693
13173
  if (peg$silentFails === 0) {
12694
- peg$fail(peg$c1334);
13174
+ peg$fail(peg$c1337);
12695
13175
  }
12696
13176
  }
12697
13177
  if (s0 === peg$FAILED) {
12698
- if (input.substr(peg$currPos, 5) === peg$c1335) {
12699
- s0 = peg$c1335;
13178
+ if (input.substr(peg$currPos, 5) === peg$c1338) {
13179
+ s0 = peg$c1338;
12700
13180
  peg$currPos += 5;
12701
13181
  }
12702
13182
  else {
12703
13183
  s0 = peg$FAILED;
12704
13184
  if (peg$silentFails === 0) {
12705
- peg$fail(peg$c1336);
13185
+ peg$fail(peg$c1339);
12706
13186
  }
12707
13187
  }
12708
13188
  }
@@ -12734,14 +13214,14 @@ function peg$parse(input, options) {
12734
13214
  s1 = null;
12735
13215
  }
12736
13216
  if (s1 !== peg$FAILED) {
12737
- if (input.substr(peg$currPos, 5) === peg$c1337) {
12738
- s2 = peg$c1337;
13217
+ if (input.substr(peg$currPos, 5) === peg$c1340) {
13218
+ s2 = peg$c1340;
12739
13219
  peg$currPos += 5;
12740
13220
  }
12741
13221
  else {
12742
13222
  s2 = peg$FAILED;
12743
13223
  if (peg$silentFails === 0) {
12744
- peg$fail(peg$c1338);
13224
+ peg$fail(peg$c1341);
12745
13225
  }
12746
13226
  }
12747
13227
  if (s2 !== peg$FAILED) {
@@ -12767,13 +13247,13 @@ function peg$parse(input, options) {
12767
13247
  }
12768
13248
  if (s5 !== peg$FAILED) {
12769
13249
  if (input.charCodeAt(peg$currPos) === 123) {
12770
- s6 = peg$c1221;
13250
+ s6 = peg$c1222;
12771
13251
  peg$currPos++;
12772
13252
  }
12773
13253
  else {
12774
13254
  s6 = peg$FAILED;
12775
13255
  if (peg$silentFails === 0) {
12776
- peg$fail(peg$c1222);
13256
+ peg$fail(peg$c1223);
12777
13257
  }
12778
13258
  }
12779
13259
  if (s6 !== peg$FAILED) {
@@ -12792,14 +13272,14 @@ function peg$parse(input, options) {
12792
13272
  s9 = null;
12793
13273
  }
12794
13274
  if (s9 !== peg$FAILED) {
12795
- if (input.substr(peg$currPos, 2) === peg$c1324) {
12796
- s10 = peg$c1324;
13275
+ if (input.substr(peg$currPos, 2) === peg$c1327) {
13276
+ s10 = peg$c1327;
12797
13277
  peg$currPos += 2;
12798
13278
  }
12799
13279
  else {
12800
13280
  s10 = peg$FAILED;
12801
13281
  if (peg$silentFails === 0) {
12802
- peg$fail(peg$c1325);
13282
+ peg$fail(peg$c1328);
12803
13283
  }
12804
13284
  }
12805
13285
  if (s10 !== peg$FAILED) {
@@ -12809,7 +13289,7 @@ function peg$parse(input, options) {
12809
13289
  }
12810
13290
  if (s11 !== peg$FAILED) {
12811
13291
  peg$savedPos = s0;
12812
- s1 = peg$c1339(s8);
13292
+ s1 = peg$c1342(s8);
12813
13293
  s0 = s1;
12814
13294
  }
12815
13295
  else {
@@ -12876,14 +13356,14 @@ function peg$parse(input, options) {
12876
13356
  s1 = null;
12877
13357
  }
12878
13358
  if (s1 !== peg$FAILED) {
12879
- if (input.substr(peg$currPos, 11) === peg$c1340) {
12880
- s2 = peg$c1340;
13359
+ if (input.substr(peg$currPos, 11) === peg$c1343) {
13360
+ s2 = peg$c1343;
12881
13361
  peg$currPos += 11;
12882
13362
  }
12883
13363
  else {
12884
13364
  s2 = peg$FAILED;
12885
13365
  if (peg$silentFails === 0) {
12886
- peg$fail(peg$c1341);
13366
+ peg$fail(peg$c1344);
12887
13367
  }
12888
13368
  }
12889
13369
  if (s2 !== peg$FAILED) {
@@ -12909,13 +13389,13 @@ function peg$parse(input, options) {
12909
13389
  }
12910
13390
  if (s5 !== peg$FAILED) {
12911
13391
  if (input.charCodeAt(peg$currPos) === 123) {
12912
- s6 = peg$c1221;
13392
+ s6 = peg$c1222;
12913
13393
  peg$currPos++;
12914
13394
  }
12915
13395
  else {
12916
13396
  s6 = peg$FAILED;
12917
13397
  if (peg$silentFails === 0) {
12918
- peg$fail(peg$c1222);
13398
+ peg$fail(peg$c1223);
12919
13399
  }
12920
13400
  }
12921
13401
  if (s6 !== peg$FAILED) {
@@ -12934,14 +13414,14 @@ function peg$parse(input, options) {
12934
13414
  s9 = null;
12935
13415
  }
12936
13416
  if (s9 !== peg$FAILED) {
12937
- if (input.substr(peg$currPos, 2) === peg$c1324) {
12938
- s10 = peg$c1324;
13417
+ if (input.substr(peg$currPos, 2) === peg$c1327) {
13418
+ s10 = peg$c1327;
12939
13419
  peg$currPos += 2;
12940
13420
  }
12941
13421
  else {
12942
13422
  s10 = peg$FAILED;
12943
13423
  if (peg$silentFails === 0) {
12944
- peg$fail(peg$c1325);
13424
+ peg$fail(peg$c1328);
12945
13425
  }
12946
13426
  }
12947
13427
  if (s10 !== peg$FAILED) {
@@ -12951,7 +13431,7 @@ function peg$parse(input, options) {
12951
13431
  }
12952
13432
  if (s11 !== peg$FAILED) {
12953
13433
  peg$savedPos = s0;
12954
- s1 = peg$c1342(s8);
13434
+ s1 = peg$c1345(s8);
12955
13435
  s0 = s1;
12956
13436
  }
12957
13437
  else {
@@ -13018,14 +13498,14 @@ function peg$parse(input, options) {
13018
13498
  s1 = null;
13019
13499
  }
13020
13500
  if (s1 !== peg$FAILED) {
13021
- if (input.substr(peg$currPos, 9) === peg$c1343) {
13022
- s2 = peg$c1343;
13501
+ if (input.substr(peg$currPos, 9) === peg$c1346) {
13502
+ s2 = peg$c1346;
13023
13503
  peg$currPos += 9;
13024
13504
  }
13025
13505
  else {
13026
13506
  s2 = peg$FAILED;
13027
13507
  if (peg$silentFails === 0) {
13028
- peg$fail(peg$c1344);
13508
+ peg$fail(peg$c1347);
13029
13509
  }
13030
13510
  }
13031
13511
  if (s2 !== peg$FAILED) {
@@ -13051,13 +13531,13 @@ function peg$parse(input, options) {
13051
13531
  }
13052
13532
  if (s5 !== peg$FAILED) {
13053
13533
  if (input.charCodeAt(peg$currPos) === 123) {
13054
- s6 = peg$c1221;
13534
+ s6 = peg$c1222;
13055
13535
  peg$currPos++;
13056
13536
  }
13057
13537
  else {
13058
13538
  s6 = peg$FAILED;
13059
13539
  if (peg$silentFails === 0) {
13060
- peg$fail(peg$c1222);
13540
+ peg$fail(peg$c1223);
13061
13541
  }
13062
13542
  }
13063
13543
  if (s6 !== peg$FAILED) {
@@ -13076,14 +13556,14 @@ function peg$parse(input, options) {
13076
13556
  s9 = null;
13077
13557
  }
13078
13558
  if (s9 !== peg$FAILED) {
13079
- if (input.substr(peg$currPos, 2) === peg$c1324) {
13080
- s10 = peg$c1324;
13559
+ if (input.substr(peg$currPos, 2) === peg$c1327) {
13560
+ s10 = peg$c1327;
13081
13561
  peg$currPos += 2;
13082
13562
  }
13083
13563
  else {
13084
13564
  s10 = peg$FAILED;
13085
13565
  if (peg$silentFails === 0) {
13086
- peg$fail(peg$c1325);
13566
+ peg$fail(peg$c1328);
13087
13567
  }
13088
13568
  }
13089
13569
  if (s10 !== peg$FAILED) {
@@ -13093,7 +13573,7 @@ function peg$parse(input, options) {
13093
13573
  }
13094
13574
  if (s11 !== peg$FAILED) {
13095
13575
  peg$savedPos = s0;
13096
- s1 = peg$c1345(s8);
13576
+ s1 = peg$c1348(s8);
13097
13577
  s0 = s1;
13098
13578
  }
13099
13579
  else {
@@ -13160,14 +13640,14 @@ function peg$parse(input, options) {
13160
13640
  s1 = null;
13161
13641
  }
13162
13642
  if (s1 !== peg$FAILED) {
13163
- if (input.substr(peg$currPos, 12) === peg$c1346) {
13164
- s2 = peg$c1346;
13643
+ if (input.substr(peg$currPos, 12) === peg$c1349) {
13644
+ s2 = peg$c1349;
13165
13645
  peg$currPos += 12;
13166
13646
  }
13167
13647
  else {
13168
13648
  s2 = peg$FAILED;
13169
13649
  if (peg$silentFails === 0) {
13170
- peg$fail(peg$c1347);
13650
+ peg$fail(peg$c1350);
13171
13651
  }
13172
13652
  }
13173
13653
  if (s2 !== peg$FAILED) {
@@ -13193,13 +13673,13 @@ function peg$parse(input, options) {
13193
13673
  }
13194
13674
  if (s5 !== peg$FAILED) {
13195
13675
  if (input.charCodeAt(peg$currPos) === 123) {
13196
- s6 = peg$c1221;
13676
+ s6 = peg$c1222;
13197
13677
  peg$currPos++;
13198
13678
  }
13199
13679
  else {
13200
13680
  s6 = peg$FAILED;
13201
13681
  if (peg$silentFails === 0) {
13202
- peg$fail(peg$c1222);
13682
+ peg$fail(peg$c1223);
13203
13683
  }
13204
13684
  }
13205
13685
  if (s6 !== peg$FAILED) {
@@ -13218,14 +13698,14 @@ function peg$parse(input, options) {
13218
13698
  s9 = null;
13219
13699
  }
13220
13700
  if (s9 !== peg$FAILED) {
13221
- if (input.substr(peg$currPos, 2) === peg$c1324) {
13222
- s10 = peg$c1324;
13701
+ if (input.substr(peg$currPos, 2) === peg$c1327) {
13702
+ s10 = peg$c1327;
13223
13703
  peg$currPos += 2;
13224
13704
  }
13225
13705
  else {
13226
13706
  s10 = peg$FAILED;
13227
13707
  if (peg$silentFails === 0) {
13228
- peg$fail(peg$c1325);
13708
+ peg$fail(peg$c1328);
13229
13709
  }
13230
13710
  }
13231
13711
  if (s10 !== peg$FAILED) {
@@ -13235,7 +13715,7 @@ function peg$parse(input, options) {
13235
13715
  }
13236
13716
  if (s11 !== peg$FAILED) {
13237
13717
  peg$savedPos = s0;
13238
- s1 = peg$c1348(s8);
13718
+ s1 = peg$c1351(s8);
13239
13719
  s0 = s1;
13240
13720
  }
13241
13721
  else {
@@ -13302,14 +13782,14 @@ function peg$parse(input, options) {
13302
13782
  s1 = null;
13303
13783
  }
13304
13784
  if (s1 !== peg$FAILED) {
13305
- if (input.substr(peg$currPos, 14) === peg$c1349) {
13306
- s2 = peg$c1349;
13785
+ if (input.substr(peg$currPos, 14) === peg$c1352) {
13786
+ s2 = peg$c1352;
13307
13787
  peg$currPos += 14;
13308
13788
  }
13309
13789
  else {
13310
13790
  s2 = peg$FAILED;
13311
13791
  if (peg$silentFails === 0) {
13312
- peg$fail(peg$c1350);
13792
+ peg$fail(peg$c1353);
13313
13793
  }
13314
13794
  }
13315
13795
  if (s2 !== peg$FAILED) {
@@ -13335,13 +13815,13 @@ function peg$parse(input, options) {
13335
13815
  }
13336
13816
  if (s5 !== peg$FAILED) {
13337
13817
  if (input.charCodeAt(peg$currPos) === 123) {
13338
- s6 = peg$c1221;
13818
+ s6 = peg$c1222;
13339
13819
  peg$currPos++;
13340
13820
  }
13341
13821
  else {
13342
13822
  s6 = peg$FAILED;
13343
13823
  if (peg$silentFails === 0) {
13344
- peg$fail(peg$c1222);
13824
+ peg$fail(peg$c1223);
13345
13825
  }
13346
13826
  }
13347
13827
  if (s6 !== peg$FAILED) {
@@ -13360,14 +13840,14 @@ function peg$parse(input, options) {
13360
13840
  s9 = null;
13361
13841
  }
13362
13842
  if (s9 !== peg$FAILED) {
13363
- if (input.substr(peg$currPos, 2) === peg$c1324) {
13364
- s10 = peg$c1324;
13843
+ if (input.substr(peg$currPos, 2) === peg$c1327) {
13844
+ s10 = peg$c1327;
13365
13845
  peg$currPos += 2;
13366
13846
  }
13367
13847
  else {
13368
13848
  s10 = peg$FAILED;
13369
13849
  if (peg$silentFails === 0) {
13370
- peg$fail(peg$c1325);
13850
+ peg$fail(peg$c1328);
13371
13851
  }
13372
13852
  }
13373
13853
  if (s10 !== peg$FAILED) {
@@ -13377,7 +13857,7 @@ function peg$parse(input, options) {
13377
13857
  }
13378
13858
  if (s11 !== peg$FAILED) {
13379
13859
  peg$savedPos = s0;
13380
- s1 = peg$c1351(s8);
13860
+ s1 = peg$c1354(s8);
13381
13861
  s0 = s1;
13382
13862
  }
13383
13863
  else {
@@ -13444,14 +13924,14 @@ function peg$parse(input, options) {
13444
13924
  s1 = null;
13445
13925
  }
13446
13926
  if (s1 !== peg$FAILED) {
13447
- if (input.substr(peg$currPos, 12) === peg$c1352) {
13448
- s2 = peg$c1352;
13927
+ if (input.substr(peg$currPos, 12) === peg$c1355) {
13928
+ s2 = peg$c1355;
13449
13929
  peg$currPos += 12;
13450
13930
  }
13451
13931
  else {
13452
13932
  s2 = peg$FAILED;
13453
13933
  if (peg$silentFails === 0) {
13454
- peg$fail(peg$c1353);
13934
+ peg$fail(peg$c1356);
13455
13935
  }
13456
13936
  }
13457
13937
  if (s2 !== peg$FAILED) {
@@ -13477,13 +13957,13 @@ function peg$parse(input, options) {
13477
13957
  }
13478
13958
  if (s5 !== peg$FAILED) {
13479
13959
  if (input.charCodeAt(peg$currPos) === 123) {
13480
- s6 = peg$c1221;
13960
+ s6 = peg$c1222;
13481
13961
  peg$currPos++;
13482
13962
  }
13483
13963
  else {
13484
13964
  s6 = peg$FAILED;
13485
13965
  if (peg$silentFails === 0) {
13486
- peg$fail(peg$c1222);
13966
+ peg$fail(peg$c1223);
13487
13967
  }
13488
13968
  }
13489
13969
  if (s6 !== peg$FAILED) {
@@ -13502,14 +13982,14 @@ function peg$parse(input, options) {
13502
13982
  s9 = null;
13503
13983
  }
13504
13984
  if (s9 !== peg$FAILED) {
13505
- if (input.substr(peg$currPos, 2) === peg$c1324) {
13506
- s10 = peg$c1324;
13985
+ if (input.substr(peg$currPos, 2) === peg$c1327) {
13986
+ s10 = peg$c1327;
13507
13987
  peg$currPos += 2;
13508
13988
  }
13509
13989
  else {
13510
13990
  s10 = peg$FAILED;
13511
13991
  if (peg$silentFails === 0) {
13512
- peg$fail(peg$c1325);
13992
+ peg$fail(peg$c1328);
13513
13993
  }
13514
13994
  }
13515
13995
  if (s10 !== peg$FAILED) {
@@ -13519,7 +13999,7 @@ function peg$parse(input, options) {
13519
13999
  }
13520
14000
  if (s11 !== peg$FAILED) {
13521
14001
  peg$savedPos = s0;
13522
- s1 = peg$c1354(s8);
14002
+ s1 = peg$c1357(s8);
13523
14003
  s0 = s1;
13524
14004
  }
13525
14005
  else {
@@ -13600,25 +14080,25 @@ function peg$parse(input, options) {
13600
14080
  }
13601
14081
  function peg$parseActionKey() {
13602
14082
  var s0;
13603
- if (input.substr(peg$currPos, 9) === peg$c1317) {
13604
- s0 = peg$c1317;
14083
+ if (input.substr(peg$currPos, 9) === peg$c1320) {
14084
+ s0 = peg$c1320;
13605
14085
  peg$currPos += 9;
13606
14086
  }
13607
14087
  else {
13608
14088
  s0 = peg$FAILED;
13609
14089
  if (peg$silentFails === 0) {
13610
- peg$fail(peg$c1318);
14090
+ peg$fail(peg$c1321);
13611
14091
  }
13612
14092
  }
13613
14093
  if (s0 === peg$FAILED) {
13614
- if (input.substr(peg$currPos, 4) === peg$c1319) {
13615
- s0 = peg$c1319;
14094
+ if (input.substr(peg$currPos, 4) === peg$c1322) {
14095
+ s0 = peg$c1322;
13616
14096
  peg$currPos += 4;
13617
14097
  }
13618
14098
  else {
13619
14099
  s0 = peg$FAILED;
13620
14100
  if (peg$silentFails === 0) {
13621
- peg$fail(peg$c1320);
14101
+ peg$fail(peg$c1323);
13622
14102
  }
13623
14103
  }
13624
14104
  }
@@ -13654,7 +14134,7 @@ function peg$parse(input, options) {
13654
14134
  }
13655
14135
  if (s4 !== peg$FAILED) {
13656
14136
  peg$savedPos = s0;
13657
- s1 = peg$c1355(s1, s3);
14137
+ s1 = peg$c1358(s1, s3);
13658
14138
  s0 = s1;
13659
14139
  }
13660
14140
  else {
@@ -13701,14 +14181,14 @@ function peg$parse(input, options) {
13701
14181
  s1 = null;
13702
14182
  }
13703
14183
  if (s1 !== peg$FAILED) {
13704
- if (input.substr(peg$currPos, 6) === peg$c1356) {
13705
- s2 = peg$c1356;
14184
+ if (input.substr(peg$currPos, 6) === peg$c1359) {
14185
+ s2 = peg$c1359;
13706
14186
  peg$currPos += 6;
13707
14187
  }
13708
14188
  else {
13709
14189
  s2 = peg$FAILED;
13710
14190
  if (peg$silentFails === 0) {
13711
- peg$fail(peg$c1357);
14191
+ peg$fail(peg$c1360);
13712
14192
  }
13713
14193
  }
13714
14194
  if (s2 !== peg$FAILED) {
@@ -13734,13 +14214,13 @@ function peg$parse(input, options) {
13734
14214
  }
13735
14215
  if (s5 !== peg$FAILED) {
13736
14216
  if (input.charCodeAt(peg$currPos) === 123) {
13737
- s6 = peg$c1221;
14217
+ s6 = peg$c1222;
13738
14218
  peg$currPos++;
13739
14219
  }
13740
14220
  else {
13741
14221
  s6 = peg$FAILED;
13742
14222
  if (peg$silentFails === 0) {
13743
- peg$fail(peg$c1222);
14223
+ peg$fail(peg$c1223);
13744
14224
  }
13745
14225
  }
13746
14226
  if (s6 !== peg$FAILED) {
@@ -13759,14 +14239,14 @@ function peg$parse(input, options) {
13759
14239
  s9 = null;
13760
14240
  }
13761
14241
  if (s9 !== peg$FAILED) {
13762
- if (input.substr(peg$currPos, 2) === peg$c1324) {
13763
- s10 = peg$c1324;
14242
+ if (input.substr(peg$currPos, 2) === peg$c1327) {
14243
+ s10 = peg$c1327;
13764
14244
  peg$currPos += 2;
13765
14245
  }
13766
14246
  else {
13767
14247
  s10 = peg$FAILED;
13768
14248
  if (peg$silentFails === 0) {
13769
- peg$fail(peg$c1325);
14249
+ peg$fail(peg$c1328);
13770
14250
  }
13771
14251
  }
13772
14252
  if (s10 !== peg$FAILED) {
@@ -13776,7 +14256,7 @@ function peg$parse(input, options) {
13776
14256
  }
13777
14257
  if (s11 !== peg$FAILED) {
13778
14258
  peg$savedPos = s0;
13779
- s1 = peg$c1358(s8);
14259
+ s1 = peg$c1361(s8);
13780
14260
  s0 = s1;
13781
14261
  }
13782
14262
  else {
@@ -13837,25 +14317,25 @@ function peg$parse(input, options) {
13837
14317
  }
13838
14318
  function peg$parseTransitionKey() {
13839
14319
  var s0;
13840
- if (input.substr(peg$currPos, 9) === peg$c1317) {
13841
- s0 = peg$c1317;
14320
+ if (input.substr(peg$currPos, 9) === peg$c1320) {
14321
+ s0 = peg$c1320;
13842
14322
  peg$currPos += 9;
13843
14323
  }
13844
14324
  else {
13845
14325
  s0 = peg$FAILED;
13846
14326
  if (peg$silentFails === 0) {
13847
- peg$fail(peg$c1318);
14327
+ peg$fail(peg$c1321);
13848
14328
  }
13849
14329
  }
13850
14330
  if (s0 === peg$FAILED) {
13851
- if (input.substr(peg$currPos, 4) === peg$c1319) {
13852
- s0 = peg$c1319;
14331
+ if (input.substr(peg$currPos, 4) === peg$c1322) {
14332
+ s0 = peg$c1322;
13853
14333
  peg$currPos += 4;
13854
14334
  }
13855
14335
  else {
13856
14336
  s0 = peg$FAILED;
13857
14337
  if (peg$silentFails === 0) {
13858
- peg$fail(peg$c1320);
14338
+ peg$fail(peg$c1323);
13859
14339
  }
13860
14340
  }
13861
14341
  }
@@ -13891,7 +14371,7 @@ function peg$parse(input, options) {
13891
14371
  }
13892
14372
  if (s4 !== peg$FAILED) {
13893
14373
  peg$savedPos = s0;
13894
- s1 = peg$c1359(s1, s3);
14374
+ s1 = peg$c1362(s1, s3);
13895
14375
  s0 = s1;
13896
14376
  }
13897
14377
  else {
@@ -13974,7 +14454,13 @@ function peg$parse(input, options) {
13974
14454
  s5 = null;
13975
14455
  }
13976
14456
  if (s5 !== peg$FAILED) {
13977
- s6 = peg$parseColor();
14457
+ s6 = peg$currPos;
14458
+ s7 = peg$parseColor();
14459
+ if (s7 !== peg$FAILED) {
14460
+ peg$savedPos = s6;
14461
+ s7 = peg$c1214(s7);
14462
+ }
14463
+ s6 = s7;
13978
14464
  if (s6 !== peg$FAILED) {
13979
14465
  s7 = peg$parseWS();
13980
14466
  if (s7 === peg$FAILED) {
@@ -13998,7 +14484,7 @@ function peg$parse(input, options) {
13998
14484
  }
13999
14485
  if (s9 !== peg$FAILED) {
14000
14486
  peg$savedPos = s0;
14001
- s1 = peg$c1361(s6);
14487
+ s1 = peg$c1364(s6);
14002
14488
  s0 = s1;
14003
14489
  }
14004
14490
  else {
@@ -14052,14 +14538,14 @@ function peg$parse(input, options) {
14052
14538
  s1 = null;
14053
14539
  }
14054
14540
  if (s1 !== peg$FAILED) {
14055
- if (input.substr(peg$currPos, 10) === peg$c1215) {
14056
- s2 = peg$c1215;
14541
+ if (input.substr(peg$currPos, 10) === peg$c1216) {
14542
+ s2 = peg$c1216;
14057
14543
  peg$currPos += 10;
14058
14544
  }
14059
14545
  else {
14060
14546
  s2 = peg$FAILED;
14061
14547
  if (peg$silentFails === 0) {
14062
- peg$fail(peg$c1216);
14548
+ peg$fail(peg$c1217);
14063
14549
  }
14064
14550
  }
14065
14551
  if (s2 !== peg$FAILED) {
@@ -14084,7 +14570,13 @@ function peg$parse(input, options) {
14084
14570
  s5 = null;
14085
14571
  }
14086
14572
  if (s5 !== peg$FAILED) {
14087
- s6 = peg$parseColor();
14573
+ s6 = peg$currPos;
14574
+ s7 = peg$parseColor();
14575
+ if (s7 !== peg$FAILED) {
14576
+ peg$savedPos = s6;
14577
+ s7 = peg$c1214(s7);
14578
+ }
14579
+ s6 = s7;
14088
14580
  if (s6 !== peg$FAILED) {
14089
14581
  s7 = peg$parseWS();
14090
14582
  if (s7 === peg$FAILED) {
@@ -14108,7 +14600,7 @@ function peg$parse(input, options) {
14108
14600
  }
14109
14601
  if (s9 !== peg$FAILED) {
14110
14602
  peg$savedPos = s0;
14111
- s1 = peg$c1361(s6);
14603
+ s1 = peg$c1364(s6);
14112
14604
  s0 = s1;
14113
14605
  }
14114
14606
  else {
@@ -14160,7 +14652,7 @@ function peg$parse(input, options) {
14160
14652
  if (s0 === peg$FAILED) {
14161
14653
  s1 = peg$FAILED;
14162
14654
  if (peg$silentFails === 0) {
14163
- peg$fail(peg$c1360);
14655
+ peg$fail(peg$c1363);
14164
14656
  }
14165
14657
  }
14166
14658
  return s0;
@@ -14173,14 +14665,14 @@ function peg$parse(input, options) {
14173
14665
  s1 = null;
14174
14666
  }
14175
14667
  if (s1 !== peg$FAILED) {
14176
- if (input.substr(peg$currPos, 10) === peg$c1362) {
14177
- s2 = peg$c1362;
14668
+ if (input.substr(peg$currPos, 10) === peg$c1365) {
14669
+ s2 = peg$c1365;
14178
14670
  peg$currPos += 10;
14179
14671
  }
14180
14672
  else {
14181
14673
  s2 = peg$FAILED;
14182
14674
  if (peg$silentFails === 0) {
14183
- peg$fail(peg$c1363);
14675
+ peg$fail(peg$c1366);
14184
14676
  }
14185
14677
  }
14186
14678
  if (s2 !== peg$FAILED) {
@@ -14206,13 +14698,13 @@ function peg$parse(input, options) {
14206
14698
  }
14207
14699
  if (s5 !== peg$FAILED) {
14208
14700
  if (input.charCodeAt(peg$currPos) === 123) {
14209
- s6 = peg$c1221;
14701
+ s6 = peg$c1222;
14210
14702
  peg$currPos++;
14211
14703
  }
14212
14704
  else {
14213
14705
  s6 = peg$FAILED;
14214
14706
  if (peg$silentFails === 0) {
14215
- peg$fail(peg$c1222);
14707
+ peg$fail(peg$c1223);
14216
14708
  }
14217
14709
  }
14218
14710
  if (s6 !== peg$FAILED) {
@@ -14231,14 +14723,14 @@ function peg$parse(input, options) {
14231
14723
  s9 = null;
14232
14724
  }
14233
14725
  if (s9 !== peg$FAILED) {
14234
- if (input.substr(peg$currPos, 2) === peg$c1324) {
14235
- s10 = peg$c1324;
14726
+ if (input.substr(peg$currPos, 2) === peg$c1327) {
14727
+ s10 = peg$c1327;
14236
14728
  peg$currPos += 2;
14237
14729
  }
14238
14730
  else {
14239
14731
  s10 = peg$FAILED;
14240
14732
  if (peg$silentFails === 0) {
14241
- peg$fail(peg$c1325);
14733
+ peg$fail(peg$c1328);
14242
14734
  }
14243
14735
  }
14244
14736
  if (s10 !== peg$FAILED) {
@@ -14248,7 +14740,7 @@ function peg$parse(input, options) {
14248
14740
  }
14249
14741
  if (s11 !== peg$FAILED) {
14250
14742
  peg$savedPos = s0;
14251
- s1 = peg$c1364(s8);
14743
+ s1 = peg$c1367(s8);
14252
14744
  s0 = s1;
14253
14745
  }
14254
14746
  else {
@@ -14315,14 +14807,14 @@ function peg$parse(input, options) {
14315
14807
  s1 = null;
14316
14808
  }
14317
14809
  if (s1 !== peg$FAILED) {
14318
- if (input.substr(peg$currPos, 12) === peg$c1365) {
14319
- s2 = peg$c1365;
14810
+ if (input.substr(peg$currPos, 12) === peg$c1368) {
14811
+ s2 = peg$c1368;
14320
14812
  peg$currPos += 12;
14321
14813
  }
14322
14814
  else {
14323
14815
  s2 = peg$FAILED;
14324
14816
  if (peg$silentFails === 0) {
14325
- peg$fail(peg$c1366);
14817
+ peg$fail(peg$c1369);
14326
14818
  }
14327
14819
  }
14328
14820
  if (s2 !== peg$FAILED) {
@@ -14371,7 +14863,7 @@ function peg$parse(input, options) {
14371
14863
  }
14372
14864
  if (s9 !== peg$FAILED) {
14373
14865
  peg$savedPos = s0;
14374
- s1 = peg$c1367(s6);
14866
+ s1 = peg$c1370(s6);
14375
14867
  s0 = s1;
14376
14868
  }
14377
14869
  else {
@@ -14428,14 +14920,14 @@ function peg$parse(input, options) {
14428
14920
  s1 = null;
14429
14921
  }
14430
14922
  if (s1 !== peg$FAILED) {
14431
- if (input.substr(peg$currPos, 12) === peg$c1368) {
14432
- s2 = peg$c1368;
14923
+ if (input.substr(peg$currPos, 12) === peg$c1371) {
14924
+ s2 = peg$c1371;
14433
14925
  peg$currPos += 12;
14434
14926
  }
14435
14927
  else {
14436
14928
  s2 = peg$FAILED;
14437
14929
  if (peg$silentFails === 0) {
14438
- peg$fail(peg$c1369);
14930
+ peg$fail(peg$c1372);
14439
14931
  }
14440
14932
  }
14441
14933
  if (s2 !== peg$FAILED) {
@@ -14484,7 +14976,7 @@ function peg$parse(input, options) {
14484
14976
  }
14485
14977
  if (s9 !== peg$FAILED) {
14486
14978
  peg$savedPos = s0;
14487
- s1 = peg$c1370(s6);
14979
+ s1 = peg$c1373(s6);
14488
14980
  s0 = s1;
14489
14981
  }
14490
14982
  else {
@@ -14541,14 +15033,14 @@ function peg$parse(input, options) {
14541
15033
  s1 = null;
14542
15034
  }
14543
15035
  if (s1 !== peg$FAILED) {
14544
- if (input.substr(peg$currPos, 10) === peg$c1371) {
14545
- s2 = peg$c1371;
15036
+ if (input.substr(peg$currPos, 10) === peg$c1374) {
15037
+ s2 = peg$c1374;
14546
15038
  peg$currPos += 10;
14547
15039
  }
14548
15040
  else {
14549
15041
  s2 = peg$FAILED;
14550
15042
  if (peg$silentFails === 0) {
14551
- peg$fail(peg$c1372);
15043
+ peg$fail(peg$c1375);
14552
15044
  }
14553
15045
  }
14554
15046
  if (s2 !== peg$FAILED) {
@@ -14597,7 +15089,7 @@ function peg$parse(input, options) {
14597
15089
  }
14598
15090
  if (s9 !== peg$FAILED) {
14599
15091
  peg$savedPos = s0;
14600
- s1 = peg$c1373(s6);
15092
+ s1 = peg$c1376(s6);
14601
15093
  s0 = s1;
14602
15094
  }
14603
15095
  else {
@@ -14654,14 +15146,14 @@ function peg$parse(input, options) {
14654
15146
  s1 = null;
14655
15147
  }
14656
15148
  if (s1 !== peg$FAILED) {
14657
- if (input.substr(peg$currPos, 14) === peg$c1374) {
14658
- s2 = peg$c1374;
15149
+ if (input.substr(peg$currPos, 14) === peg$c1377) {
15150
+ s2 = peg$c1377;
14659
15151
  peg$currPos += 14;
14660
15152
  }
14661
15153
  else {
14662
15154
  s2 = peg$FAILED;
14663
15155
  if (peg$silentFails === 0) {
14664
- peg$fail(peg$c1375);
15156
+ peg$fail(peg$c1378);
14665
15157
  }
14666
15158
  }
14667
15159
  if (s2 !== peg$FAILED) {
@@ -14686,7 +15178,13 @@ function peg$parse(input, options) {
14686
15178
  s5 = null;
14687
15179
  }
14688
15180
  if (s5 !== peg$FAILED) {
14689
- s6 = peg$parseLabelOrLabelList();
15181
+ s6 = peg$currPos;
15182
+ s7 = peg$parseLabelOrLabelList();
15183
+ if (s7 !== peg$FAILED) {
15184
+ peg$savedPos = s6;
15185
+ s7 = peg$c1214(s7);
15186
+ }
15187
+ s6 = s7;
14690
15188
  if (s6 !== peg$FAILED) {
14691
15189
  s7 = peg$parseWS();
14692
15190
  if (s7 === peg$FAILED) {
@@ -14710,7 +15208,7 @@ function peg$parse(input, options) {
14710
15208
  }
14711
15209
  if (s9 !== peg$FAILED) {
14712
15210
  peg$savedPos = s0;
14713
- s1 = peg$c1376(s6);
15211
+ s1 = peg$c1379(s6);
14714
15212
  s0 = s1;
14715
15213
  }
14716
15214
  else {
@@ -14767,14 +15265,14 @@ function peg$parse(input, options) {
14767
15265
  s1 = null;
14768
15266
  }
14769
15267
  if (s1 !== peg$FAILED) {
14770
- if (input.substr(peg$currPos, 14) === peg$c1377) {
14771
- s2 = peg$c1377;
15268
+ if (input.substr(peg$currPos, 14) === peg$c1380) {
15269
+ s2 = peg$c1380;
14772
15270
  peg$currPos += 14;
14773
15271
  }
14774
15272
  else {
14775
15273
  s2 = peg$FAILED;
14776
15274
  if (peg$silentFails === 0) {
14777
- peg$fail(peg$c1378);
15275
+ peg$fail(peg$c1381);
14778
15276
  }
14779
15277
  }
14780
15278
  if (s2 !== peg$FAILED) {
@@ -14799,7 +15297,13 @@ function peg$parse(input, options) {
14799
15297
  s5 = null;
14800
15298
  }
14801
15299
  if (s5 !== peg$FAILED) {
14802
- s6 = peg$parseColor();
15300
+ s6 = peg$currPos;
15301
+ s7 = peg$parseColor();
15302
+ if (s7 !== peg$FAILED) {
15303
+ peg$savedPos = s6;
15304
+ s7 = peg$c1214(s7);
15305
+ }
15306
+ s6 = s7;
14803
15307
  if (s6 !== peg$FAILED) {
14804
15308
  s7 = peg$parseWS();
14805
15309
  if (s7 === peg$FAILED) {
@@ -14823,7 +15327,7 @@ function peg$parse(input, options) {
14823
15327
  }
14824
15328
  if (s9 !== peg$FAILED) {
14825
15329
  peg$savedPos = s0;
14826
- s1 = peg$c1379(s6);
15330
+ s1 = peg$c1382(s6);
14827
15331
  s0 = s1;
14828
15332
  }
14829
15333
  else {
@@ -14880,14 +15384,14 @@ function peg$parse(input, options) {
14880
15384
  s1 = null;
14881
15385
  }
14882
15386
  if (s1 !== peg$FAILED) {
14883
- if (input.substr(peg$currPos, 15) === peg$c1380) {
14884
- s2 = peg$c1380;
15387
+ if (input.substr(peg$currPos, 15) === peg$c1383) {
15388
+ s2 = peg$c1383;
14885
15389
  peg$currPos += 15;
14886
15390
  }
14887
15391
  else {
14888
15392
  s2 = peg$FAILED;
14889
15393
  if (peg$silentFails === 0) {
14890
- peg$fail(peg$c1381);
15394
+ peg$fail(peg$c1384);
14891
15395
  }
14892
15396
  }
14893
15397
  if (s2 !== peg$FAILED) {
@@ -14936,7 +15440,7 @@ function peg$parse(input, options) {
14936
15440
  }
14937
15441
  if (s9 !== peg$FAILED) {
14938
15442
  peg$savedPos = s0;
14939
- s1 = peg$c1382(s6);
15443
+ s1 = peg$c1385(s6);
14940
15444
  s0 = s1;
14941
15445
  }
14942
15446
  else {
@@ -14993,14 +15497,14 @@ function peg$parse(input, options) {
14993
15497
  s1 = null;
14994
15498
  }
14995
15499
  if (s1 !== peg$FAILED) {
14996
- if (input.substr(peg$currPos, 13) === peg$c1383) {
14997
- s2 = peg$c1383;
15500
+ if (input.substr(peg$currPos, 13) === peg$c1386) {
15501
+ s2 = peg$c1386;
14998
15502
  peg$currPos += 13;
14999
15503
  }
15000
15504
  else {
15001
15505
  s2 = peg$FAILED;
15002
15506
  if (peg$silentFails === 0) {
15003
- peg$fail(peg$c1384);
15507
+ peg$fail(peg$c1387);
15004
15508
  }
15005
15509
  }
15006
15510
  if (s2 !== peg$FAILED) {
@@ -15025,7 +15529,13 @@ function peg$parse(input, options) {
15025
15529
  s5 = null;
15026
15530
  }
15027
15531
  if (s5 !== peg$FAILED) {
15028
- s6 = peg$parseIslandsT();
15532
+ s6 = peg$currPos;
15533
+ s7 = peg$parseIslandsT();
15534
+ if (s7 !== peg$FAILED) {
15535
+ peg$savedPos = s6;
15536
+ s7 = peg$c1214(s7);
15537
+ }
15538
+ s6 = s7;
15029
15539
  if (s6 !== peg$FAILED) {
15030
15540
  s7 = peg$parseWS();
15031
15541
  if (s7 === peg$FAILED) {
@@ -15049,7 +15559,7 @@ function peg$parse(input, options) {
15049
15559
  }
15050
15560
  if (s9 !== peg$FAILED) {
15051
15561
  peg$savedPos = s0;
15052
- s1 = peg$c1385(s6);
15562
+ s1 = peg$c1388(s6);
15053
15563
  s0 = s1;
15054
15564
  }
15055
15565
  else {
@@ -15113,7 +15623,7 @@ function peg$parse(input, options) {
15113
15623
  }
15114
15624
  if (s1 !== peg$FAILED) {
15115
15625
  peg$savedPos = s0;
15116
- s1 = peg$c1386();
15626
+ s1 = peg$c1389();
15117
15627
  }
15118
15628
  s0 = s1;
15119
15629
  if (s0 === peg$FAILED) {
@@ -15130,7 +15640,7 @@ function peg$parse(input, options) {
15130
15640
  }
15131
15641
  if (s1 !== peg$FAILED) {
15132
15642
  peg$savedPos = s0;
15133
- s1 = peg$c1387();
15643
+ s1 = peg$c1390();
15134
15644
  }
15135
15645
  s0 = s1;
15136
15646
  if (s0 === peg$FAILED) {
@@ -15157,19 +15667,19 @@ function peg$parse(input, options) {
15157
15667
  function peg$parseIslandsT() {
15158
15668
  var s0, s1;
15159
15669
  s0 = peg$currPos;
15160
- if (input.substr(peg$currPos, 10) === peg$c1388) {
15161
- s1 = peg$c1388;
15670
+ if (input.substr(peg$currPos, 10) === peg$c1391) {
15671
+ s1 = peg$c1391;
15162
15672
  peg$currPos += 10;
15163
15673
  }
15164
15674
  else {
15165
15675
  s1 = peg$FAILED;
15166
15676
  if (peg$silentFails === 0) {
15167
- peg$fail(peg$c1389);
15677
+ peg$fail(peg$c1392);
15168
15678
  }
15169
15679
  }
15170
15680
  if (s1 !== peg$FAILED) {
15171
15681
  peg$savedPos = s0;
15172
- s1 = peg$c1390();
15682
+ s1 = peg$c1393();
15173
15683
  }
15174
15684
  s0 = s1;
15175
15685
  if (s0 === peg$FAILED) {
@@ -15186,7 +15696,7 @@ function peg$parse(input, options) {
15186
15696
  }
15187
15697
  if (s1 !== peg$FAILED) {
15188
15698
  peg$savedPos = s0;
15189
- s1 = peg$c1391();
15699
+ s1 = peg$c1394();
15190
15700
  }
15191
15701
  s0 = s1;
15192
15702
  if (s0 === peg$FAILED) {
@@ -15203,7 +15713,7 @@ function peg$parse(input, options) {
15203
15713
  }
15204
15714
  if (s1 !== peg$FAILED) {
15205
15715
  peg$savedPos = s0;
15206
- s1 = peg$c1392();
15716
+ s1 = peg$c1395();
15207
15717
  }
15208
15718
  s0 = s1;
15209
15719
  }
@@ -15247,131 +15757,131 @@ function peg$parse(input, options) {
15247
15757
  peg$silentFails--;
15248
15758
  if (s0 === peg$FAILED) {
15249
15759
  if (peg$silentFails === 0) {
15250
- peg$fail(peg$c1393);
15760
+ peg$fail(peg$c1396);
15251
15761
  }
15252
15762
  }
15253
15763
  return s0;
15254
15764
  }
15255
15765
  function peg$parseLicenseOrLabelOrList() {
15256
15766
  var s0;
15257
- if (input.substr(peg$currPos, 3) === peg$c1394) {
15258
- s0 = peg$c1394;
15767
+ if (input.substr(peg$currPos, 3) === peg$c1397) {
15768
+ s0 = peg$c1397;
15259
15769
  peg$currPos += 3;
15260
15770
  }
15261
15771
  else {
15262
15772
  s0 = peg$FAILED;
15263
15773
  if (peg$silentFails === 0) {
15264
- peg$fail(peg$c1395);
15774
+ peg$fail(peg$c1398);
15265
15775
  }
15266
15776
  }
15267
15777
  if (s0 === peg$FAILED) {
15268
- if (input.substr(peg$currPos, 12) === peg$c1396) {
15269
- s0 = peg$c1396;
15778
+ if (input.substr(peg$currPos, 12) === peg$c1399) {
15779
+ s0 = peg$c1399;
15270
15780
  peg$currPos += 12;
15271
15781
  }
15272
15782
  else {
15273
15783
  s0 = peg$FAILED;
15274
15784
  if (peg$silentFails === 0) {
15275
- peg$fail(peg$c1397);
15785
+ peg$fail(peg$c1400);
15276
15786
  }
15277
15787
  }
15278
15788
  if (s0 === peg$FAILED) {
15279
- if (input.substr(peg$currPos, 12) === peg$c1398) {
15280
- s0 = peg$c1398;
15789
+ if (input.substr(peg$currPos, 12) === peg$c1401) {
15790
+ s0 = peg$c1401;
15281
15791
  peg$currPos += 12;
15282
15792
  }
15283
15793
  else {
15284
15794
  s0 = peg$FAILED;
15285
15795
  if (peg$silentFails === 0) {
15286
- peg$fail(peg$c1399);
15796
+ peg$fail(peg$c1402);
15287
15797
  }
15288
15798
  }
15289
15799
  if (s0 === peg$FAILED) {
15290
- if (input.substr(peg$currPos, 10) === peg$c1400) {
15291
- s0 = peg$c1400;
15800
+ if (input.substr(peg$currPos, 10) === peg$c1403) {
15801
+ s0 = peg$c1403;
15292
15802
  peg$currPos += 10;
15293
15803
  }
15294
15804
  else {
15295
15805
  s0 = peg$FAILED;
15296
15806
  if (peg$silentFails === 0) {
15297
- peg$fail(peg$c1401);
15807
+ peg$fail(peg$c1404);
15298
15808
  }
15299
15809
  }
15300
15810
  if (s0 === peg$FAILED) {
15301
- if (input.substr(peg$currPos, 11) === peg$c1402) {
15302
- s0 = peg$c1402;
15811
+ if (input.substr(peg$currPos, 11) === peg$c1405) {
15812
+ s0 = peg$c1405;
15303
15813
  peg$currPos += 11;
15304
15814
  }
15305
15815
  else {
15306
15816
  s0 = peg$FAILED;
15307
15817
  if (peg$silentFails === 0) {
15308
- peg$fail(peg$c1403);
15818
+ peg$fail(peg$c1406);
15309
15819
  }
15310
15820
  }
15311
15821
  if (s0 === peg$FAILED) {
15312
- if (input.substr(peg$currPos, 13) === peg$c1404) {
15313
- s0 = peg$c1404;
15822
+ if (input.substr(peg$currPos, 13) === peg$c1407) {
15823
+ s0 = peg$c1407;
15314
15824
  peg$currPos += 13;
15315
15825
  }
15316
15826
  else {
15317
15827
  s0 = peg$FAILED;
15318
15828
  if (peg$silentFails === 0) {
15319
- peg$fail(peg$c1405);
15829
+ peg$fail(peg$c1408);
15320
15830
  }
15321
15831
  }
15322
15832
  if (s0 === peg$FAILED) {
15323
- if (input.substr(peg$currPos, 6) === peg$c1406) {
15324
- s0 = peg$c1406;
15833
+ if (input.substr(peg$currPos, 6) === peg$c1409) {
15834
+ s0 = peg$c1409;
15325
15835
  peg$currPos += 6;
15326
15836
  }
15327
15837
  else {
15328
15838
  s0 = peg$FAILED;
15329
15839
  if (peg$silentFails === 0) {
15330
- peg$fail(peg$c1407);
15840
+ peg$fail(peg$c1410);
15331
15841
  }
15332
15842
  }
15333
15843
  if (s0 === peg$FAILED) {
15334
- if (input.substr(peg$currPos, 6) === peg$c1408) {
15335
- s0 = peg$c1408;
15844
+ if (input.substr(peg$currPos, 6) === peg$c1411) {
15845
+ s0 = peg$c1411;
15336
15846
  peg$currPos += 6;
15337
15847
  }
15338
15848
  else {
15339
15849
  s0 = peg$FAILED;
15340
15850
  if (peg$silentFails === 0) {
15341
- peg$fail(peg$c1409);
15851
+ peg$fail(peg$c1412);
15342
15852
  }
15343
15853
  }
15344
15854
  if (s0 === peg$FAILED) {
15345
- if (input.substr(peg$currPos, 9) === peg$c1410) {
15346
- s0 = peg$c1410;
15855
+ if (input.substr(peg$currPos, 9) === peg$c1413) {
15856
+ s0 = peg$c1413;
15347
15857
  peg$currPos += 9;
15348
15858
  }
15349
15859
  else {
15350
15860
  s0 = peg$FAILED;
15351
15861
  if (peg$silentFails === 0) {
15352
- peg$fail(peg$c1411);
15862
+ peg$fail(peg$c1414);
15353
15863
  }
15354
15864
  }
15355
15865
  if (s0 === peg$FAILED) {
15356
- if (input.substr(peg$currPos, 9) === peg$c1412) {
15357
- s0 = peg$c1412;
15866
+ if (input.substr(peg$currPos, 9) === peg$c1415) {
15867
+ s0 = peg$c1415;
15358
15868
  peg$currPos += 9;
15359
15869
  }
15360
15870
  else {
15361
15871
  s0 = peg$FAILED;
15362
15872
  if (peg$silentFails === 0) {
15363
- peg$fail(peg$c1413);
15873
+ peg$fail(peg$c1416);
15364
15874
  }
15365
15875
  }
15366
15876
  if (s0 === peg$FAILED) {
15367
- if (input.substr(peg$currPos, 7) === peg$c1414) {
15368
- s0 = peg$c1414;
15877
+ if (input.substr(peg$currPos, 7) === peg$c1417) {
15878
+ s0 = peg$c1417;
15369
15879
  peg$currPos += 7;
15370
15880
  }
15371
15881
  else {
15372
15882
  s0 = peg$FAILED;
15373
15883
  if (peg$silentFails === 0) {
15374
- peg$fail(peg$c1415);
15884
+ peg$fail(peg$c1418);
15375
15885
  }
15376
15886
  }
15377
15887
  if (s0 === peg$FAILED) {
@@ -15395,47 +15905,47 @@ function peg$parse(input, options) {
15395
15905
  function peg$parseDirection() {
15396
15906
  var s0;
15397
15907
  peg$silentFails++;
15398
- if (input.substr(peg$currPos, 2) === peg$c1417) {
15399
- s0 = peg$c1417;
15908
+ if (input.substr(peg$currPos, 2) === peg$c1420) {
15909
+ s0 = peg$c1420;
15400
15910
  peg$currPos += 2;
15401
15911
  }
15402
15912
  else {
15403
15913
  s0 = peg$FAILED;
15404
15914
  if (peg$silentFails === 0) {
15405
- peg$fail(peg$c1418);
15915
+ peg$fail(peg$c1421);
15406
15916
  }
15407
15917
  }
15408
15918
  if (s0 === peg$FAILED) {
15409
- if (input.substr(peg$currPos, 5) === peg$c1419) {
15410
- s0 = peg$c1419;
15919
+ if (input.substr(peg$currPos, 5) === peg$c1422) {
15920
+ s0 = peg$c1422;
15411
15921
  peg$currPos += 5;
15412
15922
  }
15413
15923
  else {
15414
15924
  s0 = peg$FAILED;
15415
15925
  if (peg$silentFails === 0) {
15416
- peg$fail(peg$c1420);
15926
+ peg$fail(peg$c1423);
15417
15927
  }
15418
15928
  }
15419
15929
  if (s0 === peg$FAILED) {
15420
- if (input.substr(peg$currPos, 4) === peg$c1421) {
15421
- s0 = peg$c1421;
15930
+ if (input.substr(peg$currPos, 4) === peg$c1424) {
15931
+ s0 = peg$c1424;
15422
15932
  peg$currPos += 4;
15423
15933
  }
15424
15934
  else {
15425
15935
  s0 = peg$FAILED;
15426
15936
  if (peg$silentFails === 0) {
15427
- peg$fail(peg$c1422);
15937
+ peg$fail(peg$c1425);
15428
15938
  }
15429
15939
  }
15430
15940
  if (s0 === peg$FAILED) {
15431
- if (input.substr(peg$currPos, 4) === peg$c1423) {
15432
- s0 = peg$c1423;
15941
+ if (input.substr(peg$currPos, 4) === peg$c1426) {
15942
+ s0 = peg$c1426;
15433
15943
  peg$currPos += 4;
15434
15944
  }
15435
15945
  else {
15436
15946
  s0 = peg$FAILED;
15437
15947
  if (peg$silentFails === 0) {
15438
- peg$fail(peg$c1424);
15948
+ peg$fail(peg$c1427);
15439
15949
  }
15440
15950
  }
15441
15951
  }
@@ -15444,7 +15954,7 @@ function peg$parse(input, options) {
15444
15954
  peg$silentFails--;
15445
15955
  if (s0 === peg$FAILED) {
15446
15956
  if (peg$silentFails === 0) {
15447
- peg$fail(peg$c1416);
15957
+ peg$fail(peg$c1419);
15448
15958
  }
15449
15959
  }
15450
15960
  return s0;
@@ -15452,32 +15962,32 @@ function peg$parse(input, options) {
15452
15962
  function peg$parseHookDefinition() {
15453
15963
  var s0;
15454
15964
  peg$silentFails++;
15455
- if (input.substr(peg$currPos, 4) === peg$c1426) {
15456
- s0 = peg$c1426;
15965
+ if (input.substr(peg$currPos, 4) === peg$c1429) {
15966
+ s0 = peg$c1429;
15457
15967
  peg$currPos += 4;
15458
15968
  }
15459
15969
  else {
15460
15970
  s0 = peg$FAILED;
15461
15971
  if (peg$silentFails === 0) {
15462
- peg$fail(peg$c1427);
15972
+ peg$fail(peg$c1430);
15463
15973
  }
15464
15974
  }
15465
15975
  if (s0 === peg$FAILED) {
15466
- if (input.substr(peg$currPos, 6) === peg$c1428) {
15467
- s0 = peg$c1428;
15976
+ if (input.substr(peg$currPos, 6) === peg$c1431) {
15977
+ s0 = peg$c1431;
15468
15978
  peg$currPos += 6;
15469
15979
  }
15470
15980
  else {
15471
15981
  s0 = peg$FAILED;
15472
15982
  if (peg$silentFails === 0) {
15473
- peg$fail(peg$c1429);
15983
+ peg$fail(peg$c1432);
15474
15984
  }
15475
15985
  }
15476
15986
  }
15477
15987
  peg$silentFails--;
15478
15988
  if (s0 === peg$FAILED) {
15479
15989
  if (peg$silentFails === 0) {
15480
- peg$fail(peg$c1425);
15990
+ peg$fail(peg$c1428);
15481
15991
  }
15482
15992
  }
15483
15993
  return s0;
@@ -15490,14 +16000,14 @@ function peg$parse(input, options) {
15490
16000
  s1 = null;
15491
16001
  }
15492
16002
  if (s1 !== peg$FAILED) {
15493
- if (input.substr(peg$currPos, 14) === peg$c1430) {
15494
- s2 = peg$c1430;
16003
+ if (input.substr(peg$currPos, 14) === peg$c1433) {
16004
+ s2 = peg$c1433;
15495
16005
  peg$currPos += 14;
15496
16006
  }
15497
16007
  else {
15498
16008
  s2 = peg$FAILED;
15499
16009
  if (peg$silentFails === 0) {
15500
- peg$fail(peg$c1431);
16010
+ peg$fail(peg$c1434);
15501
16011
  }
15502
16012
  }
15503
16013
  if (s2 !== peg$FAILED) {
@@ -15522,7 +16032,13 @@ function peg$parse(input, options) {
15522
16032
  s5 = null;
15523
16033
  }
15524
16034
  if (s5 !== peg$FAILED) {
15525
- s6 = peg$parseLabelOrLabelList();
16035
+ s6 = peg$currPos;
16036
+ s7 = peg$parseLabelOrLabelList();
16037
+ if (s7 !== peg$FAILED) {
16038
+ peg$savedPos = s6;
16039
+ s7 = peg$c1214(s7);
16040
+ }
16041
+ s6 = s7;
15526
16042
  if (s6 !== peg$FAILED) {
15527
16043
  s7 = peg$parseWS();
15528
16044
  if (s7 === peg$FAILED) {
@@ -15546,7 +16062,7 @@ function peg$parse(input, options) {
15546
16062
  }
15547
16063
  if (s9 !== peg$FAILED) {
15548
16064
  peg$savedPos = s0;
15549
- s1 = peg$c1432(s6);
16065
+ s1 = peg$c1435(s6);
15550
16066
  s0 = s1;
15551
16067
  }
15552
16068
  else {
@@ -15603,14 +16119,14 @@ function peg$parse(input, options) {
15603
16119
  s1 = null;
15604
16120
  }
15605
16121
  if (s1 !== peg$FAILED) {
15606
- if (input.substr(peg$currPos, 19) === peg$c1433) {
15607
- s2 = peg$c1433;
16122
+ if (input.substr(peg$currPos, 19) === peg$c1436) {
16123
+ s2 = peg$c1436;
15608
16124
  peg$currPos += 19;
15609
16125
  }
15610
16126
  else {
15611
16127
  s2 = peg$FAILED;
15612
16128
  if (peg$silentFails === 0) {
15613
- peg$fail(peg$c1434);
16129
+ peg$fail(peg$c1437);
15614
16130
  }
15615
16131
  }
15616
16132
  if (s2 !== peg$FAILED) {
@@ -15635,7 +16151,13 @@ function peg$parse(input, options) {
15635
16151
  s5 = null;
15636
16152
  }
15637
16153
  if (s5 !== peg$FAILED) {
15638
- s6 = peg$parseLabelOrLabelList();
16154
+ s6 = peg$currPos;
16155
+ s7 = peg$parseLabelOrLabelList();
16156
+ if (s7 !== peg$FAILED) {
16157
+ peg$savedPos = s6;
16158
+ s7 = peg$c1214(s7);
16159
+ }
16160
+ s6 = s7;
15639
16161
  if (s6 !== peg$FAILED) {
15640
16162
  s7 = peg$parseWS();
15641
16163
  if (s7 === peg$FAILED) {
@@ -15659,7 +16181,7 @@ function peg$parse(input, options) {
15659
16181
  }
15660
16182
  if (s9 !== peg$FAILED) {
15661
16183
  peg$savedPos = s0;
15662
- s1 = peg$c1435(s6);
16184
+ s1 = peg$c1438(s6);
15663
16185
  s0 = s1;
15664
16186
  }
15665
16187
  else {
@@ -15716,14 +16238,14 @@ function peg$parse(input, options) {
15716
16238
  s1 = null;
15717
16239
  }
15718
16240
  if (s1 !== peg$FAILED) {
15719
- if (input.substr(peg$currPos, 15) === peg$c1436) {
15720
- s2 = peg$c1436;
16241
+ if (input.substr(peg$currPos, 15) === peg$c1439) {
16242
+ s2 = peg$c1439;
15721
16243
  peg$currPos += 15;
15722
16244
  }
15723
16245
  else {
15724
16246
  s2 = peg$FAILED;
15725
16247
  if (peg$silentFails === 0) {
15726
- peg$fail(peg$c1437);
16248
+ peg$fail(peg$c1440);
15727
16249
  }
15728
16250
  }
15729
16251
  if (s2 !== peg$FAILED) {
@@ -15748,7 +16270,13 @@ function peg$parse(input, options) {
15748
16270
  s5 = null;
15749
16271
  }
15750
16272
  if (s5 !== peg$FAILED) {
15751
- s6 = peg$parseLabelOrLabelList();
16273
+ s6 = peg$currPos;
16274
+ s7 = peg$parseLabelOrLabelList();
16275
+ if (s7 !== peg$FAILED) {
16276
+ peg$savedPos = s6;
16277
+ s7 = peg$c1214(s7);
16278
+ }
16279
+ s6 = s7;
15752
16280
  if (s6 !== peg$FAILED) {
15753
16281
  s7 = peg$parseWS();
15754
16282
  if (s7 === peg$FAILED) {
@@ -15772,7 +16300,7 @@ function peg$parse(input, options) {
15772
16300
  }
15773
16301
  if (s9 !== peg$FAILED) {
15774
16302
  peg$savedPos = s0;
15775
- s1 = peg$c1438(s6);
16303
+ s1 = peg$c1441(s6);
15776
16304
  s0 = s1;
15777
16305
  }
15778
16306
  else {
@@ -15829,14 +16357,14 @@ function peg$parse(input, options) {
15829
16357
  s1 = null;
15830
16358
  }
15831
16359
  if (s1 !== peg$FAILED) {
15832
- if (input.substr(peg$currPos, 18) === peg$c1439) {
15833
- s2 = peg$c1439;
16360
+ if (input.substr(peg$currPos, 18) === peg$c1442) {
16361
+ s2 = peg$c1442;
15834
16362
  peg$currPos += 18;
15835
16363
  }
15836
16364
  else {
15837
16365
  s2 = peg$FAILED;
15838
16366
  if (peg$silentFails === 0) {
15839
- peg$fail(peg$c1440);
16367
+ peg$fail(peg$c1443);
15840
16368
  }
15841
16369
  }
15842
16370
  if (s2 !== peg$FAILED) {
@@ -15861,7 +16389,13 @@ function peg$parse(input, options) {
15861
16389
  s5 = null;
15862
16390
  }
15863
16391
  if (s5 !== peg$FAILED) {
15864
- s6 = peg$parseURL();
16392
+ s6 = peg$currPos;
16393
+ s7 = peg$parseURL();
16394
+ if (s7 !== peg$FAILED) {
16395
+ peg$savedPos = s6;
16396
+ s7 = peg$c1214(s7);
16397
+ }
16398
+ s6 = s7;
15865
16399
  if (s6 !== peg$FAILED) {
15866
16400
  s7 = peg$parseWS();
15867
16401
  if (s7 === peg$FAILED) {
@@ -15885,7 +16419,7 @@ function peg$parse(input, options) {
15885
16419
  }
15886
16420
  if (s9 !== peg$FAILED) {
15887
16421
  peg$savedPos = s0;
15888
- s1 = peg$c1441(s6);
16422
+ s1 = peg$c1444(s6);
15889
16423
  s0 = s1;
15890
16424
  }
15891
16425
  else {
@@ -15942,14 +16476,14 @@ function peg$parse(input, options) {
15942
16476
  s1 = null;
15943
16477
  }
15944
16478
  if (s1 !== peg$FAILED) {
15945
- if (input.substr(peg$currPos, 12) === peg$c1442) {
15946
- s2 = peg$c1442;
16479
+ if (input.substr(peg$currPos, 12) === peg$c1445) {
16480
+ s2 = peg$c1445;
15947
16481
  peg$currPos += 12;
15948
16482
  }
15949
16483
  else {
15950
16484
  s2 = peg$FAILED;
15951
16485
  if (peg$silentFails === 0) {
15952
- peg$fail(peg$c1443);
16486
+ peg$fail(peg$c1446);
15953
16487
  }
15954
16488
  }
15955
16489
  if (s2 !== peg$FAILED) {
@@ -15974,7 +16508,13 @@ function peg$parse(input, options) {
15974
16508
  s5 = null;
15975
16509
  }
15976
16510
  if (s5 !== peg$FAILED) {
15977
- s6 = peg$parseLabel();
16511
+ s6 = peg$currPos;
16512
+ s7 = peg$parseLabel();
16513
+ if (s7 !== peg$FAILED) {
16514
+ peg$savedPos = s6;
16515
+ s7 = peg$c1214(s7);
16516
+ }
16517
+ s6 = s7;
15978
16518
  if (s6 !== peg$FAILED) {
15979
16519
  s7 = peg$parseWS();
15980
16520
  if (s7 === peg$FAILED) {
@@ -15998,7 +16538,7 @@ function peg$parse(input, options) {
15998
16538
  }
15999
16539
  if (s9 !== peg$FAILED) {
16000
16540
  peg$savedPos = s0;
16001
- s1 = peg$c1444(s6);
16541
+ s1 = peg$c1447(s6);
16002
16542
  s0 = s1;
16003
16543
  }
16004
16544
  else {
@@ -16055,14 +16595,14 @@ function peg$parse(input, options) {
16055
16595
  s1 = null;
16056
16596
  }
16057
16597
  if (s1 !== peg$FAILED) {
16058
- if (input.substr(peg$currPos, 8) === peg$c1445) {
16059
- s2 = peg$c1445;
16598
+ if (input.substr(peg$currPos, 8) === peg$c1448) {
16599
+ s2 = peg$c1448;
16060
16600
  peg$currPos += 8;
16061
16601
  }
16062
16602
  else {
16063
16603
  s2 = peg$FAILED;
16064
16604
  if (peg$silentFails === 0) {
16065
- peg$fail(peg$c1446);
16605
+ peg$fail(peg$c1449);
16066
16606
  }
16067
16607
  }
16068
16608
  if (s2 !== peg$FAILED) {
@@ -16087,7 +16627,13 @@ function peg$parse(input, options) {
16087
16627
  s5 = null;
16088
16628
  }
16089
16629
  if (s5 !== peg$FAILED) {
16090
- s6 = peg$parseLabel();
16630
+ s6 = peg$currPos;
16631
+ s7 = peg$parseLabel();
16632
+ if (s7 !== peg$FAILED) {
16633
+ peg$savedPos = s6;
16634
+ s7 = peg$c1214(s7);
16635
+ }
16636
+ s6 = s7;
16091
16637
  if (s6 !== peg$FAILED) {
16092
16638
  s7 = peg$parseWS();
16093
16639
  if (s7 === peg$FAILED) {
@@ -16111,7 +16657,7 @@ function peg$parse(input, options) {
16111
16657
  }
16112
16658
  if (s9 !== peg$FAILED) {
16113
16659
  peg$savedPos = s0;
16114
- s1 = peg$c1447(s6);
16660
+ s1 = peg$c1450(s6);
16115
16661
  s0 = s1;
16116
16662
  }
16117
16663
  else {
@@ -16168,14 +16714,14 @@ function peg$parse(input, options) {
16168
16714
  s1 = null;
16169
16715
  }
16170
16716
  if (s1 !== peg$FAILED) {
16171
- if (input.substr(peg$currPos, 17) === peg$c1448) {
16172
- s2 = peg$c1448;
16717
+ if (input.substr(peg$currPos, 17) === peg$c1451) {
16718
+ s2 = peg$c1451;
16173
16719
  peg$currPos += 17;
16174
16720
  }
16175
16721
  else {
16176
16722
  s2 = peg$FAILED;
16177
16723
  if (peg$silentFails === 0) {
16178
- peg$fail(peg$c1449);
16724
+ peg$fail(peg$c1452);
16179
16725
  }
16180
16726
  }
16181
16727
  if (s2 !== peg$FAILED) {
@@ -16200,7 +16746,13 @@ function peg$parse(input, options) {
16200
16746
  s5 = null;
16201
16747
  }
16202
16748
  if (s5 !== peg$FAILED) {
16203
- s6 = peg$parseLabelOrLabelList();
16749
+ s6 = peg$currPos;
16750
+ s7 = peg$parseLabelOrLabelList();
16751
+ if (s7 !== peg$FAILED) {
16752
+ peg$savedPos = s6;
16753
+ s7 = peg$c1214(s7);
16754
+ }
16755
+ s6 = s7;
16204
16756
  if (s6 !== peg$FAILED) {
16205
16757
  s7 = peg$parseWS();
16206
16758
  if (s7 === peg$FAILED) {
@@ -16224,7 +16776,7 @@ function peg$parse(input, options) {
16224
16776
  }
16225
16777
  if (s9 !== peg$FAILED) {
16226
16778
  peg$savedPos = s0;
16227
- s1 = peg$c1450(s6);
16779
+ s1 = peg$c1453(s6);
16228
16780
  s0 = s1;
16229
16781
  }
16230
16782
  else {
@@ -16281,14 +16833,14 @@ function peg$parse(input, options) {
16281
16833
  s1 = null;
16282
16834
  }
16283
16835
  if (s1 !== peg$FAILED) {
16284
- if (input.substr(peg$currPos, 15) === peg$c1451) {
16285
- s2 = peg$c1451;
16836
+ if (input.substr(peg$currPos, 15) === peg$c1454) {
16837
+ s2 = peg$c1454;
16286
16838
  peg$currPos += 15;
16287
16839
  }
16288
16840
  else {
16289
16841
  s2 = peg$FAILED;
16290
16842
  if (peg$silentFails === 0) {
16291
- peg$fail(peg$c1452);
16843
+ peg$fail(peg$c1455);
16292
16844
  }
16293
16845
  }
16294
16846
  if (s2 !== peg$FAILED) {
@@ -16313,7 +16865,13 @@ function peg$parse(input, options) {
16313
16865
  s5 = null;
16314
16866
  }
16315
16867
  if (s5 !== peg$FAILED) {
16316
- s6 = peg$parseSemVer();
16868
+ s6 = peg$currPos;
16869
+ s7 = peg$parseSemVer();
16870
+ if (s7 !== peg$FAILED) {
16871
+ peg$savedPos = s6;
16872
+ s7 = peg$c1214(s7);
16873
+ }
16874
+ s6 = s7;
16317
16875
  if (s6 !== peg$FAILED) {
16318
16876
  s7 = peg$parseWS();
16319
16877
  if (s7 === peg$FAILED) {
@@ -16337,7 +16895,7 @@ function peg$parse(input, options) {
16337
16895
  }
16338
16896
  if (s9 !== peg$FAILED) {
16339
16897
  peg$savedPos = s0;
16340
- s1 = peg$c1453(s6);
16898
+ s1 = peg$c1456(s6);
16341
16899
  s0 = s1;
16342
16900
  }
16343
16901
  else {
@@ -16394,14 +16952,14 @@ function peg$parse(input, options) {
16394
16952
  s1 = null;
16395
16953
  }
16396
16954
  if (s1 !== peg$FAILED) {
16397
- if (input.substr(peg$currPos, 15) === peg$c1454) {
16398
- s2 = peg$c1454;
16955
+ if (input.substr(peg$currPos, 15) === peg$c1457) {
16956
+ s2 = peg$c1457;
16399
16957
  peg$currPos += 15;
16400
16958
  }
16401
16959
  else {
16402
16960
  s2 = peg$FAILED;
16403
16961
  if (peg$silentFails === 0) {
16404
- peg$fail(peg$c1455);
16962
+ peg$fail(peg$c1458);
16405
16963
  }
16406
16964
  }
16407
16965
  if (s2 !== peg$FAILED) {
@@ -16426,7 +16984,13 @@ function peg$parse(input, options) {
16426
16984
  s5 = null;
16427
16985
  }
16428
16986
  if (s5 !== peg$FAILED) {
16429
- s6 = peg$parseLicenseOrLabelOrList();
16987
+ s6 = peg$currPos;
16988
+ s7 = peg$parseLicenseOrLabelOrList();
16989
+ if (s7 !== peg$FAILED) {
16990
+ peg$savedPos = s6;
16991
+ s7 = peg$c1214(s7);
16992
+ }
16993
+ s6 = s7;
16430
16994
  if (s6 !== peg$FAILED) {
16431
16995
  s7 = peg$parseWS();
16432
16996
  if (s7 === peg$FAILED) {
@@ -16450,7 +17014,7 @@ function peg$parse(input, options) {
16450
17014
  }
16451
17015
  if (s9 !== peg$FAILED) {
16452
17016
  peg$savedPos = s0;
16453
- s1 = peg$c1456(s6);
17017
+ s1 = peg$c1459(s6);
16454
17018
  s0 = s1;
16455
17019
  }
16456
17020
  else {
@@ -16507,14 +17071,14 @@ function peg$parse(input, options) {
16507
17071
  s1 = null;
16508
17072
  }
16509
17073
  if (s1 !== peg$FAILED) {
16510
- if (input.substr(peg$currPos, 16) === peg$c1457) {
16511
- s2 = peg$c1457;
17074
+ if (input.substr(peg$currPos, 16) === peg$c1460) {
17075
+ s2 = peg$c1460;
16512
17076
  peg$currPos += 16;
16513
17077
  }
16514
17078
  else {
16515
17079
  s2 = peg$FAILED;
16516
17080
  if (peg$silentFails === 0) {
16517
- peg$fail(peg$c1458);
17081
+ peg$fail(peg$c1461);
16518
17082
  }
16519
17083
  }
16520
17084
  if (s2 !== peg$FAILED) {
@@ -16539,7 +17103,13 @@ function peg$parse(input, options) {
16539
17103
  s5 = null;
16540
17104
  }
16541
17105
  if (s5 !== peg$FAILED) {
16542
- s6 = peg$parseLabel();
17106
+ s6 = peg$currPos;
17107
+ s7 = peg$parseLabel();
17108
+ if (s7 !== peg$FAILED) {
17109
+ peg$savedPos = s6;
17110
+ s7 = peg$c1214(s7);
17111
+ }
17112
+ s6 = s7;
16543
17113
  if (s6 !== peg$FAILED) {
16544
17114
  s7 = peg$parseWS();
16545
17115
  if (s7 === peg$FAILED) {
@@ -16563,7 +17133,7 @@ function peg$parse(input, options) {
16563
17133
  }
16564
17134
  if (s9 !== peg$FAILED) {
16565
17135
  peg$savedPos = s0;
16566
- s1 = peg$c1459(s6);
17136
+ s1 = peg$c1462(s6);
16567
17137
  s0 = s1;
16568
17138
  }
16569
17139
  else {
@@ -16620,14 +17190,14 @@ function peg$parse(input, options) {
16620
17190
  s1 = null;
16621
17191
  }
16622
17192
  if (s1 !== peg$FAILED) {
16623
- if (input.substr(peg$currPos, 11) === peg$c1460) {
16624
- s2 = peg$c1460;
17193
+ if (input.substr(peg$currPos, 11) === peg$c1463) {
17194
+ s2 = peg$c1463;
16625
17195
  peg$currPos += 11;
16626
17196
  }
16627
17197
  else {
16628
17198
  s2 = peg$FAILED;
16629
17199
  if (peg$silentFails === 0) {
16630
- peg$fail(peg$c1461);
17200
+ peg$fail(peg$c1464);
16631
17201
  }
16632
17202
  }
16633
17203
  if (s2 !== peg$FAILED) {
@@ -16652,7 +17222,13 @@ function peg$parse(input, options) {
16652
17222
  s5 = null;
16653
17223
  }
16654
17224
  if (s5 !== peg$FAILED) {
16655
- s6 = peg$parseSemVer();
17225
+ s6 = peg$currPos;
17226
+ s7 = peg$parseSemVer();
17227
+ if (s7 !== peg$FAILED) {
17228
+ peg$savedPos = s6;
17229
+ s7 = peg$c1214(s7);
17230
+ }
17231
+ s6 = s7;
16656
17232
  if (s6 !== peg$FAILED) {
16657
17233
  s7 = peg$parseWS();
16658
17234
  if (s7 === peg$FAILED) {
@@ -16676,7 +17252,7 @@ function peg$parse(input, options) {
16676
17252
  }
16677
17253
  if (s9 !== peg$FAILED) {
16678
17254
  peg$savedPos = s0;
16679
- s1 = peg$c1462(s6);
17255
+ s1 = peg$c1465(s6);
16680
17256
  s0 = s1;
16681
17257
  }
16682
17258
  else {
@@ -16733,14 +17309,14 @@ function peg$parse(input, options) {
16733
17309
  s1 = null;
16734
17310
  }
16735
17311
  if (s1 !== peg$FAILED) {
16736
- if (input.substr(peg$currPos, 5) === peg$c1463) {
16737
- s2 = peg$c1463;
17312
+ if (input.substr(peg$currPos, 5) === peg$c1466) {
17313
+ s2 = peg$c1466;
16738
17314
  peg$currPos += 5;
16739
17315
  }
16740
17316
  else {
16741
17317
  s2 = peg$FAILED;
16742
17318
  if (peg$silentFails === 0) {
16743
- peg$fail(peg$c1464);
17319
+ peg$fail(peg$c1467);
16744
17320
  }
16745
17321
  }
16746
17322
  if (s2 !== peg$FAILED) {
@@ -16765,7 +17341,13 @@ function peg$parse(input, options) {
16765
17341
  s5 = null;
16766
17342
  }
16767
17343
  if (s5 !== peg$FAILED) {
16768
- s6 = peg$parseThemeOrThemeList();
17344
+ s6 = peg$currPos;
17345
+ s7 = peg$parseThemeOrThemeList();
17346
+ if (s7 !== peg$FAILED) {
17347
+ peg$savedPos = s6;
17348
+ s7 = peg$c1214(s7);
17349
+ }
17350
+ s6 = s7;
16769
17351
  if (s6 !== peg$FAILED) {
16770
17352
  s7 = peg$parseWS();
16771
17353
  if (s7 === peg$FAILED) {
@@ -16789,7 +17371,7 @@ function peg$parse(input, options) {
16789
17371
  }
16790
17372
  if (s9 !== peg$FAILED) {
16791
17373
  peg$savedPos = s0;
16792
- s1 = peg$c1465(s6);
17374
+ s1 = peg$c1468(s6);
16793
17375
  s0 = s1;
16794
17376
  }
16795
17377
  else {
@@ -16846,14 +17428,14 @@ function peg$parse(input, options) {
16846
17428
  s1 = null;
16847
17429
  }
16848
17430
  if (s1 !== peg$FAILED) {
16849
- if (input.substr(peg$currPos, 4) === peg$c1466) {
16850
- s2 = peg$c1466;
17431
+ if (input.substr(peg$currPos, 4) === peg$c1469) {
17432
+ s2 = peg$c1469;
16851
17433
  peg$currPos += 4;
16852
17434
  }
16853
17435
  else {
16854
17436
  s2 = peg$FAILED;
16855
17437
  if (peg$silentFails === 0) {
16856
- peg$fail(peg$c1467);
17438
+ peg$fail(peg$c1470);
16857
17439
  }
16858
17440
  }
16859
17441
  if (s2 !== peg$FAILED) {
@@ -16878,7 +17460,13 @@ function peg$parse(input, options) {
16878
17460
  s5 = null;
16879
17461
  }
16880
17462
  if (s5 !== peg$FAILED) {
16881
- s6 = peg$parseDirection();
17463
+ s6 = peg$currPos;
17464
+ s7 = peg$parseDirection();
17465
+ if (s7 !== peg$FAILED) {
17466
+ peg$savedPos = s6;
17467
+ s7 = peg$c1214(s7);
17468
+ }
17469
+ s6 = s7;
16882
17470
  if (s6 !== peg$FAILED) {
16883
17471
  s7 = peg$parseWS();
16884
17472
  if (s7 === peg$FAILED) {
@@ -16902,7 +17490,7 @@ function peg$parse(input, options) {
16902
17490
  }
16903
17491
  if (s9 !== peg$FAILED) {
16904
17492
  peg$savedPos = s0;
16905
- s1 = peg$c1468(s6);
17493
+ s1 = peg$c1471(s6);
16906
17494
  s0 = s1;
16907
17495
  }
16908
17496
  else {
@@ -16959,14 +17547,14 @@ function peg$parse(input, options) {
16959
17547
  s1 = null;
16960
17548
  }
16961
17549
  if (s1 !== peg$FAILED) {
16962
- if (input.substr(peg$currPos, 5) === peg$c1469) {
16963
- s2 = peg$c1469;
17550
+ if (input.substr(peg$currPos, 5) === peg$c1472) {
17551
+ s2 = peg$c1472;
16964
17552
  peg$currPos += 5;
16965
17553
  }
16966
17554
  else {
16967
17555
  s2 = peg$FAILED;
16968
17556
  if (peg$silentFails === 0) {
16969
- peg$fail(peg$c1470);
17557
+ peg$fail(peg$c1473);
16970
17558
  }
16971
17559
  }
16972
17560
  if (s2 !== peg$FAILED) {
@@ -16991,7 +17579,13 @@ function peg$parse(input, options) {
16991
17579
  s5 = null;
16992
17580
  }
16993
17581
  if (s5 !== peg$FAILED) {
16994
- s6 = peg$parseHookDefinition();
17582
+ s6 = peg$currPos;
17583
+ s7 = peg$parseHookDefinition();
17584
+ if (s7 !== peg$FAILED) {
17585
+ peg$savedPos = s6;
17586
+ s7 = peg$c1214(s7);
17587
+ }
17588
+ s6 = s7;
16995
17589
  if (s6 !== peg$FAILED) {
16996
17590
  s7 = peg$parseWS();
16997
17591
  if (s7 === peg$FAILED) {
@@ -17015,7 +17609,7 @@ function peg$parse(input, options) {
17015
17609
  }
17016
17610
  if (s9 !== peg$FAILED) {
17017
17611
  peg$savedPos = s0;
17018
- s1 = peg$c1471(s6);
17612
+ s1 = peg$c1474(s6);
17019
17613
  s0 = s1;
17020
17614
  }
17021
17615
  else {
@@ -17072,14 +17666,14 @@ function peg$parse(input, options) {
17072
17666
  s1 = null;
17073
17667
  }
17074
17668
  if (s1 !== peg$FAILED) {
17075
- if (input.substr(peg$currPos, 12) === peg$c1472) {
17076
- s2 = peg$c1472;
17669
+ if (input.substr(peg$currPos, 12) === peg$c1475) {
17670
+ s2 = peg$c1475;
17077
17671
  peg$currPos += 12;
17078
17672
  }
17079
17673
  else {
17080
17674
  s2 = peg$FAILED;
17081
17675
  if (peg$silentFails === 0) {
17082
- peg$fail(peg$c1473);
17676
+ peg$fail(peg$c1476);
17083
17677
  }
17084
17678
  }
17085
17679
  if (s2 !== peg$FAILED) {
@@ -17104,7 +17698,13 @@ function peg$parse(input, options) {
17104
17698
  s5 = null;
17105
17699
  }
17106
17700
  if (s5 !== peg$FAILED) {
17107
- s6 = peg$parseString();
17701
+ s6 = peg$currPos;
17702
+ s7 = peg$parseString();
17703
+ if (s7 !== peg$FAILED) {
17704
+ peg$savedPos = s6;
17705
+ s7 = peg$c1214(s7);
17706
+ }
17707
+ s6 = s7;
17108
17708
  if (s6 !== peg$FAILED) {
17109
17709
  s7 = peg$parseWS();
17110
17710
  if (s7 === peg$FAILED) {
@@ -17128,7 +17728,7 @@ function peg$parse(input, options) {
17128
17728
  }
17129
17729
  if (s9 !== peg$FAILED) {
17130
17730
  peg$savedPos = s0;
17131
- s1 = peg$c1474(s6);
17731
+ s1 = peg$c1477(s6);
17132
17732
  s0 = s1;
17133
17733
  }
17134
17734
  else {
@@ -17180,14 +17780,14 @@ function peg$parse(input, options) {
17180
17780
  function peg$parseDefaultSizeVal() {
17181
17781
  var s0, s1, s2, s3;
17182
17782
  s0 = peg$currPos;
17183
- if (input.substr(peg$currPos, 6) === peg$c1475) {
17184
- s1 = peg$c1475;
17783
+ if (input.substr(peg$currPos, 6) === peg$c1478) {
17784
+ s1 = peg$c1478;
17185
17785
  peg$currPos += 6;
17186
17786
  }
17187
17787
  else {
17188
17788
  s1 = peg$FAILED;
17189
17789
  if (peg$silentFails === 0) {
17190
- peg$fail(peg$c1476);
17790
+ peg$fail(peg$c1479);
17191
17791
  }
17192
17792
  }
17193
17793
  if (s1 !== peg$FAILED) {
@@ -17196,7 +17796,7 @@ function peg$parse(input, options) {
17196
17796
  s3 = peg$parseNonNegNumber();
17197
17797
  if (s3 !== peg$FAILED) {
17198
17798
  peg$savedPos = s0;
17199
- s1 = peg$c1477(s3);
17799
+ s1 = peg$c1480(s3);
17200
17800
  s0 = s1;
17201
17801
  }
17202
17802
  else {
@@ -17220,7 +17820,7 @@ function peg$parse(input, options) {
17220
17820
  s2 = peg$parseNonNegNumber();
17221
17821
  if (s2 !== peg$FAILED) {
17222
17822
  peg$savedPos = s0;
17223
- s1 = peg$c1478(s1, s2);
17823
+ s1 = peg$c1481(s1, s2);
17224
17824
  s0 = s1;
17225
17825
  }
17226
17826
  else {
@@ -17237,7 +17837,7 @@ function peg$parse(input, options) {
17237
17837
  s1 = peg$parseNonNegNumber();
17238
17838
  if (s1 !== peg$FAILED) {
17239
17839
  peg$savedPos = s0;
17240
- s1 = peg$c1479(s1);
17840
+ s1 = peg$c1482(s1);
17241
17841
  }
17242
17842
  s0 = s1;
17243
17843
  }
@@ -17252,14 +17852,14 @@ function peg$parse(input, options) {
17252
17852
  s1 = null;
17253
17853
  }
17254
17854
  if (s1 !== peg$FAILED) {
17255
- if (input.substr(peg$currPos, 12) === peg$c1480) {
17256
- s2 = peg$c1480;
17855
+ if (input.substr(peg$currPos, 12) === peg$c1483) {
17856
+ s2 = peg$c1483;
17257
17857
  peg$currPos += 12;
17258
17858
  }
17259
17859
  else {
17260
17860
  s2 = peg$FAILED;
17261
17861
  if (peg$silentFails === 0) {
17262
- peg$fail(peg$c1481);
17862
+ peg$fail(peg$c1484);
17263
17863
  }
17264
17864
  }
17265
17865
  if (s2 !== peg$FAILED) {
@@ -17284,7 +17884,13 @@ function peg$parse(input, options) {
17284
17884
  s5 = null;
17285
17885
  }
17286
17886
  if (s5 !== peg$FAILED) {
17287
- s6 = peg$parseDefaultSizeVal();
17887
+ s6 = peg$currPos;
17888
+ s7 = peg$parseDefaultSizeVal();
17889
+ if (s7 !== peg$FAILED) {
17890
+ peg$savedPos = s6;
17891
+ s7 = peg$c1214(s7);
17892
+ }
17893
+ s6 = s7;
17288
17894
  if (s6 !== peg$FAILED) {
17289
17895
  s7 = peg$parseWS();
17290
17896
  if (s7 === peg$FAILED) {
@@ -17308,7 +17914,7 @@ function peg$parse(input, options) {
17308
17914
  }
17309
17915
  if (s9 !== peg$FAILED) {
17310
17916
  peg$savedPos = s0;
17311
- s1 = peg$c1482(s6);
17917
+ s1 = peg$c1485(s6);
17312
17918
  s0 = s1;
17313
17919
  }
17314
17920
  else {
@@ -17409,7 +18015,7 @@ function peg$parse(input, options) {
17409
18015
  peg$silentFails--;
17410
18016
  if (s0 === peg$FAILED) {
17411
18017
  if (peg$silentFails === 0) {
17412
- peg$fail(peg$c1483);
18018
+ peg$fail(peg$c1486);
17413
18019
  }
17414
18020
  }
17415
18021
  return s0;
@@ -17440,14 +18046,14 @@ function peg$parse(input, options) {
17440
18046
  s1 = null;
17441
18047
  }
17442
18048
  if (s1 !== peg$FAILED) {
17443
- if (input.substr(peg$currPos, 5) === peg$c1484) {
17444
- s2 = peg$c1484;
18049
+ if (input.substr(peg$currPos, 5) === peg$c1487) {
18050
+ s2 = peg$c1487;
17445
18051
  peg$currPos += 5;
17446
18052
  }
17447
18053
  else {
17448
18054
  s2 = peg$FAILED;
17449
18055
  if (peg$silentFails === 0) {
17450
- peg$fail(peg$c1485);
18056
+ peg$fail(peg$c1488);
17451
18057
  }
17452
18058
  }
17453
18059
  if (s2 !== peg$FAILED) {
@@ -17496,7 +18102,7 @@ function peg$parse(input, options) {
17496
18102
  }
17497
18103
  if (s9 !== peg$FAILED) {
17498
18104
  peg$savedPos = s0;
17499
- s1 = peg$c1486(s6);
18105
+ s1 = peg$c1489(s6);
17500
18106
  s0 = s1;
17501
18107
  }
17502
18108
  else {
@@ -17561,14 +18167,14 @@ function peg$parse(input, options) {
17561
18167
  s1 = null;
17562
18168
  }
17563
18169
  if (s1 !== peg$FAILED) {
17564
- if (input.substr(peg$currPos, 5) === peg$c1487) {
17565
- s2 = peg$c1487;
18170
+ if (input.substr(peg$currPos, 5) === peg$c1490) {
18171
+ s2 = peg$c1490;
17566
18172
  peg$currPos += 5;
17567
18173
  }
17568
18174
  else {
17569
18175
  s2 = peg$FAILED;
17570
18176
  if (peg$silentFails === 0) {
17571
- peg$fail(peg$c1488);
18177
+ peg$fail(peg$c1491);
17572
18178
  }
17573
18179
  }
17574
18180
  if (s2 !== peg$FAILED) {
@@ -17593,7 +18199,13 @@ function peg$parse(input, options) {
17593
18199
  s5 = null;
17594
18200
  }
17595
18201
  if (s5 !== peg$FAILED) {
17596
- s6 = peg$parseColor();
18202
+ s6 = peg$currPos;
18203
+ s7 = peg$parseColor();
18204
+ if (s7 !== peg$FAILED) {
18205
+ peg$savedPos = s6;
18206
+ s7 = peg$c1214(s7);
18207
+ }
18208
+ s6 = s7;
17597
18209
  if (s6 !== peg$FAILED) {
17598
18210
  s7 = peg$parseWS();
17599
18211
  if (s7 === peg$FAILED) {
@@ -17617,7 +18229,7 @@ function peg$parse(input, options) {
17617
18229
  }
17618
18230
  if (s9 !== peg$FAILED) {
17619
18231
  peg$savedPos = s0;
17620
- s1 = peg$c1489(s6);
18232
+ s1 = peg$c1492(s6);
17621
18233
  s0 = s1;
17622
18234
  }
17623
18235
  else {
@@ -17682,14 +18294,14 @@ function peg$parse(input, options) {
17682
18294
  s1 = null;
17683
18295
  }
17684
18296
  if (s1 !== peg$FAILED) {
17685
- if (input.substr(peg$currPos, 10) === peg$c1491) {
17686
- s2 = peg$c1491;
18297
+ if (input.substr(peg$currPos, 10) === peg$c1494) {
18298
+ s2 = peg$c1494;
17687
18299
  peg$currPos += 10;
17688
18300
  }
17689
18301
  else {
17690
18302
  s2 = peg$FAILED;
17691
18303
  if (peg$silentFails === 0) {
17692
- peg$fail(peg$c1492);
18304
+ peg$fail(peg$c1495);
17693
18305
  }
17694
18306
  }
17695
18307
  if (s2 !== peg$FAILED) {
@@ -17714,7 +18326,13 @@ function peg$parse(input, options) {
17714
18326
  s5 = null;
17715
18327
  }
17716
18328
  if (s5 !== peg$FAILED) {
17717
- s6 = peg$parseColor();
18329
+ s6 = peg$currPos;
18330
+ s7 = peg$parseColor();
18331
+ if (s7 !== peg$FAILED) {
18332
+ peg$savedPos = s6;
18333
+ s7 = peg$c1214(s7);
18334
+ }
18335
+ s6 = s7;
17718
18336
  if (s6 !== peg$FAILED) {
17719
18337
  s7 = peg$parseWS();
17720
18338
  if (s7 === peg$FAILED) {
@@ -17738,7 +18356,7 @@ function peg$parse(input, options) {
17738
18356
  }
17739
18357
  if (s9 !== peg$FAILED) {
17740
18358
  peg$savedPos = s0;
17741
- s1 = peg$c1493(s6);
18359
+ s1 = peg$c1496(s6);
17742
18360
  s0 = s1;
17743
18361
  }
17744
18362
  else {
@@ -17789,7 +18407,7 @@ function peg$parse(input, options) {
17789
18407
  if (s0 === peg$FAILED) {
17790
18408
  s1 = peg$FAILED;
17791
18409
  if (peg$silentFails === 0) {
17792
- peg$fail(peg$c1490);
18410
+ peg$fail(peg$c1493);
17793
18411
  }
17794
18412
  }
17795
18413
  return s0;
@@ -17803,14 +18421,14 @@ function peg$parse(input, options) {
17803
18421
  s1 = null;
17804
18422
  }
17805
18423
  if (s1 !== peg$FAILED) {
17806
- if (input.substr(peg$currPos, 16) === peg$c1495) {
17807
- s2 = peg$c1495;
18424
+ if (input.substr(peg$currPos, 16) === peg$c1498) {
18425
+ s2 = peg$c1498;
17808
18426
  peg$currPos += 16;
17809
18427
  }
17810
18428
  else {
17811
18429
  s2 = peg$FAILED;
17812
18430
  if (peg$silentFails === 0) {
17813
- peg$fail(peg$c1496);
18431
+ peg$fail(peg$c1499);
17814
18432
  }
17815
18433
  }
17816
18434
  if (s2 !== peg$FAILED) {
@@ -17835,7 +18453,13 @@ function peg$parse(input, options) {
17835
18453
  s5 = null;
17836
18454
  }
17837
18455
  if (s5 !== peg$FAILED) {
17838
- s6 = peg$parseColor();
18456
+ s6 = peg$currPos;
18457
+ s7 = peg$parseColor();
18458
+ if (s7 !== peg$FAILED) {
18459
+ peg$savedPos = s6;
18460
+ s7 = peg$c1214(s7);
18461
+ }
18462
+ s6 = s7;
17839
18463
  if (s6 !== peg$FAILED) {
17840
18464
  s7 = peg$parseWS();
17841
18465
  if (s7 === peg$FAILED) {
@@ -17859,7 +18483,7 @@ function peg$parse(input, options) {
17859
18483
  }
17860
18484
  if (s9 !== peg$FAILED) {
17861
18485
  peg$savedPos = s0;
17862
- s1 = peg$c1497(s6);
18486
+ s1 = peg$c1500(s6);
17863
18487
  s0 = s1;
17864
18488
  }
17865
18489
  else {
@@ -17910,7 +18534,7 @@ function peg$parse(input, options) {
17910
18534
  if (s0 === peg$FAILED) {
17911
18535
  s1 = peg$FAILED;
17912
18536
  if (peg$silentFails === 0) {
17913
- peg$fail(peg$c1494);
18537
+ peg$fail(peg$c1497);
17914
18538
  }
17915
18539
  }
17916
18540
  return s0;
@@ -17924,14 +18548,14 @@ function peg$parse(input, options) {
17924
18548
  s1 = null;
17925
18549
  }
17926
18550
  if (s1 !== peg$FAILED) {
17927
- if (input.substr(peg$currPos, 12) === peg$c1499) {
17928
- s2 = peg$c1499;
18551
+ if (input.substr(peg$currPos, 12) === peg$c1502) {
18552
+ s2 = peg$c1502;
17929
18553
  peg$currPos += 12;
17930
18554
  }
17931
18555
  else {
17932
18556
  s2 = peg$FAILED;
17933
18557
  if (peg$silentFails === 0) {
17934
- peg$fail(peg$c1500);
18558
+ peg$fail(peg$c1503);
17935
18559
  }
17936
18560
  }
17937
18561
  if (s2 !== peg$FAILED) {
@@ -17956,7 +18580,13 @@ function peg$parse(input, options) {
17956
18580
  s5 = null;
17957
18581
  }
17958
18582
  if (s5 !== peg$FAILED) {
17959
- s6 = peg$parseColor();
18583
+ s6 = peg$currPos;
18584
+ s7 = peg$parseColor();
18585
+ if (s7 !== peg$FAILED) {
18586
+ peg$savedPos = s6;
18587
+ s7 = peg$c1214(s7);
18588
+ }
18589
+ s6 = s7;
17960
18590
  if (s6 !== peg$FAILED) {
17961
18591
  s7 = peg$parseWS();
17962
18592
  if (s7 === peg$FAILED) {
@@ -17980,7 +18610,7 @@ function peg$parse(input, options) {
17980
18610
  }
17981
18611
  if (s9 !== peg$FAILED) {
17982
18612
  peg$savedPos = s0;
17983
- s1 = peg$c1501(s6);
18613
+ s1 = peg$c1504(s6);
17984
18614
  s0 = s1;
17985
18615
  }
17986
18616
  else {
@@ -18031,7 +18661,7 @@ function peg$parse(input, options) {
18031
18661
  if (s0 === peg$FAILED) {
18032
18662
  s1 = peg$FAILED;
18033
18663
  if (peg$silentFails === 0) {
18034
- peg$fail(peg$c1498);
18664
+ peg$fail(peg$c1501);
18035
18665
  }
18036
18666
  }
18037
18667
  return s0;
@@ -18045,14 +18675,14 @@ function peg$parse(input, options) {
18045
18675
  s1 = null;
18046
18676
  }
18047
18677
  if (s1 !== peg$FAILED) {
18048
- if (input.substr(peg$currPos, 5) === peg$c1503) {
18049
- s2 = peg$c1503;
18678
+ if (input.substr(peg$currPos, 5) === peg$c1506) {
18679
+ s2 = peg$c1506;
18050
18680
  peg$currPos += 5;
18051
18681
  }
18052
18682
  else {
18053
18683
  s2 = peg$FAILED;
18054
18684
  if (peg$silentFails === 0) {
18055
- peg$fail(peg$c1504);
18685
+ peg$fail(peg$c1507);
18056
18686
  }
18057
18687
  }
18058
18688
  if (s2 !== peg$FAILED) {
@@ -18101,7 +18731,7 @@ function peg$parse(input, options) {
18101
18731
  }
18102
18732
  if (s9 !== peg$FAILED) {
18103
18733
  peg$savedPos = s0;
18104
- s1 = peg$c1505(s6);
18734
+ s1 = peg$c1508(s6);
18105
18735
  s0 = s1;
18106
18736
  }
18107
18737
  else {
@@ -18152,7 +18782,7 @@ function peg$parse(input, options) {
18152
18782
  if (s0 === peg$FAILED) {
18153
18783
  s1 = peg$FAILED;
18154
18784
  if (peg$silentFails === 0) {
18155
- peg$fail(peg$c1502);
18785
+ peg$fail(peg$c1505);
18156
18786
  }
18157
18787
  }
18158
18788
  return s0;
@@ -18166,14 +18796,14 @@ function peg$parse(input, options) {
18166
18796
  s1 = null;
18167
18797
  }
18168
18798
  if (s1 !== peg$FAILED) {
18169
- if (input.substr(peg$currPos, 7) === peg$c1507) {
18170
- s2 = peg$c1507;
18799
+ if (input.substr(peg$currPos, 7) === peg$c1510) {
18800
+ s2 = peg$c1510;
18171
18801
  peg$currPos += 7;
18172
18802
  }
18173
18803
  else {
18174
18804
  s2 = peg$FAILED;
18175
18805
  if (peg$silentFails === 0) {
18176
- peg$fail(peg$c1508);
18806
+ peg$fail(peg$c1511);
18177
18807
  }
18178
18808
  }
18179
18809
  if (s2 !== peg$FAILED) {
@@ -18222,7 +18852,7 @@ function peg$parse(input, options) {
18222
18852
  }
18223
18853
  if (s9 !== peg$FAILED) {
18224
18854
  peg$savedPos = s0;
18225
- s1 = peg$c1509(s6);
18855
+ s1 = peg$c1512(s6);
18226
18856
  s0 = s1;
18227
18857
  }
18228
18858
  else {
@@ -18273,7 +18903,7 @@ function peg$parse(input, options) {
18273
18903
  if (s0 === peg$FAILED) {
18274
18904
  s1 = peg$FAILED;
18275
18905
  if (peg$silentFails === 0) {
18276
- peg$fail(peg$c1506);
18906
+ peg$fail(peg$c1509);
18277
18907
  }
18278
18908
  }
18279
18909
  return s0;
@@ -18287,14 +18917,14 @@ function peg$parse(input, options) {
18287
18917
  s1 = null;
18288
18918
  }
18289
18919
  if (s1 !== peg$FAILED) {
18290
- if (input.substr(peg$currPos, 10) === peg$c1218) {
18291
- s2 = peg$c1218;
18920
+ if (input.substr(peg$currPos, 10) === peg$c1219) {
18921
+ s2 = peg$c1219;
18292
18922
  peg$currPos += 10;
18293
18923
  }
18294
18924
  else {
18295
18925
  s2 = peg$FAILED;
18296
18926
  if (peg$silentFails === 0) {
18297
- peg$fail(peg$c1219);
18927
+ peg$fail(peg$c1220);
18298
18928
  }
18299
18929
  }
18300
18930
  if (s2 !== peg$FAILED) {
@@ -18343,7 +18973,7 @@ function peg$parse(input, options) {
18343
18973
  }
18344
18974
  if (s9 !== peg$FAILED) {
18345
18975
  peg$savedPos = s0;
18346
- s1 = peg$c1511(s6);
18976
+ s1 = peg$c1514(s6);
18347
18977
  s0 = s1;
18348
18978
  }
18349
18979
  else {
@@ -18397,14 +19027,14 @@ function peg$parse(input, options) {
18397
19027
  s1 = null;
18398
19028
  }
18399
19029
  if (s1 !== peg$FAILED) {
18400
- if (input.substr(peg$currPos, 9) === peg$c1512) {
18401
- s2 = peg$c1512;
19030
+ if (input.substr(peg$currPos, 9) === peg$c1515) {
19031
+ s2 = peg$c1515;
18402
19032
  peg$currPos += 9;
18403
19033
  }
18404
19034
  else {
18405
19035
  s2 = peg$FAILED;
18406
19036
  if (peg$silentFails === 0) {
18407
- peg$fail(peg$c1513);
19037
+ peg$fail(peg$c1516);
18408
19038
  }
18409
19039
  }
18410
19040
  if (s2 !== peg$FAILED) {
@@ -18453,7 +19083,7 @@ function peg$parse(input, options) {
18453
19083
  }
18454
19084
  if (s9 !== peg$FAILED) {
18455
19085
  peg$savedPos = s0;
18456
- s1 = peg$c1511(s6);
19086
+ s1 = peg$c1514(s6);
18457
19087
  s0 = s1;
18458
19088
  }
18459
19089
  else {
@@ -18505,7 +19135,7 @@ function peg$parse(input, options) {
18505
19135
  if (s0 === peg$FAILED) {
18506
19136
  s1 = peg$FAILED;
18507
19137
  if (peg$silentFails === 0) {
18508
- peg$fail(peg$c1510);
19138
+ peg$fail(peg$c1513);
18509
19139
  }
18510
19140
  }
18511
19141
  return s0;
@@ -18519,14 +19149,14 @@ function peg$parse(input, options) {
18519
19149
  s1 = null;
18520
19150
  }
18521
19151
  if (s1 !== peg$FAILED) {
18522
- if (input.substr(peg$currPos, 5) === peg$c1515) {
18523
- s2 = peg$c1515;
19152
+ if (input.substr(peg$currPos, 5) === peg$c1518) {
19153
+ s2 = peg$c1518;
18524
19154
  peg$currPos += 5;
18525
19155
  }
18526
19156
  else {
18527
19157
  s2 = peg$FAILED;
18528
19158
  if (peg$silentFails === 0) {
18529
- peg$fail(peg$c1516);
19159
+ peg$fail(peg$c1519);
18530
19160
  }
18531
19161
  }
18532
19162
  if (s2 !== peg$FAILED) {
@@ -18575,7 +19205,7 @@ function peg$parse(input, options) {
18575
19205
  }
18576
19206
  if (s9 !== peg$FAILED) {
18577
19207
  peg$savedPos = s0;
18578
- s1 = peg$c1517(s6);
19208
+ s1 = peg$c1520(s6);
18579
19209
  s0 = s1;
18580
19210
  }
18581
19211
  else {
@@ -18626,7 +19256,7 @@ function peg$parse(input, options) {
18626
19256
  if (s0 === peg$FAILED) {
18627
19257
  s1 = peg$FAILED;
18628
19258
  if (peg$silentFails === 0) {
18629
- peg$fail(peg$c1514);
19259
+ peg$fail(peg$c1517);
18630
19260
  }
18631
19261
  }
18632
19262
  return s0;
@@ -18640,14 +19270,14 @@ function peg$parse(input, options) {
18640
19270
  s1 = null;
18641
19271
  }
18642
19272
  if (s1 !== peg$FAILED) {
18643
- if (input.substr(peg$currPos, 3) === peg$c1519) {
18644
- s2 = peg$c1519;
19273
+ if (input.substr(peg$currPos, 3) === peg$c1522) {
19274
+ s2 = peg$c1522;
18645
19275
  peg$currPos += 3;
18646
19276
  }
18647
19277
  else {
18648
19278
  s2 = peg$FAILED;
18649
19279
  if (peg$silentFails === 0) {
18650
- peg$fail(peg$c1520);
19280
+ peg$fail(peg$c1523);
18651
19281
  }
18652
19282
  }
18653
19283
  if (s2 !== peg$FAILED) {
@@ -18696,7 +19326,7 @@ function peg$parse(input, options) {
18696
19326
  }
18697
19327
  if (s9 !== peg$FAILED) {
18698
19328
  peg$savedPos = s0;
18699
- s1 = peg$c1521(s6);
19329
+ s1 = peg$c1524(s6);
18700
19330
  s0 = s1;
18701
19331
  }
18702
19332
  else {
@@ -18747,7 +19377,7 @@ function peg$parse(input, options) {
18747
19377
  if (s0 === peg$FAILED) {
18748
19378
  s1 = peg$FAILED;
18749
19379
  if (peg$silentFails === 0) {
18750
- peg$fail(peg$c1518);
19380
+ peg$fail(peg$c1521);
18751
19381
  }
18752
19382
  }
18753
19383
  return s0;
@@ -18761,14 +19391,14 @@ function peg$parse(input, options) {
18761
19391
  s1 = null;
18762
19392
  }
18763
19393
  if (s1 !== peg$FAILED) {
18764
- if (input.substr(peg$currPos, 8) === peg$c1523) {
18765
- s2 = peg$c1523;
19394
+ if (input.substr(peg$currPos, 8) === peg$c1526) {
19395
+ s2 = peg$c1526;
18766
19396
  peg$currPos += 8;
18767
19397
  }
18768
19398
  else {
18769
19399
  s2 = peg$FAILED;
18770
19400
  if (peg$silentFails === 0) {
18771
- peg$fail(peg$c1524);
19401
+ peg$fail(peg$c1527);
18772
19402
  }
18773
19403
  }
18774
19404
  if (s2 !== peg$FAILED) {
@@ -18821,7 +19451,7 @@ function peg$parse(input, options) {
18821
19451
  }
18822
19452
  if (s11 !== peg$FAILED) {
18823
19453
  peg$savedPos = s0;
18824
- s1 = peg$c1525(s6, s8);
19454
+ s1 = peg$c1528(s6, s8);
18825
19455
  s0 = s1;
18826
19456
  }
18827
19457
  else {
@@ -18885,14 +19515,14 @@ function peg$parse(input, options) {
18885
19515
  s1 = null;
18886
19516
  }
18887
19517
  if (s1 !== peg$FAILED) {
18888
- if (input.substr(peg$currPos, 8) === peg$c1523) {
18889
- s2 = peg$c1523;
19518
+ if (input.substr(peg$currPos, 8) === peg$c1526) {
19519
+ s2 = peg$c1526;
18890
19520
  peg$currPos += 8;
18891
19521
  }
18892
19522
  else {
18893
19523
  s2 = peg$FAILED;
18894
19524
  if (peg$silentFails === 0) {
18895
- peg$fail(peg$c1524);
19525
+ peg$fail(peg$c1527);
18896
19526
  }
18897
19527
  }
18898
19528
  if (s2 !== peg$FAILED) {
@@ -18925,14 +19555,14 @@ function peg$parse(input, options) {
18925
19555
  if (s8 !== peg$FAILED) {
18926
19556
  s9 = peg$parseWS();
18927
19557
  if (s9 !== peg$FAILED) {
18928
- if (input.substr(peg$currPos, 8) === peg$c1526) {
18929
- s10 = peg$c1526;
19558
+ if (input.substr(peg$currPos, 8) === peg$c1529) {
19559
+ s10 = peg$c1529;
18930
19560
  peg$currPos += 8;
18931
19561
  }
18932
19562
  else {
18933
19563
  s10 = peg$FAILED;
18934
19564
  if (peg$silentFails === 0) {
18935
- peg$fail(peg$c1527);
19565
+ peg$fail(peg$c1530);
18936
19566
  }
18937
19567
  }
18938
19568
  if (s10 !== peg$FAILED) {
@@ -18958,7 +19588,7 @@ function peg$parse(input, options) {
18958
19588
  }
18959
19589
  if (s13 !== peg$FAILED) {
18960
19590
  peg$savedPos = s0;
18961
- s1 = peg$c1528(s6, s8);
19591
+ s1 = peg$c1531(s6, s8);
18962
19592
  s0 = s1;
18963
19593
  }
18964
19594
  else {
@@ -19030,7 +19660,7 @@ function peg$parse(input, options) {
19030
19660
  if (s0 === peg$FAILED) {
19031
19661
  s1 = peg$FAILED;
19032
19662
  if (peg$silentFails === 0) {
19033
- peg$fail(peg$c1522);
19663
+ peg$fail(peg$c1525);
19034
19664
  }
19035
19665
  }
19036
19666
  return s0;
@@ -19074,13 +19704,13 @@ function peg$parse(input, options) {
19074
19704
  var s0, s1, s2, s3, s4, s5;
19075
19705
  s0 = peg$currPos;
19076
19706
  if (input.charCodeAt(peg$currPos) === 123) {
19077
- s1 = peg$c1221;
19707
+ s1 = peg$c1222;
19078
19708
  peg$currPos++;
19079
19709
  }
19080
19710
  else {
19081
19711
  s1 = peg$FAILED;
19082
19712
  if (peg$silentFails === 0) {
19083
- peg$fail(peg$c1222);
19713
+ peg$fail(peg$c1223);
19084
19714
  }
19085
19715
  }
19086
19716
  if (s1 !== peg$FAILED) {
@@ -19102,18 +19732,18 @@ function peg$parse(input, options) {
19102
19732
  }
19103
19733
  if (s4 !== peg$FAILED) {
19104
19734
  if (input.charCodeAt(peg$currPos) === 125) {
19105
- s5 = peg$c1223;
19735
+ s5 = peg$c1224;
19106
19736
  peg$currPos++;
19107
19737
  }
19108
19738
  else {
19109
19739
  s5 = peg$FAILED;
19110
19740
  if (peg$silentFails === 0) {
19111
- peg$fail(peg$c1224);
19741
+ peg$fail(peg$c1225);
19112
19742
  }
19113
19743
  }
19114
19744
  if (s5 !== peg$FAILED) {
19115
19745
  peg$savedPos = s0;
19116
- s1 = peg$c1225(s3);
19746
+ s1 = peg$c1226(s3);
19117
19747
  s0 = s1;
19118
19748
  }
19119
19749
  else {
@@ -19150,20 +19780,26 @@ function peg$parse(input, options) {
19150
19780
  s1 = null;
19151
19781
  }
19152
19782
  if (s1 !== peg$FAILED) {
19153
- if (input.substr(peg$currPos, 5) === peg$c1337) {
19154
- s2 = peg$c1337;
19783
+ if (input.substr(peg$currPos, 5) === peg$c1340) {
19784
+ s2 = peg$c1340;
19155
19785
  peg$currPos += 5;
19156
19786
  }
19157
19787
  else {
19158
19788
  s2 = peg$FAILED;
19159
19789
  if (peg$silentFails === 0) {
19160
- peg$fail(peg$c1338);
19790
+ peg$fail(peg$c1341);
19161
19791
  }
19162
19792
  }
19163
19793
  if (s2 !== peg$FAILED) {
19164
19794
  s3 = peg$parseWS();
19165
19795
  if (s3 !== peg$FAILED) {
19166
- s4 = peg$parseLabel();
19796
+ s4 = peg$currPos;
19797
+ s5 = peg$parseLabel();
19798
+ if (s5 !== peg$FAILED) {
19799
+ peg$savedPos = s4;
19800
+ s5 = peg$c1532(s5);
19801
+ }
19802
+ s4 = s5;
19167
19803
  if (s4 !== peg$FAILED) {
19168
19804
  s5 = peg$parseWS();
19169
19805
  if (s5 === peg$FAILED) {
@@ -19210,7 +19846,7 @@ function peg$parse(input, options) {
19210
19846
  }
19211
19847
  if (s11 !== peg$FAILED) {
19212
19848
  peg$savedPos = s0;
19213
- s1 = peg$c1529(s4, s8);
19849
+ s1 = peg$c1533(s4, s8);
19214
19850
  s0 = s1;
19215
19851
  }
19216
19852
  else {
@@ -19278,13 +19914,13 @@ function peg$parse(input, options) {
19278
19914
  }
19279
19915
  if (s1 !== peg$FAILED) {
19280
19916
  if (input.charCodeAt(peg$currPos) === 38) {
19281
- s2 = peg$c1530;
19917
+ s2 = peg$c1534;
19282
19918
  peg$currPos++;
19283
19919
  }
19284
19920
  else {
19285
19921
  s2 = peg$FAILED;
19286
19922
  if (peg$silentFails === 0) {
19287
- peg$fail(peg$c1531);
19923
+ peg$fail(peg$c1535);
19288
19924
  }
19289
19925
  }
19290
19926
  if (s2 !== peg$FAILED) {
@@ -19340,7 +19976,7 @@ function peg$parse(input, options) {
19340
19976
  }
19341
19977
  if (s11 !== peg$FAILED) {
19342
19978
  peg$savedPos = s0;
19343
- s1 = peg$c1532(s4, s8);
19979
+ s1 = peg$c1536(s4, s8);
19344
19980
  s0 = s1;
19345
19981
  }
19346
19982
  else {
@@ -19407,14 +20043,14 @@ function peg$parse(input, options) {
19407
20043
  s1 = null;
19408
20044
  }
19409
20045
  if (s1 !== peg$FAILED) {
19410
- if (input.substr(peg$currPos, 8) === peg$c1523) {
19411
- s2 = peg$c1523;
20046
+ if (input.substr(peg$currPos, 8) === peg$c1526) {
20047
+ s2 = peg$c1526;
19412
20048
  peg$currPos += 8;
19413
20049
  }
19414
20050
  else {
19415
20051
  s2 = peg$FAILED;
19416
20052
  if (peg$silentFails === 0) {
19417
- peg$fail(peg$c1524);
20053
+ peg$fail(peg$c1527);
19418
20054
  }
19419
20055
  }
19420
20056
  if (s2 !== peg$FAILED) {
@@ -19441,14 +20077,14 @@ function peg$parse(input, options) {
19441
20077
  if (s8 !== peg$FAILED) {
19442
20078
  s9 = peg$parseWS();
19443
20079
  if (s9 !== peg$FAILED) {
19444
- if (input.substr(peg$currPos, 8) === peg$c1526) {
19445
- s10 = peg$c1526;
20080
+ if (input.substr(peg$currPos, 8) === peg$c1529) {
20081
+ s10 = peg$c1529;
19446
20082
  peg$currPos += 8;
19447
20083
  }
19448
20084
  else {
19449
20085
  s10 = peg$FAILED;
19450
20086
  if (peg$silentFails === 0) {
19451
- peg$fail(peg$c1527);
20087
+ peg$fail(peg$c1530);
19452
20088
  }
19453
20089
  }
19454
20090
  if (s10 !== peg$FAILED) {
@@ -19474,7 +20110,7 @@ function peg$parse(input, options) {
19474
20110
  }
19475
20111
  if (s13 !== peg$FAILED) {
19476
20112
  peg$savedPos = s0;
19477
- s1 = peg$c1533(s4, s8);
20113
+ s1 = peg$c1537(s4, s8);
19478
20114
  s0 = s1;
19479
20115
  }
19480
20116
  else {
@@ -19548,14 +20184,14 @@ function peg$parse(input, options) {
19548
20184
  s1 = null;
19549
20185
  }
19550
20186
  if (s1 !== peg$FAILED) {
19551
- if (input.substr(peg$currPos, 8) === peg$c1523) {
19552
- s2 = peg$c1523;
20187
+ if (input.substr(peg$currPos, 8) === peg$c1526) {
20188
+ s2 = peg$c1526;
19553
20189
  peg$currPos += 8;
19554
20190
  }
19555
20191
  else {
19556
20192
  s2 = peg$FAILED;
19557
20193
  if (peg$silentFails === 0) {
19558
- peg$fail(peg$c1524);
20194
+ peg$fail(peg$c1527);
19559
20195
  }
19560
20196
  }
19561
20197
  if (s2 !== peg$FAILED) {
@@ -19565,14 +20201,14 @@ function peg$parse(input, options) {
19565
20201
  if (s4 !== peg$FAILED) {
19566
20202
  s5 = peg$parseWS();
19567
20203
  if (s5 !== peg$FAILED) {
19568
- if (input.substr(peg$currPos, 8) === peg$c1526) {
19569
- s6 = peg$c1526;
20204
+ if (input.substr(peg$currPos, 8) === peg$c1529) {
20205
+ s6 = peg$c1529;
19570
20206
  peg$currPos += 8;
19571
20207
  }
19572
20208
  else {
19573
20209
  s6 = peg$FAILED;
19574
20210
  if (peg$silentFails === 0) {
19575
- peg$fail(peg$c1527);
20211
+ peg$fail(peg$c1530);
19576
20212
  }
19577
20213
  }
19578
20214
  if (s6 !== peg$FAILED) {
@@ -19598,7 +20234,7 @@ function peg$parse(input, options) {
19598
20234
  }
19599
20235
  if (s9 !== peg$FAILED) {
19600
20236
  peg$savedPos = s0;
19601
- s1 = peg$c1534(s4);
20237
+ s1 = peg$c1538(s4);
19602
20238
  s0 = s1;
19603
20239
  }
19604
20240
  else {
@@ -19652,14 +20288,14 @@ function peg$parse(input, options) {
19652
20288
  s1 = null;
19653
20289
  }
19654
20290
  if (s1 !== peg$FAILED) {
19655
- if (input.substr(peg$currPos, 8) === peg$c1523) {
19656
- s2 = peg$c1523;
20291
+ if (input.substr(peg$currPos, 8) === peg$c1526) {
20292
+ s2 = peg$c1526;
19657
20293
  peg$currPos += 8;
19658
20294
  }
19659
20295
  else {
19660
20296
  s2 = peg$FAILED;
19661
20297
  if (peg$silentFails === 0) {
19662
- peg$fail(peg$c1524);
20298
+ peg$fail(peg$c1527);
19663
20299
  }
19664
20300
  }
19665
20301
  if (s2 !== peg$FAILED) {
@@ -19706,7 +20342,7 @@ function peg$parse(input, options) {
19706
20342
  }
19707
20343
  if (s11 !== peg$FAILED) {
19708
20344
  peg$savedPos = s0;
19709
- s1 = peg$c1535(s4, s8);
20345
+ s1 = peg$c1539(s4, s8);
19710
20346
  s0 = s1;
19711
20347
  }
19712
20348
  else {
@@ -19770,14 +20406,14 @@ function peg$parse(input, options) {
19770
20406
  s1 = null;
19771
20407
  }
19772
20408
  if (s1 !== peg$FAILED) {
19773
- if (input.substr(peg$currPos, 8) === peg$c1523) {
19774
- s2 = peg$c1523;
20409
+ if (input.substr(peg$currPos, 8) === peg$c1526) {
20410
+ s2 = peg$c1526;
19775
20411
  peg$currPos += 8;
19776
20412
  }
19777
20413
  else {
19778
20414
  s2 = peg$FAILED;
19779
20415
  if (peg$silentFails === 0) {
19780
- peg$fail(peg$c1524);
20416
+ peg$fail(peg$c1527);
19781
20417
  }
19782
20418
  }
19783
20419
  if (s2 !== peg$FAILED) {
@@ -19807,7 +20443,7 @@ function peg$parse(input, options) {
19807
20443
  }
19808
20444
  if (s7 !== peg$FAILED) {
19809
20445
  peg$savedPos = s0;
19810
- s1 = peg$c1536(s4);
20446
+ s1 = peg$c1540(s4);
19811
20447
  s0 = s1;
19812
20448
  }
19813
20449
  else {
@@ -19852,14 +20488,14 @@ function peg$parse(input, options) {
19852
20488
  function peg$parseRegularArrangeDeclaration() {
19853
20489
  var s0, s1, s2, s3, s4, s5, s6;
19854
20490
  s0 = peg$currPos;
19855
- if (input.substr(peg$currPos, 7) === peg$c1537) {
19856
- s1 = peg$c1537;
20491
+ if (input.substr(peg$currPos, 7) === peg$c1541) {
20492
+ s1 = peg$c1541;
19857
20493
  peg$currPos += 7;
19858
20494
  }
19859
20495
  else {
19860
20496
  s1 = peg$FAILED;
19861
20497
  if (peg$silentFails === 0) {
19862
- peg$fail(peg$c1538);
20498
+ peg$fail(peg$c1542);
19863
20499
  }
19864
20500
  }
19865
20501
  if (s1 !== peg$FAILED) {
@@ -19892,7 +20528,7 @@ function peg$parse(input, options) {
19892
20528
  }
19893
20529
  if (s6 !== peg$FAILED) {
19894
20530
  peg$savedPos = s0;
19895
- s1 = peg$c1539(s3);
20531
+ s1 = peg$c1543(s3);
19896
20532
  s0 = s1;
19897
20533
  }
19898
20534
  else {
@@ -19929,14 +20565,14 @@ function peg$parse(input, options) {
19929
20565
  function peg$parseArrangeStartDeclaration() {
19930
20566
  var s0, s1, s2, s3, s4, s5, s6;
19931
20567
  s0 = peg$currPos;
19932
- if (input.substr(peg$currPos, 13) === peg$c1540) {
19933
- s1 = peg$c1540;
20568
+ if (input.substr(peg$currPos, 13) === peg$c1544) {
20569
+ s1 = peg$c1544;
19934
20570
  peg$currPos += 13;
19935
20571
  }
19936
20572
  else {
19937
20573
  s1 = peg$FAILED;
19938
20574
  if (peg$silentFails === 0) {
19939
- peg$fail(peg$c1541);
20575
+ peg$fail(peg$c1545);
19940
20576
  }
19941
20577
  }
19942
20578
  if (s1 !== peg$FAILED) {
@@ -19969,7 +20605,7 @@ function peg$parse(input, options) {
19969
20605
  }
19970
20606
  if (s6 !== peg$FAILED) {
19971
20607
  peg$savedPos = s0;
19972
- s1 = peg$c1542(s3);
20608
+ s1 = peg$c1546(s3);
19973
20609
  s0 = s1;
19974
20610
  }
19975
20611
  else {
@@ -20006,14 +20642,14 @@ function peg$parse(input, options) {
20006
20642
  function peg$parseArrangeEndDeclaration() {
20007
20643
  var s0, s1, s2, s3, s4, s5, s6;
20008
20644
  s0 = peg$currPos;
20009
- if (input.substr(peg$currPos, 11) === peg$c1543) {
20010
- s1 = peg$c1543;
20645
+ if (input.substr(peg$currPos, 11) === peg$c1547) {
20646
+ s1 = peg$c1547;
20011
20647
  peg$currPos += 11;
20012
20648
  }
20013
20649
  else {
20014
20650
  s1 = peg$FAILED;
20015
20651
  if (peg$silentFails === 0) {
20016
- peg$fail(peg$c1544);
20652
+ peg$fail(peg$c1548);
20017
20653
  }
20018
20654
  }
20019
20655
  if (s1 !== peg$FAILED) {
@@ -20046,7 +20682,7 @@ function peg$parse(input, options) {
20046
20682
  }
20047
20683
  if (s6 !== peg$FAILED) {
20048
20684
  peg$savedPos = s0;
20049
- s1 = peg$c1545(s3);
20685
+ s1 = peg$c1549(s3);
20050
20686
  s0 = s1;
20051
20687
  }
20052
20688
  else {
@@ -20093,7 +20729,7 @@ function peg$parse(input, options) {
20093
20729
  peg$silentFails--;
20094
20730
  if (s0 === peg$FAILED) {
20095
20731
  if (peg$silentFails === 0) {
20096
- peg$fail(peg$c1546);
20732
+ peg$fail(peg$c1550);
20097
20733
  }
20098
20734
  }
20099
20735
  return s0;
@@ -21210,6 +21846,35 @@ function reduce(from) {
21210
21846
  return reductions[from.toLowerCase()];
21211
21847
  }
21212
21848
 
21849
+ /*********
21850
+ *
21851
+ * Returns the source span of the `n`-th parse-tree node (1-based) matching
21852
+ * `predicate`, or `undefined` if there are fewer than `n` matches or the
21853
+ * matched node carries no location. Used to point semantic compile errors
21854
+ * at the offending statement when the tree was produced with
21855
+ * `parse(input, { locations: true })`.
21856
+ *
21857
+ * @internal
21858
+ *
21859
+ * @param tree The parse tree to scan.
21860
+ * @param predicate Node test.
21861
+ * @param n 1-based ordinal of the matching node to return.
21862
+ *
21863
+ * @returns The matching node's `loc`, or `undefined`.
21864
+ *
21865
+ */
21866
+ function nth_matching_loc(tree, predicate, n) {
21867
+ let count = 0;
21868
+ for (const node of tree) {
21869
+ if (predicate(node)) {
21870
+ count++;
21871
+ if (count === n) {
21872
+ return node.loc;
21873
+ }
21874
+ }
21875
+ }
21876
+ return undefined;
21877
+ }
21213
21878
  /*********
21214
21879
  *
21215
21880
  * Internal method meant to perform factory assembly of an edge. Not meant for
@@ -21294,6 +21959,34 @@ function makeTransition(this_se, from, to, isRight, _wasList, _wasIndex) {
21294
21959
  * This method is mostly for plugin and intermediate tool authors, or people
21295
21960
  * who need to work with the machine's intermediate representation.
21296
21961
  *
21962
+ * ## Opt-in source locations
21963
+ *
21964
+ * Pass `{ locations: true }` to attach source-span information to every
21965
+ * object node in the AST. Each node gains a `loc` field of type
21966
+ * {@link FslSourceLocation} covering its full statement span. Selected nodes
21967
+ * also gain curated sub-span fields that pinpoint individual tokens within the
21968
+ * statement:
21969
+ *
21970
+ * - Transition nodes: `from_loc` (source state), `to_loc` (target state, on
21971
+ * the nested `se` object), `l_action_loc` / `r_action_loc` (action labels).
21972
+ * - State-declaration nodes: `name_loc` (state name), plus `value_loc` on
21973
+ * each color-bearing item inside the declaration block.
21974
+ * - Machine-attribute nodes (`machine_name`, `fsl_version`, etc.): `value_loc`
21975
+ * (the attribute value token).
21976
+ *
21977
+ * Without `{ locations: true }` the AST is byte-for-byte identical to the
21978
+ * default output; no `loc` or `*_loc` fields are present.
21979
+ *
21980
+ * ```typescript
21981
+ * const tree = wrap_parse('a -> b;', { locations: true });
21982
+ * // tree[0].loc === { start: { offset: 0, line: 1, column: 1 },
21983
+ * // end: { offset: 7, line: 1, column: 8 } }
21984
+ * // tree[0].from_loc.start.offset === 0 // 'a'
21985
+ * // tree[0].se.to_loc.start.offset === 5 // 'b'
21986
+ * ```
21987
+ *
21988
+ * @see {@link FslSourceLocation}
21989
+ *
21297
21990
  * # Hey!
21298
21991
  *
21299
21992
  * Most people looking at this want either the `sm` operator or method `from`,
@@ -21322,7 +22015,9 @@ function makeTransition(this_se, from, to, isRight, _wasList, _wasIndex) {
21322
22015
  *
21323
22016
  * @param input The FSL code to be evaluated
21324
22017
  *
21325
- * @param options Things to control about the instance
22018
+ * @param options Things to control about the instance. Pass
22019
+ * `{ locations: true }` to enable opt-in source location
22020
+ * tracking on every AST node.
21326
22021
  *
21327
22022
  */
21328
22023
  function wrap_parse(input, options) {
@@ -21401,7 +22096,7 @@ function compile_rule_handler(rule) {
21401
22096
  // state properties are in here
21402
22097
  if (rule.key === 'state_declaration') {
21403
22098
  if (!rule.name) {
21404
- throw new JssmError(undefined, 'State declarations must have a name');
22099
+ throw new JssmError(undefined, 'State declarations must have a name', { source_location: rule.loc });
21405
22100
  }
21406
22101
  return { agg_as: 'state_declaration', val: { state: rule.name, declarations: rule.value } };
21407
22102
  }
@@ -21447,6 +22142,31 @@ function compile_rule_handler(rule) {
21447
22142
  * This method is mostly for plugin and intermediate tool authors, or people
21448
22143
  * who need to work with the machine's intermediate representation.
21449
22144
  *
22145
+ * ## Source-location-aware error reporting
22146
+ *
22147
+ * `compile()` ignores `loc` and `*_loc` fields during machine construction —
22148
+ * the resulting config is identical whether or not the tree was parsed with
22149
+ * `{ locations: true }`. However, when those fields are present, `compile()`
22150
+ * attaches the offending node's source span to any semantic {@link JssmError}
22151
+ * it throws, via the error's `source_location` field
22152
+ * (type {@link FslSourceLocation}). This lets downstream tooling (e.g. a
22153
+ * CodeMirror 6 linter) map the error to a precise editor range without any
22154
+ * additional source-scanning.
22155
+ *
22156
+ * ```typescript
22157
+ * import { parse, compile } from 'jssm';
22158
+ *
22159
+ * try {
22160
+ * compile(parse('fsl_version: 1.0.0;\nfsl_version: 2.0.0;\na -> b;',
22161
+ * { locations: true }));
22162
+ * } catch (err) {
22163
+ * // err.source_location.start.offset points at the second fsl_version line
22164
+ * console.log(err.source_location);
22165
+ * }
22166
+ * ```
22167
+ *
22168
+ * @see {@link FslSourceLocation}
22169
+ *
21450
22170
  * # Hey!
21451
22171
  *
21452
22172
  * Most people looking at this want either the `sm` operator or method `from`,
@@ -21472,7 +22192,10 @@ function compile_rule_handler(rule) {
21472
22192
  *
21473
22193
  * @typeparam mDT The type of the machine data member; usually omitted
21474
22194
  *
21475
- * @param tree The parse tree to be boiled down into a machine config
22195
+ * @param tree The parse tree to be boiled down into a machine config. If the
22196
+ * tree was produced with `parse(input, { locations: true })`, any
22197
+ * semantic error thrown will carry a `source_location` span
22198
+ * pointing at the offending statement.
21476
22199
  *
21477
22200
  */
21478
22201
  function compile(tree) {
@@ -21519,7 +22242,8 @@ function compile(tree) {
21519
22242
  });
21520
22243
  const property_keys = results['property_definition'].map(pd => pd.name), repeat_props = find_repeated(property_keys);
21521
22244
  if (repeat_props.length) {
21522
- throw new JssmError(undefined, `Cannot repeat property definitions. Saw ${JSON.stringify(repeat_props)}`);
22245
+ const dup = repeat_props[0][0];
22246
+ throw new JssmError(undefined, `Cannot repeat property definitions. Saw ${JSON.stringify(repeat_props)}`, { source_location: nth_matching_loc(tree, (n) => n.key === 'property_definition' && n.name === dup, 2) });
21523
22247
  }
21524
22248
  const assembled_transitions = [].concat(...results['transition']);
21525
22249
  const result_cfg = {
@@ -21536,7 +22260,7 @@ function compile(tree) {
21536
22260
  ];
21537
22261
  oneOnlyKeys.map((oneOnlyKey) => {
21538
22262
  if (results[oneOnlyKey].length > 1) {
21539
- throw new JssmError(undefined, `May only have one ${oneOnlyKey} statement maximum: ${JSON.stringify(results[oneOnlyKey])}`);
22263
+ throw new JssmError(undefined, `May only have one ${oneOnlyKey} statement maximum: ${JSON.stringify(results[oneOnlyKey])}`, { source_location: nth_matching_loc(tree, (n) => n.key === oneOnlyKey, 2) });
21540
22264
  }
21541
22265
  else {
21542
22266
  if (results[oneOnlyKey].length) {
@@ -21561,7 +22285,7 @@ function compile(tree) {
21561
22285
  if (decl.key === 'state_property') {
21562
22286
  const label = name_bind_prop_and_state(decl.name, sd.state);
21563
22287
  if (result_cfg.state_property.findIndex(c => c.name === label) !== -1) {
21564
- throw new JssmError(undefined, `A state may only bind a property once (${sd.state} re-binds ${decl.name})`);
22288
+ throw new JssmError(undefined, `A state may only bind a property once (${sd.state} re-binds ${decl.name})`, { source_location: nth_matching_loc(tree, (n) => n.key === 'state_declaration' && n.name === sd.state, 1) });
21565
22289
  }
21566
22290
  else {
21567
22291
  result_cfg.state_property.push({ name: label, default_value: decl.value });
@@ -22047,7 +22771,7 @@ var constants = /*#__PURE__*/Object.freeze({
22047
22771
  * Useful for runtime diagnostics and for embedding in serialized machine
22048
22772
  * snapshots so that deserializers can detect version-skew.
22049
22773
  */
22050
- const version = "5.142.4";
22774
+ const version = "5.143.0";
22051
22775
 
22052
22776
  // whargarbl lots of these return arrays could/should be sets
22053
22777
  const { state_name_chars, state_name_first_chars, action_label_chars } = constants;