vantage-md 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -2042,11 +2042,71 @@ export declare const VANTAGE_SENTINEL = "vantage:";
2042
2042
  *
2043
2043
  * Position picks the target; the name picks the extent. `section` before a
2044
2044
  * heading reaches the heading's whole section, `block` reaches one block, and
2045
- * `oq` marks one answerable question. The name cannot disagree with position —
2046
- * it only says how far the stamp reaches — so §4.2's refusal of a `scope=` key
2047
- * stands.
2048
- */
2049
- export declare const DIRECTIVE_NAMES: readonly ["section", "block", "oq"];
2045
+ * `question` declares one question in any state, as `oq`, the name it
2046
+ * replaces, still does (`VANTAGE_QUESTION_NAMES`). The name cannot disagree
2047
+ * with position — it only says how far the stamp reaches — so §4.2's refusal
2048
+ * of a `scope=` key stands.
2049
+ *
2050
+ * `fallback` is the one name that stamps nothing: it withholds the block after
2051
+ * it, which is written for the renderers that cannot show something Vantage
2052
+ * shows — an inline `<svg>`, today. Every renderer that does not know the name
2053
+ * drops the comment and shows the block, a 0.7.x Vantage included, which is
2054
+ * the whole mechanism: the name is new, so no older reader gives it a meaning
2055
+ * (`docs/reference/inline-markup.md`, "Fallback blocks").
2056
+ */
2057
+ export declare const DIRECTIVE_NAMES: readonly ["section", "block", "oq", "question", "fallback"];
2058
+ /**
2059
+ * The two names that declare a question: `question`, the one to write, and
2060
+ * `oq`, which it replaces and which every Vantage keeps reading.
2061
+ *
2062
+ * - **`question`** declares a question in any state: open (💬, 💬 🤷 or no
2063
+ * marker at all), 🔒 blocked or ✅ answered. The state comes from the marker
2064
+ * and never from the name, so a question that changes state changes its
2065
+ * marker and nothing else. A viewer from 0.8 on offers Take this leaning on
2066
+ * an open one, and never on a 🔒 or ✅ one.
2067
+ * - **`oq`** is deprecated, never removed. It keeps the meaning it shipped
2068
+ * with in 0.7, an open question to answer in one click, because documents
2069
+ * outlive releases and a release never gives existing notation a new
2070
+ * meaning (`docs/design/checker-version-skew.md`, P0). Every viewer before
2071
+ * 0.8 offers the button on every `oq` it meets, whatever its marker says,
2072
+ * so `vantage-check` reports one on a 🔒 or ✅ question as an error and any
2073
+ * other as a warning that names the `question` to write.
2074
+ *
2075
+ * The two take the same keys, `id` and `leaning`, with one grammar. A viewer
2076
+ * that predates `question` drops it whole, as it drops every name it does not
2077
+ * know, so on a question written with it that viewer offers no button and no
2078
+ * anchor: it does less, and misreads nothing. A run holding both names is one
2079
+ * question, read as such a viewer reads it: where both set a key, the `oq`'s
2080
+ * value wins.
2081
+ */
2082
+ export declare const VANTAGE_QUESTION_NAMES: readonly ["oq", "question"];
2083
+ /** `oq` or `question`: a directive that declares a question. */
2084
+ type VantageQuestionName = (typeof VANTAGE_QUESTION_NAMES)[number];
2085
+ /** Whether `name` declares a question, `question` or the deprecated `oq`. */
2086
+ export declare function isQuestionDirective(name: string): name is VantageQuestionName;
2087
+ /**
2088
+ * The attribute every question carries in the rendered page, whichever name
2089
+ * declared it, with the value `"true"`. It is how a reader of this package's
2090
+ * markup finds every question: `[data-vantage-question]`
2091
+ * (`VANTAGE_QUESTION_SELECTOR`).
2092
+ */
2093
+ export declare const VANTAGE_QUESTION_ATTRIBUTE = "data-vantage-question";
2094
+ /** `[data-vantage-question]`: every question in a rendered page. */
2095
+ export declare const VANTAGE_QUESTION_SELECTOR = "[data-vantage-question]";
2096
+ /**
2097
+ * The attribute a question declared with `oq` carries besides
2098
+ * `VANTAGE_QUESTION_ATTRIBUTE`, with the value `"true"`. It means what it has
2099
+ * meant since 0.7, "declared with `oq`", and nothing more: whether a question
2100
+ * offers Take this leaning is read from its state (`questionOffersTake`),
2101
+ * never from this attribute.
2102
+ */
2103
+ export declare const VANTAGE_OQ_ATTRIBUTE = "data-vantage-oq";
2104
+ /**
2105
+ * The attribute that carries a question's `leaning=`, normalized
2106
+ * (`normalizeLeaning`), on the element `VANTAGE_QUESTION_ATTRIBUTE` is on,
2107
+ * whichever name declared it. Absent when the directive states none.
2108
+ */
2109
+ export declare const VANTAGE_LEANING_ATTRIBUTE = "data-vantage-leaning";
2050
2110
  /**
2051
2111
  * The `tone` vocabulary: GitHub's alert words plus `muted`.
2052
2112
  *
@@ -2081,9 +2141,11 @@ export declare const VANTAGE_COLLAPSED: readonly ["true", "false"];
2081
2141
  */
2082
2142
  export declare const VANTAGE_RUNS: readonly ["start", "middle", "end", "only"];
2083
2143
  /**
2084
- * The tags a `<!-- vantage: oq … -->` directive actually yields a *button* on —
2085
- * `VANTAGE_ANCHOR_TARGETS` minus `pre` and `table`, written as an explicit
2086
- * subtraction so the narrowing stays visible.
2144
+ * The tags a question directive declares a question on, and so the only ones
2145
+ * an open question's *button* can sit on — `VANTAGE_ANCHOR_TARGETS` minus `pre`
2146
+ * and `table`, written as an explicit subtraction so the narrowing stays
2147
+ * visible. One list for both names and every state, so a question that changes
2148
+ * state is declared in exactly the same place.
2087
2149
  *
2088
2150
  * Anchorable and button-hosting are different questions, and this is the second
2089
2151
  * one. A comment *can* be anchored on a `<pre>` or a `<table>` — both are in
@@ -2091,11 +2153,12 @@ export declare const VANTAGE_RUNS: readonly ["start", "middle", "end", "only"];
2091
2153
  * button renders as part of the code, and a `<button>` child of `<table>` is not
2092
2154
  * valid HTML at all, so the parser hoists it out.
2093
2155
  *
2094
- * Both consumers read it from here: `OQ_HOST_TAGS` in the app's
2095
- * `useOpenQuestionButtons`, and the `oq` branch of the checker's
2096
- * `vantage/orphan`. They were two hand-written lists that disagreed — the
2097
- * checker called an `oq` above a fence fine while the app rendered no button
2098
- * and said nothing, which is the D5 break this module exists to prevent.
2156
+ * Every consumer reads it from here: `OQ_HOST_TAGS` in the app's
2157
+ * `useOpenQuestionButtons`, the planning index's scan, and the question branch
2158
+ * of the checker's `vantage/orphan`. They were two hand-written lists that
2159
+ * disagreed — the checker called an `oq` above a fence fine while the app
2160
+ * rendered no button and said nothing, which is the D5 break this module
2161
+ * exists to prevent.
2099
2162
  */
2100
2163
  export declare const VANTAGE_OQ_HOST_TARGETS: ("p" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "li" | "blockquote")[];
2101
2164
  /**
@@ -2111,11 +2174,12 @@ export declare const VANTAGE_OQ_HOST_TARGETS: ("p" | "h1" | "h2" | "h3" | "h4" |
2111
2174
  * that a screen reader can say. They were private constants in the checker until
2112
2175
  * the second consumer arrived.
2113
2176
  *
2114
- * `open` is the only state that wants a one-click answer. `settled` and
2115
- * `blocked` deliberately carry no directive at all — a control offering to
2116
- * answer a question that is already decided, or that cannot be answered yet, is
2117
- * a lie — so the checker keys on the distinction rather than on the word
2118
- * "Leaning:" alone. Either non-open marker wins when both appear on one item.
2177
+ * `open` is the only state that wants a one-click answer, so it is the only one
2178
+ * a viewer offers Take this leaning on (`questionOffersTake`). A `settled` or
2179
+ * `blocked` question carries no control — a control offering to answer a
2180
+ * question that is already decided, or that cannot be answered yet, is a lie.
2181
+ * The checker keys on the distinction rather than on the word "Leaning:"
2182
+ * alone. Either non-open marker wins when both appear on one item.
2119
2183
  */
