@savvy-web/silk 3.10.2 → 3.10.4

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.
@@ -2929,7 +2929,7 @@ const DependencyTableRowSchema = effect.Schema.Struct({
2929
2929
  */
2930
2930
  const DependencyTableSchema = effect.Schema.Array(DependencyTableRowSchema).check(effect.Schema.isMinLength(1));
2931
2931
  //#endregion
2932
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/MarkdownNode.js
2932
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/MarkdownNode.js
2933
2933
  /**
2934
2934
  * A single point in a source document: 1-based `line` and `column`, 0-based
2935
2935
  * `offset`.
@@ -3253,6 +3253,8 @@ const PhrasingContent = effect.Schema.suspend(() => effect.Schema.Union([
3253
3253
  InlineCode,
3254
3254
  Link,
3255
3255
  LinkReference,
3256
+ MdxJsxTextElement,
3257
+ MdxTextExpression,
3256
3258
  Strong,
3257
3259
  Text
3258
3260
  ]));
@@ -3496,6 +3498,8 @@ const FlowContent = effect.Schema.suspend(() => effect.Schema.Union([
3496
3498
  Heading,
3497
3499
  Html,
3498
3500
  List,
3501
+ MdxFlowExpression,
3502
+ MdxJsxFlowElement,
3499
3503
  Paragraph,
3500
3504
  Table,
3501
3505
  ThematicBreak
@@ -3510,6 +3514,147 @@ const FlowContent = effect.Schema.suspend(() => effect.Schema.Union([
3510
3514
  */
3511
3515
  const ListContent = effect.Schema.suspend(() => effect.Schema.Union([ListItem]));
3512
3516
  /**
3517
+ * MdxJsxAttributeValueExpression — a JSX attribute value written as an
3518
+ * expression (`<a b={c} />`); `value` holds the expression source text
3519
+ * between the braces, never evaluated or parsed.
3520
+ *
3521
+ * The primary construction path is a JSON-encoded prop:
3522
+ * `MdxJsxAttributeValueExpression.make({ value: JSON.stringify(props) })`.
3523
+ *
3524
+ * @public
3525
+ */
3526
+ var MdxJsxAttributeValueExpression = class extends effect.Schema.Class("MdxJsxAttributeValueExpression")({
3527
+ type: effect.Schema.tag("mdxJsxAttributeValueExpression"),
3528
+ value: effect.Schema.String,
3529
+ position: NodePosition
3530
+ }) {};
3531
+ /**
3532
+ * MdxJsxAttribute — a named JSX attribute (`<a b="c" />`). `value` is a
3533
+ * string literal, a {@link MdxJsxAttributeValueExpression}, or — for a
3534
+ * boolean attribute (`<a b />`) — absent or `null`, both of which the
3535
+ * mdast-util-mdx-jsx contract spells (its parser writes `null`; absence is
3536
+ * the constructed-tree spelling). The serializer treats the two identically.
3537
+ *
3538
+ * `name` must be non-empty — an attribute without a name has no MDX spelling,
3539
+ * so the schema refuses it at construction and decode (the oracle's
3540
+ * serialize-time crash, moved to the admission boundary).
3541
+ *
3542
+ * @public
3543
+ */
3544
+ var MdxJsxAttribute = class extends effect.Schema.Class("MdxJsxAttribute")(effect.Schema.Struct({
3545
+ type: effect.Schema.tag("mdxJsxAttribute"),
3546
+ name: effect.Schema.String,
3547
+ value: effect.Schema.optionalKey(effect.Schema.NullOr(effect.Schema.Union([MdxJsxAttributeValueExpression, effect.Schema.String]))),
3548
+ position: NodePosition
3549
+ }).pipe(effect.Schema.check(effect.Schema.makeFilter((attribute) => attribute.name.length === 0 ? "an MDX JSX attribute requires a non-empty name" : void 0)))) {};
3550
+ /**
3551
+ * MdxJsxExpressionAttribute — a JSX attribute written whole as an expression
3552
+ * (`<a {...b} />`); `value` holds the expression source text between the
3553
+ * braces.
3554
+ *
3555
+ * @public
3556
+ */
3557
+ var MdxJsxExpressionAttribute = class extends effect.Schema.Class("MdxJsxExpressionAttribute")({
3558
+ type: effect.Schema.tag("mdxJsxExpressionAttribute"),
3559
+ value: effect.Schema.String,
3560
+ position: NodePosition
3561
+ }) {};
3562
+ /**
3563
+ * The union of every node that may appear in a JSX element's `attributes`
3564
+ * array. A real `Schema.Union` for the construction pass-through documented
3565
+ * on `RowContent`.
3566
+ *
3567
+ * Attribute carriers are node-shaped values — they carry `type` and
3568
+ * `position` per the mdast-util-mdx-jsx contract — but they are **not tree
3569
+ * content**: they never appear in a `children` array, so they are excluded
3570
+ * from `MarkdownNode` and invisible to the visitor and to
3571
+ * `MarkdownDocument.find`.
3572
+ *
3573
+ * @public
3574
+ */
3575
+ const MdxJsxAttributeContent = effect.Schema.Union([MdxJsxAttribute, MdxJsxExpressionAttribute]);
3576
+ /**
3577
+ * MdxJsxFlowElement — a JSX element in flow (block) position (`<Component />`
3578
+ * on its own lines). `name` is `null` for a fragment (`<></>`); children are
3579
+ * flow content, per the oracle's `BlockContent | DefinitionContent` model.
3580
+ *
3581
+ * A fragment cannot carry attributes — that shape has no MDX spelling — so
3582
+ * the schema refuses it at construction and decode. A **named** element's
3583
+ * name must be non-empty on the same terms: `""` has no MDX spelling either
3584
+ * (the oracle's parser only ever produces a real name or `null`, and its
3585
+ * serializer treats a falsy name as the fragment), so `null` is the one
3586
+ * fragment spelling and the empty string fails typed.
3587
+ *
3588
+ * @public
3589
+ */
3590
+ var MdxJsxFlowElement = class extends effect.Schema.Class("MdxJsxFlowElement")(effect.Schema.Struct({
3591
+ type: effect.Schema.tag("mdxJsxFlowElement"),
3592
+ name: effect.Schema.NullOr(effect.Schema.String),
3593
+ attributes: effect.Schema.Array(MdxJsxAttributeContent),
3594
+ children: effect.Schema.Array(effect.Schema.suspend(() => FlowContent)),
3595
+ position: NodePosition
3596
+ }).pipe(effect.Schema.check(effect.Schema.makeFilter((element) => {
3597
+ if (element.name !== null && element.name.length === 0) return "an MDX JSX element requires a non-empty name (`null` is the fragment spelling)";
3598
+ return element.name === null && element.attributes.length > 0 ? "an MDX JSX fragment cannot carry attributes" : void 0;
3599
+ })))) {};
3600
+ /**
3601
+ * MdxJsxTextElement — a JSX element in text (phrasing) position
3602
+ * (`a <b>c</b> d`). `name` is `null` for a fragment; children are phrasing
3603
+ * content. Refuses attributes on a fragment and an empty-string name, on the
3604
+ * same terms as {@link MdxJsxFlowElement}.
3605
+ *
3606
+ * @public
3607
+ */
3608
+ var MdxJsxTextElement = class extends effect.Schema.Class("MdxJsxTextElement")(effect.Schema.Struct({
3609
+ type: effect.Schema.tag("mdxJsxTextElement"),
3610
+ name: effect.Schema.NullOr(effect.Schema.String),
3611
+ attributes: effect.Schema.Array(MdxJsxAttributeContent),
3612
+ children: effect.Schema.Array(effect.Schema.suspend(() => PhrasingContent)),
3613
+ position: NodePosition
3614
+ }).pipe(effect.Schema.check(effect.Schema.makeFilter((element) => {
3615
+ if (element.name !== null && element.name.length === 0) return "an MDX JSX element requires a non-empty name (`null` is the fragment spelling)";
3616
+ return element.name === null && element.attributes.length > 0 ? "an MDX JSX fragment cannot carry attributes" : void 0;
3617
+ })))) {};
3618
+ /**
3619
+ * MdxFlowExpression — an expression in flow (block) position (`{a + b}` on
3620
+ * its own lines); `value` holds the expression source text between the
3621
+ * braces.
3622
+ *
3623
+ * @public
3624
+ */
3625
+ var MdxFlowExpression = class extends effect.Schema.Class("MdxFlowExpression")({
3626
+ type: effect.Schema.tag("mdxFlowExpression"),
3627
+ value: effect.Schema.String,
3628
+ position: NodePosition
3629
+ }) {};
3630
+ /**
3631
+ * MdxTextExpression — an expression in text (phrasing) position
3632
+ * (`a {b} c`); `value` holds the expression source text between the braces.
3633
+ *
3634
+ * @public
3635
+ */
3636
+ var MdxTextExpression = class extends effect.Schema.Class("MdxTextExpression")({
3637
+ type: effect.Schema.tag("mdxTextExpression"),
3638
+ value: effect.Schema.String,
3639
+ position: NodePosition
3640
+ }) {};
3641
+ /**
3642
+ * MdxjsEsm — an MDX ESM block (`import`/`export` statements); `value` holds
3643
+ * the statement source verbatim.
3644
+ *
3645
+ * Only ever a child of {@link Root}, per the mdast-util-mdxjs-esm content
3646
+ * registration — ESM cannot nest inside a JSX element or any other
3647
+ * container. As with the frontmatter head node, the constraint is structural
3648
+ * (the `Root` children union admits it, no other union does), not validated.
3649
+ *
3650
+ * @public
3651
+ */
3652
+ var MdxjsEsm = class extends effect.Schema.Class("MdxjsEsm")({
3653
+ type: effect.Schema.tag("mdxjsEsm"),
3654
+ value: effect.Schema.String,
3655
+ position: NodePosition
3656
+ }) {};
3657
+ /**
3513
3658
  * The frontmatter formats the capture recognizes, keyed by their opening
3514
3659
  * fence: `---` is yaml, `+++` is toml and `---json` is json.
3515
3660
  *
@@ -3560,13 +3705,18 @@ const FrontmatterContent = effect.Schema.suspend(() => Frontmatter);
3560
3705
  * mdast leaves a root's content model open; a parsed markdown document is
3561
3706
  * flow content, optionally headed by one {@link Frontmatter} node — mdast's
3562
3707
  * `FlowContentFrontmatter` merge, which admits frontmatter at the root and
3563
- * nowhere else.
3708
+ * nowhere else. {@link MdxjsEsm} is likewise admitted at the root and nowhere
3709
+ * else, per mdast-util-mdxjs-esm's `RootContentMap` registration.
3564
3710
  *
3565
3711
  * @public
3566
3712
  */
3567
3713
  var Root = class extends effect.Schema.Class("Root")({
3568
3714
  type: effect.Schema.tag("root"),
3569
- children: effect.Schema.Array(effect.Schema.suspend(() => effect.Schema.Union([Frontmatter, FlowContent]))),
3715
+ children: effect.Schema.Array(effect.Schema.suspend(() => effect.Schema.Union([
3716
+ Frontmatter,
3717
+ MdxjsEsm,
3718
+ FlowContent
3719
+ ]))),
3570
3720
  position: NodePosition
3571
3721
  }) {};
3572
3722
  effect.Schema.suspend(() => effect.Schema.Union([
@@ -3574,12 +3724,67 @@ effect.Schema.suspend(() => effect.Schema.Union([
3574
3724
  FrontmatterContent,
3575
3725
  FlowContent,
3576
3726
  ListContent,
3727
+ MdxjsEsm,
3577
3728
  PhrasingContent,
3578
3729
  RowContent,
3579
3730
  TableContent
3580
3731
  ]));
3581
3732
  //#endregion
3582
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/JsoncNode.js
3733
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/frontmatter.js
3734
+ const FENCES = /* @__PURE__ */ new Map([
3735
+ ["---", {
3736
+ format: "yaml",
3737
+ close: "---"
3738
+ }],
3739
+ ["+++", {
3740
+ format: "toml",
3741
+ close: "+++"
3742
+ }],
3743
+ ["---json", {
3744
+ format: "json",
3745
+ close: "---"
3746
+ }]
3747
+ ]);
3748
+ /**
3749
+ * Scan the head of a preprocessed document for a frontmatter block.
3750
+ *
3751
+ * `lines` is the preprocessor's line table (U+0000 already replaced,
3752
+ * terminators stripped, absolute `start` offsets); `text` is the original
3753
+ * source, consulted only for the terminators between value lines — a
3754
+ * terminator can never contain U+0000, so slicing it from the source is
3755
+ * exact, and the value keeps CRLF interiors verbatim while the line content
3756
+ * keeps the preprocessor's U+FFFD replacement.
3757
+ *
3758
+ * Returns `null` when the document has no frontmatter — which is the common
3759
+ * case and never an error.
3760
+ */
3761
+ const scanFrontmatter = (lines, text) => {
3762
+ const opening = lines[0];
3763
+ if (opening === void 0 || opening.start !== 0) return null;
3764
+ const rule = FENCES.get(opening.text);
3765
+ if (rule === void 0) return null;
3766
+ for (let index = 1; index < lines.length; index += 1) {
3767
+ const line = lines[index];
3768
+ if (line === void 0 || line.text !== rule.close) continue;
3769
+ const parts = [];
3770
+ for (let inner = 1; inner < index; inner += 1) {
3771
+ const current = lines[inner];
3772
+ const next = lines[inner + 1];
3773
+ if (current === void 0 || next === void 0) break;
3774
+ parts.push(current.text);
3775
+ if (inner + 1 < index) parts.push(text.slice(current.start + current.text.length, next.start));
3776
+ }
3777
+ return {
3778
+ format: rule.format,
3779
+ value: parts.join(""),
3780
+ lineCount: index + 1,
3781
+ endOffset: line.start + line.text.length
3782
+ };
3783
+ }
3784
+ return null;
3785
+ };
3786
+ //#endregion
3787
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/JsoncNode.js
3583
3788
  /**
3584
3789
  * Discriminator values for JSONC AST node types: the JSON value types
3585
3790
  * (`string`/`number`/`boolean`/`null`), the structural types
@@ -3754,7 +3959,7 @@ function evaluateNode(node, depth) {
3754
3959
  }
3755
3960
  }
3756
3961
  //#endregion
3757
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/scanner.js
3962
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/scanner.js
3758
3963
  const isWhitespace = (ch) => ch === 32 || ch === 9 || ch === 11 || ch === 12 || ch === 160 || ch === 65279;
3759
3964
  const isLineBreak$1 = (ch) => ch === 10 || ch === 13 || ch === 8232 || ch === 8233;
3760
3965
  const isDigit$2 = (ch) => ch >= 48 && ch <= 57;
@@ -4048,7 +4253,7 @@ const createScanner$1 = (text, ignoreTrivia = false) => {
4048
4253
  };
4049
4254
  };
4050
4255
  //#endregion
4051
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/skip.js
4256
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/skip.js
4052
4257
  /**
4053
4258
  * Iteratively consume the value beginning at the cursor's current token and
4054
4259
  * return its tight end offset (excludes trailing whitespace/comments).
@@ -4078,7 +4283,7 @@ const skipBalancedValue = (cursor) => {
4078
4283
  return end;
4079
4284
  };
4080
4285
  //#endregion
4081
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/parser.js
4286
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/parser.js
4082
4287
  /**
4083
4288
  * The public parse-error code vocabulary. The facade builds its `@public`
4084
4289
  * `JsoncParseErrorCode` schema from this array; the parser produces these codes
@@ -4491,7 +4696,7 @@ const parseTree$2 = (text, flags) => {
4491
4696
  };
4492
4697
  };
4493
4698
  //#endregion
4494
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/Jsonc.js
4699
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/Jsonc.js
4495
4700
  /**
4496
4701
  * The single public parse-error code vocabulary, appearing as the `code` field
4497
4702
  * of {@link JsoncParseErrorDetail}.
@@ -5095,7 +5300,7 @@ var JsoncEdit = class extends effect.Schema.Class("JsoncEdit")({
5095
5300
  }
5096
5301
  };
5097
5302
  //#endregion
5098
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/navigate.js
5303
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/internal/navigate.js
5099
5304
  /**
5100
5305
  * Resolve `path` against `text`, returning where the target is (or where it
5101
5306
  * would be inserted). `path` must be non-empty — the whole-document case is
@@ -5222,7 +5427,7 @@ function navigate(text, path) {
5222
5427
  return { _tag: "NoOp" };
5223
5428
  }
5224
5429
  //#endregion
5225
- //#region ../../node_modules/.pnpm/@effected+jsonc@0.7.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/JsoncModifier.js
5430
+ //#region ../../node_modules/.pnpm/@effected+jsonc@0.8.0_effect@4.0.0-rc.109/node_modules/@effected/jsonc/JsoncModifier.js
5226
5431
  /**
5227
5432
  * Raised when `JsoncModifier.modify` cannot navigate the requested path: the
5228
5433
  * value at `depth` is not the container kind (`expected`) the next path segment
@@ -5350,7 +5555,7 @@ var JsoncModifier = class {
5350
5555
  });
5351
5556
  };
5352
5557
  //#endregion
5353
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/carriers.js
5558
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/carriers.js
5354
5559
  /**
5355
5560
  * P1's error-code vocabulary. Widens as later phases add parse-error kinds;
5356
5561
  * P1 registers exactly one, the hardening-guard trip.
@@ -5390,7 +5595,7 @@ var GuardExceeded$1 = class extends Error {
5390
5595
  /** Narrows `unknown` to {@link GuardExceeded}; never a bare `instanceof` at a call site. */
5391
5596
  const isGuardExceeded$1 = (u) => u instanceof GuardExceeded$1;
5392
5597
  //#endregion
5393
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/MarkdownDiagnostic.js
5598
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/MarkdownDiagnostic.js
5394
5599
  /**
5395
5600
  * Error codes `Markdown.parse`/`MarkdownDocument.parse` can fail with. P1
5396
5601
  * registers exactly the hardening-guard trip; later phases widen the union
@@ -5470,7 +5675,7 @@ function lineChar(text, offset) {
5470
5675
  };
5471
5676
  }
5472
5677
  //#endregion
5473
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blockTypes.js
5678
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blockTypes.js
5474
5679
  /** Narrow materialized children to the flow content most constructs contain. */
5475
5680
  const flowChildren = (children) => children.filter((child) => child.type !== "root" && child.type !== "listItem" && child.type !== "tableRow" && child.type !== "tableCell");
5476
5681
  /** Narrow materialized children to the list items a list contains. */
@@ -5495,7 +5700,7 @@ const makeBlockNode = (type, startOffset, startLine, depth = 0) => ({
5495
5700
  data: {}
5496
5701
  });
5497
5702
  //#endregion
5498
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/preprocess.js
5703
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/preprocess.js
5499
5704
  /**
5500
5705
  * Split `text` into lines, preserving each line's absolute start offset.
5501
5706
  *
@@ -5549,7 +5754,7 @@ const peekCode = (line, position) => position >= 0 && position < line.length ? l
5549
5754
  */
5550
5755
  const columnsToNextTabStop = (column) => 4 - column % 4;
5551
5756
  //#endregion
5552
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/htmlTags.js
5757
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/htmlTags.js
5553
5758
  const TAGNAME = "[A-Za-z][A-Za-z0-9-]*";
5554
5759
  /** An opening tag, with any attributes and an optional self-closing slash. */
5555
5760
  const OPENTAG = `<${TAGNAME}(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^"'=<>\`\\x00-\\x20]+|'[^']*'|"[^"]*"))?)*\\s*/?>`;
@@ -5560,7 +5765,7 @@ const HTMLTAG = `(?:${OPENTAG}|${CLOSETAG}|<!-->|<!--->|<!--[\\s\\S]*?-->|[<][?]
5560
5765
  /** {@link HTMLTAG}, anchored for matching at a cursor. */
5561
5766
  const reHtmlTag = new RegExp(`^${HTMLTAG}`);
5562
5767
  //#endregion
5563
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/htmlBlock.js
5768
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/htmlBlock.js
5564
5769
  const C_LESSTHAN$3 = 60;
5565
5770
  const reHtmlBlockOpen = [
5566
5771
  /./,
@@ -5626,7 +5831,7 @@ const htmlBlockStart = {
5626
5831
  }
5627
5832
  };
5628
5833
  //#endregion
5629
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/atxHeading.js
5834
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/atxHeading.js
5630
5835
  const reATXHeadingMarker = /^#{1,6}(?:[ \t]+|$)/;
5631
5836
  const reOnlyTrailingHashes = /^[ \t]*#+[ \t]*$/;
5632
5837
  const reClosingHashes = /[ \t]+#+[ \t]*$/;
@@ -5676,7 +5881,7 @@ const atxHeadingStart = {
5676
5881
  }
5677
5882
  };
5678
5883
  //#endregion
5679
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/blockquote.js
5884
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/blockquote.js
5680
5885
  const C_GREATERTHAN = 62;
5681
5886
  /** Blockquote: continues while each line carries its `>` marker. */
5682
5887
  const blockquoteConstruct = {
@@ -5710,11 +5915,11 @@ const blockquoteStart = {
5710
5915
  }
5711
5916
  };
5712
5917
  //#endregion
5713
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/entityMap.js
5918
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/entityMap.js
5714
5919
  /** The HTML5 named character references, keyed without `&` or `;`. */
5715
5920
  const ENTITY_MAP = new Map(JSON.parse("[[\"AElig\",\"Æ\"],[\"AMP\",\"&\"],[\"Aacute\",\"Á\"],[\"Abreve\",\"Ă\"],[\"Acirc\",\"Â\"],[\"Acy\",\"А\"],[\"Afr\",\"𝔄\"],[\"Agrave\",\"À\"],[\"Alpha\",\"Α\"],[\"Amacr\",\"Ā\"],[\"And\",\"⩓\"],[\"Aogon\",\"Ą\"],[\"Aopf\",\"𝔸\"],[\"ApplyFunction\",\"⁡\"],[\"Aring\",\"Å\"],[\"Ascr\",\"𝒜\"],[\"Assign\",\"≔\"],[\"Atilde\",\"Ã\"],[\"Auml\",\"Ä\"],[\"Backslash\",\"∖\"],[\"Barv\",\"⫧\"],[\"Barwed\",\"⌆\"],[\"Bcy\",\"Б\"],[\"Because\",\"∵\"],[\"Bernoullis\",\"ℬ\"],[\"Beta\",\"Β\"],[\"Bfr\",\"𝔅\"],[\"Bopf\",\"𝔹\"],[\"Breve\",\"˘\"],[\"Bscr\",\"ℬ\"],[\"Bumpeq\",\"≎\"],[\"CHcy\",\"Ч\"],[\"COPY\",\"©\"],[\"Cacute\",\"Ć\"],[\"Cap\",\"⋒\"],[\"CapitalDifferentialD\",\"ⅅ\"],[\"Cayleys\",\"ℭ\"],[\"Ccaron\",\"Č\"],[\"Ccedil\",\"Ç\"],[\"Ccirc\",\"Ĉ\"],[\"Cconint\",\"∰\"],[\"Cdot\",\"Ċ\"],[\"Cedilla\",\"¸\"],[\"CenterDot\",\"·\"],[\"Cfr\",\"ℭ\"],[\"Chi\",\"Χ\"],[\"CircleDot\",\"⊙\"],[\"CircleMinus\",\"⊖\"],[\"CirclePlus\",\"⊕\"],[\"CircleTimes\",\"⊗\"],[\"ClockwiseContourIntegral\",\"∲\"],[\"CloseCurlyDoubleQuote\",\"”\"],[\"CloseCurlyQuote\",\"’\"],[\"Colon\",\"∷\"],[\"Colone\",\"⩴\"],[\"Congruent\",\"≡\"],[\"Conint\",\"∯\"],[\"ContourIntegral\",\"∮\"],[\"Copf\",\"ℂ\"],[\"Coproduct\",\"∐\"],[\"CounterClockwiseContourIntegral\",\"∳\"],[\"Cross\",\"⨯\"],[\"Cscr\",\"𝒞\"],[\"Cup\",\"⋓\"],[\"CupCap\",\"≍\"],[\"DD\",\"ⅅ\"],[\"DDotrahd\",\"⤑\"],[\"DJcy\",\"Ђ\"],[\"DScy\",\"Ѕ\"],[\"DZcy\",\"Џ\"],[\"Dagger\",\"‡\"],[\"Darr\",\"↡\"],[\"Dashv\",\"⫤\"],[\"Dcaron\",\"Ď\"],[\"Dcy\",\"Д\"],[\"Del\",\"∇\"],[\"Delta\",\"Δ\"],[\"Dfr\",\"𝔇\"],[\"DiacriticalAcute\",\"´\"],[\"DiacriticalDot\",\"˙\"],[\"DiacriticalDoubleAcute\",\"˝\"],[\"DiacriticalGrave\",\"`\"],[\"DiacriticalTilde\",\"˜\"],[\"Diamond\",\"⋄\"],[\"DifferentialD\",\"ⅆ\"],[\"Dopf\",\"𝔻\"],[\"Dot\",\"¨\"],[\"DotDot\",\"⃜\"],[\"DotEqual\",\"≐\"],[\"DoubleContourIntegral\",\"∯\"],[\"DoubleDot\",\"¨\"],[\"DoubleDownArrow\",\"⇓\"],[\"DoubleLeftArrow\",\"⇐\"],[\"DoubleLeftRightArrow\",\"⇔\"],[\"DoubleLeftTee\",\"⫤\"],[\"DoubleLongLeftArrow\",\"⟸\"],[\"DoubleLongLeftRightArrow\",\"⟺\"],[\"DoubleLongRightArrow\",\"⟹\"],[\"DoubleRightArrow\",\"⇒\"],[\"DoubleRightTee\",\"⊨\"],[\"DoubleUpArrow\",\"⇑\"],[\"DoubleUpDownArrow\",\"⇕\"],[\"DoubleVerticalBar\",\"∥\"],[\"DownArrow\",\"↓\"],[\"DownArrowBar\",\"⤓\"],[\"DownArrowUpArrow\",\"⇵\"],[\"DownBreve\",\"̑\"],[\"DownLeftRightVector\",\"⥐\"],[\"DownLeftTeeVector\",\"⥞\"],[\"DownLeftVector\",\"↽\"],[\"DownLeftVectorBar\",\"⥖\"],[\"DownRightTeeVector\",\"⥟\"],[\"DownRightVector\",\"⇁\"],[\"DownRightVectorBar\",\"⥗\"],[\"DownTee\",\"⊤\"],[\"DownTeeArrow\",\"↧\"],[\"Downarrow\",\"⇓\"],[\"Dscr\",\"𝒟\"],[\"Dstrok\",\"Đ\"],[\"ENG\",\"Ŋ\"],[\"ETH\",\"Ð\"],[\"Eacute\",\"É\"],[\"Ecaron\",\"Ě\"],[\"Ecirc\",\"Ê\"],[\"Ecy\",\"Э\"],[\"Edot\",\"Ė\"],[\"Efr\",\"𝔈\"],[\"Egrave\",\"È\"],[\"Element\",\"∈\"],[\"Emacr\",\"Ē\"],[\"EmptySmallSquare\",\"◻\"],[\"EmptyVerySmallSquare\",\"▫\"],[\"Eogon\",\"Ę\"],[\"Eopf\",\"𝔼\"],[\"Epsilon\",\"Ε\"],[\"Equal\",\"⩵\"],[\"EqualTilde\",\"≂\"],[\"Equilibrium\",\"⇌\"],[\"Escr\",\"ℰ\"],[\"Esim\",\"⩳\"],[\"Eta\",\"Η\"],[\"Euml\",\"Ë\"],[\"Exists\",\"∃\"],[\"ExponentialE\",\"ⅇ\"],[\"Fcy\",\"Ф\"],[\"Ffr\",\"𝔉\"],[\"FilledSmallSquare\",\"◼\"],[\"FilledVerySmallSquare\",\"▪\"],[\"Fopf\",\"𝔽\"],[\"ForAll\",\"∀\"],[\"Fouriertrf\",\"ℱ\"],[\"Fscr\",\"ℱ\"],[\"GJcy\",\"Ѓ\"],[\"GT\",\">\"],[\"Gamma\",\"Γ\"],[\"Gammad\",\"Ϝ\"],[\"Gbreve\",\"Ğ\"],[\"Gcedil\",\"Ģ\"],[\"Gcirc\",\"Ĝ\"],[\"Gcy\",\"Г\"],[\"Gdot\",\"Ġ\"],[\"Gfr\",\"𝔊\"],[\"Gg\",\"⋙\"],[\"Gopf\",\"𝔾\"],[\"GreaterEqual\",\"≥\"],[\"GreaterEqualLess\",\"⋛\"],[\"GreaterFullEqual\",\"≧\"],[\"GreaterGreater\",\"⪢\"],[\"GreaterLess\",\"≷\"],[\"GreaterSlantEqual\",\"⩾\"],[\"GreaterTilde\",\"≳\"],[\"Gscr\",\"𝒢\"],[\"Gt\",\"≫\"],[\"HARDcy\",\"Ъ\"],[\"Hacek\",\"ˇ\"],[\"Hat\",\"^\"],[\"Hcirc\",\"Ĥ\"],[\"Hfr\",\"ℌ\"],[\"HilbertSpace\",\"ℋ\"],[\"Hopf\",\"ℍ\"],[\"HorizontalLine\",\"─\"],[\"Hscr\",\"ℋ\"],[\"Hstrok\",\"Ħ\"],[\"HumpDownHump\",\"≎\"],[\"HumpEqual\",\"≏\"],[\"IEcy\",\"Е\"],[\"IJlig\",\"IJ\"],[\"IOcy\",\"Ё\"],[\"Iacute\",\"Í\"],[\"Icirc\",\"Î\"],[\"Icy\",\"И\"],[\"Idot\",\"İ\"],[\"Ifr\",\"ℑ\"],[\"Igrave\",\"Ì\"],[\"Im\",\"ℑ\"],[\"Imacr\",\"Ī\"],[\"ImaginaryI\",\"ⅈ\"],[\"Implies\",\"⇒\"],[\"Int\",\"∬\"],[\"Integral\",\"∫\"],[\"Intersection\",\"⋂\"],[\"InvisibleComma\",\"⁣\"],[\"InvisibleTimes\",\"⁢\"],[\"Iogon\",\"Į\"],[\"Iopf\",\"𝕀\"],[\"Iota\",\"Ι\"],[\"Iscr\",\"ℐ\"],[\"Itilde\",\"Ĩ\"],[\"Iukcy\",\"І\"],[\"Iuml\",\"Ï\"],[\"Jcirc\",\"Ĵ\"],[\"Jcy\",\"Й\"],[\"Jfr\",\"𝔍\"],[\"Jopf\",\"𝕁\"],[\"Jscr\",\"𝒥\"],[\"Jsercy\",\"Ј\"],[\"Jukcy\",\"Є\"],[\"KHcy\",\"Х\"],[\"KJcy\",\"Ќ\"],[\"Kappa\",\"Κ\"],[\"Kcedil\",\"Ķ\"],[\"Kcy\",\"К\"],[\"Kfr\",\"𝔎\"],[\"Kopf\",\"𝕂\"],[\"Kscr\",\"𝒦\"],[\"LJcy\",\"Љ\"],[\"LT\",\"<\"],[\"Lacute\",\"Ĺ\"],[\"Lambda\",\"Λ\"],[\"Lang\",\"⟪\"],[\"Laplacetrf\",\"ℒ\"],[\"Larr\",\"↞\"],[\"Lcaron\",\"Ľ\"],[\"Lcedil\",\"Ļ\"],[\"Lcy\",\"Л\"],[\"LeftAngleBracket\",\"⟨\"],[\"LeftArrow\",\"←\"],[\"LeftArrowBar\",\"⇤\"],[\"LeftArrowRightArrow\",\"⇆\"],[\"LeftCeiling\",\"⌈\"],[\"LeftDoubleBracket\",\"⟦\"],[\"LeftDownTeeVector\",\"⥡\"],[\"LeftDownVector\",\"⇃\"],[\"LeftDownVectorBar\",\"⥙\"],[\"LeftFloor\",\"⌊\"],[\"LeftRightArrow\",\"↔\"],[\"LeftRightVector\",\"⥎\"],[\"LeftTee\",\"⊣\"],[\"LeftTeeArrow\",\"↤\"],[\"LeftTeeVector\",\"⥚\"],[\"LeftTriangle\",\"⊲\"],[\"LeftTriangleBar\",\"⧏\"],[\"LeftTriangleEqual\",\"⊴\"],[\"LeftUpDownVector\",\"⥑\"],[\"LeftUpTeeVector\",\"⥠\"],[\"LeftUpVector\",\"↿\"],[\"LeftUpVectorBar\",\"⥘\"],[\"LeftVector\",\"↼\"],[\"LeftVectorBar\",\"⥒\"],[\"Leftarrow\",\"⇐\"],[\"Leftrightarrow\",\"⇔\"],[\"LessEqualGreater\",\"⋚\"],[\"LessFullEqual\",\"≦\"],[\"LessGreater\",\"≶\"],[\"LessLess\",\"⪡\"],[\"LessSlantEqual\",\"⩽\"],[\"LessTilde\",\"≲\"],[\"Lfr\",\"𝔏\"],[\"Ll\",\"⋘\"],[\"Lleftarrow\",\"⇚\"],[\"Lmidot\",\"Ŀ\"],[\"LongLeftArrow\",\"⟵\"],[\"LongLeftRightArrow\",\"⟷\"],[\"LongRightArrow\",\"⟶\"],[\"Longleftarrow\",\"⟸\"],[\"Longleftrightarrow\",\"⟺\"],[\"Longrightarrow\",\"⟹\"],[\"Lopf\",\"𝕃\"],[\"LowerLeftArrow\",\"↙\"],[\"LowerRightArrow\",\"↘\"],[\"Lscr\",\"ℒ\"],[\"Lsh\",\"↰\"],[\"Lstrok\",\"Ł\"],[\"Lt\",\"≪\"],[\"Map\",\"⤅\"],[\"Mcy\",\"М\"],[\"MediumSpace\",\" \"],[\"Mellintrf\",\"ℳ\"],[\"Mfr\",\"𝔐\"],[\"MinusPlus\",\"∓\"],[\"Mopf\",\"𝕄\"],[\"Mscr\",\"ℳ\"],[\"Mu\",\"Μ\"],[\"NJcy\",\"Њ\"],[\"Nacute\",\"Ń\"],[\"Ncaron\",\"Ň\"],[\"Ncedil\",\"Ņ\"],[\"Ncy\",\"Н\"],[\"NegativeMediumSpace\",\"​\"],[\"NegativeThickSpace\",\"​\"],[\"NegativeThinSpace\",\"​\"],[\"NegativeVeryThinSpace\",\"​\"],[\"NestedGreaterGreater\",\"≫\"],[\"NestedLessLess\",\"≪\"],[\"NewLine\",\"\\n\"],[\"Nfr\",\"𝔑\"],[\"NoBreak\",\"⁠\"],[\"NonBreakingSpace\",\"\xA0\"],[\"Nopf\",\"ℕ\"],[\"Not\",\"⫬\"],[\"NotCongruent\",\"≢\"],[\"NotCupCap\",\"≭\"],[\"NotDoubleVerticalBar\",\"∦\"],[\"NotElement\",\"∉\"],[\"NotEqual\",\"≠\"],[\"NotEqualTilde\",\"≂̸\"],[\"NotExists\",\"∄\"],[\"NotGreater\",\"≯\"],[\"NotGreaterEqual\",\"≱\"],[\"NotGreaterFullEqual\",\"≧̸\"],[\"NotGreaterGreater\",\"≫̸\"],[\"NotGreaterLess\",\"≹\"],[\"NotGreaterSlantEqual\",\"⩾̸\"],[\"NotGreaterTilde\",\"≵\"],[\"NotHumpDownHump\",\"≎̸\"],[\"NotHumpEqual\",\"≏̸\"],[\"NotLeftTriangle\",\"⋪\"],[\"NotLeftTriangleBar\",\"⧏̸\"],[\"NotLeftTriangleEqual\",\"⋬\"],[\"NotLess\",\"≮\"],[\"NotLessEqual\",\"≰\"],[\"NotLessGreater\",\"≸\"],[\"NotLessLess\",\"≪̸\"],[\"NotLessSlantEqual\",\"⩽̸\"],[\"NotLessTilde\",\"≴\"],[\"NotNestedGreaterGreater\",\"⪢̸\"],[\"NotNestedLessLess\",\"⪡̸\"],[\"NotPrecedes\",\"⊀\"],[\"NotPrecedesEqual\",\"⪯̸\"],[\"NotPrecedesSlantEqual\",\"⋠\"],[\"NotReverseElement\",\"∌\"],[\"NotRightTriangle\",\"⋫\"],[\"NotRightTriangleBar\",\"⧐̸\"],[\"NotRightTriangleEqual\",\"⋭\"],[\"NotSquareSubset\",\"⊏̸\"],[\"NotSquareSubsetEqual\",\"⋢\"],[\"NotSquareSuperset\",\"⊐̸\"],[\"NotSquareSupersetEqual\",\"⋣\"],[\"NotSubset\",\"⊂⃒\"],[\"NotSubsetEqual\",\"⊈\"],[\"NotSucceeds\",\"⊁\"],[\"NotSucceedsEqual\",\"⪰̸\"],[\"NotSucceedsSlantEqual\",\"⋡\"],[\"NotSucceedsTilde\",\"≿̸\"],[\"NotSuperset\",\"⊃⃒\"],[\"NotSupersetEqual\",\"⊉\"],[\"NotTilde\",\"≁\"],[\"NotTildeEqual\",\"≄\"],[\"NotTildeFullEqual\",\"≇\"],[\"NotTildeTilde\",\"≉\"],[\"NotVerticalBar\",\"∤\"],[\"Nscr\",\"𝒩\"],[\"Ntilde\",\"Ñ\"],[\"Nu\",\"Ν\"],[\"OElig\",\"Œ\"],[\"Oacute\",\"Ó\"],[\"Ocirc\",\"Ô\"],[\"Ocy\",\"О\"],[\"Odblac\",\"Ő\"],[\"Ofr\",\"𝔒\"],[\"Ograve\",\"Ò\"],[\"Omacr\",\"Ō\"],[\"Omega\",\"Ω\"],[\"Omicron\",\"Ο\"],[\"Oopf\",\"𝕆\"],[\"OpenCurlyDoubleQuote\",\"“\"],[\"OpenCurlyQuote\",\"‘\"],[\"Or\",\"⩔\"],[\"Oscr\",\"𝒪\"],[\"Oslash\",\"Ø\"],[\"Otilde\",\"Õ\"],[\"Otimes\",\"⨷\"],[\"Ouml\",\"Ö\"],[\"OverBar\",\"‾\"],[\"OverBrace\",\"⏞\"],[\"OverBracket\",\"⎴\"],[\"OverParenthesis\",\"⏜\"],[\"PartialD\",\"∂\"],[\"Pcy\",\"П\"],[\"Pfr\",\"𝔓\"],[\"Phi\",\"Φ\"],[\"Pi\",\"Π\"],[\"PlusMinus\",\"±\"],[\"Poincareplane\",\"ℌ\"],[\"Popf\",\"ℙ\"],[\"Pr\",\"⪻\"],[\"Precedes\",\"≺\"],[\"PrecedesEqual\",\"⪯\"],[\"PrecedesSlantEqual\",\"≼\"],[\"PrecedesTilde\",\"≾\"],[\"Prime\",\"″\"],[\"Product\",\"∏\"],[\"Proportion\",\"∷\"],[\"Proportional\",\"∝\"],[\"Pscr\",\"𝒫\"],[\"Psi\",\"Ψ\"],[\"QUOT\",\"\\\"\"],[\"Qfr\",\"𝔔\"],[\"Qopf\",\"ℚ\"],[\"Qscr\",\"𝒬\"],[\"RBarr\",\"⤐\"],[\"REG\",\"®\"],[\"Racute\",\"Ŕ\"],[\"Rang\",\"⟫\"],[\"Rarr\",\"↠\"],[\"Rarrtl\",\"⤖\"],[\"Rcaron\",\"Ř\"],[\"Rcedil\",\"Ŗ\"],[\"Rcy\",\"Р\"],[\"Re\",\"ℜ\"],[\"ReverseElement\",\"∋\"],[\"ReverseEquilibrium\",\"⇋\"],[\"ReverseUpEquilibrium\",\"⥯\"],[\"Rfr\",\"ℜ\"],[\"Rho\",\"Ρ\"],[\"RightAngleBracket\",\"⟩\"],[\"RightArrow\",\"→\"],[\"RightArrowBar\",\"⇥\"],[\"RightArrowLeftArrow\",\"⇄\"],[\"RightCeiling\",\"⌉\"],[\"RightDoubleBracket\",\"⟧\"],[\"RightDownTeeVector\",\"⥝\"],[\"RightDownVector\",\"⇂\"],[\"RightDownVectorBar\",\"⥕\"],[\"RightFloor\",\"⌋\"],[\"RightTee\",\"⊢\"],[\"RightTeeArrow\",\"↦\"],[\"RightTeeVector\",\"⥛\"],[\"RightTriangle\",\"⊳\"],[\"RightTriangleBar\",\"⧐\"],[\"RightTriangleEqual\",\"⊵\"],[\"RightUpDownVector\",\"⥏\"],[\"RightUpTeeVector\",\"⥜\"],[\"RightUpVector\",\"↾\"],[\"RightUpVectorBar\",\"⥔\"],[\"RightVector\",\"⇀\"],[\"RightVectorBar\",\"⥓\"],[\"Rightarrow\",\"⇒\"],[\"Ropf\",\"ℝ\"],[\"RoundImplies\",\"⥰\"],[\"Rrightarrow\",\"⇛\"],[\"Rscr\",\"ℛ\"],[\"Rsh\",\"↱\"],[\"RuleDelayed\",\"⧴\"],[\"SHCHcy\",\"Щ\"],[\"SHcy\",\"Ш\"],[\"SOFTcy\",\"Ь\"],[\"Sacute\",\"Ś\"],[\"Sc\",\"⪼\"],[\"Scaron\",\"Š\"],[\"Scedil\",\"Ş\"],[\"Scirc\",\"Ŝ\"],[\"Scy\",\"С\"],[\"Sfr\",\"𝔖\"],[\"ShortDownArrow\",\"↓\"],[\"ShortLeftArrow\",\"←\"],[\"ShortRightArrow\",\"→\"],[\"ShortUpArrow\",\"↑\"],[\"Sigma\",\"Σ\"],[\"SmallCircle\",\"∘\"],[\"Sopf\",\"𝕊\"],[\"Sqrt\",\"√\"],[\"Square\",\"□\"],[\"SquareIntersection\",\"⊓\"],[\"SquareSubset\",\"⊏\"],[\"SquareSubsetEqual\",\"⊑\"],[\"SquareSuperset\",\"⊐\"],[\"SquareSupersetEqual\",\"⊒\"],[\"SquareUnion\",\"⊔\"],[\"Sscr\",\"𝒮\"],[\"Star\",\"⋆\"],[\"Sub\",\"⋐\"],[\"Subset\",\"⋐\"],[\"SubsetEqual\",\"⊆\"],[\"Succeeds\",\"≻\"],[\"SucceedsEqual\",\"⪰\"],[\"SucceedsSlantEqual\",\"≽\"],[\"SucceedsTilde\",\"≿\"],[\"SuchThat\",\"∋\"],[\"Sum\",\"∑\"],[\"Sup\",\"⋑\"],[\"Superset\",\"⊃\"],[\"SupersetEqual\",\"⊇\"],[\"Supset\",\"⋑\"],[\"THORN\",\"Þ\"],[\"TRADE\",\"™\"],[\"TSHcy\",\"Ћ\"],[\"TScy\",\"Ц\"],[\"Tab\",\"\\t\"],[\"Tau\",\"Τ\"],[\"Tcaron\",\"Ť\"],[\"Tcedil\",\"Ţ\"],[\"Tcy\",\"Т\"],[\"Tfr\",\"𝔗\"],[\"Therefore\",\"∴\"],[\"Theta\",\"Θ\"],[\"ThickSpace\",\"  \"],[\"ThinSpace\",\" \"],[\"Tilde\",\"∼\"],[\"TildeEqual\",\"≃\"],[\"TildeFullEqual\",\"≅\"],[\"TildeTilde\",\"≈\"],[\"Topf\",\"𝕋\"],[\"TripleDot\",\"⃛\"],[\"Tscr\",\"𝒯\"],[\"Tstrok\",\"Ŧ\"],[\"Uacute\",\"Ú\"],[\"Uarr\",\"↟\"],[\"Uarrocir\",\"⥉\"],[\"Ubrcy\",\"Ў\"],[\"Ubreve\",\"Ŭ\"],[\"Ucirc\",\"Û\"],[\"Ucy\",\"У\"],[\"Udblac\",\"Ű\"],[\"Ufr\",\"𝔘\"],[\"Ugrave\",\"Ù\"],[\"Umacr\",\"Ū\"],[\"UnderBar\",\"_\"],[\"UnderBrace\",\"⏟\"],[\"UnderBracket\",\"⎵\"],[\"UnderParenthesis\",\"⏝\"],[\"Union\",\"⋃\"],[\"UnionPlus\",\"⊎\"],[\"Uogon\",\"Ų\"],[\"Uopf\",\"𝕌\"],[\"UpArrow\",\"↑\"],[\"UpArrowBar\",\"⤒\"],[\"UpArrowDownArrow\",\"⇅\"],[\"UpDownArrow\",\"↕\"],[\"UpEquilibrium\",\"⥮\"],[\"UpTee\",\"⊥\"],[\"UpTeeArrow\",\"↥\"],[\"Uparrow\",\"⇑\"],[\"Updownarrow\",\"⇕\"],[\"UpperLeftArrow\",\"↖\"],[\"UpperRightArrow\",\"↗\"],[\"Upsi\",\"ϒ\"],[\"Upsilon\",\"Υ\"],[\"Uring\",\"Ů\"],[\"Uscr\",\"𝒰\"],[\"Utilde\",\"Ũ\"],[\"Uuml\",\"Ü\"],[\"VDash\",\"⊫\"],[\"Vbar\",\"⫫\"],[\"Vcy\",\"В\"],[\"Vdash\",\"⊩\"],[\"Vdashl\",\"⫦\"],[\"Vee\",\"⋁\"],[\"Verbar\",\"‖\"],[\"Vert\",\"‖\"],[\"VerticalBar\",\"∣\"],[\"VerticalLine\",\"|\"],[\"VerticalSeparator\",\"❘\"],[\"VerticalTilde\",\"≀\"],[\"VeryThinSpace\",\" \"],[\"Vfr\",\"𝔙\"],[\"Vopf\",\"𝕍\"],[\"Vscr\",\"𝒱\"],[\"Vvdash\",\"⊪\"],[\"Wcirc\",\"Ŵ\"],[\"Wedge\",\"⋀\"],[\"Wfr\",\"𝔚\"],[\"Wopf\",\"𝕎\"],[\"Wscr\",\"𝒲\"],[\"Xfr\",\"𝔛\"],[\"Xi\",\"Ξ\"],[\"Xopf\",\"𝕏\"],[\"Xscr\",\"𝒳\"],[\"YAcy\",\"Я\"],[\"YIcy\",\"Ї\"],[\"YUcy\",\"Ю\"],[\"Yacute\",\"Ý\"],[\"Ycirc\",\"Ŷ\"],[\"Ycy\",\"Ы\"],[\"Yfr\",\"𝔜\"],[\"Yopf\",\"𝕐\"],[\"Yscr\",\"𝒴\"],[\"Yuml\",\"Ÿ\"],[\"ZHcy\",\"Ж\"],[\"Zacute\",\"Ź\"],[\"Zcaron\",\"Ž\"],[\"Zcy\",\"З\"],[\"Zdot\",\"Ż\"],[\"ZeroWidthSpace\",\"​\"],[\"Zeta\",\"Ζ\"],[\"Zfr\",\"ℨ\"],[\"Zopf\",\"ℤ\"],[\"Zscr\",\"𝒵\"],[\"aacute\",\"á\"],[\"abreve\",\"ă\"],[\"ac\",\"∾\"],[\"acE\",\"∾̳\"],[\"acd\",\"∿\"],[\"acirc\",\"â\"],[\"acute\",\"´\"],[\"acy\",\"а\"],[\"aelig\",\"æ\"],[\"af\",\"⁡\"],[\"afr\",\"𝔞\"],[\"agrave\",\"à\"],[\"alefsym\",\"ℵ\"],[\"aleph\",\"ℵ\"],[\"alpha\",\"α\"],[\"amacr\",\"ā\"],[\"amalg\",\"⨿\"],[\"amp\",\"&\"],[\"and\",\"∧\"],[\"andand\",\"⩕\"],[\"andd\",\"⩜\"],[\"andslope\",\"⩘\"],[\"andv\",\"⩚\"],[\"ang\",\"∠\"],[\"ange\",\"⦤\"],[\"angle\",\"∠\"],[\"angmsd\",\"∡\"],[\"angmsdaa\",\"⦨\"],[\"angmsdab\",\"⦩\"],[\"angmsdac\",\"⦪\"],[\"angmsdad\",\"⦫\"],[\"angmsdae\",\"⦬\"],[\"angmsdaf\",\"⦭\"],[\"angmsdag\",\"⦮\"],[\"angmsdah\",\"⦯\"],[\"angrt\",\"∟\"],[\"angrtvb\",\"⊾\"],[\"angrtvbd\",\"⦝\"],[\"angsph\",\"∢\"],[\"angst\",\"Å\"],[\"angzarr\",\"⍼\"],[\"aogon\",\"ą\"],[\"aopf\",\"𝕒\"],[\"ap\",\"≈\"],[\"apE\",\"⩰\"],[\"apacir\",\"⩯\"],[\"ape\",\"≊\"],[\"apid\",\"≋\"],[\"apos\",\"'\"],[\"approx\",\"≈\"],[\"approxeq\",\"≊\"],[\"aring\",\"å\"],[\"ascr\",\"𝒶\"],[\"ast\",\"*\"],[\"asymp\",\"≈\"],[\"asympeq\",\"≍\"],[\"atilde\",\"ã\"],[\"auml\",\"ä\"],[\"awconint\",\"∳\"],[\"awint\",\"⨑\"],[\"bNot\",\"⫭\"],[\"backcong\",\"≌\"],[\"backepsilon\",\"϶\"],[\"backprime\",\"‵\"],[\"backsim\",\"∽\"],[\"backsimeq\",\"⋍\"],[\"barvee\",\"⊽\"],[\"barwed\",\"⌅\"],[\"barwedge\",\"⌅\"],[\"bbrk\",\"⎵\"],[\"bbrktbrk\",\"⎶\"],[\"bcong\",\"≌\"],[\"bcy\",\"б\"],[\"bdquo\",\"„\"],[\"becaus\",\"∵\"],[\"because\",\"∵\"],[\"bemptyv\",\"⦰\"],[\"bepsi\",\"϶\"],[\"bernou\",\"ℬ\"],[\"beta\",\"β\"],[\"beth\",\"ℶ\"],[\"between\",\"≬\"],[\"bfr\",\"𝔟\"],[\"bigcap\",\"⋂\"],[\"bigcirc\",\"◯\"],[\"bigcup\",\"⋃\"],[\"bigodot\",\"⨀\"],[\"bigoplus\",\"⨁\"],[\"bigotimes\",\"⨂\"],[\"bigsqcup\",\"⨆\"],[\"bigstar\",\"★\"],[\"bigtriangledown\",\"▽\"],[\"bigtriangleup\",\"△\"],[\"biguplus\",\"⨄\"],[\"bigvee\",\"⋁\"],[\"bigwedge\",\"⋀\"],[\"bkarow\",\"⤍\"],[\"blacklozenge\",\"⧫\"],[\"blacksquare\",\"▪\"],[\"blacktriangle\",\"▴\"],[\"blacktriangledown\",\"▾\"],[\"blacktriangleleft\",\"◂\"],[\"blacktriangleright\",\"▸\"],[\"blank\",\"␣\"],[\"blk12\",\"▒\"],[\"blk14\",\"░\"],[\"blk34\",\"▓\"],[\"block\",\"█\"],[\"bne\",\"=⃥\"],[\"bnequiv\",\"≡⃥\"],[\"bnot\",\"⌐\"],[\"bopf\",\"𝕓\"],[\"bot\",\"⊥\"],[\"bottom\",\"⊥\"],[\"bowtie\",\"⋈\"],[\"boxDL\",\"╗\"],[\"boxDR\",\"╔\"],[\"boxDl\",\"╖\"],[\"boxDr\",\"╓\"],[\"boxH\",\"═\"],[\"boxHD\",\"╦\"],[\"boxHU\",\"╩\"],[\"boxHd\",\"╤\"],[\"boxHu\",\"╧\"],[\"boxUL\",\"╝\"],[\"boxUR\",\"╚\"],[\"boxUl\",\"╜\"],[\"boxUr\",\"╙\"],[\"boxV\",\"║\"],[\"boxVH\",\"╬\"],[\"boxVL\",\"╣\"],[\"boxVR\",\"╠\"],[\"boxVh\",\"╫\"],[\"boxVl\",\"╢\"],[\"boxVr\",\"╟\"],[\"boxbox\",\"⧉\"],[\"boxdL\",\"╕\"],[\"boxdR\",\"╒\"],[\"boxdl\",\"┐\"],[\"boxdr\",\"┌\"],[\"boxh\",\"─\"],[\"boxhD\",\"╥\"],[\"boxhU\",\"╨\"],[\"boxhd\",\"┬\"],[\"boxhu\",\"┴\"],[\"boxminus\",\"⊟\"],[\"boxplus\",\"⊞\"],[\"boxtimes\",\"⊠\"],[\"boxuL\",\"╛\"],[\"boxuR\",\"╘\"],[\"boxul\",\"┘\"],[\"boxur\",\"└\"],[\"boxv\",\"│\"],[\"boxvH\",\"╪\"],[\"boxvL\",\"╡\"],[\"boxvR\",\"╞\"],[\"boxvh\",\"┼\"],[\"boxvl\",\"┤\"],[\"boxvr\",\"├\"],[\"bprime\",\"‵\"],[\"breve\",\"˘\"],[\"brvbar\",\"¦\"],[\"bscr\",\"𝒷\"],[\"bsemi\",\"⁏\"],[\"bsim\",\"∽\"],[\"bsime\",\"⋍\"],[\"bsol\",\"\\\\\"],[\"bsolb\",\"⧅\"],[\"bsolhsub\",\"⟈\"],[\"bull\",\"•\"],[\"bullet\",\"•\"],[\"bump\",\"≎\"],[\"bumpE\",\"⪮\"],[\"bumpe\",\"≏\"],[\"bumpeq\",\"≏\"],[\"cacute\",\"ć\"],[\"cap\",\"∩\"],[\"capand\",\"⩄\"],[\"capbrcup\",\"⩉\"],[\"capcap\",\"⩋\"],[\"capcup\",\"⩇\"],[\"capdot\",\"⩀\"],[\"caps\",\"∩︀\"],[\"caret\",\"⁁\"],[\"caron\",\"ˇ\"],[\"ccaps\",\"⩍\"],[\"ccaron\",\"č\"],[\"ccedil\",\"ç\"],[\"ccirc\",\"ĉ\"],[\"ccups\",\"⩌\"],[\"ccupssm\",\"⩐\"],[\"cdot\",\"ċ\"],[\"cedil\",\"¸\"],[\"cemptyv\",\"⦲\"],[\"cent\",\"¢\"],[\"centerdot\",\"·\"],[\"cfr\",\"𝔠\"],[\"chcy\",\"ч\"],[\"check\",\"✓\"],[\"checkmark\",\"✓\"],[\"chi\",\"χ\"],[\"cir\",\"○\"],[\"cirE\",\"⧃\"],[\"circ\",\"ˆ\"],[\"circeq\",\"≗\"],[\"circlearrowleft\",\"↺\"],[\"circlearrowright\",\"↻\"],[\"circledR\",\"®\"],[\"circledS\",\"Ⓢ\"],[\"circledast\",\"⊛\"],[\"circledcirc\",\"⊚\"],[\"circleddash\",\"⊝\"],[\"cire\",\"≗\"],[\"cirfnint\",\"⨐\"],[\"cirmid\",\"⫯\"],[\"cirscir\",\"⧂\"],[\"clubs\",\"♣\"],[\"clubsuit\",\"♣\"],[\"colon\",\":\"],[\"colone\",\"≔\"],[\"coloneq\",\"≔\"],[\"comma\",\",\"],[\"commat\",\"@\"],[\"comp\",\"∁\"],[\"compfn\",\"∘\"],[\"complement\",\"∁\"],[\"complexes\",\"ℂ\"],[\"cong\",\"≅\"],[\"congdot\",\"⩭\"],[\"conint\",\"∮\"],[\"copf\",\"𝕔\"],[\"coprod\",\"∐\"],[\"copy\",\"©\"],[\"copysr\",\"℗\"],[\"crarr\",\"↵\"],[\"cross\",\"✗\"],[\"cscr\",\"𝒸\"],[\"csub\",\"⫏\"],[\"csube\",\"⫑\"],[\"csup\",\"⫐\"],[\"csupe\",\"⫒\"],[\"ctdot\",\"⋯\"],[\"cudarrl\",\"⤸\"],[\"cudarrr\",\"⤵\"],[\"cuepr\",\"⋞\"],[\"cuesc\",\"⋟\"],[\"cularr\",\"↶\"],[\"cularrp\",\"⤽\"],[\"cup\",\"∪\"],[\"cupbrcap\",\"⩈\"],[\"cupcap\",\"⩆\"],[\"cupcup\",\"⩊\"],[\"cupdot\",\"⊍\"],[\"cupor\",\"⩅\"],[\"cups\",\"∪︀\"],[\"curarr\",\"↷\"],[\"curarrm\",\"⤼\"],[\"curlyeqprec\",\"⋞\"],[\"curlyeqsucc\",\"⋟\"],[\"curlyvee\",\"⋎\"],[\"curlywedge\",\"⋏\"],[\"curren\",\"¤\"],[\"curvearrowleft\",\"↶\"],[\"curvearrowright\",\"↷\"],[\"cuvee\",\"⋎\"],[\"cuwed\",\"⋏\"],[\"cwconint\",\"∲\"],[\"cwint\",\"∱\"],[\"cylcty\",\"⌭\"],[\"dArr\",\"⇓\"],[\"dHar\",\"⥥\"],[\"dagger\",\"†\"],[\"daleth\",\"ℸ\"],[\"darr\",\"↓\"],[\"dash\",\"‐\"],[\"dashv\",\"⊣\"],[\"dbkarow\",\"⤏\"],[\"dblac\",\"˝\"],[\"dcaron\",\"ď\"],[\"dcy\",\"д\"],[\"dd\",\"ⅆ\"],[\"ddagger\",\"‡\"],[\"ddarr\",\"⇊\"],[\"ddotseq\",\"⩷\"],[\"deg\",\"°\"],[\"delta\",\"δ\"],[\"demptyv\",\"⦱\"],[\"dfisht\",\"⥿\"],[\"dfr\",\"𝔡\"],[\"dharl\",\"⇃\"],[\"dharr\",\"⇂\"],[\"diam\",\"⋄\"],[\"diamond\",\"⋄\"],[\"diamondsuit\",\"♦\"],[\"diams\",\"♦\"],[\"die\",\"¨\"],[\"digamma\",\"ϝ\"],[\"disin\",\"⋲\"],[\"div\",\"÷\"],[\"divide\",\"÷\"],[\"divideontimes\",\"⋇\"],[\"divonx\",\"⋇\"],[\"djcy\",\"ђ\"],[\"dlcorn\",\"⌞\"],[\"dlcrop\",\"⌍\"],[\"dollar\",\"$\"],[\"dopf\",\"𝕕\"],[\"dot\",\"˙\"],[\"doteq\",\"≐\"],[\"doteqdot\",\"≑\"],[\"dotminus\",\"∸\"],[\"dotplus\",\"∔\"],[\"dotsquare\",\"⊡\"],[\"doublebarwedge\",\"⌆\"],[\"downarrow\",\"↓\"],[\"downdownarrows\",\"⇊\"],[\"downharpoonleft\",\"⇃\"],[\"downharpoonright\",\"⇂\"],[\"drbkarow\",\"⤐\"],[\"drcorn\",\"⌟\"],[\"drcrop\",\"⌌\"],[\"dscr\",\"𝒹\"],[\"dscy\",\"ѕ\"],[\"dsol\",\"⧶\"],[\"dstrok\",\"đ\"],[\"dtdot\",\"⋱\"],[\"dtri\",\"▿\"],[\"dtrif\",\"▾\"],[\"duarr\",\"⇵\"],[\"duhar\",\"⥯\"],[\"dwangle\",\"⦦\"],[\"dzcy\",\"џ\"],[\"dzigrarr\",\"⟿\"],[\"eDDot\",\"⩷\"],[\"eDot\",\"≑\"],[\"eacute\",\"é\"],[\"easter\",\"⩮\"],[\"ecaron\",\"ě\"],[\"ecir\",\"≖\"],[\"ecirc\",\"ê\"],[\"ecolon\",\"≕\"],[\"ecy\",\"э\"],[\"edot\",\"ė\"],[\"ee\",\"ⅇ\"],[\"efDot\",\"≒\"],[\"efr\",\"𝔢\"],[\"eg\",\"⪚\"],[\"egrave\",\"è\"],[\"egs\",\"⪖\"],[\"egsdot\",\"⪘\"],[\"el\",\"⪙\"],[\"elinters\",\"⏧\"],[\"ell\",\"ℓ\"],[\"els\",\"⪕\"],[\"elsdot\",\"⪗\"],[\"emacr\",\"ē\"],[\"empty\",\"∅\"],[\"emptyset\",\"∅\"],[\"emptyv\",\"∅\"],[\"emsp\",\" \"],[\"emsp13\",\" \"],[\"emsp14\",\" \"],[\"eng\",\"ŋ\"],[\"ensp\",\" \"],[\"eogon\",\"ę\"],[\"eopf\",\"𝕖\"],[\"epar\",\"⋕\"],[\"eparsl\",\"⧣\"],[\"eplus\",\"⩱\"],[\"epsi\",\"ε\"],[\"epsilon\",\"ε\"],[\"epsiv\",\"ϵ\"],[\"eqcirc\",\"≖\"],[\"eqcolon\",\"≕\"],[\"eqsim\",\"≂\"],[\"eqslantgtr\",\"⪖\"],[\"eqslantless\",\"⪕\"],[\"equals\",\"=\"],[\"equest\",\"≟\"],[\"equiv\",\"≡\"],[\"equivDD\",\"⩸\"],[\"eqvparsl\",\"⧥\"],[\"erDot\",\"≓\"],[\"erarr\",\"⥱\"],[\"escr\",\"ℯ\"],[\"esdot\",\"≐\"],[\"esim\",\"≂\"],[\"eta\",\"η\"],[\"eth\",\"ð\"],[\"euml\",\"ë\"],[\"euro\",\"€\"],[\"excl\",\"!\"],[\"exist\",\"∃\"],[\"expectation\",\"ℰ\"],[\"exponentiale\",\"ⅇ\"],[\"fallingdotseq\",\"≒\"],[\"fcy\",\"ф\"],[\"female\",\"♀\"],[\"ffilig\",\"ffi\"],[\"fflig\",\"ff\"],[\"ffllig\",\"ffl\"],[\"ffr\",\"𝔣\"],[\"filig\",\"fi\"],[\"fjlig\",\"fj\"],[\"flat\",\"♭\"],[\"fllig\",\"fl\"],[\"fltns\",\"▱\"],[\"fnof\",\"ƒ\"],[\"fopf\",\"𝕗\"],[\"forall\",\"∀\"],[\"fork\",\"⋔\"],[\"forkv\",\"⫙\"],[\"fpartint\",\"⨍\"],[\"frac12\",\"½\"],[\"frac13\",\"⅓\"],[\"frac14\",\"¼\"],[\"frac15\",\"⅕\"],[\"frac16\",\"⅙\"],[\"frac18\",\"⅛\"],[\"frac23\",\"⅔\"],[\"frac25\",\"⅖\"],[\"frac34\",\"¾\"],[\"frac35\",\"⅗\"],[\"frac38\",\"⅜\"],[\"frac45\",\"⅘\"],[\"frac56\",\"⅚\"],[\"frac58\",\"⅝\"],[\"frac78\",\"⅞\"],[\"frasl\",\"⁄\"],[\"frown\",\"⌢\"],[\"fscr\",\"𝒻\"],[\"gE\",\"≧\"],[\"gEl\",\"⪌\"],[\"gacute\",\"ǵ\"],[\"gamma\",\"γ\"],[\"gammad\",\"ϝ\"],[\"gap\",\"⪆\"],[\"gbreve\",\"ğ\"],[\"gcirc\",\"ĝ\"],[\"gcy\",\"г\"],[\"gdot\",\"ġ\"],[\"ge\",\"≥\"],[\"gel\",\"⋛\"],[\"geq\",\"≥\"],[\"geqq\",\"≧\"],[\"geqslant\",\"⩾\"],[\"ges\",\"⩾\"],[\"gescc\",\"⪩\"],[\"gesdot\",\"⪀\"],[\"gesdoto\",\"⪂\"],[\"gesdotol\",\"⪄\"],[\"gesl\",\"⋛︀\"],[\"gesles\",\"⪔\"],[\"gfr\",\"𝔤\"],[\"gg\",\"≫\"],[\"ggg\",\"⋙\"],[\"gimel\",\"ℷ\"],[\"gjcy\",\"ѓ\"],[\"gl\",\"≷\"],[\"glE\",\"⪒\"],[\"gla\",\"⪥\"],[\"glj\",\"⪤\"],[\"gnE\",\"≩\"],[\"gnap\",\"⪊\"],[\"gnapprox\",\"⪊\"],[\"gne\",\"⪈\"],[\"gneq\",\"⪈\"],[\"gneqq\",\"≩\"],[\"gnsim\",\"⋧\"],[\"gopf\",\"𝕘\"],[\"grave\",\"`\"],[\"gscr\",\"ℊ\"],[\"gsim\",\"≳\"],[\"gsime\",\"⪎\"],[\"gsiml\",\"⪐\"],[\"gt\",\">\"],[\"gtcc\",\"⪧\"],[\"gtcir\",\"⩺\"],[\"gtdot\",\"⋗\"],[\"gtlPar\",\"⦕\"],[\"gtquest\",\"⩼\"],[\"gtrapprox\",\"⪆\"],[\"gtrarr\",\"⥸\"],[\"gtrdot\",\"⋗\"],[\"gtreqless\",\"⋛\"],[\"gtreqqless\",\"⪌\"],[\"gtrless\",\"≷\"],[\"gtrsim\",\"≳\"],[\"gvertneqq\",\"≩︀\"],[\"gvnE\",\"≩︀\"],[\"hArr\",\"⇔\"],[\"hairsp\",\" \"],[\"half\",\"½\"],[\"hamilt\",\"ℋ\"],[\"hardcy\",\"ъ\"],[\"harr\",\"↔\"],[\"harrcir\",\"⥈\"],[\"harrw\",\"↭\"],[\"hbar\",\"ℏ\"],[\"hcirc\",\"ĥ\"],[\"hearts\",\"♥\"],[\"heartsuit\",\"♥\"],[\"hellip\",\"…\"],[\"hercon\",\"⊹\"],[\"hfr\",\"𝔥\"],[\"hksearow\",\"⤥\"],[\"hkswarow\",\"⤦\"],[\"hoarr\",\"⇿\"],[\"homtht\",\"∻\"],[\"hookleftarrow\",\"↩\"],[\"hookrightarrow\",\"↪\"],[\"hopf\",\"𝕙\"],[\"horbar\",\"―\"],[\"hscr\",\"𝒽\"],[\"hslash\",\"ℏ\"],[\"hstrok\",\"ħ\"],[\"hybull\",\"⁃\"],[\"hyphen\",\"‐\"],[\"iacute\",\"í\"],[\"ic\",\"⁣\"],[\"icirc\",\"î\"],[\"icy\",\"и\"],[\"iecy\",\"е\"],[\"iexcl\",\"¡\"],[\"iff\",\"⇔\"],[\"ifr\",\"𝔦\"],[\"igrave\",\"ì\"],[\"ii\",\"ⅈ\"],[\"iiiint\",\"⨌\"],[\"iiint\",\"∭\"],[\"iinfin\",\"⧜\"],[\"iiota\",\"℩\"],[\"ijlig\",\"ij\"],[\"imacr\",\"ī\"],[\"image\",\"ℑ\"],[\"imagline\",\"ℐ\"],[\"imagpart\",\"ℑ\"],[\"imath\",\"ı\"],[\"imof\",\"⊷\"],[\"imped\",\"Ƶ\"],[\"in\",\"∈\"],[\"incare\",\"℅\"],[\"infin\",\"∞\"],[\"infintie\",\"⧝\"],[\"inodot\",\"ı\"],[\"int\",\"∫\"],[\"intcal\",\"⊺\"],[\"integers\",\"ℤ\"],[\"intercal\",\"⊺\"],[\"intlarhk\",\"⨗\"],[\"intprod\",\"⨼\"],[\"iocy\",\"ё\"],[\"iogon\",\"į\"],[\"iopf\",\"𝕚\"],[\"iota\",\"ι\"],[\"iprod\",\"⨼\"],[\"iquest\",\"¿\"],[\"iscr\",\"𝒾\"],[\"isin\",\"∈\"],[\"isinE\",\"⋹\"],[\"isindot\",\"⋵\"],[\"isins\",\"⋴\"],[\"isinsv\",\"⋳\"],[\"isinv\",\"∈\"],[\"it\",\"⁢\"],[\"itilde\",\"ĩ\"],[\"iukcy\",\"і\"],[\"iuml\",\"ï\"],[\"jcirc\",\"ĵ\"],[\"jcy\",\"й\"],[\"jfr\",\"𝔧\"],[\"jmath\",\"ȷ\"],[\"jopf\",\"𝕛\"],[\"jscr\",\"𝒿\"],[\"jsercy\",\"ј\"],[\"jukcy\",\"є\"],[\"kappa\",\"κ\"],[\"kappav\",\"ϰ\"],[\"kcedil\",\"ķ\"],[\"kcy\",\"к\"],[\"kfr\",\"𝔨\"],[\"kgreen\",\"ĸ\"],[\"khcy\",\"х\"],[\"kjcy\",\"ќ\"],[\"kopf\",\"𝕜\"],[\"kscr\",\"𝓀\"],[\"lAarr\",\"⇚\"],[\"lArr\",\"⇐\"],[\"lAtail\",\"⤛\"],[\"lBarr\",\"⤎\"],[\"lE\",\"≦\"],[\"lEg\",\"⪋\"],[\"lHar\",\"⥢\"],[\"lacute\",\"ĺ\"],[\"laemptyv\",\"⦴\"],[\"lagran\",\"ℒ\"],[\"lambda\",\"λ\"],[\"lang\",\"⟨\"],[\"langd\",\"⦑\"],[\"langle\",\"⟨\"],[\"lap\",\"⪅\"],[\"laquo\",\"«\"],[\"larr\",\"←\"],[\"larrb\",\"⇤\"],[\"larrbfs\",\"⤟\"],[\"larrfs\",\"⤝\"],[\"larrhk\",\"↩\"],[\"larrlp\",\"↫\"],[\"larrpl\",\"⤹\"],[\"larrsim\",\"⥳\"],[\"larrtl\",\"↢\"],[\"lat\",\"⪫\"],[\"latail\",\"⤙\"],[\"late\",\"⪭\"],[\"lates\",\"⪭︀\"],[\"lbarr\",\"⤌\"],[\"lbbrk\",\"❲\"],[\"lbrace\",\"{\"],[\"lbrack\",\"[\"],[\"lbrke\",\"⦋\"],[\"lbrksld\",\"⦏\"],[\"lbrkslu\",\"⦍\"],[\"lcaron\",\"ľ\"],[\"lcedil\",\"ļ\"],[\"lceil\",\"⌈\"],[\"lcub\",\"{\"],[\"lcy\",\"л\"],[\"ldca\",\"⤶\"],[\"ldquo\",\"“\"],[\"ldquor\",\"„\"],[\"ldrdhar\",\"⥧\"],[\"ldrushar\",\"⥋\"],[\"ldsh\",\"↲\"],[\"le\",\"≤\"],[\"leftarrow\",\"←\"],[\"leftarrowtail\",\"↢\"],[\"leftharpoondown\",\"↽\"],[\"leftharpoonup\",\"↼\"],[\"leftleftarrows\",\"⇇\"],[\"leftrightarrow\",\"↔\"],[\"leftrightarrows\",\"⇆\"],[\"leftrightharpoons\",\"⇋\"],[\"leftrightsquigarrow\",\"↭\"],[\"leftthreetimes\",\"⋋\"],[\"leg\",\"⋚\"],[\"leq\",\"≤\"],[\"leqq\",\"≦\"],[\"leqslant\",\"⩽\"],[\"les\",\"⩽\"],[\"lescc\",\"⪨\"],[\"lesdot\",\"⩿\"],[\"lesdoto\",\"⪁\"],[\"lesdotor\",\"⪃\"],[\"lesg\",\"⋚︀\"],[\"lesges\",\"⪓\"],[\"lessapprox\",\"⪅\"],[\"lessdot\",\"⋖\"],[\"lesseqgtr\",\"⋚\"],[\"lesseqqgtr\",\"⪋\"],[\"lessgtr\",\"≶\"],[\"lesssim\",\"≲\"],[\"lfisht\",\"⥼\"],[\"lfloor\",\"⌊\"],[\"lfr\",\"𝔩\"],[\"lg\",\"≶\"],[\"lgE\",\"⪑\"],[\"lhard\",\"↽\"],[\"lharu\",\"↼\"],[\"lharul\",\"⥪\"],[\"lhblk\",\"▄\"],[\"ljcy\",\"љ\"],[\"ll\",\"≪\"],[\"llarr\",\"⇇\"],[\"llcorner\",\"⌞\"],[\"llhard\",\"⥫\"],[\"lltri\",\"◺\"],[\"lmidot\",\"ŀ\"],[\"lmoust\",\"⎰\"],[\"lmoustache\",\"⎰\"],[\"lnE\",\"≨\"],[\"lnap\",\"⪉\"],[\"lnapprox\",\"⪉\"],[\"lne\",\"⪇\"],[\"lneq\",\"⪇\"],[\"lneqq\",\"≨\"],[\"lnsim\",\"⋦\"],[\"loang\",\"⟬\"],[\"loarr\",\"⇽\"],[\"lobrk\",\"⟦\"],[\"longleftarrow\",\"⟵\"],[\"longleftrightarrow\",\"⟷\"],[\"longmapsto\",\"⟼\"],[\"longrightarrow\",\"⟶\"],[\"looparrowleft\",\"↫\"],[\"looparrowright\",\"↬\"],[\"lopar\",\"⦅\"],[\"lopf\",\"𝕝\"],[\"loplus\",\"⨭\"],[\"lotimes\",\"⨴\"],[\"lowast\",\"∗\"],[\"lowbar\",\"_\"],[\"loz\",\"◊\"],[\"lozenge\",\"◊\"],[\"lozf\",\"⧫\"],[\"lpar\",\"(\"],[\"lparlt\",\"⦓\"],[\"lrarr\",\"⇆\"],[\"lrcorner\",\"⌟\"],[\"lrhar\",\"⇋\"],[\"lrhard\",\"⥭\"],[\"lrm\",\"‎\"],[\"lrtri\",\"⊿\"],[\"lsaquo\",\"‹\"],[\"lscr\",\"𝓁\"],[\"lsh\",\"↰\"],[\"lsim\",\"≲\"],[\"lsime\",\"⪍\"],[\"lsimg\",\"⪏\"],[\"lsqb\",\"[\"],[\"lsquo\",\"‘\"],[\"lsquor\",\"‚\"],[\"lstrok\",\"ł\"],[\"lt\",\"<\"],[\"ltcc\",\"⪦\"],[\"ltcir\",\"⩹\"],[\"ltdot\",\"⋖\"],[\"lthree\",\"⋋\"],[\"ltimes\",\"⋉\"],[\"ltlarr\",\"⥶\"],[\"ltquest\",\"⩻\"],[\"ltrPar\",\"⦖\"],[\"ltri\",\"◃\"],[\"ltrie\",\"⊴\"],[\"ltrif\",\"◂\"],[\"lurdshar\",\"⥊\"],[\"luruhar\",\"⥦\"],[\"lvertneqq\",\"≨︀\"],[\"lvnE\",\"≨︀\"],[\"mDDot\",\"∺\"],[\"macr\",\"¯\"],[\"male\",\"♂\"],[\"malt\",\"✠\"],[\"maltese\",\"✠\"],[\"map\",\"↦\"],[\"mapsto\",\"↦\"],[\"mapstodown\",\"↧\"],[\"mapstoleft\",\"↤\"],[\"mapstoup\",\"↥\"],[\"marker\",\"▮\"],[\"mcomma\",\"⨩\"],[\"mcy\",\"м\"],[\"mdash\",\"—\"],[\"measuredangle\",\"∡\"],[\"mfr\",\"𝔪\"],[\"mho\",\"℧\"],[\"micro\",\"µ\"],[\"mid\",\"∣\"],[\"midast\",\"*\"],[\"midcir\",\"⫰\"],[\"middot\",\"·\"],[\"minus\",\"−\"],[\"minusb\",\"⊟\"],[\"minusd\",\"∸\"],[\"minusdu\",\"⨪\"],[\"mlcp\",\"⫛\"],[\"mldr\",\"…\"],[\"mnplus\",\"∓\"],[\"models\",\"⊧\"],[\"mopf\",\"𝕞\"],[\"mp\",\"∓\"],[\"mscr\",\"𝓂\"],[\"mstpos\",\"∾\"],[\"mu\",\"μ\"],[\"multimap\",\"⊸\"],[\"mumap\",\"⊸\"],[\"nGg\",\"⋙̸\"],[\"nGt\",\"≫⃒\"],[\"nGtv\",\"≫̸\"],[\"nLeftarrow\",\"⇍\"],[\"nLeftrightarrow\",\"⇎\"],[\"nLl\",\"⋘̸\"],[\"nLt\",\"≪⃒\"],[\"nLtv\",\"≪̸\"],[\"nRightarrow\",\"⇏\"],[\"nVDash\",\"⊯\"],[\"nVdash\",\"⊮\"],[\"nabla\",\"∇\"],[\"nacute\",\"ń\"],[\"nang\",\"∠⃒\"],[\"nap\",\"≉\"],[\"napE\",\"⩰̸\"],[\"napid\",\"≋̸\"],[\"napos\",\"ʼn\"],[\"napprox\",\"≉\"],[\"natur\",\"♮\"],[\"natural\",\"♮\"],[\"naturals\",\"ℕ\"],[\"nbsp\",\"\xA0\"],[\"nbump\",\"≎̸\"],[\"nbumpe\",\"≏̸\"],[\"ncap\",\"⩃\"],[\"ncaron\",\"ň\"],[\"ncedil\",\"ņ\"],[\"ncong\",\"≇\"],[\"ncongdot\",\"⩭̸\"],[\"ncup\",\"⩂\"],[\"ncy\",\"н\"],[\"ndash\",\"–\"],[\"ne\",\"≠\"],[\"neArr\",\"⇗\"],[\"nearhk\",\"⤤\"],[\"nearr\",\"↗\"],[\"nearrow\",\"↗\"],[\"nedot\",\"≐̸\"],[\"nequiv\",\"≢\"],[\"nesear\",\"⤨\"],[\"nesim\",\"≂̸\"],[\"nexist\",\"∄\"],[\"nexists\",\"∄\"],[\"nfr\",\"𝔫\"],[\"ngE\",\"≧̸\"],[\"nge\",\"≱\"],[\"ngeq\",\"≱\"],[\"ngeqq\",\"≧̸\"],[\"ngeqslant\",\"⩾̸\"],[\"nges\",\"⩾̸\"],[\"ngsim\",\"≵\"],[\"ngt\",\"≯\"],[\"ngtr\",\"≯\"],[\"nhArr\",\"⇎\"],[\"nharr\",\"↮\"],[\"nhpar\",\"⫲\"],[\"ni\",\"∋\"],[\"nis\",\"⋼\"],[\"nisd\",\"⋺\"],[\"niv\",\"∋\"],[\"njcy\",\"њ\"],[\"nlArr\",\"⇍\"],[\"nlE\",\"≦̸\"],[\"nlarr\",\"↚\"],[\"nldr\",\"‥\"],[\"nle\",\"≰\"],[\"nleftarrow\",\"↚\"],[\"nleftrightarrow\",\"↮\"],[\"nleq\",\"≰\"],[\"nleqq\",\"≦̸\"],[\"nleqslant\",\"⩽̸\"],[\"nles\",\"⩽̸\"],[\"nless\",\"≮\"],[\"nlsim\",\"≴\"],[\"nlt\",\"≮\"],[\"nltri\",\"⋪\"],[\"nltrie\",\"⋬\"],[\"nmid\",\"∤\"],[\"nopf\",\"𝕟\"],[\"not\",\"¬\"],[\"notin\",\"∉\"],[\"notinE\",\"⋹̸\"],[\"notindot\",\"⋵̸\"],[\"notinva\",\"∉\"],[\"notinvb\",\"⋷\"],[\"notinvc\",\"⋶\"],[\"notni\",\"∌\"],[\"notniva\",\"∌\"],[\"notnivb\",\"⋾\"],[\"notnivc\",\"⋽\"],[\"npar\",\"∦\"],[\"nparallel\",\"∦\"],[\"nparsl\",\"⫽⃥\"],[\"npart\",\"∂̸\"],[\"npolint\",\"⨔\"],[\"npr\",\"⊀\"],[\"nprcue\",\"⋠\"],[\"npre\",\"⪯̸\"],[\"nprec\",\"⊀\"],[\"npreceq\",\"⪯̸\"],[\"nrArr\",\"⇏\"],[\"nrarr\",\"↛\"],[\"nrarrc\",\"⤳̸\"],[\"nrarrw\",\"↝̸\"],[\"nrightarrow\",\"↛\"],[\"nrtri\",\"⋫\"],[\"nrtrie\",\"⋭\"],[\"nsc\",\"⊁\"],[\"nsccue\",\"⋡\"],[\"nsce\",\"⪰̸\"],[\"nscr\",\"𝓃\"],[\"nshortmid\",\"∤\"],[\"nshortparallel\",\"∦\"],[\"nsim\",\"≁\"],[\"nsime\",\"≄\"],[\"nsimeq\",\"≄\"],[\"nsmid\",\"∤\"],[\"nspar\",\"∦\"],[\"nsqsube\",\"⋢\"],[\"nsqsupe\",\"⋣\"],[\"nsub\",\"⊄\"],[\"nsubE\",\"⫅̸\"],[\"nsube\",\"⊈\"],[\"nsubset\",\"⊂⃒\"],[\"nsubseteq\",\"⊈\"],[\"nsubseteqq\",\"⫅̸\"],[\"nsucc\",\"⊁\"],[\"nsucceq\",\"⪰̸\"],[\"nsup\",\"⊅\"],[\"nsupE\",\"⫆̸\"],[\"nsupe\",\"⊉\"],[\"nsupset\",\"⊃⃒\"],[\"nsupseteq\",\"⊉\"],[\"nsupseteqq\",\"⫆̸\"],[\"ntgl\",\"≹\"],[\"ntilde\",\"ñ\"],[\"ntlg\",\"≸\"],[\"ntriangleleft\",\"⋪\"],[\"ntrianglelefteq\",\"⋬\"],[\"ntriangleright\",\"⋫\"],[\"ntrianglerighteq\",\"⋭\"],[\"nu\",\"ν\"],[\"num\",\"#\"],[\"numero\",\"№\"],[\"numsp\",\" \"],[\"nvDash\",\"⊭\"],[\"nvHarr\",\"⤄\"],[\"nvap\",\"≍⃒\"],[\"nvdash\",\"⊬\"],[\"nvge\",\"≥⃒\"],[\"nvgt\",\">⃒\"],[\"nvinfin\",\"⧞\"],[\"nvlArr\",\"⤂\"],[\"nvle\",\"≤⃒\"],[\"nvlt\",\"<⃒\"],[\"nvltrie\",\"⊴⃒\"],[\"nvrArr\",\"⤃\"],[\"nvrtrie\",\"⊵⃒\"],[\"nvsim\",\"∼⃒\"],[\"nwArr\",\"⇖\"],[\"nwarhk\",\"⤣\"],[\"nwarr\",\"↖\"],[\"nwarrow\",\"↖\"],[\"nwnear\",\"⤧\"],[\"oS\",\"Ⓢ\"],[\"oacute\",\"ó\"],[\"oast\",\"⊛\"],[\"ocir\",\"⊚\"],[\"ocirc\",\"ô\"],[\"ocy\",\"о\"],[\"odash\",\"⊝\"],[\"odblac\",\"ő\"],[\"odiv\",\"⨸\"],[\"odot\",\"⊙\"],[\"odsold\",\"⦼\"],[\"oelig\",\"œ\"],[\"ofcir\",\"⦿\"],[\"ofr\",\"𝔬\"],[\"ogon\",\"˛\"],[\"ograve\",\"ò\"],[\"ogt\",\"⧁\"],[\"ohbar\",\"⦵\"],[\"ohm\",\"Ω\"],[\"oint\",\"∮\"],[\"olarr\",\"↺\"],[\"olcir\",\"⦾\"],[\"olcross\",\"⦻\"],[\"oline\",\"‾\"],[\"olt\",\"⧀\"],[\"omacr\",\"ō\"],[\"omega\",\"ω\"],[\"omicron\",\"ο\"],[\"omid\",\"⦶\"],[\"ominus\",\"⊖\"],[\"oopf\",\"𝕠\"],[\"opar\",\"⦷\"],[\"operp\",\"⦹\"],[\"oplus\",\"⊕\"],[\"or\",\"∨\"],[\"orarr\",\"↻\"],[\"ord\",\"⩝\"],[\"order\",\"ℴ\"],[\"orderof\",\"ℴ\"],[\"ordf\",\"ª\"],[\"ordm\",\"º\"],[\"origof\",\"⊶\"],[\"oror\",\"⩖\"],[\"orslope\",\"⩗\"],[\"orv\",\"⩛\"],[\"oscr\",\"ℴ\"],[\"oslash\",\"ø\"],[\"osol\",\"⊘\"],[\"otilde\",\"õ\"],[\"otimes\",\"⊗\"],[\"otimesas\",\"⨶\"],[\"ouml\",\"ö\"],[\"ovbar\",\"⌽\"],[\"par\",\"∥\"],[\"para\",\"¶\"],[\"parallel\",\"∥\"],[\"parsim\",\"⫳\"],[\"parsl\",\"⫽\"],[\"part\",\"∂\"],[\"pcy\",\"п\"],[\"percnt\",\"%\"],[\"period\",\".\"],[\"permil\",\"‰\"],[\"perp\",\"⊥\"],[\"pertenk\",\"‱\"],[\"pfr\",\"𝔭\"],[\"phi\",\"φ\"],[\"phiv\",\"ϕ\"],[\"phmmat\",\"ℳ\"],[\"phone\",\"☎\"],[\"pi\",\"π\"],[\"pitchfork\",\"⋔\"],[\"piv\",\"ϖ\"],[\"planck\",\"ℏ\"],[\"planckh\",\"ℎ\"],[\"plankv\",\"ℏ\"],[\"plus\",\"+\"],[\"plusacir\",\"⨣\"],[\"plusb\",\"⊞\"],[\"pluscir\",\"⨢\"],[\"plusdo\",\"∔\"],[\"plusdu\",\"⨥\"],[\"pluse\",\"⩲\"],[\"plusmn\",\"±\"],[\"plussim\",\"⨦\"],[\"plustwo\",\"⨧\"],[\"pm\",\"±\"],[\"pointint\",\"⨕\"],[\"popf\",\"𝕡\"],[\"pound\",\"£\"],[\"pr\",\"≺\"],[\"prE\",\"⪳\"],[\"prap\",\"⪷\"],[\"prcue\",\"≼\"],[\"pre\",\"⪯\"],[\"prec\",\"≺\"],[\"precapprox\",\"⪷\"],[\"preccurlyeq\",\"≼\"],[\"preceq\",\"⪯\"],[\"precnapprox\",\"⪹\"],[\"precneqq\",\"⪵\"],[\"precnsim\",\"⋨\"],[\"precsim\",\"≾\"],[\"prime\",\"′\"],[\"primes\",\"ℙ\"],[\"prnE\",\"⪵\"],[\"prnap\",\"⪹\"],[\"prnsim\",\"⋨\"],[\"prod\",\"∏\"],[\"profalar\",\"⌮\"],[\"profline\",\"⌒\"],[\"profsurf\",\"⌓\"],[\"prop\",\"∝\"],[\"propto\",\"∝\"],[\"prsim\",\"≾\"],[\"prurel\",\"⊰\"],[\"pscr\",\"𝓅\"],[\"psi\",\"ψ\"],[\"puncsp\",\" \"],[\"qfr\",\"𝔮\"],[\"qint\",\"⨌\"],[\"qopf\",\"𝕢\"],[\"qprime\",\"⁗\"],[\"qscr\",\"𝓆\"],[\"quaternions\",\"ℍ\"],[\"quatint\",\"⨖\"],[\"quest\",\"?\"],[\"questeq\",\"≟\"],[\"quot\",\"\\\"\"],[\"rAarr\",\"⇛\"],[\"rArr\",\"⇒\"],[\"rAtail\",\"⤜\"],[\"rBarr\",\"⤏\"],[\"rHar\",\"⥤\"],[\"race\",\"∽̱\"],[\"racute\",\"ŕ\"],[\"radic\",\"√\"],[\"raemptyv\",\"⦳\"],[\"rang\",\"⟩\"],[\"rangd\",\"⦒\"],[\"range\",\"⦥\"],[\"rangle\",\"⟩\"],[\"raquo\",\"»\"],[\"rarr\",\"→\"],[\"rarrap\",\"⥵\"],[\"rarrb\",\"⇥\"],[\"rarrbfs\",\"⤠\"],[\"rarrc\",\"⤳\"],[\"rarrfs\",\"⤞\"],[\"rarrhk\",\"↪\"],[\"rarrlp\",\"↬\"],[\"rarrpl\",\"⥅\"],[\"rarrsim\",\"⥴\"],[\"rarrtl\",\"↣\"],[\"rarrw\",\"↝\"],[\"ratail\",\"⤚\"],[\"ratio\",\"∶\"],[\"rationals\",\"ℚ\"],[\"rbarr\",\"⤍\"],[\"rbbrk\",\"❳\"],[\"rbrace\",\"}\"],[\"rbrack\",\"]\"],[\"rbrke\",\"⦌\"],[\"rbrksld\",\"⦎\"],[\"rbrkslu\",\"⦐\"],[\"rcaron\",\"ř\"],[\"rcedil\",\"ŗ\"],[\"rceil\",\"⌉\"],[\"rcub\",\"}\"],[\"rcy\",\"р\"],[\"rdca\",\"⤷\"],[\"rdldhar\",\"⥩\"],[\"rdquo\",\"”\"],[\"rdquor\",\"”\"],[\"rdsh\",\"↳\"],[\"real\",\"ℜ\"],[\"realine\",\"ℛ\"],[\"realpart\",\"ℜ\"],[\"reals\",\"ℝ\"],[\"rect\",\"▭\"],[\"reg\",\"®\"],[\"rfisht\",\"⥽\"],[\"rfloor\",\"⌋\"],[\"rfr\",\"𝔯\"],[\"rhard\",\"⇁\"],[\"rharu\",\"⇀\"],[\"rharul\",\"⥬\"],[\"rho\",\"ρ\"],[\"rhov\",\"ϱ\"],[\"rightarrow\",\"→\"],[\"rightarrowtail\",\"↣\"],[\"rightharpoondown\",\"⇁\"],[\"rightharpoonup\",\"⇀\"],[\"rightleftarrows\",\"⇄\"],[\"rightleftharpoons\",\"⇌\"],[\"rightrightarrows\",\"⇉\"],[\"rightsquigarrow\",\"↝\"],[\"rightthreetimes\",\"⋌\"],[\"ring\",\"˚\"],[\"risingdotseq\",\"≓\"],[\"rlarr\",\"⇄\"],[\"rlhar\",\"⇌\"],[\"rlm\",\"‏\"],[\"rmoust\",\"⎱\"],[\"rmoustache\",\"⎱\"],[\"rnmid\",\"⫮\"],[\"roang\",\"⟭\"],[\"roarr\",\"⇾\"],[\"robrk\",\"⟧\"],[\"ropar\",\"⦆\"],[\"ropf\",\"𝕣\"],[\"roplus\",\"⨮\"],[\"rotimes\",\"⨵\"],[\"rpar\",\")\"],[\"rpargt\",\"⦔\"],[\"rppolint\",\"⨒\"],[\"rrarr\",\"⇉\"],[\"rsaquo\",\"›\"],[\"rscr\",\"𝓇\"],[\"rsh\",\"↱\"],[\"rsqb\",\"]\"],[\"rsquo\",\"’\"],[\"rsquor\",\"’\"],[\"rthree\",\"⋌\"],[\"rtimes\",\"⋊\"],[\"rtri\",\"▹\"],[\"rtrie\",\"⊵\"],[\"rtrif\",\"▸\"],[\"rtriltri\",\"⧎\"],[\"ruluhar\",\"⥨\"],[\"rx\",\"℞\"],[\"sacute\",\"ś\"],[\"sbquo\",\"‚\"],[\"sc\",\"≻\"],[\"scE\",\"⪴\"],[\"scap\",\"⪸\"],[\"scaron\",\"š\"],[\"sccue\",\"≽\"],[\"sce\",\"⪰\"],[\"scedil\",\"ş\"],[\"scirc\",\"ŝ\"],[\"scnE\",\"⪶\"],[\"scnap\",\"⪺\"],[\"scnsim\",\"⋩\"],[\"scpolint\",\"⨓\"],[\"scsim\",\"≿\"],[\"scy\",\"с\"],[\"sdot\",\"⋅\"],[\"sdotb\",\"⊡\"],[\"sdote\",\"⩦\"],[\"seArr\",\"⇘\"],[\"searhk\",\"⤥\"],[\"searr\",\"↘\"],[\"searrow\",\"↘\"],[\"sect\",\"§\"],[\"semi\",\";\"],[\"seswar\",\"⤩\"],[\"setminus\",\"∖\"],[\"setmn\",\"∖\"],[\"sext\",\"✶\"],[\"sfr\",\"𝔰\"],[\"sfrown\",\"⌢\"],[\"sharp\",\"♯\"],[\"shchcy\",\"щ\"],[\"shcy\",\"ш\"],[\"shortmid\",\"∣\"],[\"shortparallel\",\"∥\"],[\"shy\",\"­\"],[\"sigma\",\"σ\"],[\"sigmaf\",\"ς\"],[\"sigmav\",\"ς\"],[\"sim\",\"∼\"],[\"simdot\",\"⩪\"],[\"sime\",\"≃\"],[\"simeq\",\"≃\"],[\"simg\",\"⪞\"],[\"simgE\",\"⪠\"],[\"siml\",\"⪝\"],[\"simlE\",\"⪟\"],[\"simne\",\"≆\"],[\"simplus\",\"⨤\"],[\"simrarr\",\"⥲\"],[\"slarr\",\"←\"],[\"smallsetminus\",\"∖\"],[\"smashp\",\"⨳\"],[\"smeparsl\",\"⧤\"],[\"smid\",\"∣\"],[\"smile\",\"⌣\"],[\"smt\",\"⪪\"],[\"smte\",\"⪬\"],[\"smtes\",\"⪬︀\"],[\"softcy\",\"ь\"],[\"sol\",\"/\"],[\"solb\",\"⧄\"],[\"solbar\",\"⌿\"],[\"sopf\",\"𝕤\"],[\"spades\",\"♠\"],[\"spadesuit\",\"♠\"],[\"spar\",\"∥\"],[\"sqcap\",\"⊓\"],[\"sqcaps\",\"⊓︀\"],[\"sqcup\",\"⊔\"],[\"sqcups\",\"⊔︀\"],[\"sqsub\",\"⊏\"],[\"sqsube\",\"⊑\"],[\"sqsubset\",\"⊏\"],[\"sqsubseteq\",\"⊑\"],[\"sqsup\",\"⊐\"],[\"sqsupe\",\"⊒\"],[\"sqsupset\",\"⊐\"],[\"sqsupseteq\",\"⊒\"],[\"squ\",\"□\"],[\"square\",\"□\"],[\"squarf\",\"▪\"],[\"squf\",\"▪\"],[\"srarr\",\"→\"],[\"sscr\",\"𝓈\"],[\"ssetmn\",\"∖\"],[\"ssmile\",\"⌣\"],[\"sstarf\",\"⋆\"],[\"star\",\"☆\"],[\"starf\",\"★\"],[\"straightepsilon\",\"ϵ\"],[\"straightphi\",\"ϕ\"],[\"strns\",\"¯\"],[\"sub\",\"⊂\"],[\"subE\",\"⫅\"],[\"subdot\",\"⪽\"],[\"sube\",\"⊆\"],[\"subedot\",\"⫃\"],[\"submult\",\"⫁\"],[\"subnE\",\"⫋\"],[\"subne\",\"⊊\"],[\"subplus\",\"⪿\"],[\"subrarr\",\"⥹\"],[\"subset\",\"⊂\"],[\"subseteq\",\"⊆\"],[\"subseteqq\",\"⫅\"],[\"subsetneq\",\"⊊\"],[\"subsetneqq\",\"⫋\"],[\"subsim\",\"⫇\"],[\"subsub\",\"⫕\"],[\"subsup\",\"⫓\"],[\"succ\",\"≻\"],[\"succapprox\",\"⪸\"],[\"succcurlyeq\",\"≽\"],[\"succeq\",\"⪰\"],[\"succnapprox\",\"⪺\"],[\"succneqq\",\"⪶\"],[\"succnsim\",\"⋩\"],[\"succsim\",\"≿\"],[\"sum\",\"∑\"],[\"sung\",\"♪\"],[\"sup\",\"⊃\"],[\"sup1\",\"¹\"],[\"sup2\",\"²\"],[\"sup3\",\"³\"],[\"supE\",\"⫆\"],[\"supdot\",\"⪾\"],[\"supdsub\",\"⫘\"],[\"supe\",\"⊇\"],[\"supedot\",\"⫄\"],[\"suphsol\",\"⟉\"],[\"suphsub\",\"⫗\"],[\"suplarr\",\"⥻\"],[\"supmult\",\"⫂\"],[\"supnE\",\"⫌\"],[\"supne\",\"⊋\"],[\"supplus\",\"⫀\"],[\"supset\",\"⊃\"],[\"supseteq\",\"⊇\"],[\"supseteqq\",\"⫆\"],[\"supsetneq\",\"⊋\"],[\"supsetneqq\",\"⫌\"],[\"supsim\",\"⫈\"],[\"supsub\",\"⫔\"],[\"supsup\",\"⫖\"],[\"swArr\",\"⇙\"],[\"swarhk\",\"⤦\"],[\"swarr\",\"↙\"],[\"swarrow\",\"↙\"],[\"swnwar\",\"⤪\"],[\"szlig\",\"ß\"],[\"target\",\"⌖\"],[\"tau\",\"τ\"],[\"tbrk\",\"⎴\"],[\"tcaron\",\"ť\"],[\"tcedil\",\"ţ\"],[\"tcy\",\"т\"],[\"tdot\",\"⃛\"],[\"telrec\",\"⌕\"],[\"tfr\",\"𝔱\"],[\"there4\",\"∴\"],[\"therefore\",\"∴\"],[\"theta\",\"θ\"],[\"thetasym\",\"ϑ\"],[\"thetav\",\"ϑ\"],[\"thickapprox\",\"≈\"],[\"thicksim\",\"∼\"],[\"thinsp\",\" \"],[\"thkap\",\"≈\"],[\"thksim\",\"∼\"],[\"thorn\",\"þ\"],[\"tilde\",\"˜\"],[\"times\",\"×\"],[\"timesb\",\"⊠\"],[\"timesbar\",\"⨱\"],[\"timesd\",\"⨰\"],[\"tint\",\"∭\"],[\"toea\",\"⤨\"],[\"top\",\"⊤\"],[\"topbot\",\"⌶\"],[\"topcir\",\"⫱\"],[\"topf\",\"𝕥\"],[\"topfork\",\"⫚\"],[\"tosa\",\"⤩\"],[\"tprime\",\"‴\"],[\"trade\",\"™\"],[\"triangle\",\"▵\"],[\"triangledown\",\"▿\"],[\"triangleleft\",\"◃\"],[\"trianglelefteq\",\"⊴\"],[\"triangleq\",\"≜\"],[\"triangleright\",\"▹\"],[\"trianglerighteq\",\"⊵\"],[\"tridot\",\"◬\"],[\"trie\",\"≜\"],[\"triminus\",\"⨺\"],[\"triplus\",\"⨹\"],[\"trisb\",\"⧍\"],[\"tritime\",\"⨻\"],[\"trpezium\",\"⏢\"],[\"tscr\",\"𝓉\"],[\"tscy\",\"ц\"],[\"tshcy\",\"ћ\"],[\"tstrok\",\"ŧ\"],[\"twixt\",\"≬\"],[\"twoheadleftarrow\",\"↞\"],[\"twoheadrightarrow\",\"↠\"],[\"uArr\",\"⇑\"],[\"uHar\",\"⥣\"],[\"uacute\",\"ú\"],[\"uarr\",\"↑\"],[\"ubrcy\",\"ў\"],[\"ubreve\",\"ŭ\"],[\"ucirc\",\"û\"],[\"ucy\",\"у\"],[\"udarr\",\"⇅\"],[\"udblac\",\"ű\"],[\"udhar\",\"⥮\"],[\"ufisht\",\"⥾\"],[\"ufr\",\"𝔲\"],[\"ugrave\",\"ù\"],[\"uharl\",\"↿\"],[\"uharr\",\"↾\"],[\"uhblk\",\"▀\"],[\"ulcorn\",\"⌜\"],[\"ulcorner\",\"⌜\"],[\"ulcrop\",\"⌏\"],[\"ultri\",\"◸\"],[\"umacr\",\"ū\"],[\"uml\",\"¨\"],[\"uogon\",\"ų\"],[\"uopf\",\"𝕦\"],[\"uparrow\",\"↑\"],[\"updownarrow\",\"↕\"],[\"upharpoonleft\",\"↿\"],[\"upharpoonright\",\"↾\"],[\"uplus\",\"⊎\"],[\"upsi\",\"υ\"],[\"upsih\",\"ϒ\"],[\"upsilon\",\"υ\"],[\"upuparrows\",\"⇈\"],[\"urcorn\",\"⌝\"],[\"urcorner\",\"⌝\"],[\"urcrop\",\"⌎\"],[\"uring\",\"ů\"],[\"urtri\",\"◹\"],[\"uscr\",\"𝓊\"],[\"utdot\",\"⋰\"],[\"utilde\",\"ũ\"],[\"utri\",\"▵\"],[\"utrif\",\"▴\"],[\"uuarr\",\"⇈\"],[\"uuml\",\"ü\"],[\"uwangle\",\"⦧\"],[\"vArr\",\"⇕\"],[\"vBar\",\"⫨\"],[\"vBarv\",\"⫩\"],[\"vDash\",\"⊨\"],[\"vangrt\",\"⦜\"],[\"varepsilon\",\"ϵ\"],[\"varkappa\",\"ϰ\"],[\"varnothing\",\"∅\"],[\"varphi\",\"ϕ\"],[\"varpi\",\"ϖ\"],[\"varpropto\",\"∝\"],[\"varr\",\"↕\"],[\"varrho\",\"ϱ\"],[\"varsigma\",\"ς\"],[\"varsubsetneq\",\"⊊︀\"],[\"varsubsetneqq\",\"⫋︀\"],[\"varsupsetneq\",\"⊋︀\"],[\"varsupsetneqq\",\"⫌︀\"],[\"vartheta\",\"ϑ\"],[\"vartriangleleft\",\"⊲\"],[\"vartriangleright\",\"⊳\"],[\"vcy\",\"в\"],[\"vdash\",\"⊢\"],[\"vee\",\"∨\"],[\"veebar\",\"⊻\"],[\"veeeq\",\"≚\"],[\"vellip\",\"⋮\"],[\"verbar\",\"|\"],[\"vert\",\"|\"],[\"vfr\",\"𝔳\"],[\"vltri\",\"⊲\"],[\"vnsub\",\"⊂⃒\"],[\"vnsup\",\"⊃⃒\"],[\"vopf\",\"𝕧\"],[\"vprop\",\"∝\"],[\"vrtri\",\"⊳\"],[\"vscr\",\"𝓋\"],[\"vsubnE\",\"⫋︀\"],[\"vsubne\",\"⊊︀\"],[\"vsupnE\",\"⫌︀\"],[\"vsupne\",\"⊋︀\"],[\"vzigzag\",\"⦚\"],[\"wcirc\",\"ŵ\"],[\"wedbar\",\"⩟\"],[\"wedge\",\"∧\"],[\"wedgeq\",\"≙\"],[\"weierp\",\"℘\"],[\"wfr\",\"𝔴\"],[\"wopf\",\"𝕨\"],[\"wp\",\"℘\"],[\"wr\",\"≀\"],[\"wreath\",\"≀\"],[\"wscr\",\"𝓌\"],[\"xcap\",\"⋂\"],[\"xcirc\",\"◯\"],[\"xcup\",\"⋃\"],[\"xdtri\",\"▽\"],[\"xfr\",\"𝔵\"],[\"xhArr\",\"⟺\"],[\"xharr\",\"⟷\"],[\"xi\",\"ξ\"],[\"xlArr\",\"⟸\"],[\"xlarr\",\"⟵\"],[\"xmap\",\"⟼\"],[\"xnis\",\"⋻\"],[\"xodot\",\"⨀\"],[\"xopf\",\"𝕩\"],[\"xoplus\",\"⨁\"],[\"xotime\",\"⨂\"],[\"xrArr\",\"⟹\"],[\"xrarr\",\"⟶\"],[\"xscr\",\"𝓍\"],[\"xsqcup\",\"⨆\"],[\"xuplus\",\"⨄\"],[\"xutri\",\"△\"],[\"xvee\",\"⋁\"],[\"xwedge\",\"⋀\"],[\"yacute\",\"ý\"],[\"yacy\",\"я\"],[\"ycirc\",\"ŷ\"],[\"ycy\",\"ы\"],[\"yen\",\"¥\"],[\"yfr\",\"𝔶\"],[\"yicy\",\"ї\"],[\"yopf\",\"𝕪\"],[\"yscr\",\"𝓎\"],[\"yucy\",\"ю\"],[\"yuml\",\"ÿ\"],[\"zacute\",\"ź\"],[\"zcaron\",\"ž\"],[\"zcy\",\"з\"],[\"zdot\",\"ż\"],[\"zeetrf\",\"ℨ\"],[\"zeta\",\"ζ\"],[\"zfr\",\"𝔷\"],[\"zhcy\",\"ж\"],[\"zigrarr\",\"⇝\"],[\"zopf\",\"𝕫\"],[\"zscr\",\"𝓏\"],[\"zwj\",\"‍\"],[\"zwnj\",\"‌\"]]"));
5716
5921
  //#endregion
5717
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/entities.js
5922
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/entities.js
5718
5923
  /** The largest code point Unicode defines. */
5719
5924
  const MAX_CODE_POINT = 1114111;
5720
5925
  /**
@@ -5736,7 +5941,7 @@ const decodeEntity = (entity) => {
5736
5941
  return String.fromCodePoint(code);
5737
5942
  };
5738
5943
  //#endregion
5739
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/unescape.js
5944
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/unescape.js
5740
5945
  /** The punctuation set a backslash may escape, per the spec. */
5741
5946
  const ESCAPABLE$1 = "[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]";
5742
5947
  /** One entity, in any of the three spec forms. */
@@ -5750,7 +5955,7 @@ const unescapeChar = (source) => {
5750
5955
  /** Replace every backslash escape and character reference with its literal. */
5751
5956
  const unescapeString = (source) => reBackslashOrAmp.test(source) ? source.replace(reEntityOrEscapedChar, unescapeChar) : source;
5752
5957
  //#endregion
5753
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/code.js
5958
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/code.js
5754
5959
  const reBlankLine = /^[ \t]*$/;
5755
5960
  const reClosingCodeFence = /^(?:`{3,}|~{3,})(?=[ \t]*$)/;
5756
5961
  /**
@@ -5834,7 +6039,7 @@ const codeConstruct = {
5834
6039
  }
5835
6040
  };
5836
6041
  //#endregion
5837
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/document.js
6042
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/document.js
5838
6043
  /** The document root: contains everything except a bare list item. */
5839
6044
  const documentConstruct = {
5840
6045
  type: "document",
@@ -5847,7 +6052,7 @@ const documentConstruct = {
5847
6052
  })
5848
6053
  };
5849
6054
  //#endregion
5850
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/fencedCode.js
6055
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/fencedCode.js
5851
6056
  const reCodeFence = /^`{3,}(?!.*`)|^~{3,}/;
5852
6057
  const fenceCharOf = (char) => char === "`" || char === "~" ? char : void 0;
5853
6058
  /** The fenced-code block start: three or more backticks or tildes. */
@@ -5871,7 +6076,7 @@ const fencedCodeStart = {
5871
6076
  }
5872
6077
  };
5873
6078
  //#endregion
5874
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/patterns.js
6079
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/patterns.js
5875
6080
  const stickyCache = /* @__PURE__ */ new WeakMap();
5876
6081
  const globalCache = /* @__PURE__ */ new WeakMap();
5877
6082
  const clone = (pattern, flag, dropCaret) => {
@@ -5895,7 +6100,7 @@ const globalOf = (pattern) => {
5895
6100
  return made;
5896
6101
  };
5897
6102
  //#endregion
5898
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/references.js
6103
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/references.js
5899
6104
  const ESCAPABLE = "[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-]";
5900
6105
  const ESCAPED_CHAR = `\\\\${ESCAPABLE}`;
5901
6106
  const reLinkTitle = new RegExp(`^(?:"(${ESCAPED_CHAR}|\\\\[^\\\\]|[^\\\\"\\x00])*"|'(${ESCAPED_CHAR}|\\\\[^\\\\]|[^\\\\'\\x00])*'|\\((${ESCAPED_CHAR}|\\\\[^\\\\]|[^\\\\()\\x00])*\\))`);
@@ -6069,7 +6274,7 @@ const parseReference = (text) => {
6069
6274
  };
6070
6275
  };
6071
6276
  //#endregion
6072
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/footnoteDefinition.js
6277
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/footnoteDefinition.js
6073
6278
  /**
6074
6279
  * `_scan_footnote_definition` from `src/scanners.re`:
6075
6280
  *
@@ -6146,7 +6351,7 @@ const footnoteDefinitionStart = {
6146
6351
  }
6147
6352
  };
6148
6353
  //#endregion
6149
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/indentedCode.js
6354
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/indentedCode.js
6150
6355
  /** The indented-code block start: four columns of indentation. */
6151
6356
  const indentedCodeStart = {
6152
6357
  name: "indentedCode",
@@ -6160,7 +6365,7 @@ const indentedCodeStart = {
6160
6365
  }
6161
6366
  };
6162
6367
  //#endregion
6163
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/segments.js
6368
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/segments.js
6164
6369
  /**
6165
6370
  * The absolute source offset of `textIndex` within a segmented content run.
6166
6371
  *
@@ -6194,7 +6399,7 @@ const sliceWithSegments = (segments, from, to) => {
6194
6399
  return sliced;
6195
6400
  };
6196
6401
  //#endregion
6197
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/linkReferenceDefinition.js
6402
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/linkReferenceDefinition.js
6198
6403
  const C_OPEN_BRACKET$1 = 91;
6199
6404
  /**
6200
6405
  * Split every leading link reference definition out of `block`, inserting one
@@ -6259,7 +6464,7 @@ const definitionConstruct = {
6259
6464
  }
6260
6465
  };
6261
6466
  //#endregion
6262
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/list.js
6467
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/list.js
6263
6468
  const reBulletListMarker = /^[*+-]/;
6264
6469
  const reOrderedListMarker = /^(\d{1,9})([.)])/;
6265
6470
  const reNonSpace$1 = /[^ \t\f\v\r\n]/;
@@ -6412,7 +6617,7 @@ const listItemStart = {
6412
6617
  }
6413
6618
  };
6414
6619
  //#endregion
6415
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/paragraph.js
6620
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/paragraph.js
6416
6621
  /** Paragraph: absorbs lines until a blank one, and contains nothing. */
6417
6622
  const paragraphConstruct = {
6418
6623
  type: "paragraph",
@@ -6434,7 +6639,7 @@ const paragraphConstruct = {
6434
6639
  }
6435
6640
  };
6436
6641
  //#endregion
6437
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/setextHeading.js
6642
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/setextHeading.js
6438
6643
  const reSetextHeadingLine = /^(?:=+|-+)[ \t]*$/;
6439
6644
  /** The setext heading block start: a run of `=` or `-` under a paragraph. */
6440
6645
  const setextHeadingStart = {
@@ -6454,7 +6659,7 @@ const setextHeadingStart = {
6454
6659
  }
6455
6660
  };
6456
6661
  //#endregion
6457
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/table.js
6662
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/table.js
6458
6663
  /**
6459
6664
  * Upstream's `MAX_AUTOCOMPLETED_CELLS`: the ceiling on cells the parser
6460
6665
  * invents to pad short rows, which is what stops a wide header followed by a
@@ -6825,7 +7030,7 @@ const tableCellConstruct = {
6825
7030
  }
6826
7031
  };
6827
7032
  //#endregion
6828
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/taskListItem.js
7033
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/taskListItem.js
6829
7034
  /**
6830
7035
  * `_scan_tasklist`, as the generated scanner accepts it.
6831
7036
  *
@@ -6859,7 +7064,7 @@ const taskListItemStart = {
6859
7064
  }
6860
7065
  };
6861
7066
  //#endregion
6862
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/thematicBreak.js
7067
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blocks/thematicBreak.js
6863
7068
  const reThematicBreak = /^(?:\*[ \t]*){3,}$|^(?:_[ \t]*){3,}$|^(?:-[ \t]*){3,}$/;
6864
7069
  const markerCharOf$1 = (char) => char === "-" || char === "_" || char === "*" ? char : void 0;
6865
7070
  /** Thematic break: one line, no children. */
@@ -6890,7 +7095,7 @@ const thematicBreakStart = {
6890
7095
  }
6891
7096
  };
6892
7097
  //#endregion
6893
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blockRegistry.js
7098
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blockRegistry.js
6894
7099
  const constructTable = (constructs) => new Map(constructs.map((construct) => [construct.type, construct]));
6895
7100
  const commonmarkDialect$1 = {
6896
7101
  constructs: constructTable([
@@ -6962,61 +7167,7 @@ const blockDialect = (dialect) => {
6962
7167
  return found;
6963
7168
  };
6964
7169
  //#endregion
6965
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blocks/frontmatter.js
6966
- const FENCES = /* @__PURE__ */ new Map([
6967
- ["---", {
6968
- format: "yaml",
6969
- close: "---"
6970
- }],
6971
- ["+++", {
6972
- format: "toml",
6973
- close: "+++"
6974
- }],
6975
- ["---json", {
6976
- format: "json",
6977
- close: "---"
6978
- }]
6979
- ]);
6980
- /**
6981
- * Scan the head of a preprocessed document for a frontmatter block.
6982
- *
6983
- * `lines` is the preprocessor's line table (U+0000 already replaced,
6984
- * terminators stripped, absolute `start` offsets); `text` is the original
6985
- * source, consulted only for the terminators between value lines — a
6986
- * terminator can never contain U+0000, so slicing it from the source is
6987
- * exact, and the value keeps CRLF interiors verbatim while the line content
6988
- * keeps the preprocessor's U+FFFD replacement.
6989
- *
6990
- * Returns `null` when the document has no frontmatter — which is the common
6991
- * case and never an error.
6992
- */
6993
- const scanFrontmatter = (lines, text) => {
6994
- const opening = lines[0];
6995
- if (opening === void 0 || opening.start !== 0) return null;
6996
- const rule = FENCES.get(opening.text);
6997
- if (rule === void 0) return null;
6998
- for (let index = 1; index < lines.length; index += 1) {
6999
- const line = lines[index];
7000
- if (line === void 0 || line.text !== rule.close) continue;
7001
- const parts = [];
7002
- for (let inner = 1; inner < index; inner += 1) {
7003
- const current = lines[inner];
7004
- const next = lines[inner + 1];
7005
- if (current === void 0 || next === void 0) break;
7006
- parts.push(current.text);
7007
- if (inner + 1 < index) parts.push(text.slice(current.start + current.text.length, next.start));
7008
- }
7009
- return {
7010
- format: rule.format,
7011
- value: parts.join(""),
7012
- lineCount: index + 1,
7013
- endOffset: line.start + line.text.length
7014
- };
7015
- }
7016
- return null;
7017
- };
7018
- //#endregion
7019
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/lineIndex.js
7170
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/lineIndex.js
7020
7171
  /**
7021
7172
  * A precomputed index of line-start offsets over a fixed source text,
7022
7173
  * answering `positionAt(offset)` in `O(log n)` via binary search rather than
@@ -7090,7 +7241,7 @@ var LineIndex = class LineIndex {
7090
7241
  }
7091
7242
  };
7092
7243
  //#endregion
7093
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlineNode.js
7244
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlineNode.js
7094
7245
  /** Open a node with no links. */
7095
7246
  const makeInlineNode = (type, start, end, value = "") => ({
7096
7247
  type,
@@ -7142,7 +7293,7 @@ const childrenOf = (node) => {
7142
7293
  return children;
7143
7294
  };
7144
7295
  //#endregion
7145
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/emphasis.js
7296
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/emphasis.js
7146
7297
  const C_ASTERISK$1 = 42;
7147
7298
  const C_UNDERSCORE$1 = 95;
7148
7299
  const rePunctuation = /^[!"#$%&'()*+,\-./:;<=>?@[\]\\^_`{|}~\p{P}\p{S}]/u;
@@ -7219,7 +7370,7 @@ const emphasisConstruct = {
7219
7370
  parse: (scanner) => handleDelim(scanner, scanner.peek())
7220
7371
  };
7221
7372
  //#endregion
7222
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/strikethrough.js
7373
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/strikethrough.js
7223
7374
  /**
7224
7375
  * Consume a `~` run as literal text and, when it is a viable one- or
7225
7376
  * two-tilde run, push it onto the shared delimiter stack.
@@ -7293,7 +7444,7 @@ const strikethroughConstruct = {
7293
7444
  parse: (scanner) => handleTilde(scanner)
7294
7445
  };
7295
7446
  //#endregion
7296
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/autolink.js
7447
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/autolink.js
7297
7448
  const C_LESSTHAN$1 = 60;
7298
7449
  const reEmailAutolink = /^<([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/;
7299
7450
  const reAutolink = /^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\0- ]*>/i;
@@ -7325,7 +7476,7 @@ const autolinkConstruct = {
7325
7476
  }
7326
7477
  };
7327
7478
  //#endregion
7328
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/autolinkLiteral.js
7479
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/autolinkLiteral.js
7329
7480
  const C_LOWER_W = 119;
7330
7481
  const C_COLON = 58;
7331
7482
  /** `cmark_isspace`: ASCII only, deliberately — upstream's URL scan uses it. */
@@ -7695,7 +7846,7 @@ const linkifyEmails = (root) => {
7695
7846
  }
7696
7847
  };
7697
7848
  //#endregion
7698
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/codeSpan.js
7849
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/codeSpan.js
7699
7850
  const C_BACKTICK$1 = 96;
7700
7851
  const reTicksHere = /^`+/;
7701
7852
  const reNewline = /\n/gm;
@@ -7723,7 +7874,7 @@ const codeSpanConstruct = {
7723
7874
  }
7724
7875
  };
7725
7876
  //#endregion
7726
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/entity.js
7877
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/entity.js
7727
7878
  const C_AMPERSAND = 38;
7728
7879
  const reEntityHere = new RegExp(`^${ENTITY}`, "i");
7729
7880
  /** A named, decimal or hexadecimal character reference. */
@@ -7739,7 +7890,7 @@ const entityConstruct = {
7739
7890
  }
7740
7891
  };
7741
7892
  //#endregion
7742
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/escape.js
7893
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/escape.js
7743
7894
  const C_BACKSLASH = 92;
7744
7895
  const C_NEWLINE$1 = 10;
7745
7896
  const reEscapable = new RegExp(`^${ESCAPABLE$1}`);
@@ -7768,7 +7919,7 @@ const escapeConstruct = {
7768
7919
  }
7769
7920
  };
7770
7921
  //#endregion
7771
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/link.js
7922
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/link.js
7772
7923
  const C_BANG = 33;
7773
7924
  const C_CARET$1 = 94;
7774
7925
  const C_OPEN_BRACKET = 91;
@@ -7975,7 +8126,7 @@ const makeLinkCloseConstruct = (onNoMatch) => ({
7975
8126
  /** `]` — closes a link or image, or stays literal. The CommonMark spelling. */
7976
8127
  const linkCloseConstruct = makeLinkCloseConstruct();
7977
8128
  //#endregion
7978
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/footnoteReference.js
8129
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/footnoteReference.js
7979
8130
  const C_CARET = 94;
7980
8131
  /**
7981
8132
  * Whether the bracket that just closed looks like `[^...]` with something
@@ -8032,7 +8183,7 @@ const gfmLinkCloseConstruct = makeLinkCloseConstruct(footnoteReferenceFallback);
8032
8183
  */
8033
8184
  const gfmImageOpenConstruct = makeImageOpenConstruct(false);
8034
8185
  //#endregion
8035
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/lineBreak.js
8186
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/lineBreak.js
8036
8187
  const C_NEWLINE = 10;
8037
8188
  const reInitialSpace = /^ */;
8038
8189
  /** A soft or hard line break. */
@@ -8053,7 +8204,7 @@ const lineBreakConstruct = {
8053
8204
  }
8054
8205
  };
8055
8206
  //#endregion
8056
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/rawHtml.js
8207
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/rawHtml.js
8057
8208
  const C_LESSTHAN = 60;
8058
8209
  /** The raw-HTML forms that scan forward for a fixed closing sequence. */
8059
8210
  const UNTERMINATED_FORMS = [
@@ -8075,7 +8226,7 @@ const rawHtmlConstruct = {
8075
8226
  }
8076
8227
  };
8077
8228
  //#endregion
8078
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlines/text.js
8229
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlines/text.js
8079
8230
  const reMain = /^[^\n`[\]\\!<&*_'"]+/;
8080
8231
  const reMainGfm = /^[^\n`[\]\\!<&*_'"~w:]+/;
8081
8232
  /** Consume a run of ordinary characters, stopping before any construct's. */
@@ -8095,7 +8246,7 @@ const textConstruct = runConstruct("text", reMain);
8095
8246
  /** Ordinary text under `gfm`, which has three more characters to yield to. */
8096
8247
  const gfmTextConstruct = runConstruct("text", reMainGfm);
8097
8248
  //#endregion
8098
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlineRegistry.js
8249
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlineRegistry.js
8099
8250
  const triggerTable = (constructs) => {
8100
8251
  const table = /* @__PURE__ */ new Map();
8101
8252
  for (const construct of constructs) for (const trigger of construct.triggers) {
@@ -8148,7 +8299,7 @@ const inlineDialect = (dialect) => {
8148
8299
  return found;
8149
8300
  };
8150
8301
  //#endregion
8151
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/inlineParser.js
8302
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/inlineParser.js
8152
8303
  const C_UNDERSCORE = 95;
8153
8304
  const C_ASTERISK = 42;
8154
8305
  const reTrailingSpaces = / +$/;
@@ -8542,12 +8693,14 @@ var InlineParser = class {
8542
8693
  */
8543
8694
  const parseInlines = (source, refmap, position, dialect = "commonmark", footnoteLabels = /* @__PURE__ */ new Set()) => new InlineParser(source, inlineDialect(dialect), position, refmap, footnoteLabels).parse();
8544
8695
  //#endregion
8545
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/rawInline.js
8696
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/rawInline.js
8546
8697
  const reWhitespace = /\s/;
8547
8698
  const reCmarkSpace = /[ \t\n\r]/;
8548
8699
  /**
8549
8700
  * Trim `text` the way commonmark.js does before inline parsing, carrying the
8550
8701
  * segment table along so the surviving characters keep their source offsets.
8702
+ * Exported for the phrasing-level parse entry point (`phrasing.ts`), which
8703
+ * prepares content the same way a paragraph does.
8551
8704
  */
8552
8705
  const trimWithSegments = (text, segments, whitespace) => {
8553
8706
  let start = 0;
@@ -8595,7 +8748,7 @@ const prepareInline = (block, position, refmap, dialect = "commonmark", footnote
8595
8748
  };
8596
8749
  };
8597
8750
  //#endregion
8598
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/blockParser.js
8751
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/blockParser.js
8599
8752
  /** Upstream's cheap pre-filter: a line that cannot start any block. */
8600
8753
  const reMaybeSpecial = /^[#`~*+_=<>0-9-]/;
8601
8754
  var BlockParser = class {
@@ -9002,7 +9155,56 @@ var BlockParser = class {
9002
9155
  */
9003
9156
  const parseBlocks = (text, dialect = "commonmark", frontmatter = false) => new BlockParser(text, blockDialect(dialect), dialect, frontmatter).parse();
9004
9157
  //#endregion
9005
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/internal/stringify.js
9158
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/phrasing.js
9159
+ const EMPTY_REFMAP = /* @__PURE__ */ new Map();
9160
+ const EMPTY_FOOTNOTE_LABELS = /* @__PURE__ */ new Set();
9161
+ /**
9162
+ * Parse a text fragment as a single paragraph's inline content.
9163
+ */
9164
+ const parsePhrasingText = (text, dialect) => {
9165
+ const lines = preprocessLines(text);
9166
+ const segments = [];
9167
+ let content = "";
9168
+ for (const line of lines) {
9169
+ segments.push({
9170
+ textOffset: content.length,
9171
+ sourceOffset: line.start,
9172
+ length: line.text.length
9173
+ });
9174
+ content += `${line.text}\n`;
9175
+ }
9176
+ const trimmed = trimWithSegments(content, segments, /\s/);
9177
+ if (trimmed.text.length === 0) return [];
9178
+ const first = trimmed.segments[0];
9179
+ const startOffset = first === void 0 ? 0 : first.sourceOffset;
9180
+ const lineIndex = LineIndex.fromLineStarts(text, lines.map((line) => line.start));
9181
+ const sourceLength = text.length;
9182
+ const positionOf = (start, end) => {
9183
+ const clampedStart = Math.min(Math.max(start, 0), sourceLength);
9184
+ const clampedEnd = Math.min(Math.max(end, clampedStart), sourceLength);
9185
+ const startPoint = lineIndex.positionAt(clampedStart);
9186
+ const endPoint = lineIndex.positionAt(clampedEnd);
9187
+ return Position.make({
9188
+ start: Point.make({
9189
+ line: startPoint.line,
9190
+ column: startPoint.column,
9191
+ offset: clampedStart
9192
+ }),
9193
+ end: Point.make({
9194
+ line: endPoint.line,
9195
+ column: endPoint.column,
9196
+ offset: clampedEnd
9197
+ })
9198
+ });
9199
+ };
9200
+ return parseInlines({
9201
+ text: trimmed.text,
9202
+ startOffset,
9203
+ segments: trimmed.segments
9204
+ }, EMPTY_REFMAP, positionOf, dialect, EMPTY_FOOTNOTE_LABELS);
9205
+ };
9206
+ //#endregion
9207
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/internal/stringify.js
9006
9208
  const FLOW_CONTEXT = {
9007
9209
  singleLine: false,
9008
9210
  inTable: false,
@@ -9074,7 +9276,7 @@ const isSchemeColon = (value, index) => {
9074
9276
  * Escape one text value into `out`, tracking line starts. Returns whether the
9075
9277
  * emission ended at a line start.
9076
9278
  */
9077
- const escapeText = (value, context, atLineStart) => {
9279
+ const escapeText = (value, context, atLineStart, mdx) => {
9078
9280
  let out = "";
9079
9281
  let lineStart = atLineStart;
9080
9282
  for (let index = 0; index < value.length; index += 1) {
@@ -9127,6 +9329,10 @@ const escapeText = (value, context, atLineStart) => {
9127
9329
  out += `\\${char}`;
9128
9330
  continue;
9129
9331
  }
9332
+ if (mdx && char === "{") {
9333
+ out += "\\{";
9334
+ continue;
9335
+ }
9130
9336
  if (context.inHeading && char === "#") {
9131
9337
  out += "\\#";
9132
9338
  continue;
@@ -9216,7 +9422,7 @@ const serializeInlines = (children, context, state, startsLine, junctionGuard) =
9216
9422
  };
9217
9423
  switch (child.type) {
9218
9424
  case "text": {
9219
- const escaped = escapeText(child.value, context, atLineStart);
9425
+ const escaped = escapeText(child.value, context, atLineStart, state.mdx);
9220
9426
  out += escaped.text;
9221
9427
  atLineStart = escaped.atLineStart;
9222
9428
  break;
@@ -9293,12 +9499,126 @@ const serializeInlines = (children, context, state, startsLine, junctionGuard) =
9293
9499
  case "footnoteReference":
9294
9500
  out += `[^${escapeLabel(child.label ?? child.identifier)}]`;
9295
9501
  atLineStart = false;
9502
+ break;
9503
+ case "mdxJsxTextElement":
9504
+ out += serializeMdxJsxText(child, context, state);
9505
+ atLineStart = false;
9506
+ break;
9507
+ case "mdxTextExpression":
9508
+ out += mdxExpression(child.value);
9509
+ atLineStart = false;
9296
9510
  }
9297
9511
  index += 1;
9298
9512
  unguard(state);
9299
9513
  }
9300
9514
  return out;
9301
9515
  };
9516
+ /** The tag string of every MDX node type. */
9517
+ const MDX_NODE_TYPES = /* @__PURE__ */ new Set([
9518
+ "mdxJsxFlowElement",
9519
+ "mdxJsxTextElement",
9520
+ "mdxFlowExpression",
9521
+ "mdxTextExpression",
9522
+ "mdxjsEsm"
9523
+ ]);
9524
+ /** Whether the tree carries any MDX node — iterative, deliberately unguarded. */
9525
+ const treeContainsMdx = (root) => {
9526
+ const stack = [root];
9527
+ while (stack.length > 0) {
9528
+ const node = stack.pop();
9529
+ if (MDX_NODE_TYPES.has(node.type)) return true;
9530
+ if (node.children !== void 0) for (const child of node.children) stack.push(child);
9531
+ }
9532
+ return false;
9533
+ };
9534
+ /**
9535
+ * The oracle's `indentLines` line model (mdast-util-to-markdown
9536
+ * `lib/util/indent-lines.js`): lines split on every terminator spelling
9537
+ * (`\r\n`, `\n`, bare `\r`), terminators preserved verbatim between the
9538
+ * mapped lines, and `blank` meaning an empty line — so a blank CRLF line
9539
+ * stays bare instead of having a retained `\r` treated as content.
9540
+ */
9541
+ const mapMdxLines = (value, map) => {
9542
+ const eol = /\r?\n|\r/g;
9543
+ const result = [];
9544
+ let start = 0;
9545
+ let index = 0;
9546
+ for (let match = eol.exec(value); match !== null; match = eol.exec(value)) {
9547
+ const line = value.slice(start, match.index);
9548
+ result.push(map(line, index, line === ""), match[0]);
9549
+ start = match.index + match[0].length;
9550
+ index += 1;
9551
+ }
9552
+ const last = value.slice(start);
9553
+ result.push(map(last, index, last === ""));
9554
+ return result.join("");
9555
+ };
9556
+ /**
9557
+ * Serialize an MDX expression body between braces. Continuation lines take
9558
+ * the oracle's two-space indent; the first line and blank lines take none.
9559
+ */
9560
+ const mdxExpression = (value) => `{${mapMdxLines(value, (line, index, blank) => index === 0 || blank ? line : ` ${line}`)}}`;
9561
+ /**
9562
+ * Serialize one JSX attribute. A `null` or absent value is a boolean
9563
+ * attribute; a string value is quoted with `"` (the oracle default), the
9564
+ * quote itself escaped as `&#x22;` exactly as `stringify-entities` spells
9565
+ * it; an expression value goes between braces.
9566
+ */
9567
+ const serializeMdxAttribute = (attribute) => {
9568
+ if (attribute.type === "mdxJsxExpressionAttribute") return `{${attribute.value}}`;
9569
+ const value = attribute.value;
9570
+ if (value === void 0 || value === null) return attribute.name;
9571
+ if (typeof value === "string") return `${attribute.name}="${value.replaceAll("\"", "&#x22;")}"`;
9572
+ return `${attribute.name}={${value.value}}`;
9573
+ };
9574
+ /** Serialize a text (phrasing) JSX element. */
9575
+ const serializeMdxJsxText = (node, context, state) => {
9576
+ const attributes = node.attributes.map(serializeMdxAttribute);
9577
+ const selfClosing = node.name !== null && node.children.length === 0;
9578
+ let out = `<${node.name ?? ""}`;
9579
+ if (attributes.length > 0) out += ` ${attributes.join(" ")}`;
9580
+ if (selfClosing) return `${out} />`;
9581
+ out += ">";
9582
+ out += serializeInlines(node.children, context, state, false);
9583
+ out += `</${node.name ?? ""}>`;
9584
+ return out;
9585
+ };
9586
+ /** Prefix every line of a rendered child block; blank lines stay bare. */
9587
+ const indentBlockLines = (content, indent) => mapMdxLines(content, (line, _index, blank) => blank ? line : `${indent}${line}`);
9588
+ /**
9589
+ * Serialize a flow (block) JSX element: opening tag (attributes on their own
9590
+ * lines when one carries a line ending), children as indented block layout,
9591
+ * closing tag — the oracle's `mdxElement` flow branch.
9592
+ */
9593
+ const serializeMdxJsxFlow = (node, state) => {
9594
+ const currentIndent = " ".repeat(state.jsxDepth);
9595
+ const attributes = node.attributes.map(serializeMdxAttribute);
9596
+ const selfClosing = node.name !== null && node.children.length === 0;
9597
+ const attributesOnOneLine = attributes.join(" ");
9598
+ const attributesOnTheirOwnLine = /[\r\n]/.test(attributesOnOneLine);
9599
+ let value = `${currentIndent}<${node.name ?? ""}`;
9600
+ if (attributesOnTheirOwnLine) value += `\n${attributes.map((attribute) => `${currentIndent} ${attribute}`).join("\n")}\n${currentIndent}`;
9601
+ else if (attributesOnOneLine !== "") value += ` ${attributesOnOneLine}`;
9602
+ if (selfClosing) value += `${attributesOnTheirOwnLine ? "" : " "}/`;
9603
+ value += ">";
9604
+ if (node.children.length > 0) {
9605
+ state.jsxDepth += 1;
9606
+ const childIndent = " ".repeat(state.jsxDepth);
9607
+ const parts = node.children.map((child) => {
9608
+ if (child.type === "mdxJsxFlowElement") {
9609
+ guard(state, child);
9610
+ const rendered = serializeMdxJsxFlow(child, state);
9611
+ unguard(state);
9612
+ return rendered;
9613
+ }
9614
+ return indentBlockLines(serializeBlocks([child], state), childIndent);
9615
+ });
9616
+ state.jsxDepth -= 1;
9617
+ value += `\n${parts.join("\n\n")}\n`;
9618
+ }
9619
+ if (!selfClosing) value += `${currentIndent}</${node.name ?? ""}>`;
9620
+ return value;
9621
+ };
9302
9622
  /** Prefix every line of `content`; blank lines take the trimmed prefix. */
9303
9623
  const prefixLines = (content, prefix, blankPrefix) => content.split("\n").map((line) => line === "" ? blankPrefix : `${prefix}${line}`).join("\n");
9304
9624
  /** First line gets `marker`, continuation lines get spaces of its width. */
@@ -9383,7 +9703,10 @@ const effectiveListMarker = (list, flipped) => {
9383
9703
  };
9384
9704
  const serializeListItem = (item, marker, state, tight) => {
9385
9705
  guard(state, item);
9706
+ const savedJsxDepth = state.jsxDepth;
9707
+ state.jsxDepth = 0;
9386
9708
  const inner = serializeBlocks(item.children, state, tight);
9709
+ state.jsxDepth = savedJsxDepth;
9387
9710
  unguard(state);
9388
9711
  const content = `${item.checked === void 0 ? "" : item.checked ? "[x] " : "[ ] "}${inner}`;
9389
9712
  if (content === "") return marker.trimEnd();
@@ -9457,7 +9780,10 @@ const serializeBlocks = (children, state, tight = false) => {
9457
9780
  previousListMarker = void 0;
9458
9781
  break;
9459
9782
  case "blockquote": {
9783
+ const savedJsxDepth = state.jsxDepth;
9784
+ state.jsxDepth = 0;
9460
9785
  const inner = serializeBlocks(child.children, state);
9786
+ state.jsxDepth = savedJsxDepth;
9461
9787
  parts.push(prefixLines(inner, "> ", ">"));
9462
9788
  previousListMarker = void 0;
9463
9789
  break;
@@ -9487,6 +9813,17 @@ const serializeBlocks = (children, state, tight = false) => {
9487
9813
  previousListMarker = void 0;
9488
9814
  break;
9489
9815
  }
9816
+ case "mdxJsxFlowElement":
9817
+ parts.push(serializeMdxJsxFlow(child, state));
9818
+ previousListMarker = void 0;
9819
+ break;
9820
+ case "mdxFlowExpression":
9821
+ parts.push(mdxExpression(child.value));
9822
+ previousListMarker = void 0;
9823
+ break;
9824
+ case "mdxjsEsm":
9825
+ parts.push(child.value);
9826
+ previousListMarker = void 0;
9490
9827
  }
9491
9828
  previous = child;
9492
9829
  nodes.push(child);
@@ -9512,11 +9849,16 @@ const serializeBlocks = (children, state, tight = false) => {
9512
9849
  * empty for an empty root and ends with exactly one newline otherwise.
9513
9850
  */
9514
9851
  const stringifyTree = (root) => {
9515
- const body = serializeBlocks(root.children, { depth: 0 });
9852
+ const state = {
9853
+ depth: 0,
9854
+ jsxDepth: 0,
9855
+ mdx: treeContainsMdx(root)
9856
+ };
9857
+ const body = serializeBlocks(root.children, state);
9516
9858
  return body === "" ? "" : `${body}\n`;
9517
9859
  };
9518
9860
  //#endregion
9519
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/Markdown.js
9861
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/Markdown.js
9520
9862
  /**
9521
9863
  * The markdown dialects the parser can be pointed at. `"gfm"` — CommonMark
9522
9864
  * 0.31.2 plus the GitHub extensions (tables, strikethrough, autolink
@@ -9670,6 +10012,79 @@ var Markdown = class Markdown {
9670
10012
  */
9671
10013
  static parse = effect.Effect.fn("Markdown.parse")((text, options) => effect.Effect.fromResult(Markdown.parseResult(text, options)));
9672
10014
  /**
10015
+ * Parse a text fragment as a single paragraph's inline content,
10016
+ * synchronously, as a `Result` — the phrasing-level twin of
10017
+ * {@link Markdown.parseResult}, for callers holding already-markdown
10018
+ * prose (a link-carrying sentence, a backtick span) who want its
10019
+ * phrasing nodes without a full document parse and a paragraph splice.
10020
+ *
10021
+ * @remarks
10022
+ * The whole input is prepared exactly the way the block pass prepares one
10023
+ * paragraph's content — leading and trailing whitespace trimmed, line
10024
+ * terminators normalized to `\n` — and handed to the inline pass, so the
10025
+ * result matches the `children` of the paragraph a full parse of the same
10026
+ * fragment would produce. Node positions are correct relative to the
10027
+ * input string.
10028
+ *
10029
+ * Two consequences of the single-paragraph contract:
10030
+ *
10031
+ * - **Blank lines do not break blocks.** A `\n\n` in the input stays
10032
+ * inline content (literal newlines in a text node); nothing at this
10033
+ * level opens a heading, list or code block — `# foo` is the text
10034
+ * `# foo`.
10035
+ * - **No reference context exists.** The fragment carries no definitions,
10036
+ * so `[foo]`, `![foo]` and `[^foo]` remain literal text — the same
10037
+ * result a full parse of the isolated fragment produces.
10038
+ *
10039
+ * `options.dialect` selects the inline dialect (default `"gfm"`);
10040
+ * `options.frontmatter` has no effect at phrasing level. Failure is rare
10041
+ * by design, on {@link Markdown.parseResult}'s terms: only a
10042
+ * hardening-guard trip (delimiter or bracket nesting past the cap) fails.
10043
+ *
10044
+ * @example
10045
+ * ```ts
10046
+ * import { Markdown } from "@effected/markdown";
10047
+ * import { Result } from "effect";
10048
+ *
10049
+ * const ok = Markdown.parsePhrasingResult("see [the docs](./docs.md)");
10050
+ * if (Result.isSuccess(ok)) {
10051
+ * console.log(ok.success.map((node) => node.type)); // => ["text", "link"]
10052
+ * }
10053
+ * ```
10054
+ *
10055
+ * @param text - The prose fragment to parse.
10056
+ * @param options - Optional {@link MarkdownParseOptions}; the dialect
10057
+ * defaults to `"gfm"`.
10058
+ * @returns A `Result` succeeding with the fragment's phrasing content, or
10059
+ * failing with {@link MarkdownParseError}.
10060
+ */
10061
+ static parsePhrasingResult(text, options) {
10062
+ try {
10063
+ return effect.Result.succeed(parsePhrasingText(text, dialectOf(options)));
10064
+ } catch (caught) {
10065
+ if (isGuardExceeded$1(caught)) return effect.Result.fail(new MarkdownParseError({ diagnostic: MarkdownDiagnostic.fromRaw(text, {
10066
+ code: caught.reason,
10067
+ message: caught.message,
10068
+ offset: caught.offset,
10069
+ length: 0
10070
+ }) }));
10071
+ throw caught;
10072
+ }
10073
+ }
10074
+ /**
10075
+ * Parse a text fragment as a single paragraph's inline content. Defined
10076
+ * in terms of {@link Markdown.parsePhrasingResult} — synchronous callers
10077
+ * can use that variant directly; the single-paragraph contract (blank
10078
+ * lines stay inline, references never form) is documented there.
10079
+ *
10080
+ * @param text - The prose fragment to parse.
10081
+ * @param options - Optional {@link MarkdownParseOptions}; the dialect
10082
+ * defaults to `"gfm"`.
10083
+ * @returns An `Effect` that succeeds with the fragment's phrasing
10084
+ * content, or fails with {@link MarkdownParseError}.
10085
+ */
10086
+ static parsePhrasing = effect.Effect.fn("Markdown.parsePhrasing")((text, options) => effect.Effect.fromResult(Markdown.parsePhrasingResult(text, options)));
10087
+ /**
9673
10088
  * Serialize a {@link Root} tree to canonical markdown, synchronously, as a
9674
10089
  * `Result`. The pure primitive twin of {@link Markdown.stringify}, on the
9675
10090
  * same terms as {@link Markdown.parseResult}.
@@ -9729,6 +10144,18 @@ var Markdown = class Markdown {
9729
10144
  * post-decode walk that reaches nested nodes. The choice then leaves the
9730
10145
  * emitter entirely and no output depends on a node's neighbours.
9731
10146
  *
10147
+ * **MDX nodes (constructed trees only — the parser reads no MDX syntax)**
10148
+ * serialize to valid MDX with the mdast-util-mdx defaults, and these
10149
+ * choices are part of the same stability commitment: attribute values
10150
+ * quote with `"` (the quote escaped as `&#x22;`), an empty element
10151
+ * self-closes spaced (`<a />`), a fragment is `<></>`, flow children take
10152
+ * block layout indented two spaces per JSX ancestor, attributes move onto
10153
+ * their own lines only when one carries a line ending, expressions emit
10154
+ * `{expr}` with two-space continuation indent, and ESM values emit
10155
+ * verbatim. A tree containing any MDX node additionally escapes `{` in
10156
+ * text — MDX makes it significant — while a tree with none serializes
10157
+ * byte-identically to the table above.
10158
+ *
9732
10159
  * To *normalize* a document to different choices — a `-` list rewritten to
9733
10160
  * `*`, setext headings rewritten to ATX — use `MarkdownFormat` with
9734
10161
  * `MarkdownFormattingOptions`. That is the configurable surface; this one
@@ -9807,7 +10234,7 @@ var Markdown = class Markdown {
9807
10234
  static MarkdownFromString = Markdown.fromString();
9808
10235
  };
9809
10236
  //#endregion
9810
- //#region ../../node_modules/.pnpm/@effected+markdown@0.6.3_@effected+jsonc@0.7.0_effect@4.0.0-rc.109__@effected+toml@0.5._68d0bb2537368c3e12f7a816e1339bf2/node_modules/@effected/markdown/Mdast.js
10237
+ //#region ../../node_modules/.pnpm/@effected+markdown@0.7.0_@effected+jsonc@0.8.0_effect@4.0.0-rc.109__@effected+toml@0.5._60c73e126aef34a733daefca060fb371/node_modules/@effected/markdown/Mdast.js
9811
10238
  /**
9812
10239
  * The remark-ecosystem interop boundary: projection between this package's
9813
10240
  * node classes and plain mdast JSON.
@@ -10011,8 +10438,40 @@ const projectNode = (node) => {
10011
10438
  value: node.value,
10012
10439
  position
10013
10440
  };
10441
+ case "mdxJsxFlowElement":
10442
+ case "mdxJsxTextElement": return {
10443
+ type: node.type,
10444
+ name: node.name,
10445
+ attributes: node.attributes.map((attribute) => projectMdxAttribute(attribute)),
10446
+ children: projectChildren(node.children),
10447
+ position
10448
+ };
10449
+ case "mdxFlowExpression":
10450
+ case "mdxTextExpression":
10451
+ case "mdxjsEsm": return {
10452
+ type: node.type,
10453
+ value: node.value,
10454
+ position
10455
+ };
10014
10456
  }
10015
10457
  };
10458
+ const projectMdxAttribute = (attribute) => {
10459
+ if (attribute.type === "mdxJsxExpressionAttribute") return {
10460
+ type: "mdxJsxExpressionAttribute",
10461
+ value: attribute.value,
10462
+ position: projectPosition(attribute.position)
10463
+ };
10464
+ const value = attribute.value;
10465
+ return {
10466
+ type: "mdxJsxAttribute",
10467
+ name: attribute.name,
10468
+ value: value === void 0 || value === null ? null : typeof value === "string" ? value : {
10469
+ type: "mdxJsxAttributeValueExpression",
10470
+ value: value.value
10471
+ },
10472
+ position: projectPosition(attribute.position)
10473
+ };
10474
+ };
10016
10475
  /** The frontmatter literal node types foreign mdast spells per format. */
10017
10476
  const frontmatterTypes = /* @__PURE__ */ new Map([
10018
10477
  ["yaml", "yaml"],
@@ -10076,7 +10535,10 @@ const admittedFields = {
10076
10535
  "spread"
10077
10536
  ],
10078
10537
  listItem: ["spread", "checked"],
10079
- table: ["align"]
10538
+ table: ["align"],
10539
+ mdxFlowExpression: ["value"],
10540
+ mdxTextExpression: ["value"],
10541
+ mdxjsEsm: ["value"]
10080
10542
  };
10081
10543
  const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
10082
10544
  const completePoint = (value) => isRecord(value) && typeof value.line === "number" && typeof value.column === "number" && typeof value.offset === "number";
@@ -10109,6 +10571,13 @@ const normalizeNode = (value) => {
10109
10571
  value: value.value,
10110
10572
  position: normalizePosition(value.position)
10111
10573
  };
10574
+ if (type === "mdxJsxFlowElement" || type === "mdxJsxTextElement") return {
10575
+ type,
10576
+ name: value.name,
10577
+ attributes: Array.isArray(value.attributes) ? value.attributes.map(normalizeMdxAttribute) : value.attributes,
10578
+ children: Array.isArray(value.children) ? value.children.map(normalizeNode) : value.children,
10579
+ position: normalizePosition(value.position)
10580
+ };
10112
10581
  const admitted = admittedFields[type];
10113
10582
  if (admitted === void 0) return value;
10114
10583
  const normalized = { type };
@@ -10124,6 +10593,29 @@ const normalizeNode = (value) => {
10124
10593
  normalized.position = normalizePosition(value.position);
10125
10594
  return normalized;
10126
10595
  };
10596
+ const normalizeMdxAttribute = (value) => {
10597
+ if (!isRecord(value) || typeof value.type !== "string") return value;
10598
+ if (value.type === "mdxJsxExpressionAttribute") return {
10599
+ type: "mdxJsxExpressionAttribute",
10600
+ value: value.value,
10601
+ position: normalizePosition(value.position)
10602
+ };
10603
+ if (value.type === "mdxJsxAttribute") {
10604
+ const raw = value.value;
10605
+ const normalized = {
10606
+ type: "mdxJsxAttribute",
10607
+ name: value.name,
10608
+ position: normalizePosition(value.position)
10609
+ };
10610
+ if (raw !== void 0) normalized.value = isRecord(raw) && raw.type === "mdxJsxAttributeValueExpression" ? {
10611
+ type: "mdxJsxAttributeValueExpression",
10612
+ value: raw.value,
10613
+ position: normalizePosition(raw.position)
10614
+ } : raw;
10615
+ return normalized;
10616
+ }
10617
+ return value;
10618
+ };
10127
10619
  const decodeRoot = effect.Schema.decodeUnknownResult(Root);
10128
10620
  /**
10129
10621
  * The mdast projection facade — the remark-ecosystem interop boundary.