@gmb/bitmark-parser-generator 5.31.1 → 5.33.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/cli/main.js CHANGED
@@ -449,6 +449,8 @@ var BitType = {
449
449
  pageSectionFolder: "page-section-folder",
450
450
  pageShopInShop: "page-shop-in-shop",
451
451
  pageSpecial: "page-special",
452
+ pageEnd: "page-end",
453
+ pageStart: "page-start",
452
454
  pageSubpage: "page-subpage",
453
455
  pageSubscribe: "page-subscribe",
454
456
  parameters: "parameters",
@@ -3091,11 +3093,16 @@ var CARDSETS = {
3091
3093
  exportJsonKey: { "@bit": { heading: { forKeys: "$" } } }
3092
3094
  },
3093
3095
  {
3096
+ // Axis-side `[@isCaseSensitive]` is a cascade SOURCE
3097
+ // only: it must fire (so value-side cells inherit via
3098
+ // `$ancestor`) but emit nothing itself — emission is
3099
+ // owned by the value-side's cell-nested rule
3100
+ // (`cells[$s].isCaseSensitive`, PLAN-122). The earlier
3101
+ // flat `$ancestor` rule here double-emitted at bit
3102
+ // scope and broke the `optimize(fullize(x)) ==
3103
+ // optimize(x)` law on match-matrix.
3094
3104
  key: ConfigKey.property_isCaseSensitive,
3095
- exportJsonKey: [
3096
- { "@absent": { isCaseSensitive: "$ancestor" } },
3097
- { isCaseSensitive: "$" }
3098
- ],
3105
+ exportJsonKey: {},
3099
3106
  description: "Property to indicate if the match is case sensitive.",
3100
3107
  format: TagFormat.boolean
3101
3108
  }
@@ -4975,18 +4982,16 @@ var GROUPS = {
4975
4982
  description: "Item, lead, page number, margin number, instruction and hint tags"
4976
4983
  },
4977
4984
  {
4978
- // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2: cascade-fired
4979
- // `@example` from the bit header marks EVERY choice with
4980
- // `isExample: true` (matches BPG output), but only the
4981
- // FIRST correct choice gets `example: true` (BPG
4982
- // `fillBooleanExample(..., firstCorrectOnly=true)`).
4983
- //
4984
- // Two `@absent` rules, picked first-match-wins:
4985
- // 1. Verbose form gated on `@parent.isCorrect=true` with
4986
- // `maxEmits:1` fires once for the first correct.
4987
- // 2. Plain `@absent` fires on every remaining entry
4988
- // (subsequent corrects and all incorrects), emitting
4989
- // `isExample` only.
4985
+ // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2, corrected by
4986
+ // bpg 5.31 probing: cascade-fired `@example` decorates only
4987
+ // the FIRST correct choice (`example: true` via the
4988
+ // `@parent.isCorrect`-gated `@absent` rule, `maxEmits:1`
4989
+ // BPG `fillBooleanExample(..., firstCorrectOnly=true)`).
4990
+ // There is deliberately NO plain `@absent` rule: an ancestor
4991
+ // bare example must leave the remaining choices untouched
4992
+ // (a plain `@absent` decoration broke the
4993
+ // `optimize(fullize(x)) == optimize(x)` law the
4994
+ // synthesized `isExample` keys survived re-optimization).
4990
4995
  // The `serialize_cards` cascade-counter scope holds the cap
4991
4996
  // across the whole cardset.
4992
4997
  // @card scope-shift writes choice-container isExample (e.g.
@@ -5014,13 +5019,6 @@ var GROUPS = {
5014
5019
  "@card": { isExample: true }
5015
5020
  }
5016
5021
  },
5017
- {
5018
- "@absent": {
5019
- isExample: true,
5020
- "@bit": { isExample: true },
5021
- "@card": { isExample: true }
5022
- }
5023
- },
5024
5022
  {
5025
5023
  isExample: true,
5026
5024
  example: "$",
@@ -5062,11 +5060,13 @@ var GROUPS = {
5062
5060
  description: "Item, lead, page number, margin number, instruction and hint tags"
5063
5061
  },
5064
5062
  {
5065
- // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2: cascade-fired
5066
- // `@example` on a `-` (incorrect choice) emits
5067
- // `isExample: true` only — no `example` (BPG fixtures show
5068
- // `isExample` on every choice, but `example` only on the
5069
- // first correct via firstCorrectOnly cascade).
5063
+ // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2, corrected by
5064
+ // bpg 5.31 probing: an ancestor bare `@example` leaves
5065
+ // incorrect choices UNTOUCHED — no cascade decoration at
5066
+ // all (no `@absent` rule; a plain `@absent isExample`
5067
+ // decoration broke the `optimize(fullize(x)) ==
5068
+ // optimize(x)` law). Only an explicit `[@example]` on the
5069
+ // choice itself emits.
5070
5070
  // @card scope-shift writes choice-container isExample.
5071
5071
  key: ConfigKey.property_example,
5072
5072
  jsonKey: "example",
@@ -5079,13 +5079,6 @@ var GROUPS = {
5079
5079
  "@card": { isExample: true }
5080
5080
  }
5081
5081
  },
5082
- {
5083
- "@absent": {
5084
- isExample: true,
5085
- "@bit": { isExample: true },
5086
- "@card": { isExample: true }
5087
- }
5088
- },
5089
5082
  {
5090
5083
  isExample: true,
5091
5084
  example: "$",
@@ -5093,7 +5086,7 @@ var GROUPS = {
5093
5086
  "@card": { isExample: true }
5094
5087
  }
5095
5088
  ],
5096
- description: "An example for the true/false statement/question (incorrect entry \u2014 isExample only on cascade)",
5089
+ description: "An example for the true/false statement/question (incorrect entry \u2014 no cascade decoration: an ancestor bare example leaves incorrect choices untouched, bpg 5.31)",
5097
5090
  format: TagFormat.boolean,
5098
5091
  nullable: true
5099
5092
  }
@@ -7152,7 +7145,9 @@ var BITS = {
7152
7145
  description: "Common tags for quiz bits"
7153
7146
  },
7154
7147
  {
7155
- exportJsonKey: { title: "$" },
7148
+ maxCount: 2,
7149
+ jsonKey: "title|multi(count=2, key=subtitle)",
7150
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
7156
7151
  key: ConfigKey.tag_title,
7157
7152
  description: "The title of the flashcard quiz"
7158
7153
  },
@@ -7257,7 +7252,9 @@ var BITS = {
7257
7252
  description: "Article bit, used for articles / paragraphs",
7258
7253
  tags: [
7259
7254
  {
7260
- exportJsonKey: { title: "$" },
7255
+ maxCount: 2,
7256
+ jsonKey: "title|multi(count=2, key=subtitle)",
7257
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
7261
7258
  key: ConfigKey.tag_title,
7262
7259
  description: "The title of the article"
7263
7260
  }
@@ -9223,7 +9220,9 @@ var BITS = {
9223
9220
  description: "Example bit, used to provide examples in articles or books",
9224
9221
  tags: [
9225
9222
  {
9226
- exportJsonKey: { title: "$" },
9223
+ maxCount: 2,
9224
+ jsonKey: "title|multi(count=2, key=subtitle)",
9225
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
9227
9226
  key: ConfigKey.tag_title,
9228
9227
  description: "The title of the example"
9229
9228
  },
@@ -11824,7 +11823,9 @@ var BITS = {
11824
11823
  description: "Page bit, used to create pages in articles or books",
11825
11824
  tags: [
11826
11825
  {
11827
- exportJsonKey: { title: "$" },
11826
+ maxCount: 2,
11827
+ jsonKey: "title|multi(count=2, key=subtitle)",
11828
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
11828
11829
  key: ConfigKey.tag_title,
11829
11830
  description: "Title of the page, used to display the page title"
11830
11831
  },
@@ -11924,6 +11925,16 @@ var BITS = {
11924
11925
  baseBitType: BitType.pageSubpage,
11925
11926
  description: "Page special bit, used to create special pages in articles or books"
11926
11927
  },
11928
+ [BitType.pageEnd]: {
11929
+ since: "5.33.0",
11930
+ baseBitType: BitType.article,
11931
+ description: "Page end bit, used to mark the end of a page section in articles or books"
11932
+ },
11933
+ [BitType.pageStart]: {
11934
+ since: "5.33.0",
11935
+ baseBitType: BitType.article,
11936
+ description: "Page start bit, used to mark the start of a page section in articles or books"
11937
+ },
11927
11938
  [BitType.pagePerson]: {
11928
11939
  since: "1.5.16",
11929
11940
  baseBitType: BitType._standard,
@@ -12282,7 +12293,9 @@ var BITS = {
12282
12293
  description: "Review note bit, used to create review notes in articles or books",
12283
12294
  tags: [
12284
12295
  {
12285
- exportJsonKey: { title: "$" },
12296
+ maxCount: 2,
12297
+ jsonKey: "title|multi(count=2, key=subtitle)",
12298
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
12286
12299
  key: ConfigKey.tag_title,
12287
12300
  description: "Title of the review note, used to display the note title"
12288
12301
  },
@@ -13868,7 +13881,7 @@ var instance2 = new Config();
13868
13881
  // src/generated/package_info.ts
13869
13882
  var PACKAGE_INFO = {
13870
13883
  "name": "@gmb/bitmark-parser-generator",
13871
- "version": "5.31.1",
13884
+ "version": "5.33.0",
13872
13885
  "license": "ISC"};
13873
13886
  var Environment = {
13874
13887
  unknown: "",
@@ -14117,6 +14130,7 @@ var TextMarkType = {
14117
14130
  del: "del",
14118
14131
  underline: "underline",
14119
14132
  doubleUnderline: "doubleUnderline",
14133
+ smallcaps: "smallcaps",
14120
14134
  circle: "circle",
14121
14135
  languageEmRed: "languageEmRed",
14122
14136
  languageEmOrange: "languageEmOrange",
@@ -14148,7 +14162,10 @@ var TextMarkType = {
14148
14162
  code: "code",
14149
14163
  timer: "timer",
14150
14164
  duration: "duration",
14165
+ // legacy: no longer produced by the parser (>= 8.41.1), accepted as generator input
14151
14166
  color: "color",
14167
+ // legacy: no longer produced by the parser (>= 8.41.1, now textStyle), accepted as generator input
14168
+ textStyle: "textStyle",
14152
14169
  colorPicker: "colorPicker",
14153
14170
  comment: "comment"
14154
14171
  };
@@ -15703,6 +15720,7 @@ var INLINE_MARK_TYPES = [
15703
15720
  TextMarkType.del,
15704
15721
  TextMarkType.underline,
15705
15722
  TextMarkType.doubleUnderline,
15723
+ TextMarkType.smallcaps,
15706
15724
  TextMarkType.circle,
15707
15725
  TextMarkType.languageEmRed,
15708
15726
  TextMarkType.languageEmOrange,
@@ -15733,11 +15751,24 @@ var INLINE_MARK_TYPES = [
15733
15751
  TextMarkType.var,
15734
15752
  TextMarkType.code,
15735
15753
  TextMarkType.timer,
15736
- TextMarkType.duration,
15737
15754
  TextMarkType.color,
15755
+ // legacy input, written as color: (same as textStyle)
15756
+ TextMarkType.textStyle,
15738
15757
  TextMarkType.colorPicker,
15739
15758
  TextMarkType.comment
15740
15759
  ];
15760
+ var HIGHLIGHT_COLORS = [
15761
+ "orange",
15762
+ "yellow",
15763
+ "green",
15764
+ "blue",
15765
+ "purple",
15766
+ "pink",
15767
+ "brown",
15768
+ "white",
15769
+ "black",
15770
+ "gray"
15771
+ ];
15741
15772
  var INDENTATION_REGEX = new RegExp(/(\n|\r\n)/, "g");
15742
15773
  var LINK_REGEX = new RegExp(/https?:\/\/|mailto:(.*)/, "g");
15743
15774
  var LINK_BREAKSCAPE_REGEX = new RegExp(/\]/, "g");
@@ -16294,14 +16325,16 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16294
16325
  this.writeMarkTextWrapper(INLINE_MARK);
16295
16326
  return;
16296
16327
  }
16297
- const singleMark = node.marks.length === 1 && forceSingleMark;
16298
- const markStartEnd = node.marks.reduce(
16328
+ const marks = this.getWritableMarks(node.marks);
16329
+ if (marks.length === 0) return;
16330
+ const singleMark = marks.length === 1 && forceSingleMark;
16331
+ const markStartEnd = marks.reduce(
16299
16332
  (acc, mark) => {
16300
16333
  if (acc) return acc;
16301
- if (STANDARD_MARK_TYPES.indexOf(mark.type) !== -1) {
16334
+ if (this.isStandardMark(mark)) {
16302
16335
  if (singleMark) return STANDARD_MARKS[mark.type];
16303
16336
  return INLINE_MARK;
16304
- } else if (INLINE_MARK_TYPES.indexOf(mark.type) !== -1) {
16337
+ } else if (this.isInlineMark(mark)) {
16305
16338
  return INLINE_MARK;
16306
16339
  } else ;
16307
16340
  return acc;
@@ -16315,8 +16348,8 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16315
16348
  this.writeMarkTextWrapper(markStartEnd);
16316
16349
  }
16317
16350
  if (stage == Stage.between) {
16318
- for (const mark of node.marks) {
16319
- if (STANDARD_MARK_TYPES.indexOf(mark.type) !== -1) {
16351
+ for (const mark of marks) {
16352
+ if (this.isStandardMark(mark)) {
16320
16353
  if (!singleMark) {
16321
16354
  this.writeInlineMarkStartEnd();
16322
16355
  this.writeInlineMark(mark);
@@ -16345,7 +16378,7 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16345
16378
  } else if (TextMarkType.symbol === mark.type) {
16346
16379
  this.writeInlineMarkStartEnd();
16347
16380
  this.writeSymbolMark(mark);
16348
- } else if (INLINE_MARK_TYPES.indexOf(mark.type) !== -1) {
16381
+ } else if (this.isInlineMark(mark)) {
16349
16382
  this.writeInlineMarkStartEnd();
16350
16383
  this.writeInlineMark(mark);
16351
16384
  } else ;
@@ -16353,12 +16386,12 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16353
16386
  }
16354
16387
  if (stage == Stage.exit) {
16355
16388
  let inlineMarkWritten = false;
16356
- for (const mark of node.marks) {
16357
- if (STANDARD_MARK_TYPES.indexOf(mark.type) !== -1) {
16389
+ for (const mark of marks) {
16390
+ if (this.isStandardMark(mark)) {
16358
16391
  if (!singleMark) {
16359
16392
  inlineMarkWritten = true;
16360
16393
  }
16361
- } else if (TextMarkType.comment === mark.type || TextMarkType.link === mark.type || TextMarkType.ref === mark.type || TextMarkType.xref === mark.type || TextMarkType.footnote === mark.type || TextMarkType.footnoteStar === mark.type || INLINE_MARK_TYPES.indexOf(mark.type) !== -1) {
16394
+ } else if (TextMarkType.comment === mark.type || TextMarkType.link === mark.type || TextMarkType.ref === mark.type || TextMarkType.xref === mark.type || TextMarkType.footnote === mark.type || TextMarkType.footnoteStar === mark.type || this.isInlineMark(mark)) {
16362
16395
  inlineMarkWritten = true;
16363
16396
  } else ;
16364
16397
  }
@@ -16438,8 +16471,15 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16438
16471
  if (node.attrs == null || !node.attrs.src) return;
16439
16472
  const attrs = node.attrs;
16440
16473
  const inlineImage = node.type === TextNodeType.imageInline;
16474
+ let ignoreAttributes;
16475
+ if (inlineImage) {
16476
+ ignoreAttributes = /* @__PURE__ */ new Set(["alt", "zoomDisabled", "title"]);
16477
+ const a = attrs;
16478
+ if (a.alignmentVertical === "top") ignoreAttributes.add("alignmentVertical");
16479
+ if (a.size === "line-height") ignoreAttributes.add("size");
16480
+ }
16441
16481
  const mediaAttrs = this.getMediaAttrs(inlineImage ? "imageInline" : "image", attrs, {
16442
- ignoreAttributes: inlineImage ? /* @__PURE__ */ new Set(["alt", "zoomDisabled", "title"]) : void 0
16482
+ ignoreAttributes
16443
16483
  });
16444
16484
  let s = "";
16445
16485
  if (inlineImage) {
@@ -16469,16 +16509,87 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16469
16509
  if (s) this.write(s);
16470
16510
  }
16471
16511
  writeInlineMark(mark) {
16472
- let s = `${mark.type}`;
16473
- if (mark.attrs) {
16474
- for (const [k, v] of Object.entries(mark.attrs)) {
16475
- if (k === "language" && v !== "plain text" || k === "color" || k === "propertyRef" || k === "name" || k === "duration") {
16476
- s = `${s}:${v}`;
16512
+ const attrs = mark.attrs ?? {};
16513
+ let s;
16514
+ switch (mark.type) {
16515
+ case TextMarkType.textStyle:
16516
+ case TextMarkType.color:
16517
+ s = `color:${attrs.color ?? ""}`;
16518
+ break;
16519
+ case TextMarkType.timer:
16520
+ s = attrs.name ? `timer:${attrs.name}` : "timer";
16521
+ s += `|duration:${attrs.duration ?? ""}`;
16522
+ break;
16523
+ case TextMarkType.highlight:
16524
+ case TextMarkType.userHighlight:
16525
+ s = attrs.color ? `${mark.type}|color:${attrs.color}` : `${mark.type}`;
16526
+ break;
16527
+ default: {
16528
+ s = `${mark.type}`;
16529
+ for (const [k, v] of Object.entries(attrs)) {
16530
+ if (k === "language" && v !== "plain text" || k === "propertyRef" || k === "name") {
16531
+ s = `${s}:${v}`;
16532
+ }
16477
16533
  }
16478
16534
  }
16479
16535
  }
16480
16536
  this.write(s);
16481
16537
  }
16538
+ /**
16539
+ * Resolve the marks of a text node into the marks that will actually be written.
16540
+ *
16541
+ * - Merges a legacy standalone 'duration' mark into its sibling 'timer' mark.
16542
+ * - Drops marks the current grammar cannot express (standalone 'duration', 'timer'
16543
+ * without a duration).
16544
+ * - Moves a 'textStyle'/'color' mark before a preceding bare 'highlight'/'userHighlight'
16545
+ * mark when its color is a valid highlight color; written in the original order the
16546
+ * output would re-parse as a highlight-with-color compound mark and change meaning.
16547
+ */
16548
+ getWritableMarks(nodeMarks) {
16549
+ const attrsOf = (m) => m.attrs ?? {};
16550
+ let marks = [...nodeMarks];
16551
+ const timer = marks.find((m) => m.type === TextMarkType.timer);
16552
+ const duration = marks.find((m) => m.type === TextMarkType.duration);
16553
+ if (timer && duration && !attrsOf(timer).duration) {
16554
+ marks = marks.map(
16555
+ (m) => m === timer ? {
16556
+ ...timer,
16557
+ attrs: { ...attrsOf(timer), duration: attrsOf(duration).duration }
16558
+ } : m
16559
+ );
16560
+ }
16561
+ marks = marks.filter((m) => {
16562
+ if (m.type === TextMarkType.duration) return false;
16563
+ if (m.type === TextMarkType.timer) return !!attrsOf(m).duration;
16564
+ return true;
16565
+ });
16566
+ const isBareHighlight = (m) => (m.type === TextMarkType.highlight || m.type === TextMarkType.userHighlight) && !attrsOf(m).color;
16567
+ const isHighlightColorStyle = (m) => (m.type === TextMarkType.textStyle || m.type === TextMarkType.color) && HIGHLIGHT_COLORS.indexOf(attrsOf(m).color) !== -1;
16568
+ for (let i = 0; i < marks.length - 1; i++) {
16569
+ if (isBareHighlight(marks[i]) && isHighlightColorStyle(marks[i + 1])) {
16570
+ const tmp = marks[i];
16571
+ marks[i] = marks[i + 1];
16572
+ marks[i + 1] = tmp;
16573
+ }
16574
+ }
16575
+ return marks;
16576
+ }
16577
+ /**
16578
+ * True if the mark is written using its standard form (e.g. **bold**, !!highlight!!)
16579
+ * when it is the only mark. A highlight mark with a color attribute is excluded - it
16580
+ * can only be expressed using the inline chain form (==text==|highlight|color:x|).
16581
+ */
16582
+ isStandardMark(mark) {
16583
+ if (STANDARD_MARK_TYPES.indexOf(mark.type) === -1) return false;
16584
+ return !(mark.attrs && mark.attrs.color);
16585
+ }
16586
+ /**
16587
+ * True if the mark is written using the inline chain form (==text==|mark|).
16588
+ */
16589
+ isInlineMark(mark) {
16590
+ if (INLINE_MARK_TYPES.indexOf(mark.type) !== -1) return true;
16591
+ return mark.type === TextMarkType.highlight && !!(mark.attrs && mark.attrs.color);
16592
+ }
16482
16593
  writeCommentMark(mark) {
16483
16594
  const comment = mark.comment || "";
16484
16595
  const s = `#${comment}`;
@@ -16683,7 +16794,7 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16683
16794
  };
16684
16795
 
16685
16796
  // src/generated/parser/text/text-peggy-parser.js
16686
- var VERSION = "8.37.3";
16797
+ var VERSION = "8.41.1";
16687
16798
  function unbreakscape(str) {
16688
16799
  if (typeof str !== "string") return null;
16689
16800
  return instance3.unbreakscape(str);
@@ -16898,87 +17009,88 @@ function peg$parse(input, options) {
16898
17009
  const peg$c60 = "var:";
16899
17010
  const peg$c61 = "code:";
16900
17011
  const peg$c62 = "timer";
16901
- const peg$c63 = "timer:";
16902
- const peg$c64 = "duration:";
16903
- const peg$c65 = "P";
16904
- const peg$c66 = "color:";
16905
- const peg$c67 = "colorPicker:";
16906
- const peg$c68 = "|\u25BA";
16907
- const peg$c69 = "bold";
16908
- const peg$c70 = "italic";
16909
- const peg$c71 = "light";
16910
- const peg$c72 = "highlightOrange";
16911
- const peg$c73 = "highlightYellow";
16912
- const peg$c74 = "highlightGreen";
16913
- const peg$c75 = "highlightBlue";
16914
- const peg$c76 = "highlightPurple";
16915
- const peg$c77 = "highlightPink";
16916
- const peg$c78 = "highlightBrown";
16917
- const peg$c79 = "highlightBlack";
16918
- const peg$c80 = "highlightWhite";
16919
- const peg$c81 = "highlightGray";
16920
- const peg$c82 = "highlight";
16921
- const peg$c83 = "strike";
16922
- const peg$c84 = "subscript";
16923
- const peg$c85 = "superscript";
16924
- const peg$c86 = "ins";
16925
- const peg$c87 = "del";
16926
- const peg$c88 = "underline";
16927
- const peg$c89 = "doubleUnderline";
16928
- const peg$c90 = "circle";
16929
- const peg$c91 = "languageEmRed";
16930
- const peg$c92 = "languageEmOrange";
16931
- const peg$c93 = "languageEmYellow";
16932
- const peg$c94 = "languageEmGreen";
16933
- const peg$c95 = "languageEmBlue";
16934
- const peg$c96 = "languageEmPurple";
16935
- const peg$c97 = "languageEmPink";
16936
- const peg$c98 = "languageEmBrown";
16937
- const peg$c99 = "languageEmBlack";
16938
- const peg$c100 = "languageEmWhite";
16939
- const peg$c101 = "languageEmGray";
16940
- const peg$c102 = "languageEm";
16941
- const peg$c103 = "userUnderline";
16942
- const peg$c104 = "userDoubleUnderline";
16943
- const peg$c105 = "userStrike";
16944
- const peg$c106 = "userCircle";
16945
- const peg$c107 = "userHighlight";
16946
- const peg$c108 = "notranslate";
16947
- const peg$c109 = "aqua";
16948
- const peg$c110 = "black";
16949
- const peg$c111 = "blue";
16950
- const peg$c112 = "brown";
16951
- const peg$c113 = "fuchsia";
16952
- const peg$c114 = "lightgrey";
16953
- const peg$c115 = "gray";
16954
- const peg$c116 = "darkgray";
16955
- const peg$c117 = "green";
16956
- const peg$c118 = "lime";
16957
- const peg$c119 = "magenta";
16958
- const peg$c120 = "maroon";
16959
- const peg$c121 = "navy";
16960
- const peg$c122 = "olive";
16961
- const peg$c123 = "orange";
16962
- const peg$c124 = "pink";
16963
- const peg$c125 = "purple";
16964
- const peg$c126 = "red";
16965
- const peg$c127 = "silver";
16966
- const peg$c128 = "teal";
16967
- const peg$c129 = "violet";
16968
- const peg$c130 = "white";
16969
- const peg$c131 = "yellow";
16970
- const peg$c132 = "*";
16971
- const peg$c133 = "_";
16972
- const peg$c134 = "`";
16973
- const peg$c135 = "!";
16974
- const peg$c136 = "[!";
16975
- const peg$c137 = "]";
16976
- const peg$c138 = "\n";
16977
- const peg$c139 = "\r\n";
16978
- const peg$c140 = "http";
16979
- const peg$c141 = "s";
16980
- const peg$c142 = "://";
16981
- const peg$c143 = "mailto:";
17012
+ const peg$c63 = "duration:";
17013
+ const peg$c64 = "P";
17014
+ const peg$c65 = "timer:";
17015
+ const peg$c66 = "highlight";
17016
+ const peg$c67 = "color:";
17017
+ const peg$c68 = "userHighlight";
17018
+ const peg$c69 = "colorPicker:";
17019
+ const peg$c70 = "|\u25BA";
17020
+ const peg$c71 = "bold";
17021
+ const peg$c72 = "italic";
17022
+ const peg$c73 = "light";
17023
+ const peg$c74 = "highlightOrange";
17024
+ const peg$c75 = "highlightYellow";
17025
+ const peg$c76 = "highlightGreen";
17026
+ const peg$c77 = "highlightBlue";
17027
+ const peg$c78 = "highlightPurple";
17028
+ const peg$c79 = "highlightPink";
17029
+ const peg$c80 = "highlightBrown";
17030
+ const peg$c81 = "highlightBlack";
17031
+ const peg$c82 = "highlightWhite";
17032
+ const peg$c83 = "highlightGray";
17033
+ const peg$c84 = "strike";
17034
+ const peg$c85 = "subscript";
17035
+ const peg$c86 = "superscript";
17036
+ const peg$c87 = "ins";
17037
+ const peg$c88 = "del";
17038
+ const peg$c89 = "underline";
17039
+ const peg$c90 = "doubleUnderline";
17040
+ const peg$c91 = "smallcaps";
17041
+ const peg$c92 = "circle";
17042
+ const peg$c93 = "languageEmRed";
17043
+ const peg$c94 = "languageEmOrange";
17044
+ const peg$c95 = "languageEmYellow";
17045
+ const peg$c96 = "languageEmGreen";
17046
+ const peg$c97 = "languageEmBlue";
17047
+ const peg$c98 = "languageEmPurple";
17048
+ const peg$c99 = "languageEmPink";
17049
+ const peg$c100 = "languageEmBrown";
17050
+ const peg$c101 = "languageEmBlack";
17051
+ const peg$c102 = "languageEmWhite";
17052
+ const peg$c103 = "languageEmGray";
17053
+ const peg$c104 = "languageEm";
17054
+ const peg$c105 = "userUnderline";
17055
+ const peg$c106 = "userDoubleUnderline";
17056
+ const peg$c107 = "userStrike";
17057
+ const peg$c108 = "userCircle";
17058
+ const peg$c109 = "notranslate";
17059
+ const peg$c110 = "aqua";
17060
+ const peg$c111 = "black";
17061
+ const peg$c112 = "blue";
17062
+ const peg$c113 = "brown";
17063
+ const peg$c114 = "fuchsia";
17064
+ const peg$c115 = "lightgrey";
17065
+ const peg$c116 = "gray";
17066
+ const peg$c117 = "darkgray";
17067
+ const peg$c118 = "green";
17068
+ const peg$c119 = "lime";
17069
+ const peg$c120 = "magenta";
17070
+ const peg$c121 = "maroon";
17071
+ const peg$c122 = "navy";
17072
+ const peg$c123 = "olive";
17073
+ const peg$c124 = "orange";
17074
+ const peg$c125 = "pink";
17075
+ const peg$c126 = "purple";
17076
+ const peg$c127 = "red";
17077
+ const peg$c128 = "silver";
17078
+ const peg$c129 = "teal";
17079
+ const peg$c130 = "violet";
17080
+ const peg$c131 = "white";
17081
+ const peg$c132 = "yellow";
17082
+ const peg$c133 = "*";
17083
+ const peg$c134 = "_";
17084
+ const peg$c135 = "`";
17085
+ const peg$c136 = "!";
17086
+ const peg$c137 = "[!";
17087
+ const peg$c138 = "]";
17088
+ const peg$c139 = "\n";
17089
+ const peg$c140 = "\r\n";
17090
+ const peg$c141 = "http";
17091
+ const peg$c142 = "s";
17092
+ const peg$c143 = "://";
17093
+ const peg$c144 = "mailto:";
16982
17094
  const peg$r0 = /^[ \t]/;
16983
17095
  const peg$r1 = /^[0-9]/;
16984
17096
  const peg$r2 = /^[\r\u2028-\u2029]/;
@@ -17051,91 +17163,92 @@ function peg$parse(input, options) {
17051
17163
  const peg$e64 = peg$literalExpectation("var:", false);
17052
17164
  const peg$e65 = peg$literalExpectation("code:", false);
17053
17165
  const peg$e66 = peg$literalExpectation("timer", false);
17054
- const peg$e67 = peg$literalExpectation("timer:", false);
17055
- const peg$e68 = peg$literalExpectation("duration:", false);
17056
- const peg$e69 = peg$literalExpectation("P", false);
17057
- const peg$e70 = peg$literalExpectation("color:", false);
17058
- const peg$e71 = peg$literalExpectation("colorPicker:", false);
17059
- const peg$e72 = peg$literalExpectation("|\u25BA", false);
17060
- const peg$e73 = peg$literalExpectation("bold", false);
17061
- const peg$e74 = peg$literalExpectation("italic", false);
17062
- const peg$e75 = peg$literalExpectation("light", false);
17063
- const peg$e76 = peg$literalExpectation("highlightOrange", false);
17064
- const peg$e77 = peg$literalExpectation("highlightYellow", false);
17065
- const peg$e78 = peg$literalExpectation("highlightGreen", false);
17066
- const peg$e79 = peg$literalExpectation("highlightBlue", false);
17067
- const peg$e80 = peg$literalExpectation("highlightPurple", false);
17068
- const peg$e81 = peg$literalExpectation("highlightPink", false);
17069
- const peg$e82 = peg$literalExpectation("highlightBrown", false);
17070
- const peg$e83 = peg$literalExpectation("highlightBlack", false);
17071
- const peg$e84 = peg$literalExpectation("highlightWhite", false);
17072
- const peg$e85 = peg$literalExpectation("highlightGray", false);
17073
- const peg$e86 = peg$literalExpectation("highlight", false);
17074
- const peg$e87 = peg$literalExpectation("strike", false);
17075
- const peg$e88 = peg$literalExpectation("subscript", false);
17076
- const peg$e89 = peg$literalExpectation("superscript", false);
17077
- const peg$e90 = peg$literalExpectation("ins", false);
17078
- const peg$e91 = peg$literalExpectation("del", false);
17079
- const peg$e92 = peg$literalExpectation("underline", false);
17080
- const peg$e93 = peg$literalExpectation("doubleUnderline", false);
17081
- const peg$e94 = peg$literalExpectation("circle", false);
17082
- const peg$e95 = peg$literalExpectation("languageEmRed", false);
17083
- const peg$e96 = peg$literalExpectation("languageEmOrange", false);
17084
- const peg$e97 = peg$literalExpectation("languageEmYellow", false);
17085
- const peg$e98 = peg$literalExpectation("languageEmGreen", false);
17086
- const peg$e99 = peg$literalExpectation("languageEmBlue", false);
17087
- const peg$e100 = peg$literalExpectation("languageEmPurple", false);
17088
- const peg$e101 = peg$literalExpectation("languageEmPink", false);
17089
- const peg$e102 = peg$literalExpectation("languageEmBrown", false);
17090
- const peg$e103 = peg$literalExpectation("languageEmBlack", false);
17091
- const peg$e104 = peg$literalExpectation("languageEmWhite", false);
17092
- const peg$e105 = peg$literalExpectation("languageEmGray", false);
17093
- const peg$e106 = peg$literalExpectation("languageEm", false);
17094
- const peg$e107 = peg$literalExpectation("userUnderline", false);
17095
- const peg$e108 = peg$literalExpectation("userDoubleUnderline", false);
17096
- const peg$e109 = peg$literalExpectation("userStrike", false);
17097
- const peg$e110 = peg$literalExpectation("userCircle", false);
17098
- const peg$e111 = peg$literalExpectation("userHighlight", false);
17099
- const peg$e112 = peg$literalExpectation("notranslate", false);
17100
- const peg$e113 = peg$literalExpectation("aqua", false);
17101
- const peg$e114 = peg$literalExpectation("black", false);
17102
- const peg$e115 = peg$literalExpectation("blue", false);
17103
- const peg$e116 = peg$literalExpectation("brown", false);
17104
- const peg$e117 = peg$literalExpectation("fuchsia", false);
17105
- const peg$e118 = peg$literalExpectation("lightgrey", false);
17106
- const peg$e119 = peg$literalExpectation("gray", false);
17107
- const peg$e120 = peg$literalExpectation("darkgray", false);
17108
- const peg$e121 = peg$literalExpectation("green", false);
17109
- const peg$e122 = peg$literalExpectation("lime", false);
17110
- const peg$e123 = peg$literalExpectation("magenta", false);
17111
- const peg$e124 = peg$literalExpectation("maroon", false);
17112
- const peg$e125 = peg$literalExpectation("navy", false);
17113
- const peg$e126 = peg$literalExpectation("olive", false);
17114
- const peg$e127 = peg$literalExpectation("orange", false);
17115
- const peg$e128 = peg$literalExpectation("pink", false);
17116
- const peg$e129 = peg$literalExpectation("purple", false);
17117
- const peg$e130 = peg$literalExpectation("red", false);
17118
- const peg$e131 = peg$literalExpectation("silver", false);
17119
- const peg$e132 = peg$literalExpectation("teal", false);
17120
- const peg$e133 = peg$literalExpectation("violet", false);
17121
- const peg$e134 = peg$literalExpectation("white", false);
17122
- const peg$e135 = peg$literalExpectation("yellow", false);
17123
- const peg$e136 = peg$literalExpectation("*", false);
17124
- const peg$e137 = peg$literalExpectation("_", false);
17125
- const peg$e138 = peg$literalExpectation("`", false);
17126
- const peg$e139 = peg$literalExpectation("!", false);
17127
- const peg$e140 = peg$literalExpectation("[!", false);
17128
- const peg$e141 = peg$literalExpectation("]", false);
17129
- const peg$e142 = peg$otherExpectation("Line Terminator");
17130
- const peg$e143 = peg$literalExpectation("\n", false);
17131
- const peg$e144 = peg$literalExpectation("\r\n", false);
17132
- const peg$e145 = peg$classExpectation(["\r", ["\u2028", "\u2029"]], false, false, false);
17133
- const peg$e146 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], true, false, false);
17134
- const peg$e147 = peg$literalExpectation("http", false);
17135
- const peg$e148 = peg$literalExpectation("s", false);
17136
- const peg$e149 = peg$literalExpectation("://", false);
17137
- const peg$e150 = peg$literalExpectation("mailto:", false);
17138
- const peg$e151 = peg$classExpectation(["!", ["#", ";"], "=", ["?", "["], ["]", "_"], ["a", "{"], ["}", "~"]], false, false, false);
17166
+ const peg$e67 = peg$literalExpectation("duration:", false);
17167
+ const peg$e68 = peg$literalExpectation("P", false);
17168
+ const peg$e69 = peg$literalExpectation("timer:", false);
17169
+ const peg$e70 = peg$literalExpectation("highlight", false);
17170
+ const peg$e71 = peg$literalExpectation("color:", false);
17171
+ const peg$e72 = peg$literalExpectation("userHighlight", false);
17172
+ const peg$e73 = peg$literalExpectation("colorPicker:", false);
17173
+ const peg$e74 = peg$literalExpectation("|\u25BA", false);
17174
+ const peg$e75 = peg$literalExpectation("bold", false);
17175
+ const peg$e76 = peg$literalExpectation("italic", false);
17176
+ const peg$e77 = peg$literalExpectation("light", false);
17177
+ const peg$e78 = peg$literalExpectation("highlightOrange", false);
17178
+ const peg$e79 = peg$literalExpectation("highlightYellow", false);
17179
+ const peg$e80 = peg$literalExpectation("highlightGreen", false);
17180
+ const peg$e81 = peg$literalExpectation("highlightBlue", false);
17181
+ const peg$e82 = peg$literalExpectation("highlightPurple", false);
17182
+ const peg$e83 = peg$literalExpectation("highlightPink", false);
17183
+ const peg$e84 = peg$literalExpectation("highlightBrown", false);
17184
+ const peg$e85 = peg$literalExpectation("highlightBlack", false);
17185
+ const peg$e86 = peg$literalExpectation("highlightWhite", false);
17186
+ const peg$e87 = peg$literalExpectation("highlightGray", false);
17187
+ const peg$e88 = peg$literalExpectation("strike", false);
17188
+ const peg$e89 = peg$literalExpectation("subscript", false);
17189
+ const peg$e90 = peg$literalExpectation("superscript", false);
17190
+ const peg$e91 = peg$literalExpectation("ins", false);
17191
+ const peg$e92 = peg$literalExpectation("del", false);
17192
+ const peg$e93 = peg$literalExpectation("underline", false);
17193
+ const peg$e94 = peg$literalExpectation("doubleUnderline", false);
17194
+ const peg$e95 = peg$literalExpectation("smallcaps", false);
17195
+ const peg$e96 = peg$literalExpectation("circle", false);
17196
+ const peg$e97 = peg$literalExpectation("languageEmRed", false);
17197
+ const peg$e98 = peg$literalExpectation("languageEmOrange", false);
17198
+ const peg$e99 = peg$literalExpectation("languageEmYellow", false);
17199
+ const peg$e100 = peg$literalExpectation("languageEmGreen", false);
17200
+ const peg$e101 = peg$literalExpectation("languageEmBlue", false);
17201
+ const peg$e102 = peg$literalExpectation("languageEmPurple", false);
17202
+ const peg$e103 = peg$literalExpectation("languageEmPink", false);
17203
+ const peg$e104 = peg$literalExpectation("languageEmBrown", false);
17204
+ const peg$e105 = peg$literalExpectation("languageEmBlack", false);
17205
+ const peg$e106 = peg$literalExpectation("languageEmWhite", false);
17206
+ const peg$e107 = peg$literalExpectation("languageEmGray", false);
17207
+ const peg$e108 = peg$literalExpectation("languageEm", false);
17208
+ const peg$e109 = peg$literalExpectation("userUnderline", false);
17209
+ const peg$e110 = peg$literalExpectation("userDoubleUnderline", false);
17210
+ const peg$e111 = peg$literalExpectation("userStrike", false);
17211
+ const peg$e112 = peg$literalExpectation("userCircle", false);
17212
+ const peg$e113 = peg$literalExpectation("notranslate", false);
17213
+ const peg$e114 = peg$literalExpectation("aqua", false);
17214
+ const peg$e115 = peg$literalExpectation("black", false);
17215
+ const peg$e116 = peg$literalExpectation("blue", false);
17216
+ const peg$e117 = peg$literalExpectation("brown", false);
17217
+ const peg$e118 = peg$literalExpectation("fuchsia", false);
17218
+ const peg$e119 = peg$literalExpectation("lightgrey", false);
17219
+ const peg$e120 = peg$literalExpectation("gray", false);
17220
+ const peg$e121 = peg$literalExpectation("darkgray", false);
17221
+ const peg$e122 = peg$literalExpectation("green", false);
17222
+ const peg$e123 = peg$literalExpectation("lime", false);
17223
+ const peg$e124 = peg$literalExpectation("magenta", false);
17224
+ const peg$e125 = peg$literalExpectation("maroon", false);
17225
+ const peg$e126 = peg$literalExpectation("navy", false);
17226
+ const peg$e127 = peg$literalExpectation("olive", false);
17227
+ const peg$e128 = peg$literalExpectation("orange", false);
17228
+ const peg$e129 = peg$literalExpectation("pink", false);
17229
+ const peg$e130 = peg$literalExpectation("purple", false);
17230
+ const peg$e131 = peg$literalExpectation("red", false);
17231
+ const peg$e132 = peg$literalExpectation("silver", false);
17232
+ const peg$e133 = peg$literalExpectation("teal", false);
17233
+ const peg$e134 = peg$literalExpectation("violet", false);
17234
+ const peg$e135 = peg$literalExpectation("white", false);
17235
+ const peg$e136 = peg$literalExpectation("yellow", false);
17236
+ const peg$e137 = peg$literalExpectation("*", false);
17237
+ const peg$e138 = peg$literalExpectation("_", false);
17238
+ const peg$e139 = peg$literalExpectation("`", false);
17239
+ const peg$e140 = peg$literalExpectation("!", false);
17240
+ const peg$e141 = peg$literalExpectation("[!", false);
17241
+ const peg$e142 = peg$literalExpectation("]", false);
17242
+ const peg$e143 = peg$otherExpectation("Line Terminator");
17243
+ const peg$e144 = peg$literalExpectation("\n", false);
17244
+ const peg$e145 = peg$literalExpectation("\r\n", false);
17245
+ const peg$e146 = peg$classExpectation(["\r", ["\u2028", "\u2029"]], false, false, false);
17246
+ const peg$e147 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], true, false, false);
17247
+ const peg$e148 = peg$literalExpectation("http", false);
17248
+ const peg$e149 = peg$literalExpectation("s", false);
17249
+ const peg$e150 = peg$literalExpectation("://", false);
17250
+ const peg$e151 = peg$literalExpectation("mailto:", false);
17251
+ const peg$e152 = peg$classExpectation(["!", ["#", ";"], "=", ["?", "["], ["]", "_"], ["a", "{"], ["}", "~"]], false, false, false);
17139
17252
  function peg$f0() {
17140
17253
  return VERSION;
17141
17254
  }
@@ -17411,7 +17524,7 @@ function peg$parse(input, options) {
17411
17524
  return { attrs: { formula: unbreakscape(t) }, type: "latex" };
17412
17525
  }
17413
17526
  function peg$f57(alt, u, ch) {
17414
- return { attrs: { alt, src: (u.pr + u.t).trim(), ...Object.assign({}, ...ch), zoomDisabled: true }, type: "imageInline" };
17527
+ return { attrs: { alt, src: (u.pr + u.t).trim(), "alignmentVertical": "top", size: "line-height", ...Object.assign({}, ...ch), zoomDisabled: true }, type: "imageInline" };
17415
17528
  }
17416
17529
  function peg$f58(t, marks) {
17417
17530
  if (!marks) marks = [];
@@ -17490,59 +17603,62 @@ function peg$parse(input, options) {
17490
17603
  function peg$f82(lang) {
17491
17604
  return { type: "code", attrs: { language: lang.trim().toLowerCase() } };
17492
17605
  }
17493
- function peg$f83() {
17494
- return { type: "timer", attrs: { name: "" } };
17606
+ function peg$f83(d) {
17607
+ return { type: "timer", attrs: { name: "", duration: d.trim() } };
17495
17608
  }
17496
- function peg$f84(str) {
17497
- return { type: "timer", attrs: { name: str.trim() } };
17609
+ function peg$f84(str, d) {
17610
+ return { type: "timer", attrs: { name: str.trim(), duration: d.trim() } };
17498
17611
  }
17499
- function peg$f85(str) {
17500
- return { type: "duration", attrs: { duration: str } };
17612
+ function peg$f85(color) {
17613
+ return { type: "highlight", attrs: { color } };
17501
17614
  }
17502
17615
  function peg$f86(color) {
17503
- return { type: "color", attrs: { color } };
17616
+ return { type: "userHighlight", attrs: { color } };
17617
+ }
17618
+ function peg$f87(color) {
17619
+ return { type: "textStyle", attrs: { color } };
17504
17620
  }
17505
- function peg$f87(str) {
17621
+ function peg$f88(str) {
17506
17622
  return { type: "colorPicker", attrs: { propertyRef: str.trim() } };
17507
17623
  }
17508
- function peg$f88(style) {
17624
+ function peg$f89(style) {
17509
17625
  return { type: style };
17510
17626
  }
17511
- function peg$f89(str) {
17627
+ function peg$f90(str) {
17512
17628
  return { type: "comment", comment: str };
17513
17629
  }
17514
- function peg$f90(r) {
17630
+ function peg$f91(r) {
17515
17631
  return r.trim();
17516
17632
  }
17517
- function peg$f91(bs) {
17633
+ function peg$f92(bs) {
17518
17634
  return [{ type: "paragraph", content: bs, attrs: {} }];
17519
17635
  }
17520
- function peg$f92(first, more) {
17636
+ function peg$f93(first, more) {
17521
17637
  const cleaned_ = cleanEmptyTextNodes(first ? [first, ...more.flat()] : more.flat());
17522
17638
  return cleaned_;
17523
17639
  }
17524
- function peg$f93() {
17640
+ function peg$f94() {
17525
17641
  return { "type": "hardBreak" };
17526
17642
  }
17527
- function peg$f94(t) {
17643
+ function peg$f95(t) {
17528
17644
  return { text: unbreakscape(t), type: "text" };
17529
17645
  }
17530
- function peg$f95(t) {
17646
+ function peg$f96(t) {
17531
17647
  return { index: +t, type: "bit" };
17532
17648
  }
17533
- function peg$f96(t) {
17649
+ function peg$f97(t) {
17534
17650
  return { marks: [{ type: "bold" }], text: unbreakscape(t), type: "text" };
17535
17651
  }
17536
- function peg$f97(t) {
17652
+ function peg$f98(t) {
17537
17653
  return { marks: [{ type: "italic" }], text: unbreakscape(t), type: "text" };
17538
17654
  }
17539
- function peg$f98(t) {
17655
+ function peg$f99(t) {
17540
17656
  return { marks: [{ type: "light" }], text: unbreakscape(t), type: "text" };
17541
17657
  }
17542
- function peg$f99(t) {
17658
+ function peg$f100(t) {
17543
17659
  return { marks: [{ type: "highlight" }], text: unbreakscape(t), type: "text" };
17544
17660
  }
17545
- function peg$f100(pr, t) {
17661
+ function peg$f101(pr, t) {
17546
17662
  return { pr, t };
17547
17663
  }
17548
17664
  let peg$currPos = options.peg$currPos | 0;
@@ -22299,7 +22415,7 @@ function peg$parse(input, options) {
22299
22415
  return s0;
22300
22416
  }
22301
22417
  function peg$parseAttrChainItem() {
22302
- let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
22418
+ let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;
22303
22419
  s0 = peg$currPos;
22304
22420
  if (input.substr(peg$currPos, 5) === peg$c52) {
22305
22421
  s1 = peg$c52;
@@ -23256,7 +23372,109 @@ function peg$parse(input, options) {
23256
23372
  if (s1 !== peg$FAILED) {
23257
23373
  s2 = peg$parseBlockTag();
23258
23374
  if (s2 !== peg$FAILED) {
23259
- s0 = peg$f83();
23375
+ if (input.substr(peg$currPos, 9) === peg$c63) {
23376
+ s3 = peg$c63;
23377
+ peg$currPos += 9;
23378
+ } else {
23379
+ s3 = peg$FAILED;
23380
+ if (peg$silentFails === 0) {
23381
+ peg$fail(peg$e67);
23382
+ }
23383
+ }
23384
+ if (s3 !== peg$FAILED) {
23385
+ s4 = peg$currPos;
23386
+ s5 = peg$currPos;
23387
+ if (input.charCodeAt(peg$currPos) === 80) {
23388
+ s6 = peg$c64;
23389
+ peg$currPos++;
23390
+ } else {
23391
+ s6 = peg$FAILED;
23392
+ if (peg$silentFails === 0) {
23393
+ peg$fail(peg$e68);
23394
+ }
23395
+ }
23396
+ if (s6 !== peg$FAILED) {
23397
+ s7 = peg$currPos;
23398
+ s8 = [];
23399
+ s9 = peg$currPos;
23400
+ s10 = peg$currPos;
23401
+ peg$silentFails++;
23402
+ s11 = peg$parseBlockTag();
23403
+ peg$silentFails--;
23404
+ if (s11 === peg$FAILED) {
23405
+ s10 = void 0;
23406
+ } else {
23407
+ peg$currPos = s10;
23408
+ s10 = peg$FAILED;
23409
+ }
23410
+ if (s10 !== peg$FAILED) {
23411
+ s11 = peg$parsechar();
23412
+ if (s11 !== peg$FAILED) {
23413
+ s10 = [s10, s11];
23414
+ s9 = s10;
23415
+ } else {
23416
+ peg$currPos = s9;
23417
+ s9 = peg$FAILED;
23418
+ }
23419
+ } else {
23420
+ peg$currPos = s9;
23421
+ s9 = peg$FAILED;
23422
+ }
23423
+ while (s9 !== peg$FAILED) {
23424
+ s8.push(s9);
23425
+ s9 = peg$currPos;
23426
+ s10 = peg$currPos;
23427
+ peg$silentFails++;
23428
+ s11 = peg$parseBlockTag();
23429
+ peg$silentFails--;
23430
+ if (s11 === peg$FAILED) {
23431
+ s10 = void 0;
23432
+ } else {
23433
+ peg$currPos = s10;
23434
+ s10 = peg$FAILED;
23435
+ }
23436
+ if (s10 !== peg$FAILED) {
23437
+ s11 = peg$parsechar();
23438
+ if (s11 !== peg$FAILED) {
23439
+ s10 = [s10, s11];
23440
+ s9 = s10;
23441
+ } else {
23442
+ peg$currPos = s9;
23443
+ s9 = peg$FAILED;
23444
+ }
23445
+ } else {
23446
+ peg$currPos = s9;
23447
+ s9 = peg$FAILED;
23448
+ }
23449
+ }
23450
+ s7 = input.substring(s7, peg$currPos);
23451
+ s6 = [s6, s7];
23452
+ s5 = s6;
23453
+ } else {
23454
+ peg$currPos = s5;
23455
+ s5 = peg$FAILED;
23456
+ }
23457
+ if (s5 !== peg$FAILED) {
23458
+ s4 = input.substring(s4, peg$currPos);
23459
+ } else {
23460
+ s4 = s5;
23461
+ }
23462
+ if (s4 !== peg$FAILED) {
23463
+ s5 = peg$parseBlockTag();
23464
+ if (s5 !== peg$FAILED) {
23465
+ s0 = peg$f83(s4);
23466
+ } else {
23467
+ peg$currPos = s0;
23468
+ s0 = peg$FAILED;
23469
+ }
23470
+ } else {
23471
+ peg$currPos = s0;
23472
+ s0 = peg$FAILED;
23473
+ }
23474
+ } else {
23475
+ peg$currPos = s0;
23476
+ s0 = peg$FAILED;
23477
+ }
23260
23478
  } else {
23261
23479
  peg$currPos = s0;
23262
23480
  s0 = peg$FAILED;
@@ -23267,13 +23485,13 @@ function peg$parse(input, options) {
23267
23485
  }
23268
23486
  if (s0 === peg$FAILED) {
23269
23487
  s0 = peg$currPos;
23270
- if (input.substr(peg$currPos, 6) === peg$c63) {
23271
- s1 = peg$c63;
23488
+ if (input.substr(peg$currPos, 6) === peg$c65) {
23489
+ s1 = peg$c65;
23272
23490
  peg$currPos += 6;
23273
23491
  } else {
23274
23492
  s1 = peg$FAILED;
23275
23493
  if (peg$silentFails === 0) {
23276
- peg$fail(peg$e67);
23494
+ peg$fail(peg$e69);
23277
23495
  }
23278
23496
  }
23279
23497
  if (s1 !== peg$FAILED) {
@@ -23333,108 +23551,154 @@ function peg$parse(input, options) {
23333
23551
  s2 = input.substring(s2, peg$currPos);
23334
23552
  s3 = peg$parseBlockTag();
23335
23553
  if (s3 !== peg$FAILED) {
23336
- s0 = peg$f84(s2);
23337
- } else {
23338
- peg$currPos = s0;
23339
- s0 = peg$FAILED;
23340
- }
23341
- } else {
23342
- peg$currPos = s0;
23343
- s0 = peg$FAILED;
23344
- }
23345
- if (s0 === peg$FAILED) {
23346
- s0 = peg$currPos;
23347
- if (input.substr(peg$currPos, 9) === peg$c64) {
23348
- s1 = peg$c64;
23349
- peg$currPos += 9;
23350
- } else {
23351
- s1 = peg$FAILED;
23352
- if (peg$silentFails === 0) {
23353
- peg$fail(peg$e68);
23354
- }
23355
- }
23356
- if (s1 !== peg$FAILED) {
23357
- s2 = peg$currPos;
23358
- s3 = peg$currPos;
23359
- if (input.charCodeAt(peg$currPos) === 80) {
23360
- s4 = peg$c65;
23361
- peg$currPos++;
23554
+ if (input.substr(peg$currPos, 9) === peg$c63) {
23555
+ s4 = peg$c63;
23556
+ peg$currPos += 9;
23362
23557
  } else {
23363
23558
  s4 = peg$FAILED;
23364
23559
  if (peg$silentFails === 0) {
23365
- peg$fail(peg$e69);
23560
+ peg$fail(peg$e67);
23366
23561
  }
23367
23562
  }
23368
23563
  if (s4 !== peg$FAILED) {
23369
23564
  s5 = peg$currPos;
23370
- s6 = [];
23371
- s7 = peg$currPos;
23372
- s8 = peg$currPos;
23373
- peg$silentFails++;
23374
- s9 = peg$parseBlockTag();
23375
- peg$silentFails--;
23376
- if (s9 === peg$FAILED) {
23377
- s8 = void 0;
23378
- } else {
23379
- peg$currPos = s8;
23380
- s8 = peg$FAILED;
23381
- }
23382
- if (s8 !== peg$FAILED) {
23383
- s9 = peg$parsechar();
23384
- if (s9 !== peg$FAILED) {
23385
- s8 = [s8, s9];
23386
- s7 = s8;
23387
- } else {
23388
- peg$currPos = s7;
23389
- s7 = peg$FAILED;
23390
- }
23565
+ s6 = peg$currPos;
23566
+ if (input.charCodeAt(peg$currPos) === 80) {
23567
+ s7 = peg$c64;
23568
+ peg$currPos++;
23391
23569
  } else {
23392
- peg$currPos = s7;
23393
23570
  s7 = peg$FAILED;
23571
+ if (peg$silentFails === 0) {
23572
+ peg$fail(peg$e68);
23573
+ }
23394
23574
  }
23395
- while (s7 !== peg$FAILED) {
23396
- s6.push(s7);
23397
- s7 = peg$currPos;
23575
+ if (s7 !== peg$FAILED) {
23398
23576
  s8 = peg$currPos;
23577
+ s9 = [];
23578
+ s10 = peg$currPos;
23579
+ s11 = peg$currPos;
23399
23580
  peg$silentFails++;
23400
- s9 = peg$parseBlockTag();
23581
+ s12 = peg$parseBlockTag();
23401
23582
  peg$silentFails--;
23402
- if (s9 === peg$FAILED) {
23403
- s8 = void 0;
23583
+ if (s12 === peg$FAILED) {
23584
+ s11 = void 0;
23404
23585
  } else {
23405
- peg$currPos = s8;
23406
- s8 = peg$FAILED;
23586
+ peg$currPos = s11;
23587
+ s11 = peg$FAILED;
23407
23588
  }
23408
- if (s8 !== peg$FAILED) {
23409
- s9 = peg$parsechar();
23410
- if (s9 !== peg$FAILED) {
23411
- s8 = [s8, s9];
23412
- s7 = s8;
23589
+ if (s11 !== peg$FAILED) {
23590
+ s12 = peg$parsechar();
23591
+ if (s12 !== peg$FAILED) {
23592
+ s11 = [s11, s12];
23593
+ s10 = s11;
23413
23594
  } else {
23414
- peg$currPos = s7;
23415
- s7 = peg$FAILED;
23595
+ peg$currPos = s10;
23596
+ s10 = peg$FAILED;
23416
23597
  }
23417
23598
  } else {
23418
- peg$currPos = s7;
23419
- s7 = peg$FAILED;
23599
+ peg$currPos = s10;
23600
+ s10 = peg$FAILED;
23601
+ }
23602
+ while (s10 !== peg$FAILED) {
23603
+ s9.push(s10);
23604
+ s10 = peg$currPos;
23605
+ s11 = peg$currPos;
23606
+ peg$silentFails++;
23607
+ s12 = peg$parseBlockTag();
23608
+ peg$silentFails--;
23609
+ if (s12 === peg$FAILED) {
23610
+ s11 = void 0;
23611
+ } else {
23612
+ peg$currPos = s11;
23613
+ s11 = peg$FAILED;
23614
+ }
23615
+ if (s11 !== peg$FAILED) {
23616
+ s12 = peg$parsechar();
23617
+ if (s12 !== peg$FAILED) {
23618
+ s11 = [s11, s12];
23619
+ s10 = s11;
23620
+ } else {
23621
+ peg$currPos = s10;
23622
+ s10 = peg$FAILED;
23623
+ }
23624
+ } else {
23625
+ peg$currPos = s10;
23626
+ s10 = peg$FAILED;
23627
+ }
23628
+ }
23629
+ s8 = input.substring(s8, peg$currPos);
23630
+ s7 = [s7, s8];
23631
+ s6 = s7;
23632
+ } else {
23633
+ peg$currPos = s6;
23634
+ s6 = peg$FAILED;
23635
+ }
23636
+ if (s6 !== peg$FAILED) {
23637
+ s5 = input.substring(s5, peg$currPos);
23638
+ } else {
23639
+ s5 = s6;
23640
+ }
23641
+ if (s5 !== peg$FAILED) {
23642
+ s6 = peg$parseBlockTag();
23643
+ if (s6 !== peg$FAILED) {
23644
+ s0 = peg$f84(s2, s5);
23645
+ } else {
23646
+ peg$currPos = s0;
23647
+ s0 = peg$FAILED;
23420
23648
  }
23649
+ } else {
23650
+ peg$currPos = s0;
23651
+ s0 = peg$FAILED;
23421
23652
  }
23422
- s5 = input.substring(s5, peg$currPos);
23423
- s4 = [s4, s5];
23424
- s3 = s4;
23425
23653
  } else {
23426
- peg$currPos = s3;
23427
- s3 = peg$FAILED;
23654
+ peg$currPos = s0;
23655
+ s0 = peg$FAILED;
23428
23656
  }
23429
- if (s3 !== peg$FAILED) {
23430
- s2 = input.substring(s2, peg$currPos);
23431
- } else {
23432
- s2 = s3;
23657
+ } else {
23658
+ peg$currPos = s0;
23659
+ s0 = peg$FAILED;
23660
+ }
23661
+ } else {
23662
+ peg$currPos = s0;
23663
+ s0 = peg$FAILED;
23664
+ }
23665
+ if (s0 === peg$FAILED) {
23666
+ s0 = peg$currPos;
23667
+ if (input.substr(peg$currPos, 9) === peg$c66) {
23668
+ s1 = peg$c66;
23669
+ peg$currPos += 9;
23670
+ } else {
23671
+ s1 = peg$FAILED;
23672
+ if (peg$silentFails === 0) {
23673
+ peg$fail(peg$e70);
23433
23674
  }
23675
+ }
23676
+ if (s1 !== peg$FAILED) {
23677
+ s2 = peg$parseBlockTag();
23434
23678
  if (s2 !== peg$FAILED) {
23435
- s3 = peg$parseBlockTag();
23679
+ if (input.substr(peg$currPos, 6) === peg$c67) {
23680
+ s3 = peg$c67;
23681
+ peg$currPos += 6;
23682
+ } else {
23683
+ s3 = peg$FAILED;
23684
+ if (peg$silentFails === 0) {
23685
+ peg$fail(peg$e71);
23686
+ }
23687
+ }
23436
23688
  if (s3 !== peg$FAILED) {
23437
- s0 = peg$f85(s2);
23689
+ s4 = peg$parseHighlightColor();
23690
+ if (s4 !== peg$FAILED) {
23691
+ s5 = peg$parseBlockTag();
23692
+ if (s5 !== peg$FAILED) {
23693
+ s0 = peg$f85(s4);
23694
+ } else {
23695
+ peg$currPos = s0;
23696
+ s0 = peg$FAILED;
23697
+ }
23698
+ } else {
23699
+ peg$currPos = s0;
23700
+ s0 = peg$FAILED;
23701
+ }
23438
23702
  } else {
23439
23703
  peg$currPos = s0;
23440
23704
  s0 = peg$FAILED;
@@ -23449,21 +23713,41 @@ function peg$parse(input, options) {
23449
23713
  }
23450
23714
  if (s0 === peg$FAILED) {
23451
23715
  s0 = peg$currPos;
23452
- if (input.substr(peg$currPos, 6) === peg$c66) {
23453
- s1 = peg$c66;
23454
- peg$currPos += 6;
23716
+ if (input.substr(peg$currPos, 13) === peg$c68) {
23717
+ s1 = peg$c68;
23718
+ peg$currPos += 13;
23455
23719
  } else {
23456
23720
  s1 = peg$FAILED;
23457
23721
  if (peg$silentFails === 0) {
23458
- peg$fail(peg$e70);
23722
+ peg$fail(peg$e72);
23459
23723
  }
23460
23724
  }
23461
23725
  if (s1 !== peg$FAILED) {
23462
- s2 = peg$parseColor();
23726
+ s2 = peg$parseBlockTag();
23463
23727
  if (s2 !== peg$FAILED) {
23464
- s3 = peg$parseBlockTag();
23728
+ if (input.substr(peg$currPos, 6) === peg$c67) {
23729
+ s3 = peg$c67;
23730
+ peg$currPos += 6;
23731
+ } else {
23732
+ s3 = peg$FAILED;
23733
+ if (peg$silentFails === 0) {
23734
+ peg$fail(peg$e71);
23735
+ }
23736
+ }
23465
23737
  if (s3 !== peg$FAILED) {
23466
- s0 = peg$f86(s2);
23738
+ s4 = peg$parseHighlightColor();
23739
+ if (s4 !== peg$FAILED) {
23740
+ s5 = peg$parseBlockTag();
23741
+ if (s5 !== peg$FAILED) {
23742
+ s0 = peg$f86(s4);
23743
+ } else {
23744
+ peg$currPos = s0;
23745
+ s0 = peg$FAILED;
23746
+ }
23747
+ } else {
23748
+ peg$currPos = s0;
23749
+ s0 = peg$FAILED;
23750
+ }
23467
23751
  } else {
23468
23752
  peg$currPos = s0;
23469
23753
  s0 = peg$FAILED;
@@ -23478,9 +23762,9 @@ function peg$parse(input, options) {
23478
23762
  }
23479
23763
  if (s0 === peg$FAILED) {
23480
23764
  s0 = peg$currPos;
23481
- if (input.substr(peg$currPos, 12) === peg$c67) {
23765
+ if (input.substr(peg$currPos, 6) === peg$c67) {
23482
23766
  s1 = peg$c67;
23483
- peg$currPos += 12;
23767
+ peg$currPos += 6;
23484
23768
  } else {
23485
23769
  s1 = peg$FAILED;
23486
23770
  if (peg$silentFails === 0) {
@@ -23488,34 +23772,37 @@ function peg$parse(input, options) {
23488
23772
  }
23489
23773
  }
23490
23774
  if (s1 !== peg$FAILED) {
23491
- s2 = peg$currPos;
23492
- s3 = [];
23493
- s4 = peg$currPos;
23494
- s5 = peg$currPos;
23495
- peg$silentFails++;
23496
- s6 = peg$parseBlockTag();
23497
- peg$silentFails--;
23498
- if (s6 === peg$FAILED) {
23499
- s5 = void 0;
23500
- } else {
23501
- peg$currPos = s5;
23502
- s5 = peg$FAILED;
23503
- }
23504
- if (s5 !== peg$FAILED) {
23505
- s6 = peg$parsechar();
23506
- if (s6 !== peg$FAILED) {
23507
- s5 = [s5, s6];
23508
- s4 = s5;
23775
+ s2 = peg$parseColor();
23776
+ if (s2 !== peg$FAILED) {
23777
+ s3 = peg$parseBlockTag();
23778
+ if (s3 !== peg$FAILED) {
23779
+ s0 = peg$f87(s2);
23509
23780
  } else {
23510
- peg$currPos = s4;
23511
- s4 = peg$FAILED;
23781
+ peg$currPos = s0;
23782
+ s0 = peg$FAILED;
23512
23783
  }
23513
23784
  } else {
23514
- peg$currPos = s4;
23515
- s4 = peg$FAILED;
23785
+ peg$currPos = s0;
23786
+ s0 = peg$FAILED;
23516
23787
  }
23517
- while (s4 !== peg$FAILED) {
23518
- s3.push(s4);
23788
+ } else {
23789
+ peg$currPos = s0;
23790
+ s0 = peg$FAILED;
23791
+ }
23792
+ if (s0 === peg$FAILED) {
23793
+ s0 = peg$currPos;
23794
+ if (input.substr(peg$currPos, 12) === peg$c69) {
23795
+ s1 = peg$c69;
23796
+ peg$currPos += 12;
23797
+ } else {
23798
+ s1 = peg$FAILED;
23799
+ if (peg$silentFails === 0) {
23800
+ peg$fail(peg$e73);
23801
+ }
23802
+ }
23803
+ if (s1 !== peg$FAILED) {
23804
+ s2 = peg$currPos;
23805
+ s3 = [];
23519
23806
  s4 = peg$currPos;
23520
23807
  s5 = peg$currPos;
23521
23808
  peg$silentFails++;
@@ -23540,48 +23827,8 @@ function peg$parse(input, options) {
23540
23827
  peg$currPos = s4;
23541
23828
  s4 = peg$FAILED;
23542
23829
  }
23543
- }
23544
- s2 = input.substring(s2, peg$currPos);
23545
- s3 = peg$parseBlockTag();
23546
- if (s3 !== peg$FAILED) {
23547
- s0 = peg$f87(s2);
23548
- } else {
23549
- peg$currPos = s0;
23550
- s0 = peg$FAILED;
23551
- }
23552
- } else {
23553
- peg$currPos = s0;
23554
- s0 = peg$FAILED;
23555
- }
23556
- if (s0 === peg$FAILED) {
23557
- s0 = peg$currPos;
23558
- s1 = peg$parseAlternativeStyleTags();
23559
- if (s1 !== peg$FAILED) {
23560
- s2 = peg$parseBlockTag();
23561
- if (s2 !== peg$FAILED) {
23562
- s0 = peg$f88(s1);
23563
- } else {
23564
- peg$currPos = s0;
23565
- s0 = peg$FAILED;
23566
- }
23567
- } else {
23568
- peg$currPos = s0;
23569
- s0 = peg$FAILED;
23570
- }
23571
- if (s0 === peg$FAILED) {
23572
- s0 = peg$currPos;
23573
- if (input.charCodeAt(peg$currPos) === 35) {
23574
- s1 = peg$c21;
23575
- peg$currPos++;
23576
- } else {
23577
- s1 = peg$FAILED;
23578
- if (peg$silentFails === 0) {
23579
- peg$fail(peg$e25);
23580
- }
23581
- }
23582
- if (s1 !== peg$FAILED) {
23583
- s2 = peg$currPos;
23584
- s3 = [];
23830
+ while (s4 !== peg$FAILED) {
23831
+ s3.push(s4);
23585
23832
  s4 = peg$currPos;
23586
23833
  s5 = peg$currPos;
23587
23834
  peg$silentFails++;
@@ -23606,8 +23853,48 @@ function peg$parse(input, options) {
23606
23853
  peg$currPos = s4;
23607
23854
  s4 = peg$FAILED;
23608
23855
  }
23609
- while (s4 !== peg$FAILED) {
23610
- s3.push(s4);
23856
+ }
23857
+ s2 = input.substring(s2, peg$currPos);
23858
+ s3 = peg$parseBlockTag();
23859
+ if (s3 !== peg$FAILED) {
23860
+ s0 = peg$f88(s2);
23861
+ } else {
23862
+ peg$currPos = s0;
23863
+ s0 = peg$FAILED;
23864
+ }
23865
+ } else {
23866
+ peg$currPos = s0;
23867
+ s0 = peg$FAILED;
23868
+ }
23869
+ if (s0 === peg$FAILED) {
23870
+ s0 = peg$currPos;
23871
+ s1 = peg$parseAlternativeStyleTags();
23872
+ if (s1 !== peg$FAILED) {
23873
+ s2 = peg$parseBlockTag();
23874
+ if (s2 !== peg$FAILED) {
23875
+ s0 = peg$f89(s1);
23876
+ } else {
23877
+ peg$currPos = s0;
23878
+ s0 = peg$FAILED;
23879
+ }
23880
+ } else {
23881
+ peg$currPos = s0;
23882
+ s0 = peg$FAILED;
23883
+ }
23884
+ if (s0 === peg$FAILED) {
23885
+ s0 = peg$currPos;
23886
+ if (input.charCodeAt(peg$currPos) === 35) {
23887
+ s1 = peg$c21;
23888
+ peg$currPos++;
23889
+ } else {
23890
+ s1 = peg$FAILED;
23891
+ if (peg$silentFails === 0) {
23892
+ peg$fail(peg$e25);
23893
+ }
23894
+ }
23895
+ if (s1 !== peg$FAILED) {
23896
+ s2 = peg$currPos;
23897
+ s3 = [];
23611
23898
  s4 = peg$currPos;
23612
23899
  s5 = peg$currPos;
23613
23900
  peg$silentFails++;
@@ -23632,18 +23919,45 @@ function peg$parse(input, options) {
23632
23919
  peg$currPos = s4;
23633
23920
  s4 = peg$FAILED;
23634
23921
  }
23635
- }
23636
- s2 = input.substring(s2, peg$currPos);
23637
- s3 = peg$parseBlockTag();
23638
- if (s3 !== peg$FAILED) {
23639
- s0 = peg$f89(s2);
23922
+ while (s4 !== peg$FAILED) {
23923
+ s3.push(s4);
23924
+ s4 = peg$currPos;
23925
+ s5 = peg$currPos;
23926
+ peg$silentFails++;
23927
+ s6 = peg$parseBlockTag();
23928
+ peg$silentFails--;
23929
+ if (s6 === peg$FAILED) {
23930
+ s5 = void 0;
23931
+ } else {
23932
+ peg$currPos = s5;
23933
+ s5 = peg$FAILED;
23934
+ }
23935
+ if (s5 !== peg$FAILED) {
23936
+ s6 = peg$parsechar();
23937
+ if (s6 !== peg$FAILED) {
23938
+ s5 = [s5, s6];
23939
+ s4 = s5;
23940
+ } else {
23941
+ peg$currPos = s4;
23942
+ s4 = peg$FAILED;
23943
+ }
23944
+ } else {
23945
+ peg$currPos = s4;
23946
+ s4 = peg$FAILED;
23947
+ }
23948
+ }
23949
+ s2 = input.substring(s2, peg$currPos);
23950
+ s3 = peg$parseBlockTag();
23951
+ if (s3 !== peg$FAILED) {
23952
+ s0 = peg$f90(s2);
23953
+ } else {
23954
+ peg$currPos = s0;
23955
+ s0 = peg$FAILED;
23956
+ }
23640
23957
  } else {
23641
23958
  peg$currPos = s0;
23642
23959
  s0 = peg$FAILED;
23643
23960
  }
23644
- } else {
23645
- peg$currPos = s0;
23646
- s0 = peg$FAILED;
23647
23961
  }
23648
23962
  }
23649
23963
  }
@@ -23677,13 +23991,13 @@ function peg$parse(input, options) {
23677
23991
  function peg$parseRef() {
23678
23992
  let s0, s1, s2, s3, s4, s5, s6;
23679
23993
  s0 = peg$currPos;
23680
- if (input.substr(peg$currPos, 2) === peg$c68) {
23681
- s1 = peg$c68;
23994
+ if (input.substr(peg$currPos, 2) === peg$c70) {
23995
+ s1 = peg$c70;
23682
23996
  peg$currPos += 2;
23683
23997
  } else {
23684
23998
  s1 = peg$FAILED;
23685
23999
  if (peg$silentFails === 0) {
23686
- peg$fail(peg$e72);
24000
+ peg$fail(peg$e74);
23687
24001
  }
23688
24002
  }
23689
24003
  if (s1 !== peg$FAILED) {
@@ -23741,7 +24055,7 @@ function peg$parse(input, options) {
23741
24055
  }
23742
24056
  }
23743
24057
  s2 = input.substring(s2, peg$currPos);
23744
- s0 = peg$f90(s2);
24058
+ s0 = peg$f91(s2);
23745
24059
  } else {
23746
24060
  peg$currPos = s0;
23747
24061
  s0 = peg$FAILED;
@@ -23750,403 +24064,414 @@ function peg$parse(input, options) {
23750
24064
  }
23751
24065
  function peg$parseAlternativeStyleTags() {
23752
24066
  let s0;
23753
- if (input.substr(peg$currPos, 4) === peg$c69) {
23754
- s0 = peg$c69;
24067
+ if (input.substr(peg$currPos, 4) === peg$c71) {
24068
+ s0 = peg$c71;
23755
24069
  peg$currPos += 4;
23756
24070
  } else {
23757
24071
  s0 = peg$FAILED;
23758
24072
  if (peg$silentFails === 0) {
23759
- peg$fail(peg$e73);
24073
+ peg$fail(peg$e75);
23760
24074
  }
23761
24075
  }
23762
24076
  if (s0 === peg$FAILED) {
23763
- if (input.substr(peg$currPos, 6) === peg$c70) {
23764
- s0 = peg$c70;
24077
+ if (input.substr(peg$currPos, 6) === peg$c72) {
24078
+ s0 = peg$c72;
23765
24079
  peg$currPos += 6;
23766
24080
  } else {
23767
24081
  s0 = peg$FAILED;
23768
24082
  if (peg$silentFails === 0) {
23769
- peg$fail(peg$e74);
24083
+ peg$fail(peg$e76);
23770
24084
  }
23771
24085
  }
23772
24086
  if (s0 === peg$FAILED) {
23773
- if (input.substr(peg$currPos, 5) === peg$c71) {
23774
- s0 = peg$c71;
24087
+ if (input.substr(peg$currPos, 5) === peg$c73) {
24088
+ s0 = peg$c73;
23775
24089
  peg$currPos += 5;
23776
24090
  } else {
23777
24091
  s0 = peg$FAILED;
23778
24092
  if (peg$silentFails === 0) {
23779
- peg$fail(peg$e75);
24093
+ peg$fail(peg$e77);
23780
24094
  }
23781
24095
  }
23782
24096
  if (s0 === peg$FAILED) {
23783
- if (input.substr(peg$currPos, 15) === peg$c72) {
23784
- s0 = peg$c72;
24097
+ if (input.substr(peg$currPos, 15) === peg$c74) {
24098
+ s0 = peg$c74;
23785
24099
  peg$currPos += 15;
23786
24100
  } else {
23787
24101
  s0 = peg$FAILED;
23788
24102
  if (peg$silentFails === 0) {
23789
- peg$fail(peg$e76);
24103
+ peg$fail(peg$e78);
23790
24104
  }
23791
24105
  }
23792
24106
  if (s0 === peg$FAILED) {
23793
- if (input.substr(peg$currPos, 15) === peg$c73) {
23794
- s0 = peg$c73;
24107
+ if (input.substr(peg$currPos, 15) === peg$c75) {
24108
+ s0 = peg$c75;
23795
24109
  peg$currPos += 15;
23796
24110
  } else {
23797
24111
  s0 = peg$FAILED;
23798
24112
  if (peg$silentFails === 0) {
23799
- peg$fail(peg$e77);
24113
+ peg$fail(peg$e79);
23800
24114
  }
23801
24115
  }
23802
24116
  if (s0 === peg$FAILED) {
23803
- if (input.substr(peg$currPos, 14) === peg$c74) {
23804
- s0 = peg$c74;
24117
+ if (input.substr(peg$currPos, 14) === peg$c76) {
24118
+ s0 = peg$c76;
23805
24119
  peg$currPos += 14;
23806
24120
  } else {
23807
24121
  s0 = peg$FAILED;
23808
24122
  if (peg$silentFails === 0) {
23809
- peg$fail(peg$e78);
24123
+ peg$fail(peg$e80);
23810
24124
  }
23811
24125
  }
23812
24126
  if (s0 === peg$FAILED) {
23813
- if (input.substr(peg$currPos, 13) === peg$c75) {
23814
- s0 = peg$c75;
24127
+ if (input.substr(peg$currPos, 13) === peg$c77) {
24128
+ s0 = peg$c77;
23815
24129
  peg$currPos += 13;
23816
24130
  } else {
23817
24131
  s0 = peg$FAILED;
23818
24132
  if (peg$silentFails === 0) {
23819
- peg$fail(peg$e79);
24133
+ peg$fail(peg$e81);
23820
24134
  }
23821
24135
  }
23822
24136
  if (s0 === peg$FAILED) {
23823
- if (input.substr(peg$currPos, 15) === peg$c76) {
23824
- s0 = peg$c76;
24137
+ if (input.substr(peg$currPos, 15) === peg$c78) {
24138
+ s0 = peg$c78;
23825
24139
  peg$currPos += 15;
23826
24140
  } else {
23827
24141
  s0 = peg$FAILED;
23828
24142
  if (peg$silentFails === 0) {
23829
- peg$fail(peg$e80);
24143
+ peg$fail(peg$e82);
23830
24144
  }
23831
24145
  }
23832
24146
  if (s0 === peg$FAILED) {
23833
- if (input.substr(peg$currPos, 13) === peg$c77) {
23834
- s0 = peg$c77;
24147
+ if (input.substr(peg$currPos, 13) === peg$c79) {
24148
+ s0 = peg$c79;
23835
24149
  peg$currPos += 13;
23836
24150
  } else {
23837
24151
  s0 = peg$FAILED;
23838
24152
  if (peg$silentFails === 0) {
23839
- peg$fail(peg$e81);
24153
+ peg$fail(peg$e83);
23840
24154
  }
23841
24155
  }
23842
24156
  if (s0 === peg$FAILED) {
23843
- if (input.substr(peg$currPos, 14) === peg$c78) {
23844
- s0 = peg$c78;
24157
+ if (input.substr(peg$currPos, 14) === peg$c80) {
24158
+ s0 = peg$c80;
23845
24159
  peg$currPos += 14;
23846
24160
  } else {
23847
24161
  s0 = peg$FAILED;
23848
24162
  if (peg$silentFails === 0) {
23849
- peg$fail(peg$e82);
24163
+ peg$fail(peg$e84);
23850
24164
  }
23851
24165
  }
23852
24166
  if (s0 === peg$FAILED) {
23853
- if (input.substr(peg$currPos, 14) === peg$c79) {
23854
- s0 = peg$c79;
24167
+ if (input.substr(peg$currPos, 14) === peg$c81) {
24168
+ s0 = peg$c81;
23855
24169
  peg$currPos += 14;
23856
24170
  } else {
23857
24171
  s0 = peg$FAILED;
23858
24172
  if (peg$silentFails === 0) {
23859
- peg$fail(peg$e83);
24173
+ peg$fail(peg$e85);
23860
24174
  }
23861
24175
  }
23862
24176
  if (s0 === peg$FAILED) {
23863
- if (input.substr(peg$currPos, 14) === peg$c80) {
23864
- s0 = peg$c80;
24177
+ if (input.substr(peg$currPos, 14) === peg$c82) {
24178
+ s0 = peg$c82;
23865
24179
  peg$currPos += 14;
23866
24180
  } else {
23867
24181
  s0 = peg$FAILED;
23868
24182
  if (peg$silentFails === 0) {
23869
- peg$fail(peg$e84);
24183
+ peg$fail(peg$e86);
23870
24184
  }
23871
24185
  }
23872
24186
  if (s0 === peg$FAILED) {
23873
- if (input.substr(peg$currPos, 13) === peg$c81) {
23874
- s0 = peg$c81;
24187
+ if (input.substr(peg$currPos, 13) === peg$c83) {
24188
+ s0 = peg$c83;
23875
24189
  peg$currPos += 13;
23876
24190
  } else {
23877
24191
  s0 = peg$FAILED;
23878
24192
  if (peg$silentFails === 0) {
23879
- peg$fail(peg$e85);
24193
+ peg$fail(peg$e87);
23880
24194
  }
23881
24195
  }
23882
24196
  if (s0 === peg$FAILED) {
23883
- if (input.substr(peg$currPos, 9) === peg$c82) {
23884
- s0 = peg$c82;
24197
+ if (input.substr(peg$currPos, 9) === peg$c66) {
24198
+ s0 = peg$c66;
23885
24199
  peg$currPos += 9;
23886
24200
  } else {
23887
24201
  s0 = peg$FAILED;
23888
24202
  if (peg$silentFails === 0) {
23889
- peg$fail(peg$e86);
24203
+ peg$fail(peg$e70);
23890
24204
  }
23891
24205
  }
23892
24206
  if (s0 === peg$FAILED) {
23893
- if (input.substr(peg$currPos, 6) === peg$c83) {
23894
- s0 = peg$c83;
24207
+ if (input.substr(peg$currPos, 6) === peg$c84) {
24208
+ s0 = peg$c84;
23895
24209
  peg$currPos += 6;
23896
24210
  } else {
23897
24211
  s0 = peg$FAILED;
23898
24212
  if (peg$silentFails === 0) {
23899
- peg$fail(peg$e87);
24213
+ peg$fail(peg$e88);
23900
24214
  }
23901
24215
  }
23902
24216
  if (s0 === peg$FAILED) {
23903
- if (input.substr(peg$currPos, 9) === peg$c84) {
23904
- s0 = peg$c84;
24217
+ if (input.substr(peg$currPos, 9) === peg$c85) {
24218
+ s0 = peg$c85;
23905
24219
  peg$currPos += 9;
23906
24220
  } else {
23907
24221
  s0 = peg$FAILED;
23908
24222
  if (peg$silentFails === 0) {
23909
- peg$fail(peg$e88);
24223
+ peg$fail(peg$e89);
23910
24224
  }
23911
24225
  }
23912
24226
  if (s0 === peg$FAILED) {
23913
- if (input.substr(peg$currPos, 11) === peg$c85) {
23914
- s0 = peg$c85;
24227
+ if (input.substr(peg$currPos, 11) === peg$c86) {
24228
+ s0 = peg$c86;
23915
24229
  peg$currPos += 11;
23916
24230
  } else {
23917
24231
  s0 = peg$FAILED;
23918
24232
  if (peg$silentFails === 0) {
23919
- peg$fail(peg$e89);
24233
+ peg$fail(peg$e90);
23920
24234
  }
23921
24235
  }
23922
24236
  if (s0 === peg$FAILED) {
23923
- if (input.substr(peg$currPos, 3) === peg$c86) {
23924
- s0 = peg$c86;
24237
+ if (input.substr(peg$currPos, 3) === peg$c87) {
24238
+ s0 = peg$c87;
23925
24239
  peg$currPos += 3;
23926
24240
  } else {
23927
24241
  s0 = peg$FAILED;
23928
24242
  if (peg$silentFails === 0) {
23929
- peg$fail(peg$e90);
24243
+ peg$fail(peg$e91);
23930
24244
  }
23931
24245
  }
23932
24246
  if (s0 === peg$FAILED) {
23933
- if (input.substr(peg$currPos, 3) === peg$c87) {
23934
- s0 = peg$c87;
24247
+ if (input.substr(peg$currPos, 3) === peg$c88) {
24248
+ s0 = peg$c88;
23935
24249
  peg$currPos += 3;
23936
24250
  } else {
23937
24251
  s0 = peg$FAILED;
23938
24252
  if (peg$silentFails === 0) {
23939
- peg$fail(peg$e91);
24253
+ peg$fail(peg$e92);
23940
24254
  }
23941
24255
  }
23942
24256
  if (s0 === peg$FAILED) {
23943
- if (input.substr(peg$currPos, 9) === peg$c88) {
23944
- s0 = peg$c88;
24257
+ if (input.substr(peg$currPos, 9) === peg$c89) {
24258
+ s0 = peg$c89;
23945
24259
  peg$currPos += 9;
23946
24260
  } else {
23947
24261
  s0 = peg$FAILED;
23948
24262
  if (peg$silentFails === 0) {
23949
- peg$fail(peg$e92);
24263
+ peg$fail(peg$e93);
23950
24264
  }
23951
24265
  }
23952
24266
  if (s0 === peg$FAILED) {
23953
- if (input.substr(peg$currPos, 15) === peg$c89) {
23954
- s0 = peg$c89;
24267
+ if (input.substr(peg$currPos, 15) === peg$c90) {
24268
+ s0 = peg$c90;
23955
24269
  peg$currPos += 15;
23956
24270
  } else {
23957
24271
  s0 = peg$FAILED;
23958
24272
  if (peg$silentFails === 0) {
23959
- peg$fail(peg$e93);
24273
+ peg$fail(peg$e94);
23960
24274
  }
23961
24275
  }
23962
24276
  if (s0 === peg$FAILED) {
23963
- if (input.substr(peg$currPos, 6) === peg$c90) {
23964
- s0 = peg$c90;
23965
- peg$currPos += 6;
24277
+ if (input.substr(peg$currPos, 9) === peg$c91) {
24278
+ s0 = peg$c91;
24279
+ peg$currPos += 9;
23966
24280
  } else {
23967
24281
  s0 = peg$FAILED;
23968
24282
  if (peg$silentFails === 0) {
23969
- peg$fail(peg$e94);
24283
+ peg$fail(peg$e95);
23970
24284
  }
23971
24285
  }
23972
24286
  if (s0 === peg$FAILED) {
23973
- if (input.substr(peg$currPos, 13) === peg$c91) {
23974
- s0 = peg$c91;
23975
- peg$currPos += 13;
24287
+ if (input.substr(peg$currPos, 6) === peg$c92) {
24288
+ s0 = peg$c92;
24289
+ peg$currPos += 6;
23976
24290
  } else {
23977
24291
  s0 = peg$FAILED;
23978
24292
  if (peg$silentFails === 0) {
23979
- peg$fail(peg$e95);
24293
+ peg$fail(peg$e96);
23980
24294
  }
23981
24295
  }
23982
24296
  if (s0 === peg$FAILED) {
23983
- if (input.substr(peg$currPos, 16) === peg$c92) {
23984
- s0 = peg$c92;
23985
- peg$currPos += 16;
24297
+ if (input.substr(peg$currPos, 13) === peg$c93) {
24298
+ s0 = peg$c93;
24299
+ peg$currPos += 13;
23986
24300
  } else {
23987
24301
  s0 = peg$FAILED;
23988
24302
  if (peg$silentFails === 0) {
23989
- peg$fail(peg$e96);
24303
+ peg$fail(peg$e97);
23990
24304
  }
23991
24305
  }
23992
24306
  if (s0 === peg$FAILED) {
23993
- if (input.substr(peg$currPos, 16) === peg$c93) {
23994
- s0 = peg$c93;
24307
+ if (input.substr(peg$currPos, 16) === peg$c94) {
24308
+ s0 = peg$c94;
23995
24309
  peg$currPos += 16;
23996
24310
  } else {
23997
24311
  s0 = peg$FAILED;
23998
24312
  if (peg$silentFails === 0) {
23999
- peg$fail(peg$e97);
24313
+ peg$fail(peg$e98);
24000
24314
  }
24001
24315
  }
24002
24316
  if (s0 === peg$FAILED) {
24003
- if (input.substr(peg$currPos, 15) === peg$c94) {
24004
- s0 = peg$c94;
24005
- peg$currPos += 15;
24317
+ if (input.substr(peg$currPos, 16) === peg$c95) {
24318
+ s0 = peg$c95;
24319
+ peg$currPos += 16;
24006
24320
  } else {
24007
24321
  s0 = peg$FAILED;
24008
24322
  if (peg$silentFails === 0) {
24009
- peg$fail(peg$e98);
24323
+ peg$fail(peg$e99);
24010
24324
  }
24011
24325
  }
24012
24326
  if (s0 === peg$FAILED) {
24013
- if (input.substr(peg$currPos, 14) === peg$c95) {
24014
- s0 = peg$c95;
24015
- peg$currPos += 14;
24327
+ if (input.substr(peg$currPos, 15) === peg$c96) {
24328
+ s0 = peg$c96;
24329
+ peg$currPos += 15;
24016
24330
  } else {
24017
24331
  s0 = peg$FAILED;
24018
24332
  if (peg$silentFails === 0) {
24019
- peg$fail(peg$e99);
24333
+ peg$fail(peg$e100);
24020
24334
  }
24021
24335
  }
24022
24336
  if (s0 === peg$FAILED) {
24023
- if (input.substr(peg$currPos, 16) === peg$c96) {
24024
- s0 = peg$c96;
24025
- peg$currPos += 16;
24337
+ if (input.substr(peg$currPos, 14) === peg$c97) {
24338
+ s0 = peg$c97;
24339
+ peg$currPos += 14;
24026
24340
  } else {
24027
24341
  s0 = peg$FAILED;
24028
24342
  if (peg$silentFails === 0) {
24029
- peg$fail(peg$e100);
24343
+ peg$fail(peg$e101);
24030
24344
  }
24031
24345
  }
24032
24346
  if (s0 === peg$FAILED) {
24033
- if (input.substr(peg$currPos, 14) === peg$c97) {
24034
- s0 = peg$c97;
24035
- peg$currPos += 14;
24347
+ if (input.substr(peg$currPos, 16) === peg$c98) {
24348
+ s0 = peg$c98;
24349
+ peg$currPos += 16;
24036
24350
  } else {
24037
24351
  s0 = peg$FAILED;
24038
24352
  if (peg$silentFails === 0) {
24039
- peg$fail(peg$e101);
24353
+ peg$fail(peg$e102);
24040
24354
  }
24041
24355
  }
24042
24356
  if (s0 === peg$FAILED) {
24043
- if (input.substr(peg$currPos, 15) === peg$c98) {
24044
- s0 = peg$c98;
24045
- peg$currPos += 15;
24357
+ if (input.substr(peg$currPos, 14) === peg$c99) {
24358
+ s0 = peg$c99;
24359
+ peg$currPos += 14;
24046
24360
  } else {
24047
24361
  s0 = peg$FAILED;
24048
24362
  if (peg$silentFails === 0) {
24049
- peg$fail(peg$e102);
24363
+ peg$fail(peg$e103);
24050
24364
  }
24051
24365
  }
24052
24366
  if (s0 === peg$FAILED) {
24053
- if (input.substr(peg$currPos, 15) === peg$c99) {
24054
- s0 = peg$c99;
24367
+ if (input.substr(peg$currPos, 15) === peg$c100) {
24368
+ s0 = peg$c100;
24055
24369
  peg$currPos += 15;
24056
24370
  } else {
24057
24371
  s0 = peg$FAILED;
24058
24372
  if (peg$silentFails === 0) {
24059
- peg$fail(peg$e103);
24373
+ peg$fail(peg$e104);
24060
24374
  }
24061
24375
  }
24062
24376
  if (s0 === peg$FAILED) {
24063
- if (input.substr(peg$currPos, 15) === peg$c100) {
24064
- s0 = peg$c100;
24377
+ if (input.substr(peg$currPos, 15) === peg$c101) {
24378
+ s0 = peg$c101;
24065
24379
  peg$currPos += 15;
24066
24380
  } else {
24067
24381
  s0 = peg$FAILED;
24068
24382
  if (peg$silentFails === 0) {
24069
- peg$fail(peg$e104);
24383
+ peg$fail(peg$e105);
24070
24384
  }
24071
24385
  }
24072
24386
  if (s0 === peg$FAILED) {
24073
- if (input.substr(peg$currPos, 14) === peg$c101) {
24074
- s0 = peg$c101;
24075
- peg$currPos += 14;
24387
+ if (input.substr(peg$currPos, 15) === peg$c102) {
24388
+ s0 = peg$c102;
24389
+ peg$currPos += 15;
24076
24390
  } else {
24077
24391
  s0 = peg$FAILED;
24078
24392
  if (peg$silentFails === 0) {
24079
- peg$fail(peg$e105);
24393
+ peg$fail(peg$e106);
24080
24394
  }
24081
24395
  }
24082
24396
  if (s0 === peg$FAILED) {
24083
- if (input.substr(peg$currPos, 10) === peg$c102) {
24084
- s0 = peg$c102;
24085
- peg$currPos += 10;
24397
+ if (input.substr(peg$currPos, 14) === peg$c103) {
24398
+ s0 = peg$c103;
24399
+ peg$currPos += 14;
24086
24400
  } else {
24087
24401
  s0 = peg$FAILED;
24088
24402
  if (peg$silentFails === 0) {
24089
- peg$fail(peg$e106);
24403
+ peg$fail(peg$e107);
24090
24404
  }
24091
24405
  }
24092
24406
  if (s0 === peg$FAILED) {
24093
- if (input.substr(peg$currPos, 13) === peg$c103) {
24094
- s0 = peg$c103;
24095
- peg$currPos += 13;
24407
+ if (input.substr(peg$currPos, 10) === peg$c104) {
24408
+ s0 = peg$c104;
24409
+ peg$currPos += 10;
24096
24410
  } else {
24097
24411
  s0 = peg$FAILED;
24098
24412
  if (peg$silentFails === 0) {
24099
- peg$fail(peg$e107);
24413
+ peg$fail(peg$e108);
24100
24414
  }
24101
24415
  }
24102
24416
  if (s0 === peg$FAILED) {
24103
- if (input.substr(peg$currPos, 19) === peg$c104) {
24104
- s0 = peg$c104;
24105
- peg$currPos += 19;
24417
+ if (input.substr(peg$currPos, 13) === peg$c105) {
24418
+ s0 = peg$c105;
24419
+ peg$currPos += 13;
24106
24420
  } else {
24107
24421
  s0 = peg$FAILED;
24108
24422
  if (peg$silentFails === 0) {
24109
- peg$fail(peg$e108);
24423
+ peg$fail(peg$e109);
24110
24424
  }
24111
24425
  }
24112
24426
  if (s0 === peg$FAILED) {
24113
- if (input.substr(peg$currPos, 10) === peg$c105) {
24114
- s0 = peg$c105;
24115
- peg$currPos += 10;
24427
+ if (input.substr(peg$currPos, 19) === peg$c106) {
24428
+ s0 = peg$c106;
24429
+ peg$currPos += 19;
24116
24430
  } else {
24117
24431
  s0 = peg$FAILED;
24118
24432
  if (peg$silentFails === 0) {
24119
- peg$fail(peg$e109);
24433
+ peg$fail(peg$e110);
24120
24434
  }
24121
24435
  }
24122
24436
  if (s0 === peg$FAILED) {
24123
- if (input.substr(peg$currPos, 10) === peg$c106) {
24124
- s0 = peg$c106;
24437
+ if (input.substr(peg$currPos, 10) === peg$c107) {
24438
+ s0 = peg$c107;
24125
24439
  peg$currPos += 10;
24126
24440
  } else {
24127
24441
  s0 = peg$FAILED;
24128
24442
  if (peg$silentFails === 0) {
24129
- peg$fail(peg$e110);
24443
+ peg$fail(peg$e111);
24130
24444
  }
24131
24445
  }
24132
24446
  if (s0 === peg$FAILED) {
24133
- if (input.substr(peg$currPos, 13) === peg$c107) {
24134
- s0 = peg$c107;
24135
- peg$currPos += 13;
24447
+ if (input.substr(peg$currPos, 10) === peg$c108) {
24448
+ s0 = peg$c108;
24449
+ peg$currPos += 10;
24136
24450
  } else {
24137
24451
  s0 = peg$FAILED;
24138
24452
  if (peg$silentFails === 0) {
24139
- peg$fail(peg$e111);
24453
+ peg$fail(peg$e112);
24140
24454
  }
24141
24455
  }
24142
24456
  if (s0 === peg$FAILED) {
24143
- if (input.substr(peg$currPos, 11) === peg$c108) {
24144
- s0 = peg$c108;
24145
- peg$currPos += 11;
24457
+ if (input.substr(peg$currPos, 13) === peg$c68) {
24458
+ s0 = peg$c68;
24459
+ peg$currPos += 13;
24146
24460
  } else {
24147
24461
  s0 = peg$FAILED;
24148
24462
  if (peg$silentFails === 0) {
24149
- peg$fail(peg$e112);
24463
+ peg$fail(peg$e72);
24464
+ }
24465
+ }
24466
+ if (s0 === peg$FAILED) {
24467
+ if (input.substr(peg$currPos, 11) === peg$c109) {
24468
+ s0 = peg$c109;
24469
+ peg$currPos += 11;
24470
+ } else {
24471
+ s0 = peg$FAILED;
24472
+ if (peg$silentFails === 0) {
24473
+ peg$fail(peg$e113);
24474
+ }
24150
24475
  }
24151
24476
  }
24152
24477
  }
@@ -24192,233 +24517,233 @@ function peg$parse(input, options) {
24192
24517
  }
24193
24518
  function peg$parseColor() {
24194
24519
  let s0;
24195
- if (input.substr(peg$currPos, 4) === peg$c109) {
24196
- s0 = peg$c109;
24520
+ if (input.substr(peg$currPos, 4) === peg$c110) {
24521
+ s0 = peg$c110;
24197
24522
  peg$currPos += 4;
24198
24523
  } else {
24199
24524
  s0 = peg$FAILED;
24200
24525
  if (peg$silentFails === 0) {
24201
- peg$fail(peg$e113);
24526
+ peg$fail(peg$e114);
24202
24527
  }
24203
24528
  }
24204
24529
  if (s0 === peg$FAILED) {
24205
- if (input.substr(peg$currPos, 5) === peg$c110) {
24206
- s0 = peg$c110;
24530
+ if (input.substr(peg$currPos, 5) === peg$c111) {
24531
+ s0 = peg$c111;
24207
24532
  peg$currPos += 5;
24208
24533
  } else {
24209
24534
  s0 = peg$FAILED;
24210
24535
  if (peg$silentFails === 0) {
24211
- peg$fail(peg$e114);
24536
+ peg$fail(peg$e115);
24212
24537
  }
24213
24538
  }
24214
24539
  if (s0 === peg$FAILED) {
24215
- if (input.substr(peg$currPos, 4) === peg$c111) {
24216
- s0 = peg$c111;
24540
+ if (input.substr(peg$currPos, 4) === peg$c112) {
24541
+ s0 = peg$c112;
24217
24542
  peg$currPos += 4;
24218
24543
  } else {
24219
24544
  s0 = peg$FAILED;
24220
24545
  if (peg$silentFails === 0) {
24221
- peg$fail(peg$e115);
24546
+ peg$fail(peg$e116);
24222
24547
  }
24223
24548
  }
24224
24549
  if (s0 === peg$FAILED) {
24225
- if (input.substr(peg$currPos, 5) === peg$c112) {
24226
- s0 = peg$c112;
24550
+ if (input.substr(peg$currPos, 5) === peg$c113) {
24551
+ s0 = peg$c113;
24227
24552
  peg$currPos += 5;
24228
24553
  } else {
24229
24554
  s0 = peg$FAILED;
24230
24555
  if (peg$silentFails === 0) {
24231
- peg$fail(peg$e116);
24556
+ peg$fail(peg$e117);
24232
24557
  }
24233
24558
  }
24234
24559
  if (s0 === peg$FAILED) {
24235
- if (input.substr(peg$currPos, 7) === peg$c113) {
24236
- s0 = peg$c113;
24560
+ if (input.substr(peg$currPos, 7) === peg$c114) {
24561
+ s0 = peg$c114;
24237
24562
  peg$currPos += 7;
24238
24563
  } else {
24239
24564
  s0 = peg$FAILED;
24240
24565
  if (peg$silentFails === 0) {
24241
- peg$fail(peg$e117);
24566
+ peg$fail(peg$e118);
24242
24567
  }
24243
24568
  }
24244
24569
  if (s0 === peg$FAILED) {
24245
- if (input.substr(peg$currPos, 9) === peg$c114) {
24246
- s0 = peg$c114;
24570
+ if (input.substr(peg$currPos, 9) === peg$c115) {
24571
+ s0 = peg$c115;
24247
24572
  peg$currPos += 9;
24248
24573
  } else {
24249
24574
  s0 = peg$FAILED;
24250
24575
  if (peg$silentFails === 0) {
24251
- peg$fail(peg$e118);
24576
+ peg$fail(peg$e119);
24252
24577
  }
24253
24578
  }
24254
24579
  if (s0 === peg$FAILED) {
24255
- if (input.substr(peg$currPos, 4) === peg$c115) {
24256
- s0 = peg$c115;
24580
+ if (input.substr(peg$currPos, 4) === peg$c116) {
24581
+ s0 = peg$c116;
24257
24582
  peg$currPos += 4;
24258
24583
  } else {
24259
24584
  s0 = peg$FAILED;
24260
24585
  if (peg$silentFails === 0) {
24261
- peg$fail(peg$e119);
24586
+ peg$fail(peg$e120);
24262
24587
  }
24263
24588
  }
24264
24589
  if (s0 === peg$FAILED) {
24265
- if (input.substr(peg$currPos, 8) === peg$c116) {
24266
- s0 = peg$c116;
24590
+ if (input.substr(peg$currPos, 8) === peg$c117) {
24591
+ s0 = peg$c117;
24267
24592
  peg$currPos += 8;
24268
24593
  } else {
24269
24594
  s0 = peg$FAILED;
24270
24595
  if (peg$silentFails === 0) {
24271
- peg$fail(peg$e120);
24596
+ peg$fail(peg$e121);
24272
24597
  }
24273
24598
  }
24274
24599
  if (s0 === peg$FAILED) {
24275
- if (input.substr(peg$currPos, 5) === peg$c117) {
24276
- s0 = peg$c117;
24600
+ if (input.substr(peg$currPos, 5) === peg$c118) {
24601
+ s0 = peg$c118;
24277
24602
  peg$currPos += 5;
24278
24603
  } else {
24279
24604
  s0 = peg$FAILED;
24280
24605
  if (peg$silentFails === 0) {
24281
- peg$fail(peg$e121);
24606
+ peg$fail(peg$e122);
24282
24607
  }
24283
24608
  }
24284
24609
  if (s0 === peg$FAILED) {
24285
- if (input.substr(peg$currPos, 4) === peg$c118) {
24286
- s0 = peg$c118;
24610
+ if (input.substr(peg$currPos, 4) === peg$c119) {
24611
+ s0 = peg$c119;
24287
24612
  peg$currPos += 4;
24288
24613
  } else {
24289
24614
  s0 = peg$FAILED;
24290
24615
  if (peg$silentFails === 0) {
24291
- peg$fail(peg$e122);
24616
+ peg$fail(peg$e123);
24292
24617
  }
24293
24618
  }
24294
24619
  if (s0 === peg$FAILED) {
24295
- if (input.substr(peg$currPos, 7) === peg$c119) {
24296
- s0 = peg$c119;
24620
+ if (input.substr(peg$currPos, 7) === peg$c120) {
24621
+ s0 = peg$c120;
24297
24622
  peg$currPos += 7;
24298
24623
  } else {
24299
24624
  s0 = peg$FAILED;
24300
24625
  if (peg$silentFails === 0) {
24301
- peg$fail(peg$e123);
24626
+ peg$fail(peg$e124);
24302
24627
  }
24303
24628
  }
24304
24629
  if (s0 === peg$FAILED) {
24305
- if (input.substr(peg$currPos, 6) === peg$c120) {
24306
- s0 = peg$c120;
24630
+ if (input.substr(peg$currPos, 6) === peg$c121) {
24631
+ s0 = peg$c121;
24307
24632
  peg$currPos += 6;
24308
24633
  } else {
24309
24634
  s0 = peg$FAILED;
24310
24635
  if (peg$silentFails === 0) {
24311
- peg$fail(peg$e124);
24636
+ peg$fail(peg$e125);
24312
24637
  }
24313
24638
  }
24314
24639
  if (s0 === peg$FAILED) {
24315
- if (input.substr(peg$currPos, 4) === peg$c121) {
24316
- s0 = peg$c121;
24640
+ if (input.substr(peg$currPos, 4) === peg$c122) {
24641
+ s0 = peg$c122;
24317
24642
  peg$currPos += 4;
24318
24643
  } else {
24319
24644
  s0 = peg$FAILED;
24320
24645
  if (peg$silentFails === 0) {
24321
- peg$fail(peg$e125);
24646
+ peg$fail(peg$e126);
24322
24647
  }
24323
24648
  }
24324
24649
  if (s0 === peg$FAILED) {
24325
- if (input.substr(peg$currPos, 5) === peg$c122) {
24326
- s0 = peg$c122;
24650
+ if (input.substr(peg$currPos, 5) === peg$c123) {
24651
+ s0 = peg$c123;
24327
24652
  peg$currPos += 5;
24328
24653
  } else {
24329
24654
  s0 = peg$FAILED;
24330
24655
  if (peg$silentFails === 0) {
24331
- peg$fail(peg$e126);
24656
+ peg$fail(peg$e127);
24332
24657
  }
24333
24658
  }
24334
24659
  if (s0 === peg$FAILED) {
24335
- if (input.substr(peg$currPos, 6) === peg$c123) {
24336
- s0 = peg$c123;
24660
+ if (input.substr(peg$currPos, 6) === peg$c124) {
24661
+ s0 = peg$c124;
24337
24662
  peg$currPos += 6;
24338
24663
  } else {
24339
24664
  s0 = peg$FAILED;
24340
24665
  if (peg$silentFails === 0) {
24341
- peg$fail(peg$e127);
24666
+ peg$fail(peg$e128);
24342
24667
  }
24343
24668
  }
24344
24669
  if (s0 === peg$FAILED) {
24345
- if (input.substr(peg$currPos, 4) === peg$c124) {
24346
- s0 = peg$c124;
24670
+ if (input.substr(peg$currPos, 4) === peg$c125) {
24671
+ s0 = peg$c125;
24347
24672
  peg$currPos += 4;
24348
24673
  } else {
24349
24674
  s0 = peg$FAILED;
24350
24675
  if (peg$silentFails === 0) {
24351
- peg$fail(peg$e128);
24676
+ peg$fail(peg$e129);
24352
24677
  }
24353
24678
  }
24354
24679
  if (s0 === peg$FAILED) {
24355
- if (input.substr(peg$currPos, 6) === peg$c125) {
24356
- s0 = peg$c125;
24680
+ if (input.substr(peg$currPos, 6) === peg$c126) {
24681
+ s0 = peg$c126;
24357
24682
  peg$currPos += 6;
24358
24683
  } else {
24359
24684
  s0 = peg$FAILED;
24360
24685
  if (peg$silentFails === 0) {
24361
- peg$fail(peg$e129);
24686
+ peg$fail(peg$e130);
24362
24687
  }
24363
24688
  }
24364
24689
  if (s0 === peg$FAILED) {
24365
- if (input.substr(peg$currPos, 3) === peg$c126) {
24366
- s0 = peg$c126;
24690
+ if (input.substr(peg$currPos, 3) === peg$c127) {
24691
+ s0 = peg$c127;
24367
24692
  peg$currPos += 3;
24368
24693
  } else {
24369
24694
  s0 = peg$FAILED;
24370
24695
  if (peg$silentFails === 0) {
24371
- peg$fail(peg$e130);
24696
+ peg$fail(peg$e131);
24372
24697
  }
24373
24698
  }
24374
24699
  if (s0 === peg$FAILED) {
24375
- if (input.substr(peg$currPos, 6) === peg$c127) {
24376
- s0 = peg$c127;
24700
+ if (input.substr(peg$currPos, 6) === peg$c128) {
24701
+ s0 = peg$c128;
24377
24702
  peg$currPos += 6;
24378
24703
  } else {
24379
24704
  s0 = peg$FAILED;
24380
24705
  if (peg$silentFails === 0) {
24381
- peg$fail(peg$e131);
24706
+ peg$fail(peg$e132);
24382
24707
  }
24383
24708
  }
24384
24709
  if (s0 === peg$FAILED) {
24385
- if (input.substr(peg$currPos, 4) === peg$c128) {
24386
- s0 = peg$c128;
24710
+ if (input.substr(peg$currPos, 4) === peg$c129) {
24711
+ s0 = peg$c129;
24387
24712
  peg$currPos += 4;
24388
24713
  } else {
24389
24714
  s0 = peg$FAILED;
24390
24715
  if (peg$silentFails === 0) {
24391
- peg$fail(peg$e132);
24716
+ peg$fail(peg$e133);
24392
24717
  }
24393
24718
  }
24394
24719
  if (s0 === peg$FAILED) {
24395
- if (input.substr(peg$currPos, 6) === peg$c129) {
24396
- s0 = peg$c129;
24720
+ if (input.substr(peg$currPos, 6) === peg$c130) {
24721
+ s0 = peg$c130;
24397
24722
  peg$currPos += 6;
24398
24723
  } else {
24399
24724
  s0 = peg$FAILED;
24400
24725
  if (peg$silentFails === 0) {
24401
- peg$fail(peg$e133);
24726
+ peg$fail(peg$e134);
24402
24727
  }
24403
24728
  }
24404
24729
  if (s0 === peg$FAILED) {
24405
- if (input.substr(peg$currPos, 5) === peg$c130) {
24406
- s0 = peg$c130;
24730
+ if (input.substr(peg$currPos, 5) === peg$c131) {
24731
+ s0 = peg$c131;
24407
24732
  peg$currPos += 5;
24408
24733
  } else {
24409
24734
  s0 = peg$FAILED;
24410
24735
  if (peg$silentFails === 0) {
24411
- peg$fail(peg$e134);
24736
+ peg$fail(peg$e135);
24412
24737
  }
24413
24738
  }
24414
24739
  if (s0 === peg$FAILED) {
24415
- if (input.substr(peg$currPos, 6) === peg$c131) {
24416
- s0 = peg$c131;
24740
+ if (input.substr(peg$currPos, 6) === peg$c132) {
24741
+ s0 = peg$c132;
24417
24742
  peg$currPos += 6;
24418
24743
  } else {
24419
24744
  s0 = peg$FAILED;
24420
24745
  if (peg$silentFails === 0) {
24421
- peg$fail(peg$e135);
24746
+ peg$fail(peg$e136);
24422
24747
  }
24423
24748
  }
24424
24749
  }
@@ -24445,12 +24770,124 @@ function peg$parse(input, options) {
24445
24770
  }
24446
24771
  return s0;
24447
24772
  }
24773
+ function peg$parseHighlightColor() {
24774
+ let s0;
24775
+ if (input.substr(peg$currPos, 6) === peg$c124) {
24776
+ s0 = peg$c124;
24777
+ peg$currPos += 6;
24778
+ } else {
24779
+ s0 = peg$FAILED;
24780
+ if (peg$silentFails === 0) {
24781
+ peg$fail(peg$e128);
24782
+ }
24783
+ }
24784
+ if (s0 === peg$FAILED) {
24785
+ if (input.substr(peg$currPos, 6) === peg$c132) {
24786
+ s0 = peg$c132;
24787
+ peg$currPos += 6;
24788
+ } else {
24789
+ s0 = peg$FAILED;
24790
+ if (peg$silentFails === 0) {
24791
+ peg$fail(peg$e136);
24792
+ }
24793
+ }
24794
+ if (s0 === peg$FAILED) {
24795
+ if (input.substr(peg$currPos, 5) === peg$c118) {
24796
+ s0 = peg$c118;
24797
+ peg$currPos += 5;
24798
+ } else {
24799
+ s0 = peg$FAILED;
24800
+ if (peg$silentFails === 0) {
24801
+ peg$fail(peg$e122);
24802
+ }
24803
+ }
24804
+ if (s0 === peg$FAILED) {
24805
+ if (input.substr(peg$currPos, 4) === peg$c112) {
24806
+ s0 = peg$c112;
24807
+ peg$currPos += 4;
24808
+ } else {
24809
+ s0 = peg$FAILED;
24810
+ if (peg$silentFails === 0) {
24811
+ peg$fail(peg$e116);
24812
+ }
24813
+ }
24814
+ if (s0 === peg$FAILED) {
24815
+ if (input.substr(peg$currPos, 6) === peg$c126) {
24816
+ s0 = peg$c126;
24817
+ peg$currPos += 6;
24818
+ } else {
24819
+ s0 = peg$FAILED;
24820
+ if (peg$silentFails === 0) {
24821
+ peg$fail(peg$e130);
24822
+ }
24823
+ }
24824
+ if (s0 === peg$FAILED) {
24825
+ if (input.substr(peg$currPos, 4) === peg$c125) {
24826
+ s0 = peg$c125;
24827
+ peg$currPos += 4;
24828
+ } else {
24829
+ s0 = peg$FAILED;
24830
+ if (peg$silentFails === 0) {
24831
+ peg$fail(peg$e129);
24832
+ }
24833
+ }
24834
+ if (s0 === peg$FAILED) {
24835
+ if (input.substr(peg$currPos, 5) === peg$c113) {
24836
+ s0 = peg$c113;
24837
+ peg$currPos += 5;
24838
+ } else {
24839
+ s0 = peg$FAILED;
24840
+ if (peg$silentFails === 0) {
24841
+ peg$fail(peg$e117);
24842
+ }
24843
+ }
24844
+ if (s0 === peg$FAILED) {
24845
+ if (input.substr(peg$currPos, 5) === peg$c131) {
24846
+ s0 = peg$c131;
24847
+ peg$currPos += 5;
24848
+ } else {
24849
+ s0 = peg$FAILED;
24850
+ if (peg$silentFails === 0) {
24851
+ peg$fail(peg$e135);
24852
+ }
24853
+ }
24854
+ if (s0 === peg$FAILED) {
24855
+ if (input.substr(peg$currPos, 5) === peg$c111) {
24856
+ s0 = peg$c111;
24857
+ peg$currPos += 5;
24858
+ } else {
24859
+ s0 = peg$FAILED;
24860
+ if (peg$silentFails === 0) {
24861
+ peg$fail(peg$e115);
24862
+ }
24863
+ }
24864
+ if (s0 === peg$FAILED) {
24865
+ if (input.substr(peg$currPos, 4) === peg$c116) {
24866
+ s0 = peg$c116;
24867
+ peg$currPos += 4;
24868
+ } else {
24869
+ s0 = peg$FAILED;
24870
+ if (peg$silentFails === 0) {
24871
+ peg$fail(peg$e120);
24872
+ }
24873
+ }
24874
+ }
24875
+ }
24876
+ }
24877
+ }
24878
+ }
24879
+ }
24880
+ }
24881
+ }
24882
+ }
24883
+ return s0;
24884
+ }
24448
24885
  function peg$parsebitmarkMinusMinus() {
24449
24886
  let s0, s1;
24450
24887
  peg$silentFails++;
24451
24888
  s0 = peg$currPos;
24452
24889
  s1 = peg$parsebitmarkMinusMinusString();
24453
- s1 = peg$f91(s1);
24890
+ s1 = peg$f92(s1);
24454
24891
  s0 = s1;
24455
24892
  peg$silentFails--;
24456
24893
  return s0;
@@ -24475,7 +24912,7 @@ function peg$parse(input, options) {
24475
24912
  s3 = peg$parsePlainText();
24476
24913
  }
24477
24914
  }
24478
- s0 = peg$f92(s1, s2);
24915
+ s0 = peg$f93(s1, s2);
24479
24916
  peg$silentFails--;
24480
24917
  return s0;
24481
24918
  }
@@ -24484,7 +24921,7 @@ function peg$parse(input, options) {
24484
24921
  s0 = peg$currPos;
24485
24922
  s1 = peg$parseNL();
24486
24923
  if (s1 !== peg$FAILED) {
24487
- s1 = peg$f93();
24924
+ s1 = peg$f94();
24488
24925
  }
24489
24926
  s0 = s1;
24490
24927
  if (s0 === peg$FAILED) {
@@ -24612,7 +25049,7 @@ function peg$parse(input, options) {
24612
25049
  s1 = s2;
24613
25050
  }
24614
25051
  if (s1 !== peg$FAILED) {
24615
- s1 = peg$f94(s1);
25052
+ s1 = peg$f95(s1);
24616
25053
  }
24617
25054
  s0 = s1;
24618
25055
  }
@@ -24621,12 +25058,12 @@ function peg$parse(input, options) {
24621
25058
  function peg$parseBoldHalfTag() {
24622
25059
  let s0;
24623
25060
  if (input.charCodeAt(peg$currPos) === 42) {
24624
- s0 = peg$c132;
25061
+ s0 = peg$c133;
24625
25062
  peg$currPos++;
24626
25063
  } else {
24627
25064
  s0 = peg$FAILED;
24628
25065
  if (peg$silentFails === 0) {
24629
- peg$fail(peg$e136);
25066
+ peg$fail(peg$e137);
24630
25067
  }
24631
25068
  }
24632
25069
  return s0;
@@ -24634,12 +25071,12 @@ function peg$parse(input, options) {
24634
25071
  function peg$parseItalicHalfTag() {
24635
25072
  let s0;
24636
25073
  if (input.charCodeAt(peg$currPos) === 95) {
24637
- s0 = peg$c133;
25074
+ s0 = peg$c134;
24638
25075
  peg$currPos++;
24639
25076
  } else {
24640
25077
  s0 = peg$FAILED;
24641
25078
  if (peg$silentFails === 0) {
24642
- peg$fail(peg$e137);
25079
+ peg$fail(peg$e138);
24643
25080
  }
24644
25081
  }
24645
25082
  return s0;
@@ -24647,12 +25084,12 @@ function peg$parse(input, options) {
24647
25084
  function peg$parseLightHalfTag() {
24648
25085
  let s0;
24649
25086
  if (input.charCodeAt(peg$currPos) === 96) {
24650
- s0 = peg$c134;
25087
+ s0 = peg$c135;
24651
25088
  peg$currPos++;
24652
25089
  } else {
24653
25090
  s0 = peg$FAILED;
24654
25091
  if (peg$silentFails === 0) {
24655
- peg$fail(peg$e138);
25092
+ peg$fail(peg$e139);
24656
25093
  }
24657
25094
  }
24658
25095
  return s0;
@@ -24660,12 +25097,12 @@ function peg$parse(input, options) {
24660
25097
  function peg$parseHighlightHalfTag() {
24661
25098
  let s0;
24662
25099
  if (input.charCodeAt(peg$currPos) === 33) {
24663
- s0 = peg$c135;
25100
+ s0 = peg$c136;
24664
25101
  peg$currPos++;
24665
25102
  } else {
24666
25103
  s0 = peg$FAILED;
24667
25104
  if (peg$silentFails === 0) {
24668
- peg$fail(peg$e139);
25105
+ peg$fail(peg$e140);
24669
25106
  }
24670
25107
  }
24671
25108
  return s0;
@@ -24748,13 +25185,13 @@ function peg$parse(input, options) {
24748
25185
  }
24749
25186
  function peg$parseBodyBitOpenTag() {
24750
25187
  let s0;
24751
- if (input.substr(peg$currPos, 2) === peg$c136) {
24752
- s0 = peg$c136;
25188
+ if (input.substr(peg$currPos, 2) === peg$c137) {
25189
+ s0 = peg$c137;
24753
25190
  peg$currPos += 2;
24754
25191
  } else {
24755
25192
  s0 = peg$FAILED;
24756
25193
  if (peg$silentFails === 0) {
24757
- peg$fail(peg$e140);
25194
+ peg$fail(peg$e141);
24758
25195
  }
24759
25196
  }
24760
25197
  return s0;
@@ -24762,12 +25199,12 @@ function peg$parse(input, options) {
24762
25199
  function peg$parseBodyBitCloseTag() {
24763
25200
  let s0;
24764
25201
  if (input.charCodeAt(peg$currPos) === 93) {
24765
- s0 = peg$c137;
25202
+ s0 = peg$c138;
24766
25203
  peg$currPos++;
24767
25204
  } else {
24768
25205
  s0 = peg$FAILED;
24769
25206
  if (peg$silentFails === 0) {
24770
- peg$fail(peg$e141);
25207
+ peg$fail(peg$e142);
24771
25208
  }
24772
25209
  }
24773
25210
  return s0;
@@ -24812,7 +25249,7 @@ function peg$parse(input, options) {
24812
25249
  if (s2 !== peg$FAILED) {
24813
25250
  s3 = peg$parseBodyBitCloseTag();
24814
25251
  if (s3 !== peg$FAILED) {
24815
- s0 = peg$f95(s2);
25252
+ s0 = peg$f96(s2);
24816
25253
  } else {
24817
25254
  peg$currPos = s0;
24818
25255
  s0 = peg$FAILED;
@@ -24901,7 +25338,7 @@ function peg$parse(input, options) {
24901
25338
  s2 = input.substring(s2, peg$currPos);
24902
25339
  s3 = peg$parseBoldTag();
24903
25340
  if (s3 !== peg$FAILED) {
24904
- s0 = peg$f96(s2);
25341
+ s0 = peg$f97(s2);
24905
25342
  } else {
24906
25343
  peg$currPos = s0;
24907
25344
  s0 = peg$FAILED;
@@ -24986,7 +25423,7 @@ function peg$parse(input, options) {
24986
25423
  s2 = input.substring(s2, peg$currPos);
24987
25424
  s3 = peg$parseItalicTag();
24988
25425
  if (s3 !== peg$FAILED) {
24989
- s0 = peg$f97(s2);
25426
+ s0 = peg$f98(s2);
24990
25427
  } else {
24991
25428
  peg$currPos = s0;
24992
25429
  s0 = peg$FAILED;
@@ -25071,7 +25508,7 @@ function peg$parse(input, options) {
25071
25508
  s2 = input.substring(s2, peg$currPos);
25072
25509
  s3 = peg$parseLightTag();
25073
25510
  if (s3 !== peg$FAILED) {
25074
- s0 = peg$f98(s2);
25511
+ s0 = peg$f99(s2);
25075
25512
  } else {
25076
25513
  peg$currPos = s0;
25077
25514
  s0 = peg$FAILED;
@@ -25156,7 +25593,7 @@ function peg$parse(input, options) {
25156
25593
  s2 = input.substring(s2, peg$currPos);
25157
25594
  s3 = peg$parseHighlightTag();
25158
25595
  if (s3 !== peg$FAILED) {
25159
- s0 = peg$f99(s2);
25596
+ s0 = peg$f100(s2);
25160
25597
  } else {
25161
25598
  peg$currPos = s0;
25162
25599
  s0 = peg$FAILED;
@@ -25241,22 +25678,22 @@ function peg$parse(input, options) {
25241
25678
  let s0;
25242
25679
  peg$silentFails++;
25243
25680
  if (input.charCodeAt(peg$currPos) === 10) {
25244
- s0 = peg$c138;
25681
+ s0 = peg$c139;
25245
25682
  peg$currPos++;
25246
25683
  } else {
25247
25684
  s0 = peg$FAILED;
25248
25685
  if (peg$silentFails === 0) {
25249
- peg$fail(peg$e143);
25686
+ peg$fail(peg$e144);
25250
25687
  }
25251
25688
  }
25252
25689
  if (s0 === peg$FAILED) {
25253
- if (input.substr(peg$currPos, 2) === peg$c139) {
25254
- s0 = peg$c139;
25690
+ if (input.substr(peg$currPos, 2) === peg$c140) {
25691
+ s0 = peg$c140;
25255
25692
  peg$currPos += 2;
25256
25693
  } else {
25257
25694
  s0 = peg$FAILED;
25258
25695
  if (peg$silentFails === 0) {
25259
- peg$fail(peg$e144);
25696
+ peg$fail(peg$e145);
25260
25697
  }
25261
25698
  }
25262
25699
  if (s0 === peg$FAILED) {
@@ -25266,7 +25703,7 @@ function peg$parse(input, options) {
25266
25703
  } else {
25267
25704
  s0 = peg$FAILED;
25268
25705
  if (peg$silentFails === 0) {
25269
- peg$fail(peg$e145);
25706
+ peg$fail(peg$e146);
25270
25707
  }
25271
25708
  }
25272
25709
  }
@@ -25274,7 +25711,7 @@ function peg$parse(input, options) {
25274
25711
  peg$silentFails--;
25275
25712
  if (s0 === peg$FAILED) {
25276
25713
  if (peg$silentFails === 0) {
25277
- peg$fail(peg$e142);
25714
+ peg$fail(peg$e143);
25278
25715
  }
25279
25716
  }
25280
25717
  return s0;
@@ -25287,7 +25724,7 @@ function peg$parse(input, options) {
25287
25724
  } else {
25288
25725
  s0 = peg$FAILED;
25289
25726
  if (peg$silentFails === 0) {
25290
- peg$fail(peg$e146);
25727
+ peg$fail(peg$e147);
25291
25728
  }
25292
25729
  }
25293
25730
  return s0;
@@ -25321,35 +25758,35 @@ function peg$parse(input, options) {
25321
25758
  let s0, s1, s2, s3, s4, s5, s6, s7, s8;
25322
25759
  s0 = peg$currPos;
25323
25760
  s1 = peg$currPos;
25324
- if (input.substr(peg$currPos, 4) === peg$c140) {
25325
- s2 = peg$c140;
25761
+ if (input.substr(peg$currPos, 4) === peg$c141) {
25762
+ s2 = peg$c141;
25326
25763
  peg$currPos += 4;
25327
25764
  } else {
25328
25765
  s2 = peg$FAILED;
25329
25766
  if (peg$silentFails === 0) {
25330
- peg$fail(peg$e147);
25767
+ peg$fail(peg$e148);
25331
25768
  }
25332
25769
  }
25333
25770
  if (s2 !== peg$FAILED) {
25334
25771
  if (input.charCodeAt(peg$currPos) === 115) {
25335
- s3 = peg$c141;
25772
+ s3 = peg$c142;
25336
25773
  peg$currPos++;
25337
25774
  } else {
25338
25775
  s3 = peg$FAILED;
25339
25776
  if (peg$silentFails === 0) {
25340
- peg$fail(peg$e148);
25777
+ peg$fail(peg$e149);
25341
25778
  }
25342
25779
  }
25343
25780
  if (s3 === peg$FAILED) {
25344
25781
  s3 = null;
25345
25782
  }
25346
- if (input.substr(peg$currPos, 3) === peg$c142) {
25347
- s4 = peg$c142;
25783
+ if (input.substr(peg$currPos, 3) === peg$c143) {
25784
+ s4 = peg$c143;
25348
25785
  peg$currPos += 3;
25349
25786
  } else {
25350
25787
  s4 = peg$FAILED;
25351
25788
  if (peg$silentFails === 0) {
25352
- peg$fail(peg$e149);
25789
+ peg$fail(peg$e150);
25353
25790
  }
25354
25791
  }
25355
25792
  if (s4 !== peg$FAILED) {
@@ -25427,35 +25864,35 @@ function peg$parse(input, options) {
25427
25864
  s0 = peg$currPos;
25428
25865
  s1 = peg$currPos;
25429
25866
  s2 = peg$currPos;
25430
- if (input.substr(peg$currPos, 4) === peg$c140) {
25431
- s3 = peg$c140;
25867
+ if (input.substr(peg$currPos, 4) === peg$c141) {
25868
+ s3 = peg$c141;
25432
25869
  peg$currPos += 4;
25433
25870
  } else {
25434
25871
  s3 = peg$FAILED;
25435
25872
  if (peg$silentFails === 0) {
25436
- peg$fail(peg$e147);
25873
+ peg$fail(peg$e148);
25437
25874
  }
25438
25875
  }
25439
25876
  if (s3 !== peg$FAILED) {
25440
25877
  if (input.charCodeAt(peg$currPos) === 115) {
25441
- s4 = peg$c141;
25878
+ s4 = peg$c142;
25442
25879
  peg$currPos++;
25443
25880
  } else {
25444
25881
  s4 = peg$FAILED;
25445
25882
  if (peg$silentFails === 0) {
25446
- peg$fail(peg$e148);
25883
+ peg$fail(peg$e149);
25447
25884
  }
25448
25885
  }
25449
25886
  if (s4 === peg$FAILED) {
25450
25887
  s4 = null;
25451
25888
  }
25452
- if (input.substr(peg$currPos, 3) === peg$c142) {
25453
- s5 = peg$c142;
25889
+ if (input.substr(peg$currPos, 3) === peg$c143) {
25890
+ s5 = peg$c143;
25454
25891
  peg$currPos += 3;
25455
25892
  } else {
25456
25893
  s5 = peg$FAILED;
25457
25894
  if (peg$silentFails === 0) {
25458
- peg$fail(peg$e149);
25895
+ peg$fail(peg$e150);
25459
25896
  }
25460
25897
  }
25461
25898
  if (s5 !== peg$FAILED) {
@@ -25470,13 +25907,13 @@ function peg$parse(input, options) {
25470
25907
  s2 = peg$FAILED;
25471
25908
  }
25472
25909
  if (s2 === peg$FAILED) {
25473
- if (input.substr(peg$currPos, 7) === peg$c143) {
25474
- s2 = peg$c143;
25910
+ if (input.substr(peg$currPos, 7) === peg$c144) {
25911
+ s2 = peg$c144;
25475
25912
  peg$currPos += 7;
25476
25913
  } else {
25477
25914
  s2 = peg$FAILED;
25478
25915
  if (peg$silentFails === 0) {
25479
- peg$fail(peg$e150);
25916
+ peg$fail(peg$e151);
25480
25917
  }
25481
25918
  }
25482
25919
  }
@@ -25540,7 +25977,7 @@ function peg$parse(input, options) {
25540
25977
  }
25541
25978
  }
25542
25979
  s2 = input.substring(s2, peg$currPos);
25543
- s0 = peg$f100(s1, s2);
25980
+ s0 = peg$f101(s1, s2);
25544
25981
  } else {
25545
25982
  peg$currPos = s0;
25546
25983
  s0 = peg$FAILED;
@@ -25555,7 +25992,7 @@ function peg$parse(input, options) {
25555
25992
  } else {
25556
25993
  s0 = peg$FAILED;
25557
25994
  if (peg$silentFails === 0) {
25558
- peg$fail(peg$e151);
25995
+ peg$fail(peg$e152);
25559
25996
  }
25560
25997
  }
25561
25998
  return s0;
@@ -43695,6 +44132,8 @@ var ConfigBuilder = class {
43695
44132
  format = "bitmark";
43696
44133
  } else if (tag.format === TagFormat.number) {
43697
44134
  format = "number";
44135
+ } else if (tag.format === TagFormat.coordinates) {
44136
+ format = "coordinates";
43698
44137
  }
43699
44138
  } else if (tagType === BitTagConfigKeyType.resource) {
43700
44139
  format = "string";