2120
2184
  export declare const VANTAGE_OQ_STATUS: {
2121
2185
  /** 💬 — an active decision awaiting a ruling. */
@@ -2143,6 +2207,18 @@ export declare const VANTAGE_OQ_STATUS_LABEL: Readonly<Record<VantageOqStatus, s
2143
2207
  * has not been cleared yet, so treating it as open would re-open a ruling.
2144
2208
  */
2145
2209
  export declare function vantageOqStatus(text: string): VantageOqStatus | null;
2210
+ /**
2211
+ * Whether a question in this state offers Take this leaning in review mode: an
2212
+ * open one, marked 💬 or 💬 🤷, or one carrying no marker, which counts as
2213
+ * open. A 🔒 question cannot be answered yet and a ✅ one has been ruled, so
2214
+ * neither has a leaning left to take, whatever its directive's name.
2215
+ *
2216
+ * One home for the rule, because every surface that answers it must agree:
2217
+ * the page's button and the planning card, the counts of questions waiting on
2218
+ * a human, and `vantage-check`, which reports an `oq` on a question this says
2219
+ * no to, since every viewer before 0.8 offers the button there anyway.
2220
+ */
2221
+ export declare function questionOffersTake(status: VantageOqStatus | null): boolean;
2146
2222
  /** `null` for a key the grammar accepts but no closed set covers. */
2147
2223
  type KeyVocabulary = readonly string[] | null;
2148
2224
  /** The keys one directive name accepts. `undefined` for an unknown key. */
@@ -2153,10 +2229,21 @@ type DirectiveVocabulary = Readonly<Record<string, KeyTable | undefined>>;
2153
2229
  * Name → key → the closed value set for that key.
2154
2230
  *
2155
2231
  * `section` and `block` share their keys: they differ in *extent*, not in what
2156
- * they can say. `oq`'s two keys are the design's only values with no closed set
2157
- * — `id` is a token an author chose and `leaning` is a sentence (§8.3) — so
2158
- * neither can be value-allowlisted, which is recorded here as `null` rather
2159
- * than left to a caller to guess.
2232
+ * they can say. The two question names share theirs too, and they are the
2233
+ * design's only values with no closed set — `id` is a token an author chose
2234
+ * and `leaning` is a sentence (§8.3) — so neither can be value-allowlisted,
2235
+ * which is recorded here as `null` rather than left to a caller to guess.
2236
+ *
2237
+ * `question` takes exactly `oq`'s keys and nothing more. Starting narrow is
2238
+ * the forward-compatible choice: a key added later is one older viewers drop
2239
+ * pair by pair, while a key accepted now could never be given a meaning (P0).
2240
+ * A `leaning` on a 🔒 or ✅ question is allowed and simply not offered
2241
+ * (`questionOffersTake`), so changing a question's state changes only its
2242
+ * marker.
2243
+ *
2244
+ * `fallback` takes no keys: whether a block is withheld is the whole of what
2245
+ * it says, and a key added later is dropped pair by pair by this release, as
2246
+ * D2 drops any other.
2160
2247
  */
2161
2248
  export declare const DIRECTIVE_VOCABULARY: DirectiveVocabulary;
2162
2249
  interface DirectivePair {
@@ -2205,6 +2292,15 @@ export declare function hasVantageSentinel(comment: string): boolean;
2205
2292
  */
2206
2293
  export declare function parseVantageDirective(comment: string): DirectiveParse;
2207
2294
  //#endregion
2295
+ //#region src/remarkPlugins.d.ts
2296
+ /**
2297
+ * The mdast half of the chain. Exported on its own because there is a real
2298
+ * mdast-only consumer: the CLI checker parses documents without ever running
2299
+ * rehype (`packages/vantage-check/src/core/document.ts`), and it has to parse
2300
+ * them exactly the way the viewer does.
2301
+ */
2302
+ export declare function buildRemarkPlugins(options?: PipelineOptions): PluggableList;
2303
+ //#endregion
2208
2304
  //#region src/pipeline.d.ts
2209
2305
  interface PipelineOptions {
2210
2306
  /** GFM tables, strikethrough, task lists (default: true) */
@@ -2229,13 +2325,6 @@ interface Pipeline {
2229
2325
  remarkPlugins: PluggableList;
2230
2326
  rehypePlugins: PluggableList;
2231
2327
  }
2232
- /**
2233
- * The mdast half of the chain. Exported on its own because there is a real
2234
- * mdast-only consumer: the CLI checker parses documents without ever running
2235
- * rehype (`packages/vantage-check/src/core/document.ts`), and it has to parse
2236
- * them exactly the way the viewer does.
2237
- */
2238
- export declare function buildRemarkPlugins(options?: PipelineOptions): PluggableList;
2239
2328
  /**
2240
2329
  * Both halves from one options object.
2241
2330
  *
@@ -2438,6 +2527,10 @@ export declare const sanitizeSchema: Schema;
2438
2527
  * `<pre><code class="language-mermaid">...</code></pre>`. This function
2439
2528
  * finds those blocks and replaces them with rendered SVG diagrams.
2440
2529
  *
2530
+ * It also draws diagrams ahead of a render: `mermaidFences` reads them out of
2531
+ * Markdown and `prerenderMermaid` puts each in the SVG cache, where the React
2532
+ * `MermaidDiagram` finds it on mount.
2533
+ *
2441
2534
  * Framework-agnostic — works in any browser environment.
2442
2535
  */
2443
2536
  interface RenderMermaidOptions {
@@ -2539,17 +2632,20 @@ export declare function resolveLinks(html: string, options?: ResolveLinkOptions)
2539
2632
  * The canonical Vantage Markdown style guide.
2540
2633
  *
2541
2634
  * This string is the single source of truth for the conventions Vantage's
2542
- * renderer expects. Two consumers read it:
2635
+ * renderer expects. It reaches readers three ways:
2543
2636
  *
2544
2637
  * - the in-app "Style Guide for Agents" modal, which shows it with a copy
2545
- * button, and
2638
+ * button,
2546
2639
  * - the `vantage-check style-guide` command, which prints it so an agent can
2547
- * fetch it without a human in the loop.
2640
+ * fetch it without a human in the loop, and
2641
+ * - this package's own export, for anyone who renders with `vantage-md`.
2642
+ *
2643
+ * How the CLI serves it, and why there is one copy: docs/reference/agent-cli.md
2548
2644
  *
2549
2645
  * Every rule stated here should be one a checker can enforce or a renderer
2550
2646
  * actually cares about — if a line is neither, it does not belong.
2551
2647
  */
2552
- export declare const STYLE_GUIDE = "## Markdown style guide (for Vantage viewer)\n\nWhen writing or updating markdown documents that will be viewed in Vantage, follow these conventions:\n\n### Structure\n- Use headings (## and ###) to organize content — they become navigable outline anchors.\n- Keep paragraphs focused and concise. Break up dense text with subheadings, lists, or tables.\n\n### Links and cross-references\n- **Relative paths only**: Always link relative to the *current file's directory*:\n - Sibling in same folder: `[Other Doc](./other-doc.md)` or `[Other Doc](other-doc.md)`\n - Subdirectory: `[Design Doc](./design/auth.md)`\n - Parent / sibling folder: `[Overview](../overview.md)` or `[Spec](../specs/api.md)`\n- **Never use leading slashes**:\n - ❌ `[Doc](/docs/guide.md)` (breaks web routing and multi-repo scoping)\n - ✅ `[Doc](../docs/guide.md)` or `[Doc](./guide.md)`\n- **Never use absolute filesystem paths or URI schemes**:\n - ❌ `file:///workspace/docs/guide.md`, `/workspace/docs/guide.md`, `C:\\...`\n - ✅ `[Doc](./guide.md)` or `[Doc](../guide.md)`\n- **Always include the file extension**: Use `.md`, `.ts`, `.go`, etc. (e.g. `[Model](model.go)`).\n- **Line anchors and ranges**:\n - Link to specific lines: `[Handler](../server/api.go#L42)` or `[Range](../server/api.go#L42-L58)`\n - Same-file line anchor: `[See lines](#L10-L25)`\n - Vantage scrolls to and highlights the target lines.\n- **Section anchors**:\n - Same doc: `[Usage](#usage)`\n - Cross-doc: `[Architecture](../overview.md#system-architecture)`\n - Anchor slugs are lowercase, hyphenated, and punctuation-stripped.\n- **Backticks in links**: Place backticks inside the link label, not around the markdown link syntax:\n - ✅ `[`config.json`](./config.json)` or `[config.json](./config.json)`\n - ❌ ``[config.json](./config.json)``\n\n### Frontmatter (Metadata)\n- Include structured metadata at the very top of docs delimited by `---` (YAML) or `+++` (TOML). Vantage renders this as a metadata card:\n```yaml\n---\ntitle: \"Feature Specification\"\nauthor: \"Agent\"\ndate: 2026-08-15\nstatus: in-review # draft | in-review | accepted | deprecated\ntags: [architecture, backend, api]\nsummary: \"Brief description of the document purpose.\"\nvantage:\n status-chip: true # show `status` as a chip above the metadata card\n---\n```\n- **Nothing may sit above the opening delimiter** — not a blank line, not an editorial comment, not a `<!-- vantage: … -->` directive. Frontmatter is recognized only at the very first byte of the file (in Vantage, on GitHub, and in every other reader), so one line above it turns the whole block into body text: a horizontal rule followed by a heading made of the raw keys, with every field lost. `vantage-check` reports it as `frontmatter/not-at-top`.\n- **`vantage:` is Vantage's own reserved key.** It holds chrome that belongs to the file rather than to a section, it never shows up in the metadata card, and every other renderer ignores it. One key today: `status-chip`.\n- **Prefer `status-chip: true`**, which shows the document's own `status:` and therefore cannot disagree with it. A literal `status-chip: accepted` is accepted too, but it is a second value that goes stale on its own — `vantage-check` reports the disagreement.\n- The chip's vocabulary is `status`'s, exactly: `draft | in-review | accepted | deprecated`, lowercase. `Draft` renders no chip at all, silently.\n\n### Mermaid diagrams\n- Use ```mermaid code blocks for flowcharts, sequence diagrams, and architecture diagrams. Vantage provides interactive zoom, pan, dark/light theme adaptation, and SVG export.\n- **Quote labels with special characters**: Always quote node labels containing parentheses, brackets, or colons to prevent syntax errors:\n```mermaid\nflowchart TD\n client[\"Client (React SPA)\"] -->|WebSocket| srv[\"Vantage Server (Go)\"]\n srv --> git[\"Git CLI (git diff)\"]\n```\n\n### Code blocks and diffs\n- Always tag fenced code blocks with language identifiers (`ts`, `go`, `python`, `bash`, `json`, `yaml`, `diff`, `sql`, etc.) for syntax highlighting.\n- For proposed code modifications, use ```diff blocks with `+` and `-` prefixes:\n```diff\n-const oldUrl = \"/api/v1\";\n+const newUrl = \"/api/v2\";\n```\n\n### Callouts and alerts\n- Use GitHub-style blockquote callouts for notes, tips, and warnings:\n> [!NOTE]\n> Background context or helpful explanation.\n\n> [!TIP]\n> Best practice advice or optimization suggestions.\n\n> [!IMPORTANT]\n> Key requirements or crucial information.\n\n> [!WARNING]\n> Urgent caution, breaking changes, or potential pitfalls.\n\n> [!CAUTION]\n> High-risk actions that could cause data loss or security issues.\n\n### Vantage directives (optional, and Vantage-only)\n\nVantage reads a few styling hints from ordinary HTML comments. Every other renderer — GitHub included — drops them, so a document has to read exactly the same without them: directives decorate, they never carry meaning. One goes on a line of its own, with a blank line after it, and applies to the block that follows:\n\n```markdown\n<!-- vantage: section tone=warning badge=stale -->\n\n## Migration path\n\nThe steps below predate the rewrite.\n```\n\n- **Three names**: `section` (the heading and everything under it), `block` (the one block after it), `oq` (one answerable Open Question).\n- **The keys and values are a closed set**: `tone` = `note | tip | important | warning | caution | muted`; `emphasis` = `strong | normal | quiet`; `badge` = `draft | stale | blocked | done | wip`; `collapsed` = `true | false`. Name a *tone*, never a color — the theme decides what a warning looks like, in light mode, in dark mode, and in print.\n- **Use them sparingly.** One or two per document, on the sections that genuinely differ. A document where everything is toned says nothing, and a rainbow one is harder to read than a plain one.\n- **Anything outside those sets is silently ignored** — nothing breaks, and nothing styles either. Run `vantage-check` on the document: the `vantage/*` rules are the only thing that will ever tell you a directive did nothing.\n- **Always close the comment with `-->`.** Never `--!>`, and never leave it open: Markdown reads every line below an unclosed `<!--` as part of the comment, and the whole rest of the document vanishes from the page. For the same reason `-->` cannot appear *inside* a value — it ends the comment early and spills the remainder into the page as literal text.\n- **In a list, indent the directive inside the item**, with blank lines around it (below). At the start of a line between two items it ends the list and starts a second one, which changes the numbering and the spacing in every renderer — the one thing a directive must never do.\n- **An open question's id is `OQ-` then an optional short uppercase prefix then digits** — `OQ-9`, `OQ-TP6`, `OQ-A03`. The prefix is what keeps ids distinct once one document references another's questions, so use one in both whenever they cross-reference. `vantage-check` reports anything outside that shape as `vantage/oq-id-format`, and the same id twice in one document as `vantage/oq-id-duplicate` — both are silent otherwise, because the id becomes the block's anchor and a refused or duplicated one simply goes nowhere.\n- **A reference is a link, or it is a lie.** An `OQ-` id, a `§N` section number and a filename all read like pointers, and written as bare prose none of them can be followed or checked — which is exactly why a stale one is never caught. Link the question to its anchor (`[OQ-4](#OQ-4)`, or the Decision Ledger once it is compacted), the section to its heading, the filename to the file. `vantage-check` reports all three (`ref/*`) as errors, and checks that the link points at the thing the reference names rather than merely at something. Writing a specimen rather than a reference? Put it in a fenced block, which the rules never read.\n- **Every open question (💬) with a stated leaning gets an `oq` directive.** The convention's prose — the emoji, the `OQ-N` id, the `_Leaning:_` line, the fill-in `**Answer:**` — produces no button on its own. Writing the convention and stopping there is the most common way this feature goes missing: the questions look complete, review mode is on, and there is nothing to click. **`vantage-check` reports it as an error** (`vantage/oq-missing`), because a question awaiting a ruling that the reviewer cannot file is not a style preference. Mark it 🔒 if it is blocked on something upstream and cannot be answered yet, or ✅ once it is decided; either state needs no directive.\n- **A `leaning` restates the leaning; it is never \"yes\".** The one-click button in review mode files that text as a review comment, and the comment is all the agent reading it has — nobody remembers which button was clicked. `leaning=\"Yes\"` beside a two-branch question is a support ticket.\n\n```markdown\n1. **OQ-9: Queue position on re-entry.**\n\n <!-- vantage: oq id=OQ-9 leaning=\"Back of the queue — the fix might interact with what merged while it was out.\" -->\n\n _Leaning:_ Back of the queue.\n```\n\n### Tables, task lists, and math\n- **Tables**: Use standard markdown tables for structured comparisons and schemas.\n- **Task lists**: Use `- [ ]` and `- [x]` for actionable checklists and status tracking.\n- **LaTeX Math**: Use `$$...$$` for *all* KaTeX math — display blocks (`$$` alone on its own lines) and inline alike (`$$E = mc^2$$` mid-sentence).\n - Single dollars are **not** math delimiters: `$HOME` and `$100` stay literal, so prose and shell snippets are safe to write as-is.\n";
2648
+ export declare const STYLE_GUIDE = "## Markdown style guide (for Vantage viewer)\n\nWhen writing or updating markdown documents that will be viewed in Vantage, follow these conventions:\n\n### Structure\n- Use headings (## and ###) to organize content — they become navigable outline anchors.\n- Keep paragraphs focused and concise. Break up dense text with subheadings, lists, or tables.\n\n### Links and cross-references\n- **Relative paths only**: Always link relative to the *current file's directory*:\n - Sibling in same folder: `[Other Doc](./other-doc.md)` or `[Other Doc](other-doc.md)`\n - Subdirectory: `[Design Doc](./design/auth.md)`\n - Parent / sibling folder: `[Overview](../overview.md)` or `[Spec](../specs/api.md)`\n- **Never use leading slashes**:\n - ❌ `[Doc](/docs/guide.md)` (breaks web routing and multi-repo scoping)\n - ✅ `[Doc](../docs/guide.md)` or `[Doc](./guide.md)`\n- **Never use absolute filesystem paths or URI schemes**:\n - ❌ `file:///workspace/docs/guide.md`, `/workspace/docs/guide.md`, `C:\\...`\n - ✅ `[Doc](./guide.md)` or `[Doc](../guide.md)`\n- **Always include the file extension**: Use `.md`, `.ts`, `.go`, etc. (e.g. `[Model](model.go)`).\n- **Line anchors and ranges**:\n - Link to specific lines: `[Handler](../server/api.go#L42)` or `[Range](../server/api.go#L42-L58)`\n - Same-file line anchor: `[See lines](#L10-L25)`\n - Vantage scrolls to and highlights the target lines.\n- **Section anchors**:\n - Same doc: `[Usage](#usage)`\n - Cross-doc: `[Architecture](../overview.md#system-architecture)`\n - Anchor slugs are lowercase, hyphenated, and punctuation-stripped.\n- **Backticks in links**: Place backticks inside the link label, not around the markdown link syntax:\n - ✅ `[`config.json`](./config.json)` or `[config.json](./config.json)`\n - ❌ ``[config.json](./config.json)``\n\n### Frontmatter (Metadata)\n- Include structured metadata at the very top of docs delimited by `---` (YAML) or `+++` (TOML). Vantage renders this as a metadata card:\n```yaml\n---\ntitle: \"Feature Specification\"\nauthor: \"Agent\"\ndate: 2026-08-15\nstatus: in-review # draft | in-review | accepted | deprecated\ntags: [architecture, backend, api]\nsummary: \"Brief description of the document purpose.\"\nvantage:\n status-chip: true # show `status` as a chip above the metadata card\n---\n```\n- **Nothing may sit above the opening delimiter** — not a blank line, not an editorial comment, not a `<!-- vantage: … -->` directive. Frontmatter is recognized only at the very first byte of the file (in Vantage, on GitHub, and in every other reader), so one line above it turns the whole block into body text: a horizontal rule followed by a heading made of the raw keys, with every field lost. `vantage-check` reports it as `frontmatter/not-at-top`.\n- **`vantage:` is Vantage's own reserved key.** It holds chrome that belongs to the file rather than to a section, it never shows up in the metadata card, and every other renderer ignores it. One key today: `status-chip`.\n- **Prefer `status-chip: true`**, which shows the document's own `status:` and therefore cannot disagree with it. A literal `status-chip: accepted` is accepted too, but it is a second value that goes stale on its own — `vantage-check` reports the disagreement.\n- The chip's vocabulary is `status`'s, exactly: `draft | in-review | accepted | deprecated`, lowercase. `Draft` renders no chip at all, silently.\n\n### Planning documents: `stage`, `next`, `depends-on`\n- **Vantage reads a repository's plans as a set.** A document whose frontmatter has `status` or `stage`, or that carries a `question` directive (or an `oq`, the name it replaces), is a *planning document*, and Vantage shows its state (status, stage, open questions) in a badge beside every link to it. So write each fact once, in the document it belongs to, and link to it everywhere else: a copied status or count is the one that goes stale.\n- Three top-level keys beside `status` hold the rest of a document's planning state. They are facts about the file, so they sit at the top level, never under `vantage:`:\n```yaml\n---\ntitle: \"Payload bootstrap\"\nstatus: in-review\nstage: DESIGN\nnext: \"Rule OQ-B2 — the install step waits on it\"\ndepends-on:\n - pypi-distribution.md\n - ../plans/rollout.md#OQ-R1\n---\n```\n- **`stage` is one word from the repository's own vocabulary**, the words `[planning.stages]` declares (below), spelled exactly as declared: matching is case-sensitive, so `Decided` is not `DECIDED`. `vantage-check` reports a word outside them as `planning/stage-vocabulary`.\n- **Frontmatter is the stage's one home.** Do not repeat the word in a prose `**Status:**` line: that is a second copy, and no tool can read or check it. Keep the prose line, where a document has one, for the date and the why.\n- **`next` is the next step, on one line of plain text.** A bare `OQ-` id in it links to this document's question of that id, so name the question rather than paraphrasing it.\n- **`depends-on` lists what the document waits on**: relative paths, resolved like links, each optionally ending in `#OQ-…` to name one question. A single path may stand on its own. A target that does not exist, lies outside the repository, or does not contain the id is an error (`planning/depends-on-missing`).\n- **Never a `priority` key.** A priority only means something relative to the others, so it lives in an ordered list, a roadmap, and not in each document.\n- **A roadmap is ordered links.** Every `roadmap.md` Vantage reads is a roadmap, in any directory, unless `[planning]` lists the roadmaps instead; one in a hidden directory, matched by `.vantageignore`, or ruled out by `include` or `exclude` is not read, and so is not a roadmap. Each entry is a link to a document or a question, then a one-clause reason for its place; the badge beside the link carries the rest, so never copy a status, a stage or a count into it. Prose beneath an entry holds only what has no other home, such as what would unblock it. A bare link to a document *routes* every question in it into the roadmap's order, and a link to one question's `#OQ-…` anchor routes that question; a link to any other heading routes nothing. A question is routed when any roadmap routes it, and with `planning/unrouted` turned on, `vantage-check` reports an open question no roadmap routes.\n- **`[planning]` in `.vantage.toml`** says which files are read, which of them are roadmaps, and what each stage word means. Every key is optional:\n```toml\n[planning]\n# roadmap = [\"roadmap.md\", \"docs/plans/roadmap.md\"] # absent: every roadmap.md\nexclude = [\"docs/gallery/**\"] # gitignore syntax; every .md is included by default\n\n[planning.stages] # each word maps to open | ready | built | done\nDESIGN = \"open\"\nDECIDED = \"ready\"\nBUILT = \"built\"\nSUPERSEDED = \"done\"\n```\n- **Each stage word maps to one of four roles**, which is what the word means to Vantage: `open` is still being decided, `ready` is decided and not built, `built` is built, and `done` is no longer a live proposal, so its questions leave every list of what needs a ruling. `vantage-check index` prints those lists.\n- **Never change `target`.** A `target = \"X.Y\"` line at the top of `.vantage.toml` names the oldest Vantage release the repository's readers use, and only a human edits it. A `vantage-check` older than the target refuses to run and names the release it needs: run that release, and leave the target as it is.\n\n### Mermaid diagrams\n- Use ```mermaid code blocks for flowcharts, sequence diagrams, and architecture diagrams. Vantage provides interactive zoom, pan, dark/light theme adaptation, and SVG export.\n- **Quote labels with special characters**: Always quote node labels containing parentheses, brackets, or colons to prevent syntax errors:\n```mermaid\nflowchart TD\n client[\"Client (React SPA)\"] -->|WebSocket| srv[\"Vantage Server (Go)\"]\n srv --> git[\"Git CLI (git diff)\"]\n```\n\n### Inline SVG (needs Vantage 0.8 or later)\n- **Inline `<svg>` is a capability, not notation: it needs Vantage 0.8 or later.** GitHub, every other renderer and Vantage before 0.8 drop the drawing and leave the words of its `<text>` elements behind as loose text, so keep `<text>` to short labels a reader can bear to see as loose words.\n- **Name the drawing with `aria-label` on the `<svg>`, never with `<title>` or `<desc>`.** Vantage 0.8 removes both, so they name nothing there, and every other reader prints them: Vantage before 0.8 as loose words, GitHub with the tags.\n- **Pair every inline drawing with a fallback block**: a `<!-- vantage: fallback -->` directive above the block that stands in for the drawing. Vantage 0.8 and later never show that block; every other reader drops the comment and shows it. Say what the drawing shows and that it needs Vantage 0.8 or later, and link a copy of it committed as a file where there is one (`[the drawing](diagram.svg)`). The block is a paragraph, a list, a quote, a code block, a table or a `<div>`; Vantage shows a raw `<img>`, `<figure>` or `<details>` there, so wrap one in a `<div>`.\n- **Wrap the drawing in a `<div>` on a line of its own, with no blank line anywhere inside it**, and give it a `width`, a `height` and a `viewBox`. Paint with `fill`/`stroke` set to `currentColor` or a hex color, so it reads in light and dark mode.\n```markdown\n<div>\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"120\" height=\"40\" viewBox=\"0 0 120 40\" role=\"img\" aria-label=\"Two boxes joined by an arrow\">\n <rect x=\"1\" y=\"1\" width=\"40\" height=\"38\" fill=\"none\" stroke=\"currentColor\"/>\n <path d=\"M45 20 H75 M68 14 L75 20 L68 26\" fill=\"none\" stroke=\"currentColor\"/>\n <rect x=\"79\" y=\"1\" width=\"40\" height=\"38\" fill=\"none\" stroke=\"currentColor\"/>\n</svg>\n</div>\n\n<!-- vantage: fallback -->\n\nTwo boxes joined by an arrow. This drawing needs Vantage 0.8 or later.\n```\n- **For a document read mostly on GitHub**, commit the drawing as a file and embed it with `![alt](diagram.svg)` instead, which every renderer shows.\n\n### Code blocks and diffs\n- Always tag fenced code blocks with language identifiers (`ts`, `go`, `python`, `bash`, `json`, `yaml`, `diff`, `sql`, etc.) for syntax highlighting.\n- For proposed code modifications, use ```diff blocks with `+` and `-` prefixes:\n```diff\n-const oldUrl = \"/api/v1\";\n+const newUrl = \"/api/v2\";\n```\n\n### Callouts and alerts\n- Use GitHub-style blockquote callouts for notes, tips, and warnings:\n> [!NOTE]\n> Background context or helpful explanation.\n\n> [!TIP]\n> Best practice advice or optimization suggestions.\n\n> [!IMPORTANT]\n> Key requirements or crucial information.\n\n> [!WARNING]\n> Urgent caution, breaking changes, or potential pitfalls.\n\n> [!CAUTION]\n> High-risk actions that could cause data loss or security issues.\n\n### Vantage directives (optional, and Vantage-only)\n\nVantage reads a few styling hints from ordinary HTML comments. Every other renderer — GitHub included — drops them, so a document has to read exactly the same without them: directives decorate, they never carry meaning. One goes on a line of its own, with a blank line after it, and applies to the block that follows:\n\n```markdown\n<!-- vantage: section tone=warning badge=stale -->\n\n## Migration path\n\nThe steps below predate the rewrite.\n```\n\n- **Four names to write**: `section` (the heading and everything under it), `block` (the one block after it), `question` (one Open Question, in any state; see Open questions below), `fallback` (the one block after it, which Vantage 0.8 and later never show; see Inline SVG above). `fallback` takes no keys, and withholds only a paragraph, a list, a quote, a code block, a table, a rule or a `<div>`, never a heading. A fifth, `oq`, is the name `question` replaces (below).\n- **The keys and values are a closed set**: `tone` = `note | tip | important | warning | caution | muted`; `emphasis` = `strong | normal | quiet`; `badge` = `draft | stale | blocked | done | wip`; `collapsed` = `true | false`. Name a *tone*, never a color — the theme decides what a warning looks like, in light mode, in dark mode, and in print.\n- **Use them sparingly.** One or two per document, on the sections that genuinely differ. A document where everything is toned says nothing, and a rainbow one is harder to read than a plain one.\n- **Anything outside those sets is silently ignored** — nothing breaks, and nothing styles either. Run `vantage-check` on the document: the `vantage/*` rules are the only thing that will ever tell you a directive did nothing.\n- **Always close the comment with `-->`.** Never `--!>`, and never leave it open: Markdown reads every line below an unclosed `<!--` as part of the comment, and the whole rest of the document vanishes from the page. For the same reason `-->` cannot appear *inside* a value — it ends the comment early and spills the remainder into the page as literal text.\n- **In a list, indent the directive inside the item**, with blank lines around it (below). At the start of a line between two items it ends the list and starts a second one, which changes the numbering and the spacing in every renderer — the one thing a directive must never do.\n- **A question's id is `OQ-` then an optional short uppercase prefix then digits** — `OQ-9`, `OQ-TP6`, `OQ-A03`. The prefix is what keeps ids distinct once one document references another's questions, so use one in both whenever they cross-reference. `vantage-check` reports anything outside that shape as `vantage/oq-id-format`, and the same id twice in one document as `vantage/oq-id-duplicate` — both are silent otherwise, because the id becomes the block's anchor and a refused or duplicated one simply goes nowhere.\n- **A reference is a link, or it is a lie.** An `OQ-` id, a `§N` section number and a filename all read like pointers, and written as bare prose none of them can be followed or checked — which is exactly why a stale one is never caught. Link the question to its anchor (`[OQ-4](#OQ-4)`, or the Decision Ledger once it is compacted), the section to its heading, the filename to the file. `vantage-check` reports all three (`ref/*`) as errors, and checks that the link points at the thing the reference names rather than merely at something. Writing a specimen rather than a reference? Put it in a fenced block, which the rules never read.\n\n### Open questions\nA question a document leaves for a human to rule on is an *Open Question*, written in a numbered list under a heading of its own.\n\n- **Write each question in its parts, never as one run-together paragraph.** Vantage lays a question out by these parts: the contents column and the planning page's card show its title as the question, and the card shows the leaning as the leaning and the Answer as the answer, so a part run into another one is read as neither. Each part is a block of its own, with a blank line before it:\n 1. **The title line**: the status marker, the id and the question itself in bold, saying what is being decided: `💬 **OQ-9: Where does a job go when it re-enters the queue?**`.\n 2. **The context**, in short paragraphs: only what a ruling needs. Background, history and cross-references belong in the document's own sections, linked from the question.\n 3. **The options as a list**, one item each, when there are options to choose between.\n 4. **`_Leaning:_` as a paragraph of its own**: which option, and why, in a sentence or two.\n 5. **`**Answer:**` as a paragraph of its own**, with the ruling below it once there is one.\n\n```markdown\n## Open Questions\n\n1. 💬 **OQ-9: Where does a job go when it re-enters the queue?**\n\n A job that fails its checks leaves the queue and comes back once it is fixed. What merged while it was out may change what it does.\n\n - **A — The back of the queue.** It waits its turn again.\n - **B — Its old place.** It skips ahead of what joined since.\n\n <!-- vantage: question id=OQ-9 leaning=\"A — the back of the queue: the fix might interact with what merged while it was out.\" -->\n\n _Leaning:_ A. The fix might interact with what merged while it was out.\n\n **Answer:**\n\n > _(empty — fill in when decided)_\n\n2. 🔒 **OQ-10: How large is the retry budget?**\n\n <!-- vantage: question id=OQ-10 -->\n\n Waits on the load test, so there is no leaning to state yet.\n```\n\n- **The marker is the question's state**: 💬 open (💬 🤷 when it is a matter of preference), 🔒 blocked on something upstream that has to happen first, ✅ answered. Review mode offers a one-click **Take this leaning** on an open question, and on nothing else.\n- **Every question gets a `question` directive**, `<!-- vantage: question id=OQ-9 leaning=\"…\" -->`, in every state, indented into its list item on a line of its own directly above the `_Leaning:_` paragraph, or above another of its paragraphs when it states no leaning. The directive is what makes it a question to Vantage: it gives the question its `#OQ-9` anchor, and Vantage's planning index (its model of a repository's plans) reads a question from nothing else, so without one nothing counts it, badges it or lists it as waiting. It goes when the question is compacted into the Decision Ledger, and not before.\n- **Changing a question's state changes its marker and nothing else.** Mark it 🔒 when it cannot be answered yet, and ✅ once it is decided; the directive stays as it is, its `leaning` included, which nothing offers to take once the question is not open.\n- **Every open question with a stated leaning restates it as the directive's `leaning`.** The convention's prose — the emoji, the `OQ-N` id, the `_Leaning:_` line, the fill-in `**Answer:**` — produces no button on its own, and writing it and stopping there is the most common way the button goes missing: the questions look complete, review mode is on, and there is nothing to click. `vantage-check` reports an open question with a `_Leaning:_` and no directive as an error (`vantage/oq-missing`). An open question with no leaning yet takes the directive without `leaning`, so the planning index still counts it; until it states one, its button files the literal text \"Take the stated leaning.\"\n- **A `leaning` restates the leaning; it is never \"yes\".** The one-click button in review mode files that text as a review comment, and the comment is all the agent reading it has — nobody remembers which button was clicked. `leaning=\"Yes\"` beside a two-branch question is a support ticket.\n- **Keep the text below the title short.** The planning page shows each question as a card that leads with the title and shows only the first few lines of the rest, so a question buried in a paragraph of background is one the reviewer has to dig for. `vantage-check` warns when a question's text, not counting its `_Leaning:_` paragraph and its `**Answer:**`, runs past 120 words (`planning/question-length`), and when a leaning shares a paragraph with other text (`vantage/question-layout`); a repository can raise the limit with `max-words`, or turn either rule off, under `[check.rules]`.\n- **Enumerate with a list, never inline.** A question's options, or any three steps or parts, go in a Markdown list, one item per line, rather than run together in one sentence as `(a) … (b) … (c)`, where a reader has to find where each one starts. `vantage-check` warns on a paragraph that runs three or more together (`prose/inline-list`).\n- **Write a question as a list item.** Outside a list, a question runs from the block its directive lands on through the blocks after it, up to the next heading (for a question written as a heading, the next one of its level or higher), the next rule or the next question, so whatever prose follows it before then is read as part of it. There the directive goes above the question's title, since every viewer reads the question's marker from the block it lands on: a directive below the bold title lands on the block after it, which carries no marker, so every viewer reads the question as open. `vantage-check` reports that as `vantage/question-name`.\n- **`oq` is the name `question` replaces.** Vantage keeps reading `<!-- vantage: oq id=OQ-9 leaning=\"…\" -->` as it always has, and `vantage-check` warns on it (`vantage/oq-deprecated`) with the `question` to write instead, keys unchanged. Vantage before 0.8 drops `question` whole, so a reader still on 0.7 gets no one-click answer and no anchor on a question written with it, and misreads nothing. So keep an `oq` on an open question unless you know every reader of the repository is on 0.8 or later; a repository whose readers are still on 0.7 keeps its `oq`s and turns the warning off in `.vantage.toml`, with `\"vantage/oq-deprecated\" = \"off\"` under `[check.rules]`, which a `vantage-check` before 0.8 rejects as a rule it does not know. **Never put `oq` on a 🔒 or ✅ question**: every Vantage before 0.8 offers the one-click button on every `oq`, whatever its marker says, and on a question with no leaning it files the literal text \"Take the stated leaning.\" `vantage-check` reports that as an error (`vantage/question-name`).\n\n### Tables, task lists, and math\n- **Tables**: Use standard markdown tables for structured comparisons and schemas.\n- **Task lists**: Use `- [ ]` and `- [x]` for actionable checklists and status tracking.\n- **LaTeX Math**: Use `$$...$$` for *all* KaTeX math — display blocks (`$$` alone on its own lines) and inline alike (`$$E = mc^2$$` mid-sentence).\n - Single dollars are **not** math delimiters: `$HOME` and `$100` stay literal, so prose and shell snippets are safe to write as-is.\n";
2553
2649
  //#endregion
2554
- export { type DirectivePair, type DirectiveParse, type DirectiveVocabulary, type DocStatus, type FrontmatterFormat, type FrontmatterProblem, type KeyTable, type KeyVocabulary, type MalformedDirective, type ParsedDirective, type ParsedFrontmatter, type Pipeline, type PipelineOptions, type RenderMermaidOptions, type RenderOptions, type RenderResult, type ResolveLinkOptions, type VantageAlert, type VantageFrontmatter, type VantageFrontmatterIssue, type VantageOqStatus, rehypeSourceLines, rehypeVantageAnchors, rehypeVantageDirectives };
2650
+ export { type DirectivePair, type DirectiveParse, type DirectiveVocabulary, type DocStatus, type FrontmatterFormat, type FrontmatterProblem, type KeyTable, type KeyVocabulary, type MalformedDirective, type ParsedDirective, type ParsedFrontmatter, type Pipeline, type PipelineOptions, type RenderMermaidOptions, type RenderOptions, type RenderResult, type ResolveLinkOptions, type VantageAlert, type VantageFrontmatter, type VantageFrontmatterIssue, type VantageOqStatus, type VantageQuestionName, rehypeSourceLines, rehypeVantageAnchors, rehypeVantageDirectives };
2555
2651
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../src/renderMarkdown.ts","../../../node_modules/@types/hast/index.d.ts","../src/rehypeVantageAlerts.ts","../src/rehypeSourceLines.ts","../src/rehypeVantageDirectives.ts","../src/rehypeVantageAnchors.ts","../src/vantageDirectives.ts","../src/pipeline.ts","../src/scrollToLineAnchor.ts","../src/lineAnchor.ts","../src/frontmatter.ts","../src/vantageFrontmatter.ts","../src/sanitize.ts","../src/renderMermaidBlocks.ts","../src/mermaidTheme.ts","../src/resolveLinks.ts","../src/styleGuide.ts"],"x_google_ignoreList":[0,1,3],"mappings":"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A;EACA;EACA;EACA,sBAAsB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,eAAe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,WAAW;EACX;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YAAY;EACZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,eAAe;EACf,SAAS;EACT;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;EACd;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,KAAK;EACL,KAAK;EACL,YAAY;EACZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,UAAU;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,UAAU;EACV,YAAY;EACZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,WAAW;EACX,UAAU;EACV;EACA,WAAW;EACX;EACA;EACA;EACA;EACA;EACA,eAAe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,oBAAoB;EACpB;EACA;EACA;EACA;EACA;EACA;EACA,MAAM;EACN;EACA;EACA;EACA;EACA,qBAAqB;EACrB,mBAAmB;EACnB,gBAAgB;EAChB,kBAAkB;EAClB;EACA;EACA;EACA;EACA,eAAe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,UAAU;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,kBAAkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,iBAAiB;EACjB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SAAS;EACT;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;GACC,sEAAsE;;;;;;;;;KAW/D,iBAAiB,wBAAwB;;;;;;UAOpC;EACb,SAAS;EACT,SAAS;EACT,MAAM;;;;;;;;KASE,cAAc,qBAAqB;;;;;;;;;UAU9B;EACb,SAAS;EACT,SAAS;EACT,SAAS;EACT,MAAM;;;;;;;;;;;;;;;;UAsDO,aAAa;;;;EAI1B,OAAO;;;;;;;;;UAUM,gBAAgB;;;;EAI7B;;;;;;;;;UAUa,eAAe;;;;EAI5B,UAAU;;;;;;UAQG,gBAAgB;;;;EAI7B;;;;EAIA,OAAO;;;;;UAMM,oBAAoB;;;;UAKpB,gBAAgB;;;;EAI7B;;;;EAIA,OAAO;;;;;UAMM,oBAAoB;;;;UAKpB,gBAAgB;;;;EAI7B;;;;EAIA;;;;EAIA,YAAY;;;;EAIZ,UAAU;;;;;EAKV,UAAU;;;;EAIV,OAAO;;;;;UAMM,oBAAoB;;;;;;;;UASpB,aAAa;;;;EAI1B;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,iBAAiB;;;;UAKjB,aAAa;;;;EAI1B;;;;EAIA,OAAO;;;;;UAMM,iBAAiB;;;;;;;;;;;;qBC92BrB;KAQD,uBAAuB;;qBAGtB,cAAc,SAAS,OAAO;;;;;;;;;;;;;;wBA8C3B,wBACN,MAAM;;;UC9DC;;;;;;;EAOf;;cAkBI,mBAAmB,QAAQ,4BAA4B;;;cCkYvD,yBAAyB,WAAW;;;iBCvalB,yBACd,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBCDH;;;;;;;;;;;;qBAaA;;;;;;;;qBASA;;qBAUA;;qBAGA;;;;;;;;;;;qBAkBA;;;;;;;;;;qBAWA;;;;;;;;;;;;;;;;;;qBAiFA;;;;;;;;;;;;;;;;;;;;qBAyCA;;;;;;;;;KAUD,+BAA+B;;;;;;;;qBAS9B,yBAAyB,SACpC,OAAO;;;;;;;;wBAcO,gBAAgB,eAAe;;KAQnC;;KAGA,WAAW,SAAS,eAAe;;KAGnC,sBAAsB,SAChC,eAAe;;;;;;;;;;qBAmBJ,sBAAsB;UAMlB;EACf;;EAEA;;EAEA;;EAEA;EACA;;UAGe;EACf;EACA;;EAEA;;;EAGA,OAAO;;;UAIQ;EACf;;EAEA;;EAEA;;KAGU,iBAAiB,kBAAkB;;;;;;;;wBA6B/B,mBAAmB;;;;;;;;;wBAwCnB,sBAAsB,kBAAkB;;;UCjVvC;;EAEf;;EAEA;;EAEA;;EAEA;;EAEA;;;;;;;EAOA;;UAGe;EACf,eAAe;EACf,eAAe;;;;;;;;wBASD,mBACd,UAAS,kBACR;;;;;;;;;;;;;wBA+Ea,cAAc,UAAS,kBAAuB;;;;;;;;;;;;wBCrJ9C,0BAA0B,WAAW;;;;;;;;wBAarC,mBACd,WAAW,aACX;;;;;;;;;;;;;;;;wBCfc,gBACd;EACG;EAAe;;;;;;;;KCRR;;;;;;;;;;;;;;;;UAiBK;EACf;;EAEA;EACA;EACA;EACA;;UAGe;EACf,aAAa;EACb;EACA,QAAQ;;;;;;;;;;EAUR;;;;;;EAMA,UAAU;;;;;;wBAOI,iBAAiB,kBAAkB;;;;;;;;;;;;;;qBC1BtC;KAOD,oBAAoB;;qBAGnB;;;;;;;;;;qBAWA,kBAAkB,SAC7B,OAAO,mBAAmB;;;;;;;;KAehB;EACN;EAAqB;;EACrB;EAAqB;;EACrB;EAAmB;EAAa;EAAgB;;EAChD;EAA4B;;EAC5B;EAA+B,MAAM;EAAW;;UAErC;;EAEf,aAAa;;EAEb,QAAQ;;;wBAWM,YAAY,iBAAiB,SAAS;;;;;;;wBAsBtC,uBACd,aAAa,0BACZ;;;KCpGE,gBAAgB;qBA2JR,YAAU;;;;;;;;;;;;;qBA2BV,gBAAgB;;;;;;;;;;;;UC1LZ;;EAEf;;EAEA,WAAW,cAAc,OAAO;;;;;;;;;;;;;;;;;;;wBAoBZ,oBACpB,WAAW,aACX,UAAS,uBACR;;;;;;;;qBCIU;;;;;;;;;;;;;qBAcA;;wBAGG;;;;;;;;;;UCrDC;;EAEf;;;;;;EAMA,YAAY,cAAc;;EAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;wBA2Bc,aACd,cACA,UAAS;;;;;;;;;;;;;;;;;qBChCE"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../src/renderMarkdown.ts","../../../node_modules/@types/hast/index.d.ts","../src/rehypeVantageAlerts.ts","../src/rehypeSourceLines.ts","../src/rehypeVantageDirectives.ts","../src/rehypeVantageAnchors.ts","../src/vantageDirectives.ts","../src/remarkPlugins.ts","../src/pipeline.ts","../src/scrollToLineAnchor.ts","../src/lineAnchor.ts","../src/frontmatter.ts","../src/vantageFrontmatter.ts","../src/sanitize.ts","../src/renderMermaidBlocks.ts","../src/mermaidTheme.ts","../src/resolveLinks.ts","../src/styleGuide.ts"],"x_google_ignoreList":[0,1,3],"mappings":";;;;;;;;;;;;;;;;;;;;;;;UAqBiB;;;;UAKA;;;;EAIb;;;;EAKA;;;;EAIA;;;;;;;UAQa;;;;EAIb,OAAO;;;;EAKP,KAAK;;;;;;;;;;;;UA6BQ;;;;EAIb;;;;EAKA,OAAO;;;;;;;EAQP,WAAW;;;;;;;;;;;;;;;;;;;;;;KCjFH;;;;;;;;;;KAWA;;;;;UAOK;;;;;EAKb;;;;;;;;;;;UAYa;;;;;;;;;;;;;;EAcb;;;;;;;;;;EAWA;;;;;UAMa,kBAAkB;;;;EAI/B,eAAe;;;;;UAMF;;;;EAIb;;;;;EAKA;;;;;;;;;;;;;;;;;;;;;UAuBa,eAAa;;;;;;;;;KAWlB,eAAe,sBAAsB;;;;;;;;;;;;;;;;;;UAmBhC;EACb,YAAY;EACZ,MAAM;EACN,SAAS;EACT,MAAM;EACN,MAAM;EACN,WAAW;EACX,OAAO;EACP,eAAe;;;;;;;;;KAUP,oBAAoB,2BAA2B;;;;;;;;;;;;;;;;;UAkB1C;EACb,YAAY;EACZ,oBAAoB;;;;;;;;;KAwCZ,cAAc,qBAAqB;;;;;;;;;;;;;;;;;UAkB9B;EACb,UAAU;;;;;;;;;KAUF,kBAAkB,yBAAyB;;;;;;;;;;;;;;;;;;UAmBtC;EACb,OAAO;EACP,QAAQ;EACR,UAAU;EACV,mBAAmB;EACnB,MAAM;EACN,OAAO;EACP,gBAAgB;EAChB,YAAY;EACZ,MAAM;EACN,eAAe;EACf,QAAQ;EACR,MAAM;;;;;;;;KASE,gBAAc,uBAAqB;;;;;;;;;;;;;;;;;;;;UAqB9B;EACb,YAAY;EACZ,OAAO;EACP,MAAM;EACN,YAAY;EACZ,QAAQ;EACR,UAAU;EACV,oBAAoB;EACpB,mBAAmB;EACnB,SAAS;EACT,MAAM;EACN,OAAO;EACP,gBAAgB;EAChB,YAAY;EACZ,MAAM;EACN,eAAe;EACf,MAAM;EACN,UAAU;EACV,WAAW;EACX,QAAQ;EACR,OAAO;EACP,WAAW;EACX,UAAU;EACV,MAAM;EACN,eAAe;EACf,MAAM;;;;;;;;;KAUE,aAAa,oBAAoB;;;;;;;;;;;;;;;;;UAkB5B;EACb,WAAW;;;;;;;;;KAUH,eAAe,sBAAsB;;;;;;;;;;;;;;;;;UAkBhC;EACb,UAAU;;;;;;;;;;UAyDG,kBAAgB;;;;EAI7B;;;;;;;;;;;;;;;UAgBa,eAAa;;;;EAI1B,OAAO;;;;;;;;;UAUM,iBAAe;;;;EAI5B,UAAU;;;;;;UAQG,mBAAmB;;;;EAIhC;;;;EAIA,UAAU,MAAM,eAAe;;;;EAI/B,OAAO;;;;;UAMM,uBAAuB;;;;UAKvB,cAAc;;;;EAI3B;;;;EAIA,OAAO;;;;;UAMM,kBAAkB;;;;UAKlB,aAAa;;;;EAI1B;;;;EAIA;;;;;;EAMA;;;;EAIA,OAAO;;;;;UAMM,iBAAiB;;;;UAKjB,mBAAmB,QAAM,aAAa;;;;EAInD;;;;EAIA,OAAO;;;;;UAMM,uBAAuB;;;;UAKvB,eAAe;;;;EAI5B;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,mBAAmB;;;;UAKnB,iBAAiB;;;;EAI9B;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,qBAAqB;;;;UAKrB,2BAA2B,UAAQ;;;;EAIhD;;;;EAIA,UAAU,MAAM,eAAe;;;;EAI/B,OAAO;;;;;UAMM,+BAA+B;;;;UAK/B,0BAA0B,aAAa;;;;EAIpD;;;;EAIA,OAAO;;;;;UAMM,8BAA8B;;;;UAK9B,gBAAgB;;;;EAI7B;;;;;;EAMA;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,oBAAoB;;;;UAKpB,aAAa;;;;EAI1B;;;;EAIA,OAAO;;;;;UAMM,iBAAiB;;;;UAajB,cAAc,aAAa,QAAM;;;;EAI9C;;;;EAIA,OAAO;;;;;UAMM,kBAAkB;;;;UAKlB,uBAAuB,aAAa,QAAM;;;;EAIvD;;;;EAIA,OAAO;;;;;UAMM,2BAA2B;;;;UAK3B,mBAAmB;;;;EAIhC;;;;EAIA,OAAO;;;;;UAMM,uBAAuB;;;;UAKvB,aAAa,UAAQ;;;;EAIlC;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,iBAAiB;;;;UAKjB,sBAAsB,UAAQ;;;;EAI3C;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,0BAA0B;;;;UAK1B,aAAa;;;;EAI1B;;;;;EAKA;;;;EAIA;;;;;EAKA;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,iBAAiB;;;;UAKjB,iBAAiB;;;;EAI9B;;;;;;;EAOA;;;;;EAKA;;;;EAIA,UAAU,MAAM,eAAe;;;;EAI/B,OAAO;;;;;UAMM,qBAAqB;;;;UAKrB,kBAAkB;;;;EAI/B;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,sBAAsB;;;;;;UAOtB,eAAa;;;;EAI1B;;;;EAIA,OAAO;;;;;UAMM,mBAAiB;;;;UAKjB,eAAe;;;;EAI5B;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,mBAAmB;;;;UAKnB,cAAc;;;;EAI3B;;;;EAIA,QAAQ;;;;EAIR,UAAU;;;;EAIV,OAAO;;;;;UAMM,kBAAkB;;;;UAKlB,iBAAiB;;;;EAI9B;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,qBAAqB;;;;UAKrB,kBAAkB;;;;EAI/B;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,sBAAsB;;;;UAKtB,eAAa;;;;EAI1B;;;;EAIA,OAAO;;;;;UAMM,mBAAiB;;;;UAKjB,sBAAsB;;;;EAInC;;;;EAIA,OAAO;;;;;UAMM,0BAA0B;;;;UAK1B,aAAa;;;;EAI1B;;;;EAIA,OAAO;;;;;UAMM,iBAAiB;;;UC5kCjB;;EAEf;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;;;;;;;;;;;;;;;;;;EAmBA,OAAO;;UAGQ;;EAEf;;EAEA,aAAa;;EAEb;;;;;;;;;;;;;;;;;;wBAmBoB,eACpB,iBACA,UAAS,gBACR,QAAQ;;;;;;;;;;;;;;;;;;;;;;UCtDM,aAAa;;;;UAKb;EACb;EACA,QAAQ;EACR;EACA,SAAS;EACT,gBAAgB;EAChB,YAAY;EACZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,UAAU;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,eAAe;EACf;EACA,kBAAkB;EAClB;EACA;EACA,iBAAiB;EACjB;EACA;EACA,aAAa;EACb;EACA;EACA;EACA;EACA;EACA;EACA,iBAAiB;EACjB;EACA;EACA;EACA;EACA;EACA;EACA,WAAW;EACX;EACA;EACA;EACA;EACA;EACA;EACA,sBAAsB;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,eAAe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,WAAW;EACX;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YAAY;EACZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,eAAe;EACf,SAAS;EACT;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;EACd;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,KAAK;EACL,KAAK;EACL,YAAY;EACZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,UAAU;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,UAAU;EACV,YAAY;EACZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,WAAW;EACX,UAAU;EACV;EACA,WAAW;EACX;EACA;EACA;EACA;EACA;EACA,eAAe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,oBAAoB;EACpB;EACA;EACA;EACA;EACA;EACA;EACA,MAAM;EACN;EACA;EACA;EACA;EACA,qBAAqB;EACrB,mBAAmB;EACnB,gBAAgB;EAChB,kBAAkB;EAClB;EACA;EACA;EACA;EACA,eAAe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,UAAU;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,kBAAkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,iBAAiB;EACjB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SAAS;EACT;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;GACC,sEAAsE;;;;;;;;;KAW/D,iBAAiB,wBAAwB;;;;;;UAOpC;EACb,SAAS;EACT,SAAS;EACT,MAAM;;;;;;;;KASE,cAAc,qBAAqB;;;;;;;;;UAU9B;EACb,SAAS;EACT,SAAS;EACT,SAAS;EACT,MAAM;;;;;;;;;;;;;;;;UAsDO,aAAa;;;;EAI1B,OAAO;;;;;;;;;UAUM,gBAAgB;;;;EAI7B;;;;;;;;;UAUa,eAAe;;;;EAI5B,UAAU;;;;;;UAQG,gBAAgB;;;;EAI7B;;;;EAIA,OAAO;;;;;UAMM,oBAAoB;;;;UAKpB,gBAAgB;;;;EAI7B;;;;EAIA,OAAO;;;;;UAMM,oBAAoB;;;;UAKpB,gBAAgB;;;;EAI7B;;;;EAIA;;;;EAIA,YAAY;;;;EAIZ,UAAU;;;;;EAKV,UAAU;;;;EAIV,OAAO;;;;;UAMM,oBAAoB;;;;;;;;UASpB,aAAa;;;;EAI1B;;;;EAIA,UAAU;;;;EAIV,OAAO;;;;;UAMM,iBAAiB;;;;UAKjB,aAAa;;;;EAI1B;;;;EAIA,OAAO;;;;;UAMM,iBAAiB;;;;;;;;;;;;qBC92BrB;KAQD,uBAAuB;;qBAUtB,cAAc,SAAS,OAAO;;;;;;;;;;;;;;wBA+C3B,wBACN,MAAM;;;UCtEC;;;;;;;EAOf;;cAkBI,mBAAmB,QAAQ,4BAA4B;;;cCyevD,yBAAyB,WAAW;;;iBC5gBlB,yBACd,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBCHH;;;;;;;;;;;;;;;;;;;;qBAqBA;;;;;;;;;;;;;;;;;;;;;;;;;qBAgCA;;KAGD,8BAA8B;;wBAG1B,oBAAoB,eAAe,QAAQ;;;;;;;qBAU9C;;qBAGA;;;;;;;;qBASA;;;;;;qBAOA;;;;;;;;qBASA;;qBAUA;;qBAGA;;;;;;;;;;;qBAkBA;;;;;;;;;;qBAWA;;;;;;;;;;;;;;;;;;;;;qBA0GA;;;;;;;;;;;;;;;;;;;;;qBA+CA;;;;;;;;;KAUD,+BAA+B;;;;;;;;qBAS9B,yBAAyB,SACpC,OAAO;;;;;;;;wBAcO,gBAAgB,eAAe;;;;;;;;;;;;wBAkB/B,mBAAmB,QAAQ;;KAK/B;;KAGA,WAAW,SAAS,eAAe;;KAGnC,sBAAsB,SAChC,eAAe;;;;;;;;;;;;;;;;;;;;;qBA8BJ,sBAAsB;UAoElB;EACf;;EAEA;;EAEA;;EAEA;EACA;;UAGe;EACf;EACA;;EAEA;;;EAGA,OAAO;;;UAIQ;EACf;;EAEA;;EAEA;;KAGU,iBAAiB,kBAAkB;;;;;;;;wBA6B/B,mBAAmB;;;;;;;;;wBAwCnB,sBAAsB,kBAAkB;;;;;;;;;wBC9iBxC,mBACd,UAAS,kBACR;;;UC0Bc;;EAEf;;EAEA;;EAEA;;EAEA;;EAEA;;;;;;;EAOA;;UAGe;EACf,eAAe;EACf,eAAe;;;;;;;;;;;;;;wBA4ED,cAAc,UAAS,kBAAuB;;;;;;;;;;;;wBCxI9C,0BAA0B,WAAW;;;;;;;;wBAarC,mBACd,WAAW,aACX;;;;;;;;;;;;;;;;wBCfc,gBACd;EACG;EAAe;;;;;;;;KCRR;;;;;;;;;;;;;;;;UAiBK;EACf;;EAEA;EACA;EACA;EACA;;UAGe;EACf,aAAa;EACb;EACA,QAAQ;;;;;;;;;;EAUR;;;;;;EAMA,UAAU;;;;;;wBAOI,iBAAiB,kBAAkB;;;;;;;;;;;;;;qBC1BtC;KAOD,oBAAoB;;qBAGnB;;;;;;;;;;qBAWA,kBAAkB,SAC7B,OAAO,mBAAmB;;;;;;;;KAehB;EACN;EAAqB;;EACrB;EAAqB;;EACrB;EAAmB;EAAa;EAAgB;;EAChD;EAA4B;;EAC5B;EAA+B,MAAM;EAAW;;UAErC;;EAEf,aAAa;;EAEb,QAAQ;;;wBAWM,YAAY,iBAAiB,SAAS;;;;;;;wBAsBtC,uBACd,aAAa,0BACZ;;;KChGE,gBAAgB;qBAuVR,YAAU;;;;;;;;;;;;;qBAgVV,gBAAgB;;;;;;;;;;;;;;;;UCrqBZ;;EAEf;;EAEA,WAAW,cAAc,OAAO;;;;;;;;;;;;;;;;;;;wBAoBZ,oBACpB,WAAW,aACX,UAAS,uBACR;;;;;;;;qBCNU;;;;;;;;;;;;;qBAcA;;wBAGG;;;;;;;;;;UCrDC;;EAEf;;;;;;EAMA,YAAY,cAAc;;EAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;wBA2Bc,aACd,cACA,UAAS;;;;;;;;;;;;;;;;;;;;qBC7BE"}