@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.
@@ -500,6 +500,8 @@ var BitType2 = {
500
500
  pageSectionFolder: "page-section-folder",
501
501
  pageShopInShop: "page-shop-in-shop",
502
502
  pageSpecial: "page-special",
503
+ pageEnd: "page-end",
504
+ pageStart: "page-start",
503
505
  pageSubpage: "page-subpage",
504
506
  pageSubscribe: "page-subscribe",
505
507
  parameters: "parameters",
@@ -3186,11 +3188,16 @@ var CARDSETS = {
3186
3188
  exportJsonKey: { "@bit": { heading: { forKeys: "$" } } }
3187
3189
  },
3188
3190
  {
3191
+ // Axis-side `[@isCaseSensitive]` is a cascade SOURCE
3192
+ // only: it must fire (so value-side cells inherit via
3193
+ // `$ancestor`) but emit nothing itself — emission is
3194
+ // owned by the value-side's cell-nested rule
3195
+ // (`cells[$s].isCaseSensitive`, PLAN-122). The earlier
3196
+ // flat `$ancestor` rule here double-emitted at bit
3197
+ // scope and broke the `optimize(fullize(x)) ==
3198
+ // optimize(x)` law on match-matrix.
3189
3199
  key: ConfigKey.property_isCaseSensitive,
3190
- exportJsonKey: [
3191
- { "@absent": { isCaseSensitive: "$ancestor" } },
3192
- { isCaseSensitive: "$" }
3193
- ],
3200
+ exportJsonKey: {},
3194
3201
  description: "Property to indicate if the match is case sensitive.",
3195
3202
  format: TagFormat.boolean
3196
3203
  }
@@ -5070,18 +5077,16 @@ var GROUPS = {
5070
5077
  description: "Item, lead, page number, margin number, instruction and hint tags"
5071
5078
  },
5072
5079
  {
5073
- // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2: cascade-fired
5074
- // `@example` from the bit header marks EVERY choice with
5075
- // `isExample: true` (matches BPG output), but only the
5076
- // FIRST correct choice gets `example: true` (BPG
5077
- // `fillBooleanExample(..., firstCorrectOnly=true)`).
5078
- //
5079
- // Two `@absent` rules, picked first-match-wins:
5080
- // 1. Verbose form gated on `@parent.isCorrect=true` with
5081
- // `maxEmits:1` fires once for the first correct.
5082
- // 2. Plain `@absent` fires on every remaining entry
5083
- // (subsequent corrects and all incorrects), emitting
5084
- // `isExample` only.
5080
+ // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2, corrected by
5081
+ // bpg 5.31 probing: cascade-fired `@example` decorates only
5082
+ // the FIRST correct choice (`example: true` via the
5083
+ // `@parent.isCorrect`-gated `@absent` rule, `maxEmits:1`
5084
+ // BPG `fillBooleanExample(..., firstCorrectOnly=true)`).
5085
+ // There is deliberately NO plain `@absent` rule: an ancestor
5086
+ // bare example must leave the remaining choices untouched
5087
+ // (a plain `@absent` decoration broke the
5088
+ // `optimize(fullize(x)) == optimize(x)` law the
5089
+ // synthesized `isExample` keys survived re-optimization).
5085
5090
  // The `serialize_cards` cascade-counter scope holds the cap
5086
5091
  // across the whole cardset.
5087
5092
  // @card scope-shift writes choice-container isExample (e.g.
@@ -5109,13 +5114,6 @@ var GROUPS = {
5109
5114
  "@card": { isExample: true }
5110
5115
  }
5111
5116
  },
5112
- {
5113
- "@absent": {
5114
- isExample: true,
5115
- "@bit": { isExample: true },
5116
- "@card": { isExample: true }
5117
- }
5118
- },
5119
5117
  {
5120
5118
  isExample: true,
5121
5119
  example: "$",
@@ -5157,11 +5155,13 @@ var GROUPS = {
5157
5155
  description: "Item, lead, page number, margin number, instruction and hint tags"
5158
5156
  },
5159
5157
  {
5160
- // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2: cascade-fired
5161
- // `@example` on a `-` (incorrect choice) emits
5162
- // `isExample: true` only — no `example` (BPG fixtures show
5163
- // `isExample` on every choice, but `example` only on the
5164
- // first correct via firstCorrectOnly cascade).
5158
+ // PLAN-072 + ALIGN-EXAMPLE-CASCADE §3.2, corrected by
5159
+ // bpg 5.31 probing: an ancestor bare `@example` leaves
5160
+ // incorrect choices UNTOUCHED — no cascade decoration at
5161
+ // all (no `@absent` rule; a plain `@absent isExample`
5162
+ // decoration broke the `optimize(fullize(x)) ==
5163
+ // optimize(x)` law). Only an explicit `[@example]` on the
5164
+ // choice itself emits.
5165
5165
  // @card scope-shift writes choice-container isExample.
5166
5166
  key: ConfigKey.property_example,
5167
5167
  jsonKey: "example",
@@ -5174,13 +5174,6 @@ var GROUPS = {
5174
5174
  "@card": { isExample: true }
5175
5175
  }
5176
5176
  },
5177
- {
5178
- "@absent": {
5179
- isExample: true,
5180
- "@bit": { isExample: true },
5181
- "@card": { isExample: true }
5182
- }
5183
- },
5184
5177
  {
5185
5178
  isExample: true,
5186
5179
  example: "$",
@@ -5188,7 +5181,7 @@ var GROUPS = {
5188
5181
  "@card": { isExample: true }
5189
5182
  }
5190
5183
  ],
5191
- description: "An example for the true/false statement/question (incorrect entry \u2014 isExample only on cascade)",
5184
+ 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)",
5192
5185
  format: TagFormat.boolean,
5193
5186
  nullable: true
5194
5187
  }
@@ -7247,7 +7240,9 @@ var BITS = {
7247
7240
  description: "Common tags for quiz bits"
7248
7241
  },
7249
7242
  {
7250
- exportJsonKey: { title: "$" },
7243
+ maxCount: 2,
7244
+ jsonKey: "title|multi(count=2, key=subtitle)",
7245
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
7251
7246
  key: ConfigKey.tag_title,
7252
7247
  description: "The title of the flashcard quiz"
7253
7248
  },
@@ -7352,7 +7347,9 @@ var BITS = {
7352
7347
  description: "Article bit, used for articles / paragraphs",
7353
7348
  tags: [
7354
7349
  {
7355
- exportJsonKey: { title: "$" },
7350
+ maxCount: 2,
7351
+ jsonKey: "title|multi(count=2, key=subtitle)",
7352
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
7356
7353
  key: ConfigKey.tag_title,
7357
7354
  description: "The title of the article"
7358
7355
  }
@@ -9318,7 +9315,9 @@ var BITS = {
9318
9315
  description: "Example bit, used to provide examples in articles or books",
9319
9316
  tags: [
9320
9317
  {
9321
- exportJsonKey: { title: "$" },
9318
+ maxCount: 2,
9319
+ jsonKey: "title|multi(count=2, key=subtitle)",
9320
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
9322
9321
  key: ConfigKey.tag_title,
9323
9322
  description: "The title of the example"
9324
9323
  },
@@ -11919,7 +11918,9 @@ var BITS = {
11919
11918
  description: "Page bit, used to create pages in articles or books",
11920
11919
  tags: [
11921
11920
  {
11922
- exportJsonKey: { title: "$" },
11921
+ maxCount: 2,
11922
+ jsonKey: "title|multi(count=2, key=subtitle)",
11923
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
11923
11924
  key: ConfigKey.tag_title,
11924
11925
  description: "Title of the page, used to display the page title"
11925
11926
  },
@@ -12019,6 +12020,16 @@ var BITS = {
12019
12020
  baseBitType: BitType2.pageSubpage,
12020
12021
  description: "Page special bit, used to create special pages in articles or books"
12021
12022
  },
12023
+ [BitType2.pageEnd]: {
12024
+ since: "5.33.0",
12025
+ baseBitType: BitType2.article,
12026
+ description: "Page end bit, used to mark the end of a page section in articles or books"
12027
+ },
12028
+ [BitType2.pageStart]: {
12029
+ since: "5.33.0",
12030
+ baseBitType: BitType2.article,
12031
+ description: "Page start bit, used to mark the start of a page section in articles or books"
12032
+ },
12022
12033
  [BitType2.pagePerson]: {
12023
12034
  since: "1.5.16",
12024
12035
  baseBitType: BitType2._standard,
@@ -12377,7 +12388,9 @@ var BITS = {
12377
12388
  description: "Review note bit, used to create review notes in articles or books",
12378
12389
  tags: [
12379
12390
  {
12380
- exportJsonKey: { title: "$" },
12391
+ maxCount: 2,
12392
+ jsonKey: "title|multi(count=2, key=subtitle)",
12393
+ exportJsonKey: [{ "@level=1": { title: "$" } }, { "@level=2": { subtitle: "$" } }],
12381
12394
  key: ConfigKey.tag_title,
12382
12395
  description: "Title of the review note, used to display the note title"
12383
12396
  },
@@ -13963,7 +13976,7 @@ var instance2 = new Config();
13963
13976
  // src/generated/package_info.ts
13964
13977
  var PACKAGE_INFO = {
13965
13978
  "name": "@gmb/bitmark-parser-generator",
13966
- "version": "5.31.1",
13979
+ "version": "5.33.0",
13967
13980
  "author": "Get More Brain Ltd",
13968
13981
  "license": "ISC",
13969
13982
  "description": "A bitmark parser and generator using Peggy.js"
@@ -14238,6 +14251,7 @@ var TextMarkType = {
14238
14251
  del: "del",
14239
14252
  underline: "underline",
14240
14253
  doubleUnderline: "doubleUnderline",
14254
+ smallcaps: "smallcaps",
14241
14255
  circle: "circle",
14242
14256
  languageEmRed: "languageEmRed",
14243
14257
  languageEmOrange: "languageEmOrange",
@@ -14269,7 +14283,10 @@ var TextMarkType = {
14269
14283
  code: "code",
14270
14284
  timer: "timer",
14271
14285
  duration: "duration",
14286
+ // legacy: no longer produced by the parser (>= 8.41.1), accepted as generator input
14272
14287
  color: "color",
14288
+ // legacy: no longer produced by the parser (>= 8.41.1, now textStyle), accepted as generator input
14289
+ textStyle: "textStyle",
14273
14290
  colorPicker: "colorPicker",
14274
14291
  comment: "comment"
14275
14292
  };
@@ -15854,6 +15871,7 @@ var INLINE_MARK_TYPES = [
15854
15871
  TextMarkType.del,
15855
15872
  TextMarkType.underline,
15856
15873
  TextMarkType.doubleUnderline,
15874
+ TextMarkType.smallcaps,
15857
15875
  TextMarkType.circle,
15858
15876
  TextMarkType.languageEmRed,
15859
15877
  TextMarkType.languageEmOrange,
@@ -15884,11 +15902,24 @@ var INLINE_MARK_TYPES = [
15884
15902
  TextMarkType.var,
15885
15903
  TextMarkType.code,
15886
15904
  TextMarkType.timer,
15887
- TextMarkType.duration,
15888
15905
  TextMarkType.color,
15906
+ // legacy input, written as color: (same as textStyle)
15907
+ TextMarkType.textStyle,
15889
15908
  TextMarkType.colorPicker,
15890
15909
  TextMarkType.comment
15891
15910
  ];
15911
+ var HIGHLIGHT_COLORS = [
15912
+ "orange",
15913
+ "yellow",
15914
+ "green",
15915
+ "blue",
15916
+ "purple",
15917
+ "pink",
15918
+ "brown",
15919
+ "white",
15920
+ "black",
15921
+ "gray"
15922
+ ];
15892
15923
  var INDENTATION_REGEX = new RegExp(/(\n|\r\n)/, "g");
15893
15924
  var LINK_REGEX = new RegExp(/https?:\/\/|mailto:(.*)/, "g");
15894
15925
  var LINK_BREAKSCAPE_REGEX = new RegExp(/\]/, "g");
@@ -16452,14 +16483,16 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16452
16483
  this.writeMarkTextWrapper(INLINE_MARK);
16453
16484
  return;
16454
16485
  }
16455
- const singleMark = node.marks.length === 1 && forceSingleMark;
16456
- const markStartEnd = node.marks.reduce(
16486
+ const marks = this.getWritableMarks(node.marks);
16487
+ if (marks.length === 0) return;
16488
+ const singleMark = marks.length === 1 && forceSingleMark;
16489
+ const markStartEnd = marks.reduce(
16457
16490
  (acc, mark) => {
16458
16491
  if (acc) return acc;
16459
- if (STANDARD_MARK_TYPES.indexOf(mark.type) !== -1) {
16492
+ if (this.isStandardMark(mark)) {
16460
16493
  if (singleMark) return STANDARD_MARKS[mark.type];
16461
16494
  return INLINE_MARK;
16462
- } else if (INLINE_MARK_TYPES.indexOf(mark.type) !== -1) {
16495
+ } else if (this.isInlineMark(mark)) {
16463
16496
  return INLINE_MARK;
16464
16497
  } else {
16465
16498
  }
@@ -16474,8 +16507,8 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16474
16507
  this.writeMarkTextWrapper(markStartEnd);
16475
16508
  }
16476
16509
  if (stage == Stage.between) {
16477
- for (const mark of node.marks) {
16478
- if (STANDARD_MARK_TYPES.indexOf(mark.type) !== -1) {
16510
+ for (const mark of marks) {
16511
+ if (this.isStandardMark(mark)) {
16479
16512
  if (!singleMark) {
16480
16513
  this.writeInlineMarkStartEnd();
16481
16514
  this.writeInlineMark(mark);
@@ -16504,7 +16537,7 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16504
16537
  } else if (TextMarkType.symbol === mark.type) {
16505
16538
  this.writeInlineMarkStartEnd();
16506
16539
  this.writeSymbolMark(mark);
16507
- } else if (INLINE_MARK_TYPES.indexOf(mark.type) !== -1) {
16540
+ } else if (this.isInlineMark(mark)) {
16508
16541
  this.writeInlineMarkStartEnd();
16509
16542
  this.writeInlineMark(mark);
16510
16543
  } else {
@@ -16513,12 +16546,12 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16513
16546
  }
16514
16547
  if (stage == Stage.exit) {
16515
16548
  let inlineMarkWritten = false;
16516
- for (const mark of node.marks) {
16517
- if (STANDARD_MARK_TYPES.indexOf(mark.type) !== -1) {
16549
+ for (const mark of marks) {
16550
+ if (this.isStandardMark(mark)) {
16518
16551
  if (!singleMark) {
16519
16552
  inlineMarkWritten = true;
16520
16553
  }
16521
- } 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) {
16554
+ } 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)) {
16522
16555
  inlineMarkWritten = true;
16523
16556
  } else {
16524
16557
  }
@@ -16599,8 +16632,15 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16599
16632
  if (node.attrs == null || !node.attrs.src) return;
16600
16633
  const attrs = node.attrs;
16601
16634
  const inlineImage = node.type === TextNodeType.imageInline;
16635
+ let ignoreAttributes;
16636
+ if (inlineImage) {
16637
+ ignoreAttributes = /* @__PURE__ */ new Set(["alt", "zoomDisabled", "title"]);
16638
+ const a = attrs;
16639
+ if (a.alignmentVertical === "top") ignoreAttributes.add("alignmentVertical");
16640
+ if (a.size === "line-height") ignoreAttributes.add("size");
16641
+ }
16602
16642
  const mediaAttrs = this.getMediaAttrs(inlineImage ? "imageInline" : "image", attrs, {
16603
- ignoreAttributes: inlineImage ? /* @__PURE__ */ new Set(["alt", "zoomDisabled", "title"]) : void 0
16643
+ ignoreAttributes
16604
16644
  });
16605
16645
  let s = "";
16606
16646
  if (inlineImage) {
@@ -16630,16 +16670,87 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16630
16670
  if (s) this.write(s);
16631
16671
  }
16632
16672
  writeInlineMark(mark) {
16633
- let s = `${mark.type}`;
16634
- if (mark.attrs) {
16635
- for (const [k, v] of Object.entries(mark.attrs)) {
16636
- if (k === "language" && v !== "plain text" || k === "color" || k === "propertyRef" || k === "name" || k === "duration") {
16637
- s = `${s}:${v}`;
16673
+ const attrs = mark.attrs ?? {};
16674
+ let s;
16675
+ switch (mark.type) {
16676
+ case TextMarkType.textStyle:
16677
+ case TextMarkType.color:
16678
+ s = `color:${attrs.color ?? ""}`;
16679
+ break;
16680
+ case TextMarkType.timer:
16681
+ s = attrs.name ? `timer:${attrs.name}` : "timer";
16682
+ s += `|duration:${attrs.duration ?? ""}`;
16683
+ break;
16684
+ case TextMarkType.highlight:
16685
+ case TextMarkType.userHighlight:
16686
+ s = attrs.color ? `${mark.type}|color:${attrs.color}` : `${mark.type}`;
16687
+ break;
16688
+ default: {
16689
+ s = `${mark.type}`;
16690
+ for (const [k, v] of Object.entries(attrs)) {
16691
+ if (k === "language" && v !== "plain text" || k === "propertyRef" || k === "name") {
16692
+ s = `${s}:${v}`;
16693
+ }
16638
16694
  }
16639
16695
  }
16640
16696
  }
16641
16697
  this.write(s);
16642
16698
  }
16699
+ /**
16700
+ * Resolve the marks of a text node into the marks that will actually be written.
16701
+ *
16702
+ * - Merges a legacy standalone 'duration' mark into its sibling 'timer' mark.
16703
+ * - Drops marks the current grammar cannot express (standalone 'duration', 'timer'
16704
+ * without a duration).
16705
+ * - Moves a 'textStyle'/'color' mark before a preceding bare 'highlight'/'userHighlight'
16706
+ * mark when its color is a valid highlight color; written in the original order the
16707
+ * output would re-parse as a highlight-with-color compound mark and change meaning.
16708
+ */
16709
+ getWritableMarks(nodeMarks) {
16710
+ const attrsOf = (m) => m.attrs ?? {};
16711
+ let marks = [...nodeMarks];
16712
+ const timer = marks.find((m) => m.type === TextMarkType.timer);
16713
+ const duration = marks.find((m) => m.type === TextMarkType.duration);
16714
+ if (timer && duration && !attrsOf(timer).duration) {
16715
+ marks = marks.map(
16716
+ (m) => m === timer ? {
16717
+ ...timer,
16718
+ attrs: { ...attrsOf(timer), duration: attrsOf(duration).duration }
16719
+ } : m
16720
+ );
16721
+ }
16722
+ marks = marks.filter((m) => {
16723
+ if (m.type === TextMarkType.duration) return false;
16724
+ if (m.type === TextMarkType.timer) return !!attrsOf(m).duration;
16725
+ return true;
16726
+ });
16727
+ const isBareHighlight = (m) => (m.type === TextMarkType.highlight || m.type === TextMarkType.userHighlight) && !attrsOf(m).color;
16728
+ const isHighlightColorStyle = (m) => (m.type === TextMarkType.textStyle || m.type === TextMarkType.color) && HIGHLIGHT_COLORS.indexOf(attrsOf(m).color) !== -1;
16729
+ for (let i = 0; i < marks.length - 1; i++) {
16730
+ if (isBareHighlight(marks[i]) && isHighlightColorStyle(marks[i + 1])) {
16731
+ const tmp = marks[i];
16732
+ marks[i] = marks[i + 1];
16733
+ marks[i + 1] = tmp;
16734
+ }
16735
+ }
16736
+ return marks;
16737
+ }
16738
+ /**
16739
+ * True if the mark is written using its standard form (e.g. **bold**, !!highlight!!)
16740
+ * when it is the only mark. A highlight mark with a color attribute is excluded - it
16741
+ * can only be expressed using the inline chain form (==text==|highlight|color:x|).
16742
+ */
16743
+ isStandardMark(mark) {
16744
+ if (STANDARD_MARK_TYPES.indexOf(mark.type) === -1) return false;
16745
+ return !(mark.attrs && mark.attrs.color);
16746
+ }
16747
+ /**
16748
+ * True if the mark is written using the inline chain form (==text==|mark|).
16749
+ */
16750
+ isInlineMark(mark) {
16751
+ if (INLINE_MARK_TYPES.indexOf(mark.type) !== -1) return true;
16752
+ return mark.type === TextMarkType.highlight && !!(mark.attrs && mark.attrs.color);
16753
+ }
16643
16754
  writeCommentMark(mark) {
16644
16755
  const comment = mark.comment || "";
16645
16756
  const s = `#${comment}`;
@@ -16844,7 +16955,7 @@ var TextGenerator = class _TextGenerator extends AstWalkerGenerator {
16844
16955
  };
16845
16956
 
16846
16957
  // src/generated/parser/text/text-peggy-parser.js
16847
- var VERSION = "8.37.3";
16958
+ var VERSION = "8.41.1";
16848
16959
  function unbreakscape(str) {
16849
16960
  if (typeof str !== "string") return null;
16850
16961
  return instance3.unbreakscape(str);
@@ -17059,87 +17170,88 @@ function peg$parse(input, options) {
17059
17170
  const peg$c60 = "var:";
17060
17171
  const peg$c61 = "code:";
17061
17172
  const peg$c62 = "timer";
17062
- const peg$c63 = "timer:";
17063
- const peg$c64 = "duration:";
17064
- const peg$c65 = "P";
17065
- const peg$c66 = "color:";
17066
- const peg$c67 = "colorPicker:";
17067
- const peg$c68 = "|\u25BA";
17068
- const peg$c69 = "bold";
17069
- const peg$c70 = "italic";
17070
- const peg$c71 = "light";
17071
- const peg$c72 = "highlightOrange";
17072
- const peg$c73 = "highlightYellow";
17073
- const peg$c74 = "highlightGreen";
17074
- const peg$c75 = "highlightBlue";
17075
- const peg$c76 = "highlightPurple";
17076
- const peg$c77 = "highlightPink";
17077
- const peg$c78 = "highlightBrown";
17078
- const peg$c79 = "highlightBlack";
17079
- const peg$c80 = "highlightWhite";
17080
- const peg$c81 = "highlightGray";
17081
- const peg$c82 = "highlight";
17082
- const peg$c83 = "strike";
17083
- const peg$c84 = "subscript";
17084
- const peg$c85 = "superscript";
17085
- const peg$c86 = "ins";
17086
- const peg$c87 = "del";
17087
- const peg$c88 = "underline";
17088
- const peg$c89 = "doubleUnderline";
17089
- const peg$c90 = "circle";
17090
- const peg$c91 = "languageEmRed";
17091
- const peg$c92 = "languageEmOrange";
17092
- const peg$c93 = "languageEmYellow";
17093
- const peg$c94 = "languageEmGreen";
17094
- const peg$c95 = "languageEmBlue";
17095
- const peg$c96 = "languageEmPurple";
17096
- const peg$c97 = "languageEmPink";
17097
- const peg$c98 = "languageEmBrown";
17098
- const peg$c99 = "languageEmBlack";
17099
- const peg$c100 = "languageEmWhite";
17100
- const peg$c101 = "languageEmGray";
17101
- const peg$c102 = "languageEm";
17102
- const peg$c103 = "userUnderline";
17103
- const peg$c104 = "userDoubleUnderline";
17104
- const peg$c105 = "userStrike";
17105
- const peg$c106 = "userCircle";
17106
- const peg$c107 = "userHighlight";
17107
- const peg$c108 = "notranslate";
17108
- const peg$c109 = "aqua";
17109
- const peg$c110 = "black";
17110
- const peg$c111 = "blue";
17111
- const peg$c112 = "brown";
17112
- const peg$c113 = "fuchsia";
17113
- const peg$c114 = "lightgrey";
17114
- const peg$c115 = "gray";
17115
- const peg$c116 = "darkgray";
17116
- const peg$c117 = "green";
17117
- const peg$c118 = "lime";
17118
- const peg$c119 = "magenta";
17119
- const peg$c120 = "maroon";
17120
- const peg$c121 = "navy";
17121
- const peg$c122 = "olive";
17122
- const peg$c123 = "orange";
17123
- const peg$c124 = "pink";
17124
- const peg$c125 = "purple";
17125
- const peg$c126 = "red";
17126
- const peg$c127 = "silver";
17127
- const peg$c128 = "teal";
17128
- const peg$c129 = "violet";
17129
- const peg$c130 = "white";
17130
- const peg$c131 = "yellow";
17131
- const peg$c132 = "*";
17132
- const peg$c133 = "_";
17133
- const peg$c134 = "`";
17134
- const peg$c135 = "!";
17135
- const peg$c136 = "[!";
17136
- const peg$c137 = "]";
17137
- const peg$c138 = "\n";
17138
- const peg$c139 = "\r\n";
17139
- const peg$c140 = "http";
17140
- const peg$c141 = "s";
17141
- const peg$c142 = "://";
17142
- const peg$c143 = "mailto:";
17173
+ const peg$c63 = "duration:";
17174
+ const peg$c64 = "P";
17175
+ const peg$c65 = "timer:";
17176
+ const peg$c66 = "highlight";
17177
+ const peg$c67 = "color:";
17178
+ const peg$c68 = "userHighlight";
17179
+ const peg$c69 = "colorPicker:";
17180
+ const peg$c70 = "|\u25BA";
17181
+ const peg$c71 = "bold";
17182
+ const peg$c72 = "italic";
17183
+ const peg$c73 = "light";
17184
+ const peg$c74 = "highlightOrange";
17185
+ const peg$c75 = "highlightYellow";
17186
+ const peg$c76 = "highlightGreen";
17187
+ const peg$c77 = "highlightBlue";
17188
+ const peg$c78 = "highlightPurple";
17189
+ const peg$c79 = "highlightPink";
17190
+ const peg$c80 = "highlightBrown";
17191
+ const peg$c81 = "highlightBlack";
17192
+ const peg$c82 = "highlightWhite";
17193
+ const peg$c83 = "highlightGray";
17194
+ const peg$c84 = "strike";
17195
+ const peg$c85 = "subscript";
17196
+ const peg$c86 = "superscript";
17197
+ const peg$c87 = "ins";
17198
+ const peg$c88 = "del";
17199
+ const peg$c89 = "underline";
17200
+ const peg$c90 = "doubleUnderline";
17201
+ const peg$c91 = "smallcaps";
17202
+ const peg$c92 = "circle";
17203
+ const peg$c93 = "languageEmRed";
17204
+ const peg$c94 = "languageEmOrange";
17205
+ const peg$c95 = "languageEmYellow";
17206
+ const peg$c96 = "languageEmGreen";
17207
+ const peg$c97 = "languageEmBlue";
17208
+ const peg$c98 = "languageEmPurple";
17209
+ const peg$c99 = "languageEmPink";
17210
+ const peg$c100 = "languageEmBrown";
17211
+ const peg$c101 = "languageEmBlack";
17212
+ const peg$c102 = "languageEmWhite";
17213
+ const peg$c103 = "languageEmGray";
17214
+ const peg$c104 = "languageEm";
17215
+ const peg$c105 = "userUnderline";
17216
+ const peg$c106 = "userDoubleUnderline";
17217
+ const peg$c107 = "userStrike";
17218
+ const peg$c108 = "userCircle";
17219
+ const peg$c109 = "notranslate";
17220
+ const peg$c110 = "aqua";
17221
+ const peg$c111 = "black";
17222
+ const peg$c112 = "blue";
17223
+ const peg$c113 = "brown";
17224
+ const peg$c114 = "fuchsia";
17225
+ const peg$c115 = "lightgrey";
17226
+ const peg$c116 = "gray";
17227
+ const peg$c117 = "darkgray";
17228
+ const peg$c118 = "green";
17229
+ const peg$c119 = "lime";
17230
+ const peg$c120 = "magenta";
17231
+ const peg$c121 = "maroon";
17232
+ const peg$c122 = "navy";
17233
+ const peg$c123 = "olive";
17234
+ const peg$c124 = "orange";
17235
+ const peg$c125 = "pink";
17236
+ const peg$c126 = "purple";
17237
+ const peg$c127 = "red";
17238
+ const peg$c128 = "silver";
17239
+ const peg$c129 = "teal";
17240
+ const peg$c130 = "violet";
17241
+ const peg$c131 = "white";
17242
+ const peg$c132 = "yellow";
17243
+ const peg$c133 = "*";
17244
+ const peg$c134 = "_";
17245
+ const peg$c135 = "`";
17246
+ const peg$c136 = "!";
17247
+ const peg$c137 = "[!";
17248
+ const peg$c138 = "]";
17249
+ const peg$c139 = "\n";
17250
+ const peg$c140 = "\r\n";
17251
+ const peg$c141 = "http";
17252
+ const peg$c142 = "s";
17253
+ const peg$c143 = "://";
17254
+ const peg$c144 = "mailto:";
17143
17255
  const peg$r0 = /^[ \t]/;
17144
17256
  const peg$r1 = /^[0-9]/;
17145
17257
  const peg$r2 = /^[\r\u2028-\u2029]/;
@@ -17212,91 +17324,92 @@ function peg$parse(input, options) {
17212
17324
  const peg$e64 = peg$literalExpectation("var:", false);
17213
17325
  const peg$e65 = peg$literalExpectation("code:", false);
17214
17326
  const peg$e66 = peg$literalExpectation("timer", false);
17215
- const peg$e67 = peg$literalExpectation("timer:", false);
17216
- const peg$e68 = peg$literalExpectation("duration:", false);
17217
- const peg$e69 = peg$literalExpectation("P", false);
17218
- const peg$e70 = peg$literalExpectation("color:", false);
17219
- const peg$e71 = peg$literalExpectation("colorPicker:", false);
17220
- const peg$e72 = peg$literalExpectation("|\u25BA", false);
17221
- const peg$e73 = peg$literalExpectation("bold", false);
17222
- const peg$e74 = peg$literalExpectation("italic", false);
17223
- const peg$e75 = peg$literalExpectation("light", false);
17224
- const peg$e76 = peg$literalExpectation("highlightOrange", false);
17225
- const peg$e77 = peg$literalExpectation("highlightYellow", false);
17226
- const peg$e78 = peg$literalExpectation("highlightGreen", false);
17227
- const peg$e79 = peg$literalExpectation("highlightBlue", false);
17228
- const peg$e80 = peg$literalExpectation("highlightPurple", false);
17229
- const peg$e81 = peg$literalExpectation("highlightPink", false);
17230
- const peg$e82 = peg$literalExpectation("highlightBrown", false);
17231
- const peg$e83 = peg$literalExpectation("highlightBlack", false);
17232
- const peg$e84 = peg$literalExpectation("highlightWhite", false);
17233
- const peg$e85 = peg$literalExpectation("highlightGray", false);
17234
- const peg$e86 = peg$literalExpectation("highlight", false);
17235
- const peg$e87 = peg$literalExpectation("strike", false);
17236
- const peg$e88 = peg$literalExpectation("subscript", false);
17237
- const peg$e89 = peg$literalExpectation("superscript", false);
17238
- const peg$e90 = peg$literalExpectation("ins", false);
17239
- const peg$e91 = peg$literalExpectation("del", false);
17240
- const peg$e92 = peg$literalExpectation("underline", false);
17241
- const peg$e93 = peg$literalExpectation("doubleUnderline", false);
17242
- const peg$e94 = peg$literalExpectation("circle", false);
17243
- const peg$e95 = peg$literalExpectation("languageEmRed", false);
17244
- const peg$e96 = peg$literalExpectation("languageEmOrange", false);
17245
- const peg$e97 = peg$literalExpectation("languageEmYellow", false);
17246
- const peg$e98 = peg$literalExpectation("languageEmGreen", false);
17247
- const peg$e99 = peg$literalExpectation("languageEmBlue", false);
17248
- const peg$e100 = peg$literalExpectation("languageEmPurple", false);
17249
- const peg$e101 = peg$literalExpectation("languageEmPink", false);
17250
- const peg$e102 = peg$literalExpectation("languageEmBrown", false);
17251
- const peg$e103 = peg$literalExpectation("languageEmBlack", false);
17252
- const peg$e104 = peg$literalExpectation("languageEmWhite", false);
17253
- const peg$e105 = peg$literalExpectation("languageEmGray", false);
17254
- const peg$e106 = peg$literalExpectation("languageEm", false);
17255
- const peg$e107 = peg$literalExpectation("userUnderline", false);
17256
- const peg$e108 = peg$literalExpectation("userDoubleUnderline", false);
17257
- const peg$e109 = peg$literalExpectation("userStrike", false);
17258
- const peg$e110 = peg$literalExpectation("userCircle", false);
17259
- const peg$e111 = peg$literalExpectation("userHighlight", false);
17260
- const peg$e112 = peg$literalExpectation("notranslate", false);
17261
- const peg$e113 = peg$literalExpectation("aqua", false);
17262
- const peg$e114 = peg$literalExpectation("black", false);
17263
- const peg$e115 = peg$literalExpectation("blue", false);
17264
- const peg$e116 = peg$literalExpectation("brown", false);
17265
- const peg$e117 = peg$literalExpectation("fuchsia", false);
17266
- const peg$e118 = peg$literalExpectation("lightgrey", false);
17267
- const peg$e119 = peg$literalExpectation("gray", false);
17268
- const peg$e120 = peg$literalExpectation("darkgray", false);
17269
- const peg$e121 = peg$literalExpectation("green", false);
17270
- const peg$e122 = peg$literalExpectation("lime", false);
17271
- const peg$e123 = peg$literalExpectation("magenta", false);
17272
- const peg$e124 = peg$literalExpectation("maroon", false);
17273
- const peg$e125 = peg$literalExpectation("navy", false);
17274
- const peg$e126 = peg$literalExpectation("olive", false);
17275
- const peg$e127 = peg$literalExpectation("orange", false);
17276
- const peg$e128 = peg$literalExpectation("pink", false);
17277
- const peg$e129 = peg$literalExpectation("purple", false);
17278
- const peg$e130 = peg$literalExpectation("red", false);
17279
- const peg$e131 = peg$literalExpectation("silver", false);
17280
- const peg$e132 = peg$literalExpectation("teal", false);
17281
- const peg$e133 = peg$literalExpectation("violet", false);
17282
- const peg$e134 = peg$literalExpectation("white", false);
17283
- const peg$e135 = peg$literalExpectation("yellow", false);
17284
- const peg$e136 = peg$literalExpectation("*", false);
17285
- const peg$e137 = peg$literalExpectation("_", false);
17286
- const peg$e138 = peg$literalExpectation("`", false);
17287
- const peg$e139 = peg$literalExpectation("!", false);
17288
- const peg$e140 = peg$literalExpectation("[!", false);
17289
- const peg$e141 = peg$literalExpectation("]", false);
17290
- const peg$e142 = peg$otherExpectation("Line Terminator");
17291
- const peg$e143 = peg$literalExpectation("\n", false);
17292
- const peg$e144 = peg$literalExpectation("\r\n", false);
17293
- const peg$e145 = peg$classExpectation(["\r", ["\u2028", "\u2029"]], false, false, false);
17294
- const peg$e146 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], true, false, false);
17295
- const peg$e147 = peg$literalExpectation("http", false);
17296
- const peg$e148 = peg$literalExpectation("s", false);
17297
- const peg$e149 = peg$literalExpectation("://", false);
17298
- const peg$e150 = peg$literalExpectation("mailto:", false);
17299
- const peg$e151 = peg$classExpectation(["!", ["#", ";"], "=", ["?", "["], ["]", "_"], ["a", "{"], ["}", "~"]], false, false, false);
17327
+ const peg$e67 = peg$literalExpectation("duration:", false);
17328
+ const peg$e68 = peg$literalExpectation("P", false);
17329
+ const peg$e69 = peg$literalExpectation("timer:", false);
17330
+ const peg$e70 = peg$literalExpectation("highlight", false);
17331
+ const peg$e71 = peg$literalExpectation("color:", false);
17332
+ const peg$e72 = peg$literalExpectation("userHighlight", false);
17333
+ const peg$e73 = peg$literalExpectation("colorPicker:", false);
17334
+ const peg$e74 = peg$literalExpectation("|\u25BA", false);
17335
+ const peg$e75 = peg$literalExpectation("bold", false);
17336
+ const peg$e76 = peg$literalExpectation("italic", false);
17337
+ const peg$e77 = peg$literalExpectation("light", false);
17338
+ const peg$e78 = peg$literalExpectation("highlightOrange", false);
17339
+ const peg$e79 = peg$literalExpectation("highlightYellow", false);
17340
+ const peg$e80 = peg$literalExpectation("highlightGreen", false);
17341
+ const peg$e81 = peg$literalExpectation("highlightBlue", false);
17342
+ const peg$e82 = peg$literalExpectation("highlightPurple", false);
17343
+ const peg$e83 = peg$literalExpectation("highlightPink", false);
17344
+ const peg$e84 = peg$literalExpectation("highlightBrown", false);
17345
+ const peg$e85 = peg$literalExpectation("highlightBlack", false);
17346
+ const peg$e86 = peg$literalExpectation("highlightWhite", false);
17347
+ const peg$e87 = peg$literalExpectation("highlightGray", false);
17348
+ const peg$e88 = peg$literalExpectation("strike", false);
17349
+ const peg$e89 = peg$literalExpectation("subscript", false);
17350
+ const peg$e90 = peg$literalExpectation("superscript", false);
17351
+ const peg$e91 = peg$literalExpectation("ins", false);
17352
+ const peg$e92 = peg$literalExpectation("del", false);
17353
+ const peg$e93 = peg$literalExpectation("underline", false);
17354
+ const peg$e94 = peg$literalExpectation("doubleUnderline", false);
17355
+ const peg$e95 = peg$literalExpectation("smallcaps", false);
17356
+ const peg$e96 = peg$literalExpectation("circle", false);
17357
+ const peg$e97 = peg$literalExpectation("languageEmRed", false);
17358
+ const peg$e98 = peg$literalExpectation("languageEmOrange", false);
17359
+ const peg$e99 = peg$literalExpectation("languageEmYellow", false);
17360
+ const peg$e100 = peg$literalExpectation("languageEmGreen", false);
17361
+ const peg$e101 = peg$literalExpectation("languageEmBlue", false);
17362
+ const peg$e102 = peg$literalExpectation("languageEmPurple", false);
17363
+ const peg$e103 = peg$literalExpectation("languageEmPink", false);
17364
+ const peg$e104 = peg$literalExpectation("languageEmBrown", false);
17365
+ const peg$e105 = peg$literalExpectation("languageEmBlack", false);
17366
+ const peg$e106 = peg$literalExpectation("languageEmWhite", false);
17367
+ const peg$e107 = peg$literalExpectation("languageEmGray", false);
17368
+ const peg$e108 = peg$literalExpectation("languageEm", false);
17369
+ const peg$e109 = peg$literalExpectation("userUnderline", false);
17370
+ const peg$e110 = peg$literalExpectation("userDoubleUnderline", false);
17371
+ const peg$e111 = peg$literalExpectation("userStrike", false);
17372
+ const peg$e112 = peg$literalExpectation("userCircle", false);
17373
+ const peg$e113 = peg$literalExpectation("notranslate", false);
17374
+ const peg$e114 = peg$literalExpectation("aqua", false);
17375
+ const peg$e115 = peg$literalExpectation("black", false);
17376
+ const peg$e116 = peg$literalExpectation("blue", false);
17377
+ const peg$e117 = peg$literalExpectation("brown", false);
17378
+ const peg$e118 = peg$literalExpectation("fuchsia", false);
17379
+ const peg$e119 = peg$literalExpectation("lightgrey", false);
17380
+ const peg$e120 = peg$literalExpectation("gray", false);
17381
+ const peg$e121 = peg$literalExpectation("darkgray", false);
17382
+ const peg$e122 = peg$literalExpectation("green", false);
17383
+ const peg$e123 = peg$literalExpectation("lime", false);
17384
+ const peg$e124 = peg$literalExpectation("magenta", false);
17385
+ const peg$e125 = peg$literalExpectation("maroon", false);
17386
+ const peg$e126 = peg$literalExpectation("navy", false);
17387
+ const peg$e127 = peg$literalExpectation("olive", false);
17388
+ const peg$e128 = peg$literalExpectation("orange", false);
17389
+ const peg$e129 = peg$literalExpectation("pink", false);
17390
+ const peg$e130 = peg$literalExpectation("purple", false);
17391
+ const peg$e131 = peg$literalExpectation("red", false);
17392
+ const peg$e132 = peg$literalExpectation("silver", false);
17393
+ const peg$e133 = peg$literalExpectation("teal", false);
17394
+ const peg$e134 = peg$literalExpectation("violet", false);
17395
+ const peg$e135 = peg$literalExpectation("white", false);
17396
+ const peg$e136 = peg$literalExpectation("yellow", false);
17397
+ const peg$e137 = peg$literalExpectation("*", false);
17398
+ const peg$e138 = peg$literalExpectation("_", false);
17399
+ const peg$e139 = peg$literalExpectation("`", false);
17400
+ const peg$e140 = peg$literalExpectation("!", false);
17401
+ const peg$e141 = peg$literalExpectation("[!", false);
17402
+ const peg$e142 = peg$literalExpectation("]", false);
17403
+ const peg$e143 = peg$otherExpectation("Line Terminator");
17404
+ const peg$e144 = peg$literalExpectation("\n", false);
17405
+ const peg$e145 = peg$literalExpectation("\r\n", false);
17406
+ const peg$e146 = peg$classExpectation(["\r", ["\u2028", "\u2029"]], false, false, false);
17407
+ const peg$e147 = peg$classExpectation(["\n", "\r", "\u2028", "\u2029"], true, false, false);
17408
+ const peg$e148 = peg$literalExpectation("http", false);
17409
+ const peg$e149 = peg$literalExpectation("s", false);
17410
+ const peg$e150 = peg$literalExpectation("://", false);
17411
+ const peg$e151 = peg$literalExpectation("mailto:", false);
17412
+ const peg$e152 = peg$classExpectation(["!", ["#", ";"], "=", ["?", "["], ["]", "_"], ["a", "{"], ["}", "~"]], false, false, false);
17300
17413
  function peg$f0() {
17301
17414
  return VERSION;
17302
17415
  }
@@ -17572,7 +17685,7 @@ function peg$parse(input, options) {
17572
17685
  return { attrs: { formula: unbreakscape(t) }, type: "latex" };
17573
17686
  }
17574
17687
  function peg$f57(alt, u, ch) {
17575
- return { attrs: { alt, src: (u.pr + u.t).trim(), ...Object.assign({}, ...ch), zoomDisabled: true }, type: "imageInline" };
17688
+ return { attrs: { alt, src: (u.pr + u.t).trim(), "alignmentVertical": "top", size: "line-height", ...Object.assign({}, ...ch), zoomDisabled: true }, type: "imageInline" };
17576
17689
  }
17577
17690
  function peg$f58(t, marks) {
17578
17691
  if (!marks) marks = [];
@@ -17651,59 +17764,62 @@ function peg$parse(input, options) {
17651
17764
  function peg$f82(lang) {
17652
17765
  return { type: "code", attrs: { language: lang.trim().toLowerCase() } };
17653
17766
  }
17654
- function peg$f83() {
17655
- return { type: "timer", attrs: { name: "" } };
17767
+ function peg$f83(d) {
17768
+ return { type: "timer", attrs: { name: "", duration: d.trim() } };
17656
17769
  }
17657
- function peg$f84(str) {
17658
- return { type: "timer", attrs: { name: str.trim() } };
17770
+ function peg$f84(str, d) {
17771
+ return { type: "timer", attrs: { name: str.trim(), duration: d.trim() } };
17659
17772
  }
17660
- function peg$f85(str) {
17661
- return { type: "duration", attrs: { duration: str } };
17773
+ function peg$f85(color) {
17774
+ return { type: "highlight", attrs: { color } };
17662
17775
  }
17663
17776
  function peg$f86(color) {
17664
- return { type: "color", attrs: { color } };
17777
+ return { type: "userHighlight", attrs: { color } };
17665
17778
  }
17666
- function peg$f87(str) {
17779
+ function peg$f87(color) {
17780
+ return { type: "textStyle", attrs: { color } };
17781
+ }
17782
+ function peg$f88(str) {
17667
17783
  return { type: "colorPicker", attrs: { propertyRef: str.trim() } };
17668
17784
  }
17669
- function peg$f88(style) {
17785
+ function peg$f89(style) {
17670
17786
  return { type: style };
17671
17787
  }
17672
- function peg$f89(str) {
17788
+ function peg$f90(str) {
17673
17789
  return { type: "comment", comment: str };
17674
17790
  }
17675
- function peg$f90(r) {
17791
+ function peg$f91(r) {
17676
17792
  return r.trim();
17677
17793
  }
17678
- function peg$f91(bs) {
17794
+ function peg$f92(bs) {
17679
17795
  return [{ type: "paragraph", content: bs, attrs: {} }];
17680
17796
  }
17681
- function peg$f92(first, more) {
17797
+ function peg$f93(first, more) {
17682
17798
  const cleaned_ = cleanEmptyTextNodes(first ? [first, ...more.flat()] : more.flat());
17683
17799
  return cleaned_;
17684
17800
  }
17685
- function peg$f93() {
17801
+ function peg$f94() {
17686
17802
  return { "type": "hardBreak" };
17687
17803
  }
17688
- function peg$f94(t) {
17804
+ function peg$f95(t) {
17689
17805
  return { text: unbreakscape(t), type: "text" };
17690
17806
  }
17691
- function peg$f95(t) {
17807
+ function peg$f96(t) {
17692
17808
  return { index: +t, type: "bit" };
17693
17809
  }
17694
- function peg$f96(t) {
17810
+ function peg$f97(t) {
17695
17811
  return { marks: [{ type: "bold" }], text: unbreakscape(t), type: "text" };
17696
17812
  }
17697
- function peg$f97(t) {
17813
+ function peg$f98(t) {
17698
17814
  return { marks: [{ type: "italic" }], text: unbreakscape(t), type: "text" };
17699
17815
  }
17700
- function peg$f98(t) {
17816
+ function peg$f99(t) {
17701
17817
  return { marks: [{ type: "light" }], text: unbreakscape(t), type: "text" };
17702
17818
  }
17703
- function peg$f99(t) {
17819
+ function peg$f100(t) {
17704
17820
  return { marks: [{ type: "highlight" }], text: unbreakscape(t), type: "text" };
17705
17821
  }
17706
- function peg$f100(pr, t) {
17822
+ function peg$f101(pr, t) {
17707
17823
  return { pr, t };
17708
17824
  }
17709
17825
  let peg$currPos = options.peg$currPos | 0;
@@ -22573,7 +22689,7 @@ function peg$parse(input, options) {
22573
22689
  return s0;
22574
22690
  }
22575
22691
  function peg$parseAttrChainItem() {
22576
- let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
22692
+ let s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;
22577
22693
  s0 = peg$currPos;
22578
22694
  if (input.substr(peg$currPos, 5) === peg$c52) {
22579
22695
  s1 = peg$c52;
@@ -23541,8 +23657,110 @@ function peg$parse(input, options) {
23541
23657
  if (s1 !== peg$FAILED) {
23542
23658
  s2 = peg$parseBlockTag();
23543
23659
  if (s2 !== peg$FAILED) {
23544
- peg$savedPos = s0;
23545
- s0 = peg$f83();
23660
+ if (input.substr(peg$currPos, 9) === peg$c63) {
23661
+ s3 = peg$c63;
23662
+ peg$currPos += 9;
23663
+ } else {
23664
+ s3 = peg$FAILED;
23665
+ if (peg$silentFails === 0) {
23666
+ peg$fail(peg$e67);
23667
+ }
23668
+ }
23669
+ if (s3 !== peg$FAILED) {
23670
+ s4 = peg$currPos;
23671
+ s5 = peg$currPos;
23672
+ if (input.charCodeAt(peg$currPos) === 80) {
23673
+ s6 = peg$c64;
23674
+ peg$currPos++;
23675
+ } else {
23676
+ s6 = peg$FAILED;
23677
+ if (peg$silentFails === 0) {
23678
+ peg$fail(peg$e68);
23679
+ }
23680
+ }
23681
+ if (s6 !== peg$FAILED) {
23682
+ s7 = peg$currPos;
23683
+ s8 = [];
23684
+ s9 = peg$currPos;
23685
+ s10 = peg$currPos;
23686
+ peg$silentFails++;
23687
+ s11 = peg$parseBlockTag();
23688
+ peg$silentFails--;
23689
+ if (s11 === peg$FAILED) {
23690
+ s10 = void 0;
23691
+ } else {
23692
+ peg$currPos = s10;
23693
+ s10 = peg$FAILED;
23694
+ }
23695
+ if (s10 !== peg$FAILED) {
23696
+ s11 = peg$parsechar();
23697
+ if (s11 !== peg$FAILED) {
23698
+ s10 = [s10, s11];
23699
+ s9 = s10;
23700
+ } else {
23701
+ peg$currPos = s9;
23702
+ s9 = peg$FAILED;
23703
+ }
23704
+ } else {
23705
+ peg$currPos = s9;
23706
+ s9 = peg$FAILED;
23707
+ }
23708
+ while (s9 !== peg$FAILED) {
23709
+ s8.push(s9);
23710
+ s9 = peg$currPos;
23711
+ s10 = peg$currPos;
23712
+ peg$silentFails++;
23713
+ s11 = peg$parseBlockTag();
23714
+ peg$silentFails--;
23715
+ if (s11 === peg$FAILED) {
23716
+ s10 = void 0;
23717
+ } else {
23718
+ peg$currPos = s10;
23719
+ s10 = peg$FAILED;
23720
+ }
23721
+ if (s10 !== peg$FAILED) {
23722
+ s11 = peg$parsechar();
23723
+ if (s11 !== peg$FAILED) {
23724
+ s10 = [s10, s11];
23725
+ s9 = s10;
23726
+ } else {
23727
+ peg$currPos = s9;
23728
+ s9 = peg$FAILED;
23729
+ }
23730
+ } else {
23731
+ peg$currPos = s9;
23732
+ s9 = peg$FAILED;
23733
+ }
23734
+ }
23735
+ s7 = input.substring(s7, peg$currPos);
23736
+ s6 = [s6, s7];
23737
+ s5 = s6;
23738
+ } else {
23739
+ peg$currPos = s5;
23740
+ s5 = peg$FAILED;
23741
+ }
23742
+ if (s5 !== peg$FAILED) {
23743
+ s4 = input.substring(s4, peg$currPos);
23744
+ } else {
23745
+ s4 = s5;
23746
+ }
23747
+ if (s4 !== peg$FAILED) {
23748
+ s5 = peg$parseBlockTag();
23749
+ if (s5 !== peg$FAILED) {
23750
+ peg$savedPos = s0;
23751
+ s0 = peg$f83(s4);
23752
+ } else {
23753
+ peg$currPos = s0;
23754
+ s0 = peg$FAILED;
23755
+ }
23756
+ } else {
23757
+ peg$currPos = s0;
23758
+ s0 = peg$FAILED;
23759
+ }
23760
+ } else {
23761
+ peg$currPos = s0;
23762
+ s0 = peg$FAILED;
23763
+ }
23546
23764
  } else {
23547
23765
  peg$currPos = s0;
23548
23766
  s0 = peg$FAILED;
@@ -23553,13 +23771,13 @@ function peg$parse(input, options) {
23553
23771
  }
23554
23772
  if (s0 === peg$FAILED) {
23555
23773
  s0 = peg$currPos;
23556
- if (input.substr(peg$currPos, 6) === peg$c63) {
23557
- s1 = peg$c63;
23774
+ if (input.substr(peg$currPos, 6) === peg$c65) {
23775
+ s1 = peg$c65;
23558
23776
  peg$currPos += 6;
23559
23777
  } else {
23560
23778
  s1 = peg$FAILED;
23561
23779
  if (peg$silentFails === 0) {
23562
- peg$fail(peg$e67);
23780
+ peg$fail(peg$e69);
23563
23781
  }
23564
23782
  }
23565
23783
  if (s1 !== peg$FAILED) {
@@ -23619,110 +23837,156 @@ function peg$parse(input, options) {
23619
23837
  s2 = input.substring(s2, peg$currPos);
23620
23838
  s3 = peg$parseBlockTag();
23621
23839
  if (s3 !== peg$FAILED) {
23622
- peg$savedPos = s0;
23623
- s0 = peg$f84(s2);
23624
- } else {
23625
- peg$currPos = s0;
23626
- s0 = peg$FAILED;
23627
- }
23628
- } else {
23629
- peg$currPos = s0;
23630
- s0 = peg$FAILED;
23631
- }
23632
- if (s0 === peg$FAILED) {
23633
- s0 = peg$currPos;
23634
- if (input.substr(peg$currPos, 9) === peg$c64) {
23635
- s1 = peg$c64;
23636
- peg$currPos += 9;
23637
- } else {
23638
- s1 = peg$FAILED;
23639
- if (peg$silentFails === 0) {
23640
- peg$fail(peg$e68);
23641
- }
23642
- }
23643
- if (s1 !== peg$FAILED) {
23644
- s2 = peg$currPos;
23645
- s3 = peg$currPos;
23646
- if (input.charCodeAt(peg$currPos) === 80) {
23647
- s4 = peg$c65;
23648
- peg$currPos++;
23840
+ if (input.substr(peg$currPos, 9) === peg$c63) {
23841
+ s4 = peg$c63;
23842
+ peg$currPos += 9;
23649
23843
  } else {
23650
23844
  s4 = peg$FAILED;
23651
23845
  if (peg$silentFails === 0) {
23652
- peg$fail(peg$e69);
23846
+ peg$fail(peg$e67);
23653
23847
  }
23654
23848
  }
23655
23849
  if (s4 !== peg$FAILED) {
23656
23850
  s5 = peg$currPos;
23657
- s6 = [];
23658
- s7 = peg$currPos;
23659
- s8 = peg$currPos;
23660
- peg$silentFails++;
23661
- s9 = peg$parseBlockTag();
23662
- peg$silentFails--;
23663
- if (s9 === peg$FAILED) {
23664
- s8 = void 0;
23851
+ s6 = peg$currPos;
23852
+ if (input.charCodeAt(peg$currPos) === 80) {
23853
+ s7 = peg$c64;
23854
+ peg$currPos++;
23665
23855
  } else {
23666
- peg$currPos = s8;
23667
- s8 = peg$FAILED;
23668
- }
23669
- if (s8 !== peg$FAILED) {
23670
- s9 = peg$parsechar();
23671
- if (s9 !== peg$FAILED) {
23672
- s8 = [s8, s9];
23673
- s7 = s8;
23674
- } else {
23675
- peg$currPos = s7;
23676
- s7 = peg$FAILED;
23677
- }
23678
- } else {
23679
- peg$currPos = s7;
23680
23856
  s7 = peg$FAILED;
23857
+ if (peg$silentFails === 0) {
23858
+ peg$fail(peg$e68);
23859
+ }
23681
23860
  }
23682
- while (s7 !== peg$FAILED) {
23683
- s6.push(s7);
23684
- s7 = peg$currPos;
23861
+ if (s7 !== peg$FAILED) {
23685
23862
  s8 = peg$currPos;
23863
+ s9 = [];
23864
+ s10 = peg$currPos;
23865
+ s11 = peg$currPos;
23686
23866
  peg$silentFails++;
23687
- s9 = peg$parseBlockTag();
23867
+ s12 = peg$parseBlockTag();
23688
23868
  peg$silentFails--;
23689
- if (s9 === peg$FAILED) {
23690
- s8 = void 0;
23869
+ if (s12 === peg$FAILED) {
23870
+ s11 = void 0;
23691
23871
  } else {
23692
- peg$currPos = s8;
23693
- s8 = peg$FAILED;
23872
+ peg$currPos = s11;
23873
+ s11 = peg$FAILED;
23694
23874
  }
23695
- if (s8 !== peg$FAILED) {
23696
- s9 = peg$parsechar();
23697
- if (s9 !== peg$FAILED) {
23698
- s8 = [s8, s9];
23699
- s7 = s8;
23875
+ if (s11 !== peg$FAILED) {
23876
+ s12 = peg$parsechar();
23877
+ if (s12 !== peg$FAILED) {
23878
+ s11 = [s11, s12];
23879
+ s10 = s11;
23700
23880
  } else {
23701
- peg$currPos = s7;
23702
- s7 = peg$FAILED;
23881
+ peg$currPos = s10;
23882
+ s10 = peg$FAILED;
23703
23883
  }
23704
23884
  } else {
23705
- peg$currPos = s7;
23706
- s7 = peg$FAILED;
23885
+ peg$currPos = s10;
23886
+ s10 = peg$FAILED;
23887
+ }
23888
+ while (s10 !== peg$FAILED) {
23889
+ s9.push(s10);
23890
+ s10 = peg$currPos;
23891
+ s11 = peg$currPos;
23892
+ peg$silentFails++;
23893
+ s12 = peg$parseBlockTag();
23894
+ peg$silentFails--;
23895
+ if (s12 === peg$FAILED) {
23896
+ s11 = void 0;
23897
+ } else {
23898
+ peg$currPos = s11;
23899
+ s11 = peg$FAILED;
23900
+ }
23901
+ if (s11 !== peg$FAILED) {
23902
+ s12 = peg$parsechar();
23903
+ if (s12 !== peg$FAILED) {
23904
+ s11 = [s11, s12];
23905
+ s10 = s11;
23906
+ } else {
23907
+ peg$currPos = s10;
23908
+ s10 = peg$FAILED;
23909
+ }
23910
+ } else {
23911
+ peg$currPos = s10;
23912
+ s10 = peg$FAILED;
23913
+ }
23707
23914
  }
23915
+ s8 = input.substring(s8, peg$currPos);
23916
+ s7 = [s7, s8];
23917
+ s6 = s7;
23918
+ } else {
23919
+ peg$currPos = s6;
23920
+ s6 = peg$FAILED;
23921
+ }
23922
+ if (s6 !== peg$FAILED) {
23923
+ s5 = input.substring(s5, peg$currPos);
23924
+ } else {
23925
+ s5 = s6;
23926
+ }
23927
+ if (s5 !== peg$FAILED) {
23928
+ s6 = peg$parseBlockTag();
23929
+ if (s6 !== peg$FAILED) {
23930
+ peg$savedPos = s0;
23931
+ s0 = peg$f84(s2, s5);
23932
+ } else {
23933
+ peg$currPos = s0;
23934
+ s0 = peg$FAILED;
23935
+ }
23936
+ } else {
23937
+ peg$currPos = s0;
23938
+ s0 = peg$FAILED;
23708
23939
  }
23709
- s5 = input.substring(s5, peg$currPos);
23710
- s4 = [s4, s5];
23711
- s3 = s4;
23712
23940
  } else {
23713
- peg$currPos = s3;
23714
- s3 = peg$FAILED;
23941
+ peg$currPos = s0;
23942
+ s0 = peg$FAILED;
23715
23943
  }
23716
- if (s3 !== peg$FAILED) {
23717
- s2 = input.substring(s2, peg$currPos);
23718
- } else {
23719
- s2 = s3;
23944
+ } else {
23945
+ peg$currPos = s0;
23946
+ s0 = peg$FAILED;
23947
+ }
23948
+ } else {
23949
+ peg$currPos = s0;
23950
+ s0 = peg$FAILED;
23951
+ }
23952
+ if (s0 === peg$FAILED) {
23953
+ s0 = peg$currPos;
23954
+ if (input.substr(peg$currPos, 9) === peg$c66) {
23955
+ s1 = peg$c66;
23956
+ peg$currPos += 9;
23957
+ } else {
23958
+ s1 = peg$FAILED;
23959
+ if (peg$silentFails === 0) {
23960
+ peg$fail(peg$e70);
23720
23961
  }
23962
+ }
23963
+ if (s1 !== peg$FAILED) {
23964
+ s2 = peg$parseBlockTag();
23721
23965
  if (s2 !== peg$FAILED) {
23722
- s3 = peg$parseBlockTag();
23966
+ if (input.substr(peg$currPos, 6) === peg$c67) {
23967
+ s3 = peg$c67;
23968
+ peg$currPos += 6;
23969
+ } else {
23970
+ s3 = peg$FAILED;
23971
+ if (peg$silentFails === 0) {
23972
+ peg$fail(peg$e71);
23973
+ }
23974
+ }
23723
23975
  if (s3 !== peg$FAILED) {
23724
- peg$savedPos = s0;
23725
- s0 = peg$f85(s2);
23976
+ s4 = peg$parseHighlightColor();
23977
+ if (s4 !== peg$FAILED) {
23978
+ s5 = peg$parseBlockTag();
23979
+ if (s5 !== peg$FAILED) {
23980
+ peg$savedPos = s0;
23981
+ s0 = peg$f85(s4);
23982
+ } else {
23983
+ peg$currPos = s0;
23984
+ s0 = peg$FAILED;
23985
+ }
23986
+ } else {
23987
+ peg$currPos = s0;
23988
+ s0 = peg$FAILED;
23989
+ }
23726
23990
  } else {
23727
23991
  peg$currPos = s0;
23728
23992
  s0 = peg$FAILED;
@@ -23737,22 +24001,42 @@ function peg$parse(input, options) {
23737
24001
  }
23738
24002
  if (s0 === peg$FAILED) {
23739
24003
  s0 = peg$currPos;
23740
- if (input.substr(peg$currPos, 6) === peg$c66) {
23741
- s1 = peg$c66;
23742
- peg$currPos += 6;
24004
+ if (input.substr(peg$currPos, 13) === peg$c68) {
24005
+ s1 = peg$c68;
24006
+ peg$currPos += 13;
23743
24007
  } else {
23744
24008
  s1 = peg$FAILED;
23745
24009
  if (peg$silentFails === 0) {
23746
- peg$fail(peg$e70);
24010
+ peg$fail(peg$e72);
23747
24011
  }
23748
24012
  }
23749
24013
  if (s1 !== peg$FAILED) {
23750
- s2 = peg$parseColor();
24014
+ s2 = peg$parseBlockTag();
23751
24015
  if (s2 !== peg$FAILED) {
23752
- s3 = peg$parseBlockTag();
24016
+ if (input.substr(peg$currPos, 6) === peg$c67) {
24017
+ s3 = peg$c67;
24018
+ peg$currPos += 6;
24019
+ } else {
24020
+ s3 = peg$FAILED;
24021
+ if (peg$silentFails === 0) {
24022
+ peg$fail(peg$e71);
24023
+ }
24024
+ }
23753
24025
  if (s3 !== peg$FAILED) {
23754
- peg$savedPos = s0;
23755
- s0 = peg$f86(s2);
24026
+ s4 = peg$parseHighlightColor();
24027
+ if (s4 !== peg$FAILED) {
24028
+ s5 = peg$parseBlockTag();
24029
+ if (s5 !== peg$FAILED) {
24030
+ peg$savedPos = s0;
24031
+ s0 = peg$f86(s4);
24032
+ } else {
24033
+ peg$currPos = s0;
24034
+ s0 = peg$FAILED;
24035
+ }
24036
+ } else {
24037
+ peg$currPos = s0;
24038
+ s0 = peg$FAILED;
24039
+ }
23756
24040
  } else {
23757
24041
  peg$currPos = s0;
23758
24042
  s0 = peg$FAILED;
@@ -23767,9 +24051,9 @@ function peg$parse(input, options) {
23767
24051
  }
23768
24052
  if (s0 === peg$FAILED) {
23769
24053
  s0 = peg$currPos;
23770
- if (input.substr(peg$currPos, 12) === peg$c67) {
24054
+ if (input.substr(peg$currPos, 6) === peg$c67) {
23771
24055
  s1 = peg$c67;
23772
- peg$currPos += 12;
24056
+ peg$currPos += 6;
23773
24057
  } else {
23774
24058
  s1 = peg$FAILED;
23775
24059
  if (peg$silentFails === 0) {
@@ -23777,34 +24061,38 @@ function peg$parse(input, options) {
23777
24061
  }
23778
24062
  }
23779
24063
  if (s1 !== peg$FAILED) {
23780
- s2 = peg$currPos;
23781
- s3 = [];
23782
- s4 = peg$currPos;
23783
- s5 = peg$currPos;
23784
- peg$silentFails++;
23785
- s6 = peg$parseBlockTag();
23786
- peg$silentFails--;
23787
- if (s6 === peg$FAILED) {
23788
- s5 = void 0;
23789
- } else {
23790
- peg$currPos = s5;
23791
- s5 = peg$FAILED;
23792
- }
23793
- if (s5 !== peg$FAILED) {
23794
- s6 = peg$parsechar();
23795
- if (s6 !== peg$FAILED) {
23796
- s5 = [s5, s6];
23797
- s4 = s5;
24064
+ s2 = peg$parseColor();
24065
+ if (s2 !== peg$FAILED) {
24066
+ s3 = peg$parseBlockTag();
24067
+ if (s3 !== peg$FAILED) {
24068
+ peg$savedPos = s0;
24069
+ s0 = peg$f87(s2);
23798
24070
  } else {
23799
- peg$currPos = s4;
23800
- s4 = peg$FAILED;
24071
+ peg$currPos = s0;
24072
+ s0 = peg$FAILED;
23801
24073
  }
23802
24074
  } else {
23803
- peg$currPos = s4;
23804
- s4 = peg$FAILED;
24075
+ peg$currPos = s0;
24076
+ s0 = peg$FAILED;
24077
+ }
24078
+ } else {
24079
+ peg$currPos = s0;
24080
+ s0 = peg$FAILED;
24081
+ }
24082
+ if (s0 === peg$FAILED) {
24083
+ s0 = peg$currPos;
24084
+ if (input.substr(peg$currPos, 12) === peg$c69) {
24085
+ s1 = peg$c69;
24086
+ peg$currPos += 12;
24087
+ } else {
24088
+ s1 = peg$FAILED;
24089
+ if (peg$silentFails === 0) {
24090
+ peg$fail(peg$e73);
24091
+ }
23805
24092
  }
23806
- while (s4 !== peg$FAILED) {
23807
- s3.push(s4);
24093
+ if (s1 !== peg$FAILED) {
24094
+ s2 = peg$currPos;
24095
+ s3 = [];
23808
24096
  s4 = peg$currPos;
23809
24097
  s5 = peg$currPos;
23810
24098
  peg$silentFails++;
@@ -23829,50 +24117,8 @@ function peg$parse(input, options) {
23829
24117
  peg$currPos = s4;
23830
24118
  s4 = peg$FAILED;
23831
24119
  }
23832
- }
23833
- s2 = input.substring(s2, peg$currPos);
23834
- s3 = peg$parseBlockTag();
23835
- if (s3 !== peg$FAILED) {
23836
- peg$savedPos = s0;
23837
- s0 = peg$f87(s2);
23838
- } else {
23839
- peg$currPos = s0;
23840
- s0 = peg$FAILED;
23841
- }
23842
- } else {
23843
- peg$currPos = s0;
23844
- s0 = peg$FAILED;
23845
- }
23846
- if (s0 === peg$FAILED) {
23847
- s0 = peg$currPos;
23848
- s1 = peg$parseAlternativeStyleTags();
23849
- if (s1 !== peg$FAILED) {
23850
- s2 = peg$parseBlockTag();
23851
- if (s2 !== peg$FAILED) {
23852
- peg$savedPos = s0;
23853
- s0 = peg$f88(s1);
23854
- } else {
23855
- peg$currPos = s0;
23856
- s0 = peg$FAILED;
23857
- }
23858
- } else {
23859
- peg$currPos = s0;
23860
- s0 = peg$FAILED;
23861
- }
23862
- if (s0 === peg$FAILED) {
23863
- s0 = peg$currPos;
23864
- if (input.charCodeAt(peg$currPos) === 35) {
23865
- s1 = peg$c21;
23866
- peg$currPos++;
23867
- } else {
23868
- s1 = peg$FAILED;
23869
- if (peg$silentFails === 0) {
23870
- peg$fail(peg$e25);
23871
- }
23872
- }
23873
- if (s1 !== peg$FAILED) {
23874
- s2 = peg$currPos;
23875
- s3 = [];
24120
+ while (s4 !== peg$FAILED) {
24121
+ s3.push(s4);
23876
24122
  s4 = peg$currPos;
23877
24123
  s5 = peg$currPos;
23878
24124
  peg$silentFails++;
@@ -23897,8 +24143,50 @@ function peg$parse(input, options) {
23897
24143
  peg$currPos = s4;
23898
24144
  s4 = peg$FAILED;
23899
24145
  }
23900
- while (s4 !== peg$FAILED) {
23901
- s3.push(s4);
24146
+ }
24147
+ s2 = input.substring(s2, peg$currPos);
24148
+ s3 = peg$parseBlockTag();
24149
+ if (s3 !== peg$FAILED) {
24150
+ peg$savedPos = s0;
24151
+ s0 = peg$f88(s2);
24152
+ } else {
24153
+ peg$currPos = s0;
24154
+ s0 = peg$FAILED;
24155
+ }
24156
+ } else {
24157
+ peg$currPos = s0;
24158
+ s0 = peg$FAILED;
24159
+ }
24160
+ if (s0 === peg$FAILED) {
24161
+ s0 = peg$currPos;
24162
+ s1 = peg$parseAlternativeStyleTags();
24163
+ if (s1 !== peg$FAILED) {
24164
+ s2 = peg$parseBlockTag();
24165
+ if (s2 !== peg$FAILED) {
24166
+ peg$savedPos = s0;
24167
+ s0 = peg$f89(s1);
24168
+ } else {
24169
+ peg$currPos = s0;
24170
+ s0 = peg$FAILED;
24171
+ }
24172
+ } else {
24173
+ peg$currPos = s0;
24174
+ s0 = peg$FAILED;
24175
+ }
24176
+ if (s0 === peg$FAILED) {
24177
+ s0 = peg$currPos;
24178
+ if (input.charCodeAt(peg$currPos) === 35) {
24179
+ s1 = peg$c21;
24180
+ peg$currPos++;
24181
+ } else {
24182
+ s1 = peg$FAILED;
24183
+ if (peg$silentFails === 0) {
24184
+ peg$fail(peg$e25);
24185
+ }
24186
+ }
24187
+ if (s1 !== peg$FAILED) {
24188
+ s2 = peg$currPos;
24189
+ s3 = [];
23902
24190
  s4 = peg$currPos;
23903
24191
  s5 = peg$currPos;
23904
24192
  peg$silentFails++;
@@ -23923,19 +24211,46 @@ function peg$parse(input, options) {
23923
24211
  peg$currPos = s4;
23924
24212
  s4 = peg$FAILED;
23925
24213
  }
23926
- }
23927
- s2 = input.substring(s2, peg$currPos);
23928
- s3 = peg$parseBlockTag();
23929
- if (s3 !== peg$FAILED) {
23930
- peg$savedPos = s0;
23931
- s0 = peg$f89(s2);
24214
+ while (s4 !== peg$FAILED) {
24215
+ s3.push(s4);
24216
+ s4 = peg$currPos;
24217
+ s5 = peg$currPos;
24218
+ peg$silentFails++;
24219
+ s6 = peg$parseBlockTag();
24220
+ peg$silentFails--;
24221
+ if (s6 === peg$FAILED) {
24222
+ s5 = void 0;
24223
+ } else {
24224
+ peg$currPos = s5;
24225
+ s5 = peg$FAILED;
24226
+ }
24227
+ if (s5 !== peg$FAILED) {
24228
+ s6 = peg$parsechar();
24229
+ if (s6 !== peg$FAILED) {
24230
+ s5 = [s5, s6];
24231
+ s4 = s5;
24232
+ } else {
24233
+ peg$currPos = s4;
24234
+ s4 = peg$FAILED;
24235
+ }
24236
+ } else {
24237
+ peg$currPos = s4;
24238
+ s4 = peg$FAILED;
24239
+ }
24240
+ }
24241
+ s2 = input.substring(s2, peg$currPos);
24242
+ s3 = peg$parseBlockTag();
24243
+ if (s3 !== peg$FAILED) {
24244
+ peg$savedPos = s0;
24245
+ s0 = peg$f90(s2);
24246
+ } else {
24247
+ peg$currPos = s0;
24248
+ s0 = peg$FAILED;
24249
+ }
23932
24250
  } else {
23933
24251
  peg$currPos = s0;
23934
24252
  s0 = peg$FAILED;
23935
24253
  }
23936
- } else {
23937
- peg$currPos = s0;
23938
- s0 = peg$FAILED;
23939
24254
  }
23940
24255
  }
23941
24256
  }
@@ -23969,13 +24284,13 @@ function peg$parse(input, options) {
23969
24284
  function peg$parseRef() {
23970
24285
  let s0, s1, s2, s3, s4, s5, s6;
23971
24286
  s0 = peg$currPos;
23972
- if (input.substr(peg$currPos, 2) === peg$c68) {
23973
- s1 = peg$c68;
24287
+ if (input.substr(peg$currPos, 2) === peg$c70) {
24288
+ s1 = peg$c70;
23974
24289
  peg$currPos += 2;
23975
24290
  } else {
23976
24291
  s1 = peg$FAILED;
23977
24292
  if (peg$silentFails === 0) {
23978
- peg$fail(peg$e72);
24293
+ peg$fail(peg$e74);
23979
24294
  }
23980
24295
  }
23981
24296
  if (s1 !== peg$FAILED) {
@@ -24034,7 +24349,7 @@ function peg$parse(input, options) {
24034
24349
  }
24035
24350
  s2 = input.substring(s2, peg$currPos);
24036
24351
  peg$savedPos = s0;
24037
- s0 = peg$f90(s2);
24352
+ s0 = peg$f91(s2);
24038
24353
  } else {
24039
24354
  peg$currPos = s0;
24040
24355
  s0 = peg$FAILED;
@@ -24043,403 +24358,414 @@ function peg$parse(input, options) {
24043
24358
  }
24044
24359
  function peg$parseAlternativeStyleTags() {
24045
24360
  let s0;
24046
- if (input.substr(peg$currPos, 4) === peg$c69) {
24047
- s0 = peg$c69;
24361
+ if (input.substr(peg$currPos, 4) === peg$c71) {
24362
+ s0 = peg$c71;
24048
24363
  peg$currPos += 4;
24049
24364
  } else {
24050
24365
  s0 = peg$FAILED;
24051
24366
  if (peg$silentFails === 0) {
24052
- peg$fail(peg$e73);
24367
+ peg$fail(peg$e75);
24053
24368
  }
24054
24369
  }
24055
24370
  if (s0 === peg$FAILED) {
24056
- if (input.substr(peg$currPos, 6) === peg$c70) {
24057
- s0 = peg$c70;
24371
+ if (input.substr(peg$currPos, 6) === peg$c72) {
24372
+ s0 = peg$c72;
24058
24373
  peg$currPos += 6;
24059
24374
  } else {
24060
24375
  s0 = peg$FAILED;
24061
24376
  if (peg$silentFails === 0) {
24062
- peg$fail(peg$e74);
24377
+ peg$fail(peg$e76);
24063
24378
  }
24064
24379
  }
24065
24380
  if (s0 === peg$FAILED) {
24066
- if (input.substr(peg$currPos, 5) === peg$c71) {
24067
- s0 = peg$c71;
24381
+ if (input.substr(peg$currPos, 5) === peg$c73) {
24382
+ s0 = peg$c73;
24068
24383
  peg$currPos += 5;
24069
24384
  } else {
24070
24385
  s0 = peg$FAILED;
24071
24386
  if (peg$silentFails === 0) {
24072
- peg$fail(peg$e75);
24387
+ peg$fail(peg$e77);
24073
24388
  }
24074
24389
  }
24075
24390
  if (s0 === peg$FAILED) {
24076
- if (input.substr(peg$currPos, 15) === peg$c72) {
24077
- s0 = peg$c72;
24391
+ if (input.substr(peg$currPos, 15) === peg$c74) {
24392
+ s0 = peg$c74;
24078
24393
  peg$currPos += 15;
24079
24394
  } else {
24080
24395
  s0 = peg$FAILED;
24081
24396
  if (peg$silentFails === 0) {
24082
- peg$fail(peg$e76);
24397
+ peg$fail(peg$e78);
24083
24398
  }
24084
24399
  }
24085
24400
  if (s0 === peg$FAILED) {
24086
- if (input.substr(peg$currPos, 15) === peg$c73) {
24087
- s0 = peg$c73;
24401
+ if (input.substr(peg$currPos, 15) === peg$c75) {
24402
+ s0 = peg$c75;
24088
24403
  peg$currPos += 15;
24089
24404
  } else {
24090
24405
  s0 = peg$FAILED;
24091
24406
  if (peg$silentFails === 0) {
24092
- peg$fail(peg$e77);
24407
+ peg$fail(peg$e79);
24093
24408
  }
24094
24409
  }
24095
24410
  if (s0 === peg$FAILED) {
24096
- if (input.substr(peg$currPos, 14) === peg$c74) {
24097
- s0 = peg$c74;
24411
+ if (input.substr(peg$currPos, 14) === peg$c76) {
24412
+ s0 = peg$c76;
24098
24413
  peg$currPos += 14;
24099
24414
  } else {
24100
24415
  s0 = peg$FAILED;
24101
24416
  if (peg$silentFails === 0) {
24102
- peg$fail(peg$e78);
24417
+ peg$fail(peg$e80);
24103
24418
  }
24104
24419
  }
24105
24420
  if (s0 === peg$FAILED) {
24106
- if (input.substr(peg$currPos, 13) === peg$c75) {
24107
- s0 = peg$c75;
24421
+ if (input.substr(peg$currPos, 13) === peg$c77) {
24422
+ s0 = peg$c77;
24108
24423
  peg$currPos += 13;
24109
24424
  } else {
24110
24425
  s0 = peg$FAILED;
24111
24426
  if (peg$silentFails === 0) {
24112
- peg$fail(peg$e79);
24427
+ peg$fail(peg$e81);
24113
24428
  }
24114
24429
  }
24115
24430
  if (s0 === peg$FAILED) {
24116
- if (input.substr(peg$currPos, 15) === peg$c76) {
24117
- s0 = peg$c76;
24431
+ if (input.substr(peg$currPos, 15) === peg$c78) {
24432
+ s0 = peg$c78;
24118
24433
  peg$currPos += 15;
24119
24434
  } else {
24120
24435
  s0 = peg$FAILED;
24121
24436
  if (peg$silentFails === 0) {
24122
- peg$fail(peg$e80);
24437
+ peg$fail(peg$e82);
24123
24438
  }
24124
24439
  }
24125
24440
  if (s0 === peg$FAILED) {
24126
- if (input.substr(peg$currPos, 13) === peg$c77) {
24127
- s0 = peg$c77;
24441
+ if (input.substr(peg$currPos, 13) === peg$c79) {
24442
+ s0 = peg$c79;
24128
24443
  peg$currPos += 13;
24129
24444
  } else {
24130
24445
  s0 = peg$FAILED;
24131
24446
  if (peg$silentFails === 0) {
24132
- peg$fail(peg$e81);
24447
+ peg$fail(peg$e83);
24133
24448
  }
24134
24449
  }
24135
24450
  if (s0 === peg$FAILED) {
24136
- if (input.substr(peg$currPos, 14) === peg$c78) {
24137
- s0 = peg$c78;
24451
+ if (input.substr(peg$currPos, 14) === peg$c80) {
24452
+ s0 = peg$c80;
24138
24453
  peg$currPos += 14;
24139
24454
  } else {
24140
24455
  s0 = peg$FAILED;
24141
24456
  if (peg$silentFails === 0) {
24142
- peg$fail(peg$e82);
24457
+ peg$fail(peg$e84);
24143
24458
  }
24144
24459
  }
24145
24460
  if (s0 === peg$FAILED) {
24146
- if (input.substr(peg$currPos, 14) === peg$c79) {
24147
- s0 = peg$c79;
24461
+ if (input.substr(peg$currPos, 14) === peg$c81) {
24462
+ s0 = peg$c81;
24148
24463
  peg$currPos += 14;
24149
24464
  } else {
24150
24465
  s0 = peg$FAILED;
24151
24466
  if (peg$silentFails === 0) {
24152
- peg$fail(peg$e83);
24467
+ peg$fail(peg$e85);
24153
24468
  }
24154
24469
  }
24155
24470
  if (s0 === peg$FAILED) {
24156
- if (input.substr(peg$currPos, 14) === peg$c80) {
24157
- s0 = peg$c80;
24471
+ if (input.substr(peg$currPos, 14) === peg$c82) {
24472
+ s0 = peg$c82;
24158
24473
  peg$currPos += 14;
24159
24474
  } else {
24160
24475
  s0 = peg$FAILED;
24161
24476
  if (peg$silentFails === 0) {
24162
- peg$fail(peg$e84);
24477
+ peg$fail(peg$e86);
24163
24478
  }
24164
24479
  }
24165
24480
  if (s0 === peg$FAILED) {
24166
- if (input.substr(peg$currPos, 13) === peg$c81) {
24167
- s0 = peg$c81;
24481
+ if (input.substr(peg$currPos, 13) === peg$c83) {
24482
+ s0 = peg$c83;
24168
24483
  peg$currPos += 13;
24169
24484
  } else {
24170
24485
  s0 = peg$FAILED;
24171
24486
  if (peg$silentFails === 0) {
24172
- peg$fail(peg$e85);
24487
+ peg$fail(peg$e87);
24173
24488
  }
24174
24489
  }
24175
24490
  if (s0 === peg$FAILED) {
24176
- if (input.substr(peg$currPos, 9) === peg$c82) {
24177
- s0 = peg$c82;
24491
+ if (input.substr(peg$currPos, 9) === peg$c66) {
24492
+ s0 = peg$c66;
24178
24493
  peg$currPos += 9;
24179
24494
  } else {
24180
24495
  s0 = peg$FAILED;
24181
24496
  if (peg$silentFails === 0) {
24182
- peg$fail(peg$e86);
24497
+ peg$fail(peg$e70);
24183
24498
  }
24184
24499
  }
24185
24500
  if (s0 === peg$FAILED) {
24186
- if (input.substr(peg$currPos, 6) === peg$c83) {
24187
- s0 = peg$c83;
24501
+ if (input.substr(peg$currPos, 6) === peg$c84) {
24502
+ s0 = peg$c84;
24188
24503
  peg$currPos += 6;
24189
24504
  } else {
24190
24505
  s0 = peg$FAILED;
24191
24506
  if (peg$silentFails === 0) {
24192
- peg$fail(peg$e87);
24507
+ peg$fail(peg$e88);
24193
24508
  }
24194
24509
  }
24195
24510
  if (s0 === peg$FAILED) {
24196
- if (input.substr(peg$currPos, 9) === peg$c84) {
24197
- s0 = peg$c84;
24511
+ if (input.substr(peg$currPos, 9) === peg$c85) {
24512
+ s0 = peg$c85;
24198
24513
  peg$currPos += 9;
24199
24514
  } else {
24200
24515
  s0 = peg$FAILED;
24201
24516
  if (peg$silentFails === 0) {
24202
- peg$fail(peg$e88);
24517
+ peg$fail(peg$e89);
24203
24518
  }
24204
24519
  }
24205
24520
  if (s0 === peg$FAILED) {
24206
- if (input.substr(peg$currPos, 11) === peg$c85) {
24207
- s0 = peg$c85;
24521
+ if (input.substr(peg$currPos, 11) === peg$c86) {
24522
+ s0 = peg$c86;
24208
24523
  peg$currPos += 11;
24209
24524
  } else {
24210
24525
  s0 = peg$FAILED;
24211
24526
  if (peg$silentFails === 0) {
24212
- peg$fail(peg$e89);
24527
+ peg$fail(peg$e90);
24213
24528
  }
24214
24529
  }
24215
24530
  if (s0 === peg$FAILED) {
24216
- if (input.substr(peg$currPos, 3) === peg$c86) {
24217
- s0 = peg$c86;
24531
+ if (input.substr(peg$currPos, 3) === peg$c87) {
24532
+ s0 = peg$c87;
24218
24533
  peg$currPos += 3;
24219
24534
  } else {
24220
24535
  s0 = peg$FAILED;
24221
24536
  if (peg$silentFails === 0) {
24222
- peg$fail(peg$e90);
24537
+ peg$fail(peg$e91);
24223
24538
  }
24224
24539
  }
24225
24540
  if (s0 === peg$FAILED) {
24226
- if (input.substr(peg$currPos, 3) === peg$c87) {
24227
- s0 = peg$c87;
24541
+ if (input.substr(peg$currPos, 3) === peg$c88) {
24542
+ s0 = peg$c88;
24228
24543
  peg$currPos += 3;
24229
24544
  } else {
24230
24545
  s0 = peg$FAILED;
24231
24546
  if (peg$silentFails === 0) {
24232
- peg$fail(peg$e91);
24547
+ peg$fail(peg$e92);
24233
24548
  }
24234
24549
  }
24235
24550
  if (s0 === peg$FAILED) {
24236
- if (input.substr(peg$currPos, 9) === peg$c88) {
24237
- s0 = peg$c88;
24551
+ if (input.substr(peg$currPos, 9) === peg$c89) {
24552
+ s0 = peg$c89;
24238
24553
  peg$currPos += 9;
24239
24554
  } else {
24240
24555
  s0 = peg$FAILED;
24241
24556
  if (peg$silentFails === 0) {
24242
- peg$fail(peg$e92);
24557
+ peg$fail(peg$e93);
24243
24558
  }
24244
24559
  }
24245
24560
  if (s0 === peg$FAILED) {
24246
- if (input.substr(peg$currPos, 15) === peg$c89) {
24247
- s0 = peg$c89;
24561
+ if (input.substr(peg$currPos, 15) === peg$c90) {
24562
+ s0 = peg$c90;
24248
24563
  peg$currPos += 15;
24249
24564
  } else {
24250
24565
  s0 = peg$FAILED;
24251
24566
  if (peg$silentFails === 0) {
24252
- peg$fail(peg$e93);
24567
+ peg$fail(peg$e94);
24253
24568
  }
24254
24569
  }
24255
24570
  if (s0 === peg$FAILED) {
24256
- if (input.substr(peg$currPos, 6) === peg$c90) {
24257
- s0 = peg$c90;
24258
- peg$currPos += 6;
24571
+ if (input.substr(peg$currPos, 9) === peg$c91) {
24572
+ s0 = peg$c91;
24573
+ peg$currPos += 9;
24259
24574
  } else {
24260
24575
  s0 = peg$FAILED;
24261
24576
  if (peg$silentFails === 0) {
24262
- peg$fail(peg$e94);
24577
+ peg$fail(peg$e95);
24263
24578
  }
24264
24579
  }
24265
24580
  if (s0 === peg$FAILED) {
24266
- if (input.substr(peg$currPos, 13) === peg$c91) {
24267
- s0 = peg$c91;
24268
- peg$currPos += 13;
24581
+ if (input.substr(peg$currPos, 6) === peg$c92) {
24582
+ s0 = peg$c92;
24583
+ peg$currPos += 6;
24269
24584
  } else {
24270
24585
  s0 = peg$FAILED;
24271
24586
  if (peg$silentFails === 0) {
24272
- peg$fail(peg$e95);
24587
+ peg$fail(peg$e96);
24273
24588
  }
24274
24589
  }
24275
24590
  if (s0 === peg$FAILED) {
24276
- if (input.substr(peg$currPos, 16) === peg$c92) {
24277
- s0 = peg$c92;
24278
- peg$currPos += 16;
24591
+ if (input.substr(peg$currPos, 13) === peg$c93) {
24592
+ s0 = peg$c93;
24593
+ peg$currPos += 13;
24279
24594
  } else {
24280
24595
  s0 = peg$FAILED;
24281
24596
  if (peg$silentFails === 0) {
24282
- peg$fail(peg$e96);
24597
+ peg$fail(peg$e97);
24283
24598
  }
24284
24599
  }
24285
24600
  if (s0 === peg$FAILED) {
24286
- if (input.substr(peg$currPos, 16) === peg$c93) {
24287
- s0 = peg$c93;
24601
+ if (input.substr(peg$currPos, 16) === peg$c94) {
24602
+ s0 = peg$c94;
24288
24603
  peg$currPos += 16;
24289
24604
  } else {
24290
24605
  s0 = peg$FAILED;
24291
24606
  if (peg$silentFails === 0) {
24292
- peg$fail(peg$e97);
24607
+ peg$fail(peg$e98);
24293
24608
  }
24294
24609
  }
24295
24610
  if (s0 === peg$FAILED) {
24296
- if (input.substr(peg$currPos, 15) === peg$c94) {
24297
- s0 = peg$c94;
24298
- peg$currPos += 15;
24611
+ if (input.substr(peg$currPos, 16) === peg$c95) {
24612
+ s0 = peg$c95;
24613
+ peg$currPos += 16;
24299
24614
  } else {
24300
24615
  s0 = peg$FAILED;
24301
24616
  if (peg$silentFails === 0) {
24302
- peg$fail(peg$e98);
24617
+ peg$fail(peg$e99);
24303
24618
  }
24304
24619
  }
24305
24620
  if (s0 === peg$FAILED) {
24306
- if (input.substr(peg$currPos, 14) === peg$c95) {
24307
- s0 = peg$c95;
24308
- peg$currPos += 14;
24621
+ if (input.substr(peg$currPos, 15) === peg$c96) {
24622
+ s0 = peg$c96;
24623
+ peg$currPos += 15;
24309
24624
  } else {
24310
24625
  s0 = peg$FAILED;
24311
24626
  if (peg$silentFails === 0) {
24312
- peg$fail(peg$e99);
24627
+ peg$fail(peg$e100);
24313
24628
  }
24314
24629
  }
24315
24630
  if (s0 === peg$FAILED) {
24316
- if (input.substr(peg$currPos, 16) === peg$c96) {
24317
- s0 = peg$c96;
24318
- peg$currPos += 16;
24631
+ if (input.substr(peg$currPos, 14) === peg$c97) {
24632
+ s0 = peg$c97;
24633
+ peg$currPos += 14;
24319
24634
  } else {
24320
24635
  s0 = peg$FAILED;
24321
24636
  if (peg$silentFails === 0) {
24322
- peg$fail(peg$e100);
24637
+ peg$fail(peg$e101);
24323
24638
  }
24324
24639
  }
24325
24640
  if (s0 === peg$FAILED) {
24326
- if (input.substr(peg$currPos, 14) === peg$c97) {
24327
- s0 = peg$c97;
24328
- peg$currPos += 14;
24641
+ if (input.substr(peg$currPos, 16) === peg$c98) {
24642
+ s0 = peg$c98;
24643
+ peg$currPos += 16;
24329
24644
  } else {
24330
24645
  s0 = peg$FAILED;
24331
24646
  if (peg$silentFails === 0) {
24332
- peg$fail(peg$e101);
24647
+ peg$fail(peg$e102);
24333
24648
  }
24334
24649
  }
24335
24650
  if (s0 === peg$FAILED) {
24336
- if (input.substr(peg$currPos, 15) === peg$c98) {
24337
- s0 = peg$c98;
24338
- peg$currPos += 15;
24651
+ if (input.substr(peg$currPos, 14) === peg$c99) {
24652
+ s0 = peg$c99;
24653
+ peg$currPos += 14;
24339
24654
  } else {
24340
24655
  s0 = peg$FAILED;
24341
24656
  if (peg$silentFails === 0) {
24342
- peg$fail(peg$e102);
24657
+ peg$fail(peg$e103);
24343
24658
  }
24344
24659
  }
24345
24660
  if (s0 === peg$FAILED) {
24346
- if (input.substr(peg$currPos, 15) === peg$c99) {
24347
- s0 = peg$c99;
24661
+ if (input.substr(peg$currPos, 15) === peg$c100) {
24662
+ s0 = peg$c100;
24348
24663
  peg$currPos += 15;
24349
24664
  } else {
24350
24665
  s0 = peg$FAILED;
24351
24666
  if (peg$silentFails === 0) {
24352
- peg$fail(peg$e103);
24667
+ peg$fail(peg$e104);
24353
24668
  }
24354
24669
  }
24355
24670
  if (s0 === peg$FAILED) {
24356
- if (input.substr(peg$currPos, 15) === peg$c100) {
24357
- s0 = peg$c100;
24671
+ if (input.substr(peg$currPos, 15) === peg$c101) {
24672
+ s0 = peg$c101;
24358
24673
  peg$currPos += 15;
24359
24674
  } else {
24360
24675
  s0 = peg$FAILED;
24361
24676
  if (peg$silentFails === 0) {
24362
- peg$fail(peg$e104);
24677
+ peg$fail(peg$e105);
24363
24678
  }
24364
24679
  }
24365
24680
  if (s0 === peg$FAILED) {
24366
- if (input.substr(peg$currPos, 14) === peg$c101) {
24367
- s0 = peg$c101;
24368
- peg$currPos += 14;
24681
+ if (input.substr(peg$currPos, 15) === peg$c102) {
24682
+ s0 = peg$c102;
24683
+ peg$currPos += 15;
24369
24684
  } else {
24370
24685
  s0 = peg$FAILED;
24371
24686
  if (peg$silentFails === 0) {
24372
- peg$fail(peg$e105);
24687
+ peg$fail(peg$e106);
24373
24688
  }
24374
24689
  }
24375
24690
  if (s0 === peg$FAILED) {
24376
- if (input.substr(peg$currPos, 10) === peg$c102) {
24377
- s0 = peg$c102;
24378
- peg$currPos += 10;
24691
+ if (input.substr(peg$currPos, 14) === peg$c103) {
24692
+ s0 = peg$c103;
24693
+ peg$currPos += 14;
24379
24694
  } else {
24380
24695
  s0 = peg$FAILED;
24381
24696
  if (peg$silentFails === 0) {
24382
- peg$fail(peg$e106);
24697
+ peg$fail(peg$e107);
24383
24698
  }
24384
24699
  }
24385
24700
  if (s0 === peg$FAILED) {
24386
- if (input.substr(peg$currPos, 13) === peg$c103) {
24387
- s0 = peg$c103;
24388
- peg$currPos += 13;
24701
+ if (input.substr(peg$currPos, 10) === peg$c104) {
24702
+ s0 = peg$c104;
24703
+ peg$currPos += 10;
24389
24704
  } else {
24390
24705
  s0 = peg$FAILED;
24391
24706
  if (peg$silentFails === 0) {
24392
- peg$fail(peg$e107);
24707
+ peg$fail(peg$e108);
24393
24708
  }
24394
24709
  }
24395
24710
  if (s0 === peg$FAILED) {
24396
- if (input.substr(peg$currPos, 19) === peg$c104) {
24397
- s0 = peg$c104;
24398
- peg$currPos += 19;
24711
+ if (input.substr(peg$currPos, 13) === peg$c105) {
24712
+ s0 = peg$c105;
24713
+ peg$currPos += 13;
24399
24714
  } else {
24400
24715
  s0 = peg$FAILED;
24401
24716
  if (peg$silentFails === 0) {
24402
- peg$fail(peg$e108);
24717
+ peg$fail(peg$e109);
24403
24718
  }
24404
24719
  }
24405
24720
  if (s0 === peg$FAILED) {
24406
- if (input.substr(peg$currPos, 10) === peg$c105) {
24407
- s0 = peg$c105;
24408
- peg$currPos += 10;
24721
+ if (input.substr(peg$currPos, 19) === peg$c106) {
24722
+ s0 = peg$c106;
24723
+ peg$currPos += 19;
24409
24724
  } else {
24410
24725
  s0 = peg$FAILED;
24411
24726
  if (peg$silentFails === 0) {
24412
- peg$fail(peg$e109);
24727
+ peg$fail(peg$e110);
24413
24728
  }
24414
24729
  }
24415
24730
  if (s0 === peg$FAILED) {
24416
- if (input.substr(peg$currPos, 10) === peg$c106) {
24417
- s0 = peg$c106;
24731
+ if (input.substr(peg$currPos, 10) === peg$c107) {
24732
+ s0 = peg$c107;
24418
24733
  peg$currPos += 10;
24419
24734
  } else {
24420
24735
  s0 = peg$FAILED;
24421
24736
  if (peg$silentFails === 0) {
24422
- peg$fail(peg$e110);
24737
+ peg$fail(peg$e111);
24423
24738
  }
24424
24739
  }
24425
24740
  if (s0 === peg$FAILED) {
24426
- if (input.substr(peg$currPos, 13) === peg$c107) {
24427
- s0 = peg$c107;
24428
- peg$currPos += 13;
24741
+ if (input.substr(peg$currPos, 10) === peg$c108) {
24742
+ s0 = peg$c108;
24743
+ peg$currPos += 10;
24429
24744
  } else {
24430
24745
  s0 = peg$FAILED;
24431
24746
  if (peg$silentFails === 0) {
24432
- peg$fail(peg$e111);
24747
+ peg$fail(peg$e112);
24433
24748
  }
24434
24749
  }
24435
24750
  if (s0 === peg$FAILED) {
24436
- if (input.substr(peg$currPos, 11) === peg$c108) {
24437
- s0 = peg$c108;
24438
- peg$currPos += 11;
24751
+ if (input.substr(peg$currPos, 13) === peg$c68) {
24752
+ s0 = peg$c68;
24753
+ peg$currPos += 13;
24439
24754
  } else {
24440
24755
  s0 = peg$FAILED;
24441
24756
  if (peg$silentFails === 0) {
24442
- peg$fail(peg$e112);
24757
+ peg$fail(peg$e72);
24758
+ }
24759
+ }
24760
+ if (s0 === peg$FAILED) {
24761
+ if (input.substr(peg$currPos, 11) === peg$c109) {
24762
+ s0 = peg$c109;
24763
+ peg$currPos += 11;
24764
+ } else {
24765
+ s0 = peg$FAILED;
24766
+ if (peg$silentFails === 0) {
24767
+ peg$fail(peg$e113);
24768
+ }
24443
24769
  }
24444
24770
  }
24445
24771
  }
@@ -24485,233 +24811,233 @@ function peg$parse(input, options) {
24485
24811
  }
24486
24812
  function peg$parseColor() {
24487
24813
  let s0;
24488
- if (input.substr(peg$currPos, 4) === peg$c109) {
24489
- s0 = peg$c109;
24814
+ if (input.substr(peg$currPos, 4) === peg$c110) {
24815
+ s0 = peg$c110;
24490
24816
  peg$currPos += 4;
24491
24817
  } else {
24492
24818
  s0 = peg$FAILED;
24493
24819
  if (peg$silentFails === 0) {
24494
- peg$fail(peg$e113);
24820
+ peg$fail(peg$e114);
24495
24821
  }
24496
24822
  }
24497
24823
  if (s0 === peg$FAILED) {
24498
- if (input.substr(peg$currPos, 5) === peg$c110) {
24499
- s0 = peg$c110;
24824
+ if (input.substr(peg$currPos, 5) === peg$c111) {
24825
+ s0 = peg$c111;
24500
24826
  peg$currPos += 5;
24501
24827
  } else {
24502
24828
  s0 = peg$FAILED;
24503
24829
  if (peg$silentFails === 0) {
24504
- peg$fail(peg$e114);
24830
+ peg$fail(peg$e115);
24505
24831
  }
24506
24832
  }
24507
24833
  if (s0 === peg$FAILED) {
24508
- if (input.substr(peg$currPos, 4) === peg$c111) {
24509
- s0 = peg$c111;
24834
+ if (input.substr(peg$currPos, 4) === peg$c112) {
24835
+ s0 = peg$c112;
24510
24836
  peg$currPos += 4;
24511
24837
  } else {
24512
24838
  s0 = peg$FAILED;
24513
24839
  if (peg$silentFails === 0) {
24514
- peg$fail(peg$e115);
24840
+ peg$fail(peg$e116);
24515
24841
  }
24516
24842
  }
24517
24843
  if (s0 === peg$FAILED) {
24518
- if (input.substr(peg$currPos, 5) === peg$c112) {
24519
- s0 = peg$c112;
24844
+ if (input.substr(peg$currPos, 5) === peg$c113) {
24845
+ s0 = peg$c113;
24520
24846
  peg$currPos += 5;
24521
24847
  } else {
24522
24848
  s0 = peg$FAILED;
24523
24849
  if (peg$silentFails === 0) {
24524
- peg$fail(peg$e116);
24850
+ peg$fail(peg$e117);
24525
24851
  }
24526
24852
  }
24527
24853
  if (s0 === peg$FAILED) {
24528
- if (input.substr(peg$currPos, 7) === peg$c113) {
24529
- s0 = peg$c113;
24854
+ if (input.substr(peg$currPos, 7) === peg$c114) {
24855
+ s0 = peg$c114;
24530
24856
  peg$currPos += 7;
24531
24857
  } else {
24532
24858
  s0 = peg$FAILED;
24533
24859
  if (peg$silentFails === 0) {
24534
- peg$fail(peg$e117);
24860
+ peg$fail(peg$e118);
24535
24861
  }
24536
24862
  }
24537
24863
  if (s0 === peg$FAILED) {
24538
- if (input.substr(peg$currPos, 9) === peg$c114) {
24539
- s0 = peg$c114;
24864
+ if (input.substr(peg$currPos, 9) === peg$c115) {
24865
+ s0 = peg$c115;
24540
24866
  peg$currPos += 9;
24541
24867
  } else {
24542
24868
  s0 = peg$FAILED;
24543
24869
  if (peg$silentFails === 0) {
24544
- peg$fail(peg$e118);
24870
+ peg$fail(peg$e119);
24545
24871
  }
24546
24872
  }
24547
24873
  if (s0 === peg$FAILED) {
24548
- if (input.substr(peg$currPos, 4) === peg$c115) {
24549
- s0 = peg$c115;
24874
+ if (input.substr(peg$currPos, 4) === peg$c116) {
24875
+ s0 = peg$c116;
24550
24876
  peg$currPos += 4;
24551
24877
  } else {
24552
24878
  s0 = peg$FAILED;
24553
24879
  if (peg$silentFails === 0) {
24554
- peg$fail(peg$e119);
24880
+ peg$fail(peg$e120);
24555
24881
  }
24556
24882
  }
24557
24883
  if (s0 === peg$FAILED) {
24558
- if (input.substr(peg$currPos, 8) === peg$c116) {
24559
- s0 = peg$c116;
24884
+ if (input.substr(peg$currPos, 8) === peg$c117) {
24885
+ s0 = peg$c117;
24560
24886
  peg$currPos += 8;
24561
24887
  } else {
24562
24888
  s0 = peg$FAILED;
24563
24889
  if (peg$silentFails === 0) {
24564
- peg$fail(peg$e120);
24890
+ peg$fail(peg$e121);
24565
24891
  }
24566
24892
  }
24567
24893
  if (s0 === peg$FAILED) {
24568
- if (input.substr(peg$currPos, 5) === peg$c117) {
24569
- s0 = peg$c117;
24894
+ if (input.substr(peg$currPos, 5) === peg$c118) {
24895
+ s0 = peg$c118;
24570
24896
  peg$currPos += 5;
24571
24897
  } else {
24572
24898
  s0 = peg$FAILED;
24573
24899
  if (peg$silentFails === 0) {
24574
- peg$fail(peg$e121);
24900
+ peg$fail(peg$e122);
24575
24901
  }
24576
24902
  }
24577
24903
  if (s0 === peg$FAILED) {
24578
- if (input.substr(peg$currPos, 4) === peg$c118) {
24579
- s0 = peg$c118;
24904
+ if (input.substr(peg$currPos, 4) === peg$c119) {
24905
+ s0 = peg$c119;
24580
24906
  peg$currPos += 4;
24581
24907
  } else {
24582
24908
  s0 = peg$FAILED;
24583
24909
  if (peg$silentFails === 0) {
24584
- peg$fail(peg$e122);
24910
+ peg$fail(peg$e123);
24585
24911
  }
24586
24912
  }
24587
24913
  if (s0 === peg$FAILED) {
24588
- if (input.substr(peg$currPos, 7) === peg$c119) {
24589
- s0 = peg$c119;
24914
+ if (input.substr(peg$currPos, 7) === peg$c120) {
24915
+ s0 = peg$c120;
24590
24916
  peg$currPos += 7;
24591
24917
  } else {
24592
24918
  s0 = peg$FAILED;
24593
24919
  if (peg$silentFails === 0) {
24594
- peg$fail(peg$e123);
24920
+ peg$fail(peg$e124);
24595
24921
  }
24596
24922
  }
24597
24923
  if (s0 === peg$FAILED) {
24598
- if (input.substr(peg$currPos, 6) === peg$c120) {
24599
- s0 = peg$c120;
24924
+ if (input.substr(peg$currPos, 6) === peg$c121) {
24925
+ s0 = peg$c121;
24600
24926
  peg$currPos += 6;
24601
24927
  } else {
24602
24928
  s0 = peg$FAILED;
24603
24929
  if (peg$silentFails === 0) {
24604
- peg$fail(peg$e124);
24930
+ peg$fail(peg$e125);
24605
24931
  }
24606
24932
  }
24607
24933
  if (s0 === peg$FAILED) {
24608
- if (input.substr(peg$currPos, 4) === peg$c121) {
24609
- s0 = peg$c121;
24934
+ if (input.substr(peg$currPos, 4) === peg$c122) {
24935
+ s0 = peg$c122;
24610
24936
  peg$currPos += 4;
24611
24937
  } else {
24612
24938
  s0 = peg$FAILED;
24613
24939
  if (peg$silentFails === 0) {
24614
- peg$fail(peg$e125);
24940
+ peg$fail(peg$e126);
24615
24941
  }
24616
24942
  }
24617
24943
  if (s0 === peg$FAILED) {
24618
- if (input.substr(peg$currPos, 5) === peg$c122) {
24619
- s0 = peg$c122;
24944
+ if (input.substr(peg$currPos, 5) === peg$c123) {
24945
+ s0 = peg$c123;
24620
24946
  peg$currPos += 5;
24621
24947
  } else {
24622
24948
  s0 = peg$FAILED;
24623
24949
  if (peg$silentFails === 0) {
24624
- peg$fail(peg$e126);
24950
+ peg$fail(peg$e127);
24625
24951
  }
24626
24952
  }
24627
24953
  if (s0 === peg$FAILED) {
24628
- if (input.substr(peg$currPos, 6) === peg$c123) {
24629
- s0 = peg$c123;
24954
+ if (input.substr(peg$currPos, 6) === peg$c124) {
24955
+ s0 = peg$c124;
24630
24956
  peg$currPos += 6;
24631
24957
  } else {
24632
24958
  s0 = peg$FAILED;
24633
24959
  if (peg$silentFails === 0) {
24634
- peg$fail(peg$e127);
24960
+ peg$fail(peg$e128);
24635
24961
  }
24636
24962
  }
24637
24963
  if (s0 === peg$FAILED) {
24638
- if (input.substr(peg$currPos, 4) === peg$c124) {
24639
- s0 = peg$c124;
24964
+ if (input.substr(peg$currPos, 4) === peg$c125) {
24965
+ s0 = peg$c125;
24640
24966
  peg$currPos += 4;
24641
24967
  } else {
24642
24968
  s0 = peg$FAILED;
24643
24969
  if (peg$silentFails === 0) {
24644
- peg$fail(peg$e128);
24970
+ peg$fail(peg$e129);
24645
24971
  }
24646
24972
  }
24647
24973
  if (s0 === peg$FAILED) {
24648
- if (input.substr(peg$currPos, 6) === peg$c125) {
24649
- s0 = peg$c125;
24974
+ if (input.substr(peg$currPos, 6) === peg$c126) {
24975
+ s0 = peg$c126;
24650
24976
  peg$currPos += 6;
24651
24977
  } else {
24652
24978
  s0 = peg$FAILED;
24653
24979
  if (peg$silentFails === 0) {
24654
- peg$fail(peg$e129);
24980
+ peg$fail(peg$e130);
24655
24981
  }
24656
24982
  }
24657
24983
  if (s0 === peg$FAILED) {
24658
- if (input.substr(peg$currPos, 3) === peg$c126) {
24659
- s0 = peg$c126;
24984
+ if (input.substr(peg$currPos, 3) === peg$c127) {
24985
+ s0 = peg$c127;
24660
24986
  peg$currPos += 3;
24661
24987
  } else {
24662
24988
  s0 = peg$FAILED;
24663
24989
  if (peg$silentFails === 0) {
24664
- peg$fail(peg$e130);
24990
+ peg$fail(peg$e131);
24665
24991
  }
24666
24992
  }
24667
24993
  if (s0 === peg$FAILED) {
24668
- if (input.substr(peg$currPos, 6) === peg$c127) {
24669
- s0 = peg$c127;
24994
+ if (input.substr(peg$currPos, 6) === peg$c128) {
24995
+ s0 = peg$c128;
24670
24996
  peg$currPos += 6;
24671
24997
  } else {
24672
24998
  s0 = peg$FAILED;
24673
24999
  if (peg$silentFails === 0) {
24674
- peg$fail(peg$e131);
25000
+ peg$fail(peg$e132);
24675
25001
  }
24676
25002
  }
24677
25003
  if (s0 === peg$FAILED) {
24678
- if (input.substr(peg$currPos, 4) === peg$c128) {
24679
- s0 = peg$c128;
25004
+ if (input.substr(peg$currPos, 4) === peg$c129) {
25005
+ s0 = peg$c129;
24680
25006
  peg$currPos += 4;
24681
25007
  } else {
24682
25008
  s0 = peg$FAILED;
24683
25009
  if (peg$silentFails === 0) {
24684
- peg$fail(peg$e132);
25010
+ peg$fail(peg$e133);
24685
25011
  }
24686
25012
  }
24687
25013
  if (s0 === peg$FAILED) {
24688
- if (input.substr(peg$currPos, 6) === peg$c129) {
24689
- s0 = peg$c129;
25014
+ if (input.substr(peg$currPos, 6) === peg$c130) {
25015
+ s0 = peg$c130;
24690
25016
  peg$currPos += 6;
24691
25017
  } else {
24692
25018
  s0 = peg$FAILED;
24693
25019
  if (peg$silentFails === 0) {
24694
- peg$fail(peg$e133);
25020
+ peg$fail(peg$e134);
24695
25021
  }
24696
25022
  }
24697
25023
  if (s0 === peg$FAILED) {
24698
- if (input.substr(peg$currPos, 5) === peg$c130) {
24699
- s0 = peg$c130;
25024
+ if (input.substr(peg$currPos, 5) === peg$c131) {
25025
+ s0 = peg$c131;
24700
25026
  peg$currPos += 5;
24701
25027
  } else {
24702
25028
  s0 = peg$FAILED;
24703
25029
  if (peg$silentFails === 0) {
24704
- peg$fail(peg$e134);
25030
+ peg$fail(peg$e135);
24705
25031
  }
24706
25032
  }
24707
25033
  if (s0 === peg$FAILED) {
24708
- if (input.substr(peg$currPos, 6) === peg$c131) {
24709
- s0 = peg$c131;
25034
+ if (input.substr(peg$currPos, 6) === peg$c132) {
25035
+ s0 = peg$c132;
24710
25036
  peg$currPos += 6;
24711
25037
  } else {
24712
25038
  s0 = peg$FAILED;
24713
25039
  if (peg$silentFails === 0) {
24714
- peg$fail(peg$e135);
25040
+ peg$fail(peg$e136);
24715
25041
  }
24716
25042
  }
24717
25043
  }
@@ -24738,13 +25064,125 @@ function peg$parse(input, options) {
24738
25064
  }
24739
25065
  return s0;
24740
25066
  }
25067
+ function peg$parseHighlightColor() {
25068
+ let s0;
25069
+ if (input.substr(peg$currPos, 6) === peg$c124) {
25070
+ s0 = peg$c124;
25071
+ peg$currPos += 6;
25072
+ } else {
25073
+ s0 = peg$FAILED;
25074
+ if (peg$silentFails === 0) {
25075
+ peg$fail(peg$e128);
25076
+ }
25077
+ }
25078
+ if (s0 === peg$FAILED) {
25079
+ if (input.substr(peg$currPos, 6) === peg$c132) {
25080
+ s0 = peg$c132;
25081
+ peg$currPos += 6;
25082
+ } else {
25083
+ s0 = peg$FAILED;
25084
+ if (peg$silentFails === 0) {
25085
+ peg$fail(peg$e136);
25086
+ }
25087
+ }
25088
+ if (s0 === peg$FAILED) {
25089
+ if (input.substr(peg$currPos, 5) === peg$c118) {
25090
+ s0 = peg$c118;
25091
+ peg$currPos += 5;
25092
+ } else {
25093
+ s0 = peg$FAILED;
25094
+ if (peg$silentFails === 0) {
25095
+ peg$fail(peg$e122);
25096
+ }
25097
+ }
25098
+ if (s0 === peg$FAILED) {
25099
+ if (input.substr(peg$currPos, 4) === peg$c112) {
25100
+ s0 = peg$c112;
25101
+ peg$currPos += 4;
25102
+ } else {
25103
+ s0 = peg$FAILED;
25104
+ if (peg$silentFails === 0) {
25105
+ peg$fail(peg$e116);
25106
+ }
25107
+ }
25108
+ if (s0 === peg$FAILED) {
25109
+ if (input.substr(peg$currPos, 6) === peg$c126) {
25110
+ s0 = peg$c126;
25111
+ peg$currPos += 6;
25112
+ } else {
25113
+ s0 = peg$FAILED;
25114
+ if (peg$silentFails === 0) {
25115
+ peg$fail(peg$e130);
25116
+ }
25117
+ }
25118
+ if (s0 === peg$FAILED) {
25119
+ if (input.substr(peg$currPos, 4) === peg$c125) {
25120
+ s0 = peg$c125;
25121
+ peg$currPos += 4;
25122
+ } else {
25123
+ s0 = peg$FAILED;
25124
+ if (peg$silentFails === 0) {
25125
+ peg$fail(peg$e129);
25126
+ }
25127
+ }
25128
+ if (s0 === peg$FAILED) {
25129
+ if (input.substr(peg$currPos, 5) === peg$c113) {
25130
+ s0 = peg$c113;
25131
+ peg$currPos += 5;
25132
+ } else {
25133
+ s0 = peg$FAILED;
25134
+ if (peg$silentFails === 0) {
25135
+ peg$fail(peg$e117);
25136
+ }
25137
+ }
25138
+ if (s0 === peg$FAILED) {
25139
+ if (input.substr(peg$currPos, 5) === peg$c131) {
25140
+ s0 = peg$c131;
25141
+ peg$currPos += 5;
25142
+ } else {
25143
+ s0 = peg$FAILED;
25144
+ if (peg$silentFails === 0) {
25145
+ peg$fail(peg$e135);
25146
+ }
25147
+ }
25148
+ if (s0 === peg$FAILED) {
25149
+ if (input.substr(peg$currPos, 5) === peg$c111) {
25150
+ s0 = peg$c111;
25151
+ peg$currPos += 5;
25152
+ } else {
25153
+ s0 = peg$FAILED;
25154
+ if (peg$silentFails === 0) {
25155
+ peg$fail(peg$e115);
25156
+ }
25157
+ }
25158
+ if (s0 === peg$FAILED) {
25159
+ if (input.substr(peg$currPos, 4) === peg$c116) {
25160
+ s0 = peg$c116;
25161
+ peg$currPos += 4;
25162
+ } else {
25163
+ s0 = peg$FAILED;
25164
+ if (peg$silentFails === 0) {
25165
+ peg$fail(peg$e120);
25166
+ }
25167
+ }
25168
+ }
25169
+ }
25170
+ }
25171
+ }
25172
+ }
25173
+ }
25174
+ }
25175
+ }
25176
+ }
25177
+ return s0;
25178
+ }
24741
25179
  function peg$parsebitmarkMinusMinus() {
24742
25180
  let s0, s1;
24743
25181
  peg$silentFails++;
24744
25182
  s0 = peg$currPos;
24745
25183
  s1 = peg$parsebitmarkMinusMinusString();
24746
25184
  peg$savedPos = s0;
24747
- s1 = peg$f91(s1);
25185
+ s1 = peg$f92(s1);
24748
25186
  s0 = s1;
24749
25187
  peg$silentFails--;
24750
25188
  return s0;
@@ -24770,7 +25208,7 @@ function peg$parse(input, options) {
24770
25208
  }
24771
25209
  }
24772
25210
  peg$savedPos = s0;
24773
- s0 = peg$f92(s1, s2);
25211
+ s0 = peg$f93(s1, s2);
24774
25212
  peg$silentFails--;
24775
25213
  return s0;
24776
25214
  }
@@ -24780,7 +25218,7 @@ function peg$parse(input, options) {
24780
25218
  s1 = peg$parseNL();
24781
25219
  if (s1 !== peg$FAILED) {
24782
25220
  peg$savedPos = s0;
24783
- s1 = peg$f93();
25221
+ s1 = peg$f94();
24784
25222
  }
24785
25223
  s0 = s1;
24786
25224
  if (s0 === peg$FAILED) {
@@ -24909,7 +25347,7 @@ function peg$parse(input, options) {
24909
25347
  }
24910
25348
  if (s1 !== peg$FAILED) {
24911
25349
  peg$savedPos = s0;
24912
- s1 = peg$f94(s1);
25350
+ s1 = peg$f95(s1);
24913
25351
  }
24914
25352
  s0 = s1;
24915
25353
  }
@@ -24918,12 +25356,12 @@ function peg$parse(input, options) {
24918
25356
  function peg$parseBoldHalfTag() {
24919
25357
  let s0;
24920
25358
  if (input.charCodeAt(peg$currPos) === 42) {
24921
- s0 = peg$c132;
25359
+ s0 = peg$c133;
24922
25360
  peg$currPos++;
24923
25361
  } else {
24924
25362
  s0 = peg$FAILED;
24925
25363
  if (peg$silentFails === 0) {
24926
- peg$fail(peg$e136);
25364
+ peg$fail(peg$e137);
24927
25365
  }
24928
25366
  }
24929
25367
  return s0;
@@ -24931,12 +25369,12 @@ function peg$parse(input, options) {
24931
25369
  function peg$parseItalicHalfTag() {
24932
25370
  let s0;
24933
25371
  if (input.charCodeAt(peg$currPos) === 95) {
24934
- s0 = peg$c133;
25372
+ s0 = peg$c134;
24935
25373
  peg$currPos++;
24936
25374
  } else {
24937
25375
  s0 = peg$FAILED;
24938
25376
  if (peg$silentFails === 0) {
24939
- peg$fail(peg$e137);
25377
+ peg$fail(peg$e138);
24940
25378
  }
24941
25379
  }
24942
25380
  return s0;
@@ -24944,12 +25382,12 @@ function peg$parse(input, options) {
24944
25382
  function peg$parseLightHalfTag() {
24945
25383
  let s0;
24946
25384
  if (input.charCodeAt(peg$currPos) === 96) {
24947
- s0 = peg$c134;
25385
+ s0 = peg$c135;
24948
25386
  peg$currPos++;
24949
25387
  } else {
24950
25388
  s0 = peg$FAILED;
24951
25389
  if (peg$silentFails === 0) {
24952
- peg$fail(peg$e138);
25390
+ peg$fail(peg$e139);
24953
25391
  }
24954
25392
  }
24955
25393
  return s0;
@@ -24957,12 +25395,12 @@ function peg$parse(input, options) {
24957
25395
  function peg$parseHighlightHalfTag() {
24958
25396
  let s0;
24959
25397
  if (input.charCodeAt(peg$currPos) === 33) {
24960
- s0 = peg$c135;
25398
+ s0 = peg$c136;
24961
25399
  peg$currPos++;
24962
25400
  } else {
24963
25401
  s0 = peg$FAILED;
24964
25402
  if (peg$silentFails === 0) {
24965
- peg$fail(peg$e139);
25403
+ peg$fail(peg$e140);
24966
25404
  }
24967
25405
  }
24968
25406
  return s0;
@@ -25045,13 +25483,13 @@ function peg$parse(input, options) {
25045
25483
  }
25046
25484
  function peg$parseBodyBitOpenTag() {
25047
25485
  let s0;
25048
- if (input.substr(peg$currPos, 2) === peg$c136) {
25049
- s0 = peg$c136;
25486
+ if (input.substr(peg$currPos, 2) === peg$c137) {
25487
+ s0 = peg$c137;
25050
25488
  peg$currPos += 2;
25051
25489
  } else {
25052
25490
  s0 = peg$FAILED;
25053
25491
  if (peg$silentFails === 0) {
25054
- peg$fail(peg$e140);
25492
+ peg$fail(peg$e141);
25055
25493
  }
25056
25494
  }
25057
25495
  return s0;
@@ -25059,12 +25497,12 @@ function peg$parse(input, options) {
25059
25497
  function peg$parseBodyBitCloseTag() {
25060
25498
  let s0;
25061
25499
  if (input.charCodeAt(peg$currPos) === 93) {
25062
- s0 = peg$c137;
25500
+ s0 = peg$c138;
25063
25501
  peg$currPos++;
25064
25502
  } else {
25065
25503
  s0 = peg$FAILED;
25066
25504
  if (peg$silentFails === 0) {
25067
- peg$fail(peg$e141);
25505
+ peg$fail(peg$e142);
25068
25506
  }
25069
25507
  }
25070
25508
  return s0;
@@ -25110,7 +25548,7 @@ function peg$parse(input, options) {
25110
25548
  s3 = peg$parseBodyBitCloseTag();
25111
25549
  if (s3 !== peg$FAILED) {
25112
25550
  peg$savedPos = s0;
25113
- s0 = peg$f95(s2);
25551
+ s0 = peg$f96(s2);
25114
25552
  } else {
25115
25553
  peg$currPos = s0;
25116
25554
  s0 = peg$FAILED;
@@ -25200,7 +25638,7 @@ function peg$parse(input, options) {
25200
25638
  s3 = peg$parseBoldTag();
25201
25639
  if (s3 !== peg$FAILED) {
25202
25640
  peg$savedPos = s0;
25203
- s0 = peg$f96(s2);
25641
+ s0 = peg$f97(s2);
25204
25642
  } else {
25205
25643
  peg$currPos = s0;
25206
25644
  s0 = peg$FAILED;
@@ -25286,7 +25724,7 @@ function peg$parse(input, options) {
25286
25724
  s3 = peg$parseItalicTag();
25287
25725
  if (s3 !== peg$FAILED) {
25288
25726
  peg$savedPos = s0;
25289
- s0 = peg$f97(s2);
25727
+ s0 = peg$f98(s2);
25290
25728
  } else {
25291
25729
  peg$currPos = s0;
25292
25730
  s0 = peg$FAILED;
@@ -25372,7 +25810,7 @@ function peg$parse(input, options) {
25372
25810
  s3 = peg$parseLightTag();
25373
25811
  if (s3 !== peg$FAILED) {
25374
25812
  peg$savedPos = s0;
25375
- s0 = peg$f98(s2);
25813
+ s0 = peg$f99(s2);
25376
25814
  } else {
25377
25815
  peg$currPos = s0;
25378
25816
  s0 = peg$FAILED;
@@ -25458,7 +25896,7 @@ function peg$parse(input, options) {
25458
25896
  s3 = peg$parseHighlightTag();
25459
25897
  if (s3 !== peg$FAILED) {
25460
25898
  peg$savedPos = s0;
25461
- s0 = peg$f99(s2);
25899
+ s0 = peg$f100(s2);
25462
25900
  } else {
25463
25901
  peg$currPos = s0;
25464
25902
  s0 = peg$FAILED;
@@ -25543,22 +25981,22 @@ function peg$parse(input, options) {
25543
25981
  let s0, s1;
25544
25982
  peg$silentFails++;
25545
25983
  if (input.charCodeAt(peg$currPos) === 10) {
25546
- s0 = peg$c138;
25984
+ s0 = peg$c139;
25547
25985
  peg$currPos++;
25548
25986
  } else {
25549
25987
  s0 = peg$FAILED;
25550
25988
  if (peg$silentFails === 0) {
25551
- peg$fail(peg$e143);
25989
+ peg$fail(peg$e144);
25552
25990
  }
25553
25991
  }
25554
25992
  if (s0 === peg$FAILED) {
25555
- if (input.substr(peg$currPos, 2) === peg$c139) {
25556
- s0 = peg$c139;
25993
+ if (input.substr(peg$currPos, 2) === peg$c140) {
25994
+ s0 = peg$c140;
25557
25995
  peg$currPos += 2;
25558
25996
  } else {
25559
25997
  s0 = peg$FAILED;
25560
25998
  if (peg$silentFails === 0) {
25561
- peg$fail(peg$e144);
25999
+ peg$fail(peg$e145);
25562
26000
  }
25563
26001
  }
25564
26002
  if (s0 === peg$FAILED) {
@@ -25568,7 +26006,7 @@ function peg$parse(input, options) {
25568
26006
  } else {
25569
26007
  s0 = peg$FAILED;
25570
26008
  if (peg$silentFails === 0) {
25571
- peg$fail(peg$e145);
26009
+ peg$fail(peg$e146);
25572
26010
  }
25573
26011
  }
25574
26012
  }
@@ -25577,7 +26015,7 @@ function peg$parse(input, options) {
25577
26015
  if (s0 === peg$FAILED) {
25578
26016
  s1 = peg$FAILED;
25579
26017
  if (peg$silentFails === 0) {
25580
- peg$fail(peg$e142);
26018
+ peg$fail(peg$e143);
25581
26019
  }
25582
26020
  }
25583
26021
  return s0;
@@ -25590,7 +26028,7 @@ function peg$parse(input, options) {
25590
26028
  } else {
25591
26029
  s0 = peg$FAILED;
25592
26030
  if (peg$silentFails === 0) {
25593
- peg$fail(peg$e146);
26031
+ peg$fail(peg$e147);
25594
26032
  }
25595
26033
  }
25596
26034
  return s0;
@@ -25624,35 +26062,35 @@ function peg$parse(input, options) {
25624
26062
  let s0, s1, s2, s3, s4, s5, s6, s7, s8;
25625
26063
  s0 = peg$currPos;
25626
26064
  s1 = peg$currPos;
25627
- if (input.substr(peg$currPos, 4) === peg$c140) {
25628
- s2 = peg$c140;
26065
+ if (input.substr(peg$currPos, 4) === peg$c141) {
26066
+ s2 = peg$c141;
25629
26067
  peg$currPos += 4;
25630
26068
  } else {
25631
26069
  s2 = peg$FAILED;
25632
26070
  if (peg$silentFails === 0) {
25633
- peg$fail(peg$e147);
26071
+ peg$fail(peg$e148);
25634
26072
  }
25635
26073
  }
25636
26074
  if (s2 !== peg$FAILED) {
25637
26075
  if (input.charCodeAt(peg$currPos) === 115) {
25638
- s3 = peg$c141;
26076
+ s3 = peg$c142;
25639
26077
  peg$currPos++;
25640
26078
  } else {
25641
26079
  s3 = peg$FAILED;
25642
26080
  if (peg$silentFails === 0) {
25643
- peg$fail(peg$e148);
26081
+ peg$fail(peg$e149);
25644
26082
  }
25645
26083
  }
25646
26084
  if (s3 === peg$FAILED) {
25647
26085
  s3 = null;
25648
26086
  }
25649
- if (input.substr(peg$currPos, 3) === peg$c142) {
25650
- s4 = peg$c142;
26087
+ if (input.substr(peg$currPos, 3) === peg$c143) {
26088
+ s4 = peg$c143;
25651
26089
  peg$currPos += 3;
25652
26090
  } else {
25653
26091
  s4 = peg$FAILED;
25654
26092
  if (peg$silentFails === 0) {
25655
- peg$fail(peg$e149);
26093
+ peg$fail(peg$e150);
25656
26094
  }
25657
26095
  }
25658
26096
  if (s4 !== peg$FAILED) {
@@ -25730,35 +26168,35 @@ function peg$parse(input, options) {
25730
26168
  s0 = peg$currPos;
25731
26169
  s1 = peg$currPos;
25732
26170
  s2 = peg$currPos;
25733
- if (input.substr(peg$currPos, 4) === peg$c140) {
25734
- s3 = peg$c140;
26171
+ if (input.substr(peg$currPos, 4) === peg$c141) {
26172
+ s3 = peg$c141;
25735
26173
  peg$currPos += 4;
25736
26174
  } else {
25737
26175
  s3 = peg$FAILED;
25738
26176
  if (peg$silentFails === 0) {
25739
- peg$fail(peg$e147);
26177
+ peg$fail(peg$e148);
25740
26178
  }
25741
26179
  }
25742
26180
  if (s3 !== peg$FAILED) {
25743
26181
  if (input.charCodeAt(peg$currPos) === 115) {
25744
- s4 = peg$c141;
26182
+ s4 = peg$c142;
25745
26183
  peg$currPos++;
25746
26184
  } else {
25747
26185
  s4 = peg$FAILED;
25748
26186
  if (peg$silentFails === 0) {
25749
- peg$fail(peg$e148);
26187
+ peg$fail(peg$e149);
25750
26188
  }
25751
26189
  }
25752
26190
  if (s4 === peg$FAILED) {
25753
26191
  s4 = null;
25754
26192
  }
25755
- if (input.substr(peg$currPos, 3) === peg$c142) {
25756
- s5 = peg$c142;
26193
+ if (input.substr(peg$currPos, 3) === peg$c143) {
26194
+ s5 = peg$c143;
25757
26195
  peg$currPos += 3;
25758
26196
  } else {
25759
26197
  s5 = peg$FAILED;
25760
26198
  if (peg$silentFails === 0) {
25761
- peg$fail(peg$e149);
26199
+ peg$fail(peg$e150);
25762
26200
  }
25763
26201
  }
25764
26202
  if (s5 !== peg$FAILED) {
@@ -25773,13 +26211,13 @@ function peg$parse(input, options) {
25773
26211
  s2 = peg$FAILED;
25774
26212
  }
25775
26213
  if (s2 === peg$FAILED) {
25776
- if (input.substr(peg$currPos, 7) === peg$c143) {
25777
- s2 = peg$c143;
26214
+ if (input.substr(peg$currPos, 7) === peg$c144) {
26215
+ s2 = peg$c144;
25778
26216
  peg$currPos += 7;
25779
26217
  } else {
25780
26218
  s2 = peg$FAILED;
25781
26219
  if (peg$silentFails === 0) {
25782
- peg$fail(peg$e150);
26220
+ peg$fail(peg$e151);
25783
26221
  }
25784
26222
  }
25785
26223
  }
@@ -25844,7 +26282,7 @@ function peg$parse(input, options) {
25844
26282
  }
25845
26283
  s2 = input.substring(s2, peg$currPos);
25846
26284
  peg$savedPos = s0;
25847
- s0 = peg$f100(s1, s2);
26285
+ s0 = peg$f101(s1, s2);
25848
26286
  } else {
25849
26287
  peg$currPos = s0;
25850
26288
  s0 = peg$FAILED;
@@ -25859,7 +26297,7 @@ function peg$parse(input, options) {
25859
26297
  } else {
25860
26298
  s0 = peg$FAILED;
25861
26299
  if (peg$silentFails === 0) {
25862
- peg$fail(peg$e151);
26300
+ peg$fail(peg$e152);
25863
26301
  }
25864
26302
  }
25865
26303
  return s0;