@davidbalzan/groundwork-seam 0.1.15 → 0.1.17

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/CHANGELOG.md CHANGED
@@ -6,6 +6,14 @@ Started at 0.1.6 because a contract change landed in the tree with nowhere to re
6
6
  it — which is the same class of gap as the change itself: a fact that exists and has
7
7
  no home.
8
8
 
9
+ ## [0.1.16] — 2026-09-11
10
+
11
+ ### Fixed
12
+ - `zeroIsUnparsed` no longer reports a pruned-but-healthy queue as unparsed. It measured CONTENT (`substantiveLines`) on every axis — the right question for the done axis, the wrong one for a queue, which keeps its headings and explanatory prose by design. Measured on this repo's own queue: 793 substantive lines, zero rows, `unparsed: true`. Red-when-fine, one axis over from the failure the predicate was written to avoid.
13
+
14
+ ### Added
15
+ - `queueRowAttempts` and an optional `axis` argument to `zeroIsUnparsed`. For `"queue"` the discriminator is checkbox ROW ATTEMPTS — lines somebody wrote as rows — not authored content. **Omitting the axis preserves the previous behaviour exactly**, so the done and board axes are unchanged. Not "any list item": pruning the real queue leaves 0 checkbox lines and 9 plain bullets of template prose, so a bullet-counting predicate stays red on the very case being fixed.
16
+
9
17
  ## [0.1.8] — 2026-08-28
10
18
 
11
19
  ### Added
package/README.md CHANGED
@@ -4,4 +4,52 @@ Schema owner of `docs/QUEUE.md`, `docs/DONE.md`, `docs/WORKSTREAMS.md`, `docs/FA
4
4
 
5
5
  Markdown stays authoritative. This package is a library, not a daemon.
6
6
 
7
+ ## Find the answer without knowing the name
8
+
9
+ **This section is indexed by the QUESTION, not by the export.** If you are about to
10
+ write a regex against one of these documents, the answer is almost certainly here —
11
+ and if it is not, that is a gap in this package, not a reason to hand-roll one.
12
+ See *Gaps* below for the ones we know about.
13
+
14
+ > **Why this section exists.** A consumer re-derived three verdicts this package
15
+ > already owns, each with a local regex. That is a seam-design failure, not a
16
+ > consumer bug: every export was present and none was findable without already
17
+ > knowing its name. The fix is that the name is now the ANSWER rather than the
18
+ > search term.
19
+
20
+ | You want to know… | Ask | Never |
21
+ |---|---|---|
22
+ | Is this queue item done? | `queueItemsOf(doc)` → `item.done` | a `/\[x\]/` or `/done\|merged\|closed/i` regex |
23
+ | What are this queue's items at all? | `queueItemsOf(parseWorkDoc(text))` | splitting on `- [ ]` |
24
+ | Which queue items lack a RECORDED id? | `unrecordedQueueItems(items)` — `item.idRecorded` is absent exactly when the raw line has no `⟨q-…⟩` | `!item.id` (always populated: reads 0) · a sigil test on `item.text` (sigil stripped: reads nearly all) |
25
+ | What does this DONE entry cite? | `doneEntriesOf(doc)` → `entry.ref` | scraping `#\d+` from the line |
26
+ | Do two refs mean the same PR? | `refsMatch(a, b, { contextRepo })` | string equality |
27
+ | What CLOSED this queue row? | `closingCitation(row)` — a nullish result means *read the row* | any "closed by" in the body; 4 rows say it in prose |
28
+ | …the same commit? | `commitRefMatches(a, b, { contextRepo })` | comparing sha prefixes by hand |
29
+ | Which refs does this text carry? | `refsIn(text)` · `commitRefsIn(text)` | a local `#(\d+)` |
30
+ | Which board grammar is this? | `boardSchemaOf(doc)` | reading the header row yourself |
31
+ | Which board rows are `workstreams.v1`? | `workstreamsV1RowsOf(doc)` | indexing table cells positionally |
32
+ | Does this row carry a leading tag? | `leadingTagsOf(item)` · `sweepTagOf` · `awaitingOf` | matching `**[KEY:value]**` anywhere in the line |
33
+ | Is a zero an answer or an unread file? | `zeroIsUnparsed(count, sourceText, axis?)` | treating `0` as "none" |
34
+ | What is wrong with this document? | `workDocIssues(doc)` · `workDocIssuesDetailed(doc)` | your own validator |
35
+ | Which phase citations CLOSE a task? | `phaseClosureCitationsIn(text)` | `phaseCitationsIn`, which cannot tell "closes" from "unblocks" |
36
+ | Did this diff newly tick a task? | `newlyTickedInDiff(diff)` | diffing checkbox counts |
37
+
38
+ **A verdict this package exports is a verdict this package owns.** If your code
39
+ answers one of the questions above with its own regex, the two answers will
40
+ diverge — and the divergence is silent, because both sides parse cleanly.
41
+
42
+ ## Gaps — questions this package does NOT answer
43
+
44
+ Recorded so a consumer can tell "you missed it" from "we do not offer it", and so
45
+ the check that flags re-derivations knows what it must NOT flag.
46
+
47
+ - **Counting checkboxes in a phase file.** `newlyTickedInDiff` reads a DIFF;
48
+ `phaseCitationsIn` reads citations in prose. Neither counts `- [x]` in a phase
49
+ document. A consumer doing that is filling a gap, not duplicating a verdict.
50
+ - **The source LINE of a parsed item.** No item type carries a line, index or
51
+ offset, so anything that reports `docs/QUEUE.md:<line>` must scan lines itself.
52
+
53
+ ## Notes
54
+
7
55
  PR2 parse contract: any markdown table is a board, arity 5. Header-cell detection is PR3.
package/dist/docs.d.ts CHANGED
@@ -2,9 +2,17 @@ import { EM_DASH_SEP, MIDDOT_SEP } from "./glyphs.js";
2
2
  import { SCHEMA, type WorkstreamsExtId, type WorkstreamsExtKey } from "./schema.js";
3
3
  export type Priority = "P1" | "P2" | "P3";
4
4
  export type QueueItem = {
5
+ /**
6
+ * ALWAYS POPULATED — recorded when the raw line carries `⟨q-…⟩` after the
7
+ * priority, otherwise DERIVED from the text. So `!item.id` is never true and
8
+ * cannot ask "which items lack a recorded id" (⟨q-b7f30a52⟩: that idiom read 0
9
+ * on a queue with one unstamped row). Ask `idRecorded`, or `unrecordedQueueItems`.
10
+ */
5
11
  id: string;
6
12
  /**
7
13
  * True when the id was READ from the line rather than derived from its text.
14
+ * ABSENT EXACTLY WHEN THE SIGIL IS ABSENT FROM THE RAW LINE — this is the
15
+ * field that answers "which items lack a RECORDED id".
8
16
  *
9
17
  * A derived id is a function of mutable prose, so every edit mints a new item
10
18
  * — measured cost on 2026-09-01: a compaction re-issued an id and the item was
@@ -17,6 +25,11 @@ export type QueueItem = {
17
25
  idRecorded?: true;
18
26
  priority: Priority | null;
19
27
  priorityRaw?: string;
28
+ /**
29
+ * The ask, with a recorded `⟨q-…⟩` sigil STRIPPED — so testing `text` for the
30
+ * sigil matches nearly everything (⟨q-b7f30a52⟩: 114 of 237 on a fully stamped
31
+ * queue, every one a false "unstamped"). The sigil lives in `id` + `idRecorded`.
32
+ */
20
33
  text: string;
21
34
  done: boolean;
22
35
  section?: string;
@@ -82,24 +95,78 @@ export type Block = {
82
95
  kind: "decisions";
83
96
  items: string[];
84
97
  };
98
+ /** What the continuation check looked at, and the RULE that produced it. */
99
+ export type ContinuationPopulation = {
100
+ rule: string;
101
+ linesConsidered: number;
102
+ loadBearing: number;
103
+ proseOnly: number;
104
+ excludedCommentBlockLines: number;
105
+ excludedBlockquoteLines: number;
106
+ /** ⟨q-1197b859⟩ — lines in the Queue section detached from the item above by a blank line: ORPHANS, not continuations. */
107
+ orphanLines: number;
108
+ };
85
109
  export type WorkDoc = {
86
110
  trailingNewline: boolean;
87
111
  blocks: Block[];
112
+ population?: ContinuationPopulation;
88
113
  warnings?: string[];
89
114
  advisories?: string[];
90
115
  };
91
116
  export { EM_DASH_SEP, MIDDOT_SEP };
117
+ /**
118
+ * ⟨q-b7f30a52⟩ — "WHICH QUEUE ITEMS LACK A RECORDED ID", askable by name.
119
+ *
120
+ * Two idioms a caller reaches for first are both wrong, in opposite directions,
121
+ * and neither errors: `items.filter(i => !i.id)` reads 0 because `id` is derived
122
+ * when absent, and `!/⟨q-…⟩/.test(i.text)` reads nearly everything because the
123
+ * recorded sigil is stripped from `text`. The field that answers is `idRecorded`,
124
+ * absent exactly when the raw line has no sigil; this is that filter with a name.
125
+ */
126
+ export declare function unrecordedQueueItems(items: readonly QueueItem[]): QueueItem[];
92
127
  export declare const VALID_PRIORITIES: readonly Priority[];
93
128
  export declare function parseQueueLine(line: string, section?: string): QueueItem | null;
94
129
  /** The warning an invalid-priority item earns, quoting the tag and naming the set. */
95
130
  export declare function invalidPriorityIssue(item: QueueItem, line?: number): string;
96
131
  export declare function parseDoneLine(line: string, section?: string): DoneEntry | null;
132
+ /**
133
+ * Does this text carry a CITATION — an issue/PR ref or a commit sha?
134
+ *
135
+ * Deliberately delegates to `refsIn`/`hasCommitRef` rather than testing a local
136
+ * regex. The comment below those primitives says why: four separate matchers
137
+ * re-derived "what is a ref" in one day and each got it wrong differently. A
138
+ * fifth here would be the same mistake with a done line instead of a queue item.
139
+ *
140
+ * This is NOT `parseDoneLine`'s tail rule, and the difference is the point. That
141
+ * rule accepts any space-free token after ` — ` as a ref, which is right for a
142
+ * record it is about to keep but far too loose for deciding whether a HEADING was
143
+ * a completion in disguise: `## Phase 5 — shipped` would qualify. A malformation
144
+ * detector that cries wolf on ordinary prose gets switched off, so this one asks
145
+ * for a real citation shape.
146
+ */
147
+ export declare function carriesCitation(text: string): boolean;
148
+ export declare const doneReflessIssue: (line: number, text: string) => string;
149
+ export declare const doneHeadingFormIssue: (line: number, heading: string) => string;
97
150
  export declare function withoutCodeContext(text: string): string;
98
151
  export type Ref = {
99
152
  raw: string;
100
153
  repo: string | null;
101
154
  number: string;
102
155
  };
156
+ /**
157
+ * What a queue continuation line is HIDING, or null if it is only prose.
158
+ *
159
+ * ⟨q-3f81c92e⟩ — `queue.v1` is one line per item, so a continuation is kept for a
160
+ * human and dropped by every consumer. That is tolerable for commentary and not
161
+ * tolerable for the two things a reader ACTS on: the acceptance criteria and the
162
+ * citation. Hidden there, `list_work` hands a worker a row whose acceptance does
163
+ * not exist and whose PR cannot be followed, with nothing to indicate a loss.
164
+ *
165
+ * Reuses `refsIn` rather than re-deriving a ref pattern: four separate matchers
166
+ * re-derived ref matching in one day once and each got it wrong, which is why
167
+ * that primitive is shared (see `REF_RE`'s own note).
168
+ */
169
+ export declare function loadBearingContinuation(line: string): string | null;
103
170
  /** Every issue/PR reference in a string, qualified where the text qualified it. */
104
171
  export declare function refsIn(text: string): Ref[];
105
172
  /**
@@ -146,6 +213,51 @@ export declare function commitRefsIn(text: string): string[];
146
213
  * does not carry that state.
147
214
  */
148
215
  export declare function hasCommitRef(text: string): boolean;
216
+ /** Every state the fleet's boards actually declare. `unknown` is a real answer. */
217
+ export type WorkState = "blocked" | "in-progress" | "in-review" | "done" | "parked" | "orphaned" | "accepted-risk" | "staffable" | "skipped" | "no-downstream" | "unstaffable" | "unclassified" | "unknown";
218
+ /** The projection a renderer asks for: is anybody working on this? */
219
+ export type CoarseWorkState = "in-flight" | "finished" | "open" | "unknown";
220
+ export declare const declarationOf: (status: string) => string;
221
+ /**
222
+ * The state a board status DECLARES.
223
+ *
224
+ * Leading glyph decides; an unknown glyph is `unknown`; a glyphless status is read
225
+ * from its declaration only. Commentary never answers.
226
+ */
227
+ export declare function workStateOf(status: string | null | undefined): WorkState;
228
+ export declare function coarseOf(state: WorkState): CoarseWorkState;
229
+ /** What a queue row's CLOSING POSITION cites. */
230
+ export type ClosingCitation = {
231
+ token: string;
232
+ refs: Ref[];
233
+ commits: string[];
234
+ };
235
+ /**
236
+ * What the row's closing position cites, or `null` when it has none.
237
+ *
238
+ * ⚠ THE RETURN IS THREE-VALUED AND THE THIRD VALUE IS THE POINT:
239
+ * - a citation — the closing position names these refs/commits;
240
+ * - `null` — THERE IS NO CLOSING POSITION TO READ, so *read the row*.
241
+ *
242
+ * ⛔ `null` is returned BOTH when there is no token AND when no token cites
243
+ * anything, and the collapse is deliberate: a trailer saying something
244
+ * unparseable must not make a row uncited on the strength of its own prose.
245
+ *
246
+ * ⛔⛆ DO NOT "SIMPLIFY" THIS TO AN EMPTY REF LIST. An empty list reads as *"the
247
+ * closing position says nothing owes"* — a positive claim — where `null` says
248
+ * *"I cannot answer; ask the row."* On the delivery-marker side that substitution
249
+ * turns an honest `answerable: false` into a confident wrong zero.
250
+ *
251
+ * ⛔ THIS IS A **READER**, NOT A DECISION. It does not decide the tie, does not
252
+ * resolve repositories (that is `refsMatch` + a `contextRepo`, and a BARE `270`
253
+ * is correctly untieable with no origin), does not match `DONE.md` entries, and
254
+ * does not read commit subjects. Its consumers ask DIFFERENT questions of the
255
+ * same answer — `doctor` falls back to the whole row because it asks "can this
256
+ * row be tied at all?", while the delivery-marker gate stays untied and says so
257
+ * because it asks "which refs CLOSED it?" — so sharing this reader is correct
258
+ * and sharing either of those decisions is not.
259
+ */
260
+ export declare function closingCitation(text: string): ClosingCitation | null;
149
261
  /**
150
262
  * Do two cited shas name the same commit? Compared as a PREFIX, not
151
263
  * equality: git's own abbreviation convention means a 7-char short sha and a
@@ -247,12 +359,32 @@ export type ZeroAxis = {
247
359
  };
248
360
  /** Non-blank lines that are not headings, frontmatter delimiters or comments. */
249
361
  export declare function substantiveLines(text: string): number;
362
+ /** Checkbox list items outside frontmatter: queue rows somebody attempted to write. */
363
+ export declare function queueRowAttempts(text: string): number;
250
364
  /**
251
365
  * Is this axis's zero an ANSWER or an UNANSWERED QUESTION?
252
366
  *
253
367
  * `count > 0` is never in doubt, so this only ever qualifies a zero.
368
+ *
369
+ * THE QUEUE AXIS ASKS A NARROWER QUESTION THAN THE OTHERS, because on a queue
370
+ * document prose is not evidence of a missed row. `substantiveLines` was built
371
+ * for the done axis, where any authored line under an empty log is a fair
372
+ * reason to doubt the zero. A pruned `docs/QUEUE.md` keeps its headings AND its
373
+ * explanatory prose by design, so that same measure reported a perfectly
374
+ * healthy empty queue as unparsed — red-when-fine, measured at 793 substantive
375
+ * lines with zero rows present.
376
+ *
377
+ * So for `axis: "queue"` the discriminator is ROW ATTEMPTS, not content. The
378
+ * four states this separates, measured on this repo's real `docs/QUEUE.md`:
379
+ * populated (168 rows, count 168) `false` · pruned-but-prose-kept (0 attempts)
380
+ * `false` · heading-removed, so the rows exist but nothing parses them (168
381
+ * attempts, count 0) `true` · rows present but refused by the grammar (2
382
+ * attempts, count 0) `true`.
383
+ *
384
+ * Axis is OPTIONAL and omitting it preserves the old behaviour exactly, so the
385
+ * done and board axes are untouched by this change.
254
386
  */
255
- export declare function zeroIsUnparsed(count: number, sourceText: string): boolean;
387
+ export declare function zeroIsUnparsed(count: number, sourceText: string, axis?: ZeroAxis["axis"]): boolean;
256
388
  export declare function renderWorkDoc(doc: WorkDoc): string;
257
389
  export declare function queueItemsOf(doc: WorkDoc): QueueItem[];
258
390
  export declare function doneEntriesOf(doc: WorkDoc): DoneEntry[];
package/dist/docs.js CHANGED
@@ -70,6 +70,18 @@ function idFor(kind, seed) {
70
70
  // lands — which matters because ids are the join key between QUEUE.md, the
71
71
  // board, and DONE.md, and the aide's subscriptions are keyed on them.
72
72
  const QUEUE_ID = /^⟨(q-[0-9a-f]{8})⟩\s+/;
73
+ /**
74
+ * ⟨q-b7f30a52⟩ — "WHICH QUEUE ITEMS LACK A RECORDED ID", askable by name.
75
+ *
76
+ * Two idioms a caller reaches for first are both wrong, in opposite directions,
77
+ * and neither errors: `items.filter(i => !i.id)` reads 0 because `id` is derived
78
+ * when absent, and `!/⟨q-…⟩/.test(i.text)` reads nearly everything because the
79
+ * recorded sigil is stripped from `text`. The field that answers is `idRecorded`,
80
+ * absent exactly when the raw line has no sigil; this is that filter with a name.
81
+ */
82
+ export function unrecordedQueueItems(items) {
83
+ return items.filter((i) => !i.idRecorded);
84
+ }
73
85
  const QUEUE_LINE = /^- \[( |x)\] \((P1|P2|P3)\) (.*)$/;
74
86
  // The same shape with ANY parenthesised tag. Recognising it is the whole fix:
75
87
  // a line only the strict pattern could see was not merely unparsed, it was
@@ -154,6 +166,49 @@ export function parseDoneLine(line, section) {
154
166
  ...(section ? { section } : {}),
155
167
  };
156
168
  }
169
+ /**
170
+ * Does this text carry a CITATION — an issue/PR ref or a commit sha?
171
+ *
172
+ * Deliberately delegates to `refsIn`/`hasCommitRef` rather than testing a local
173
+ * regex. The comment below those primitives says why: four separate matchers
174
+ * re-derived "what is a ref" in one day and each got it wrong differently. A
175
+ * fifth here would be the same mistake with a done line instead of a queue item.
176
+ *
177
+ * This is NOT `parseDoneLine`'s tail rule, and the difference is the point. That
178
+ * rule accepts any space-free token after ` — ` as a ref, which is right for a
179
+ * record it is about to keep but far too loose for deciding whether a HEADING was
180
+ * a completion in disguise: `## Phase 5 — shipped` would qualify. A malformation
181
+ * detector that cries wolf on ordinary prose gets switched off, so this one asks
182
+ * for a real citation shape.
183
+ */
184
+ export function carriesCitation(text) {
185
+ return refsIn(text).length > 0 || hasCommitRef(text);
186
+ }
187
+ // THE TWO WAYS A COMPLETION LINE GOES WRONG FAIL IN OPPOSITE DIRECTIONS, AND
188
+ // NEITHER USED TO SAY ANYTHING (q-2f6ba85e).
189
+ //
190
+ // An ASCII hyphen or a period instead of ` — ` / ` · ` still PARSES: the entry is
191
+ // kept, counted, and carries no ref — so `list_work` reports one more completion
192
+ // than exists and cites nothing for it. A heading-form completion goes the other
193
+ // way: a level-2 heading ENDS the done section, so every entry after it
194
+ // disappears and the count reads zero.
195
+ //
196
+ // One row too many, or none. An instrument silent in both directions cannot be
197
+ // trusted in either, which is why these are warnings and not advisories: both
198
+ // corrupt a number the bus reports.
199
+ export const doneReflessIssue = (line, text) => carriesCitation(text)
200
+ ? `line ${line}: done entry parses but its citation is NOT in the ref position, so nothing links this completion to a merge — ` +
201
+ `the separator before the ref must be an em-dash " \u2014 " and the one before the date a middot " \u00b7 ". ` +
202
+ `The entry is KEPT and COUNTED as done, which is why this is a warning: an ASCII hyphen or period here inflates the done count silently.`
203
+ : `line ${line}: done entry cites no issue/PR ref and no QUALIFIED commit ref. ` +
204
+ `A BARE SHA DOES NOT COUNT and this is not a typo in the message: ` + "`" + `owner/repo@sha` + "`" + ` names a repository, ` +
205
+ `a bare ` + "`" + `47b26aa` + "`" + ` does not, so nothing can resolve it — if there is a sha on this line already, qualify and reposition it rather than finding another. ` +
206
+ `Add ` + "`" + ` \u2014 owner/repo#N` + "`" + ` or ` + "`" + ` \u2014 owner/repo@sha` + "`" + `, optionally ` + "`" + ` \u00b7 YYYY-MM-DD` + "`" + `.`;
207
+ export const doneHeadingFormIssue = (line, heading) => `line ${line}: "${heading}" is a completion written as a HEADING, not as a done line — it carries a citation but no ` +
208
+ "`- [x] `" +
209
+ ` marker, so it is not parsed as an entry. ` +
210
+ `A level-1 or level-2 heading also ENDS the done section, so entries below it are dropped too: this malformation reads as ZERO completions, not one missing. ` +
211
+ `Rewrite it as ` + "`" + `- [x] <what shipped> \u2014 <ref> \u00b7 <date>` + "`" + `.`;
157
212
  // ---------- issue / PR references ----------
158
213
  //
159
214
  // THE REF THAT CLOSED AN ITEM IS A DIFFERENT FACT FROM A REF MENTIONED IN IT, AND
@@ -222,6 +277,30 @@ export function withoutCodeContext(text) {
222
277
  // that only understood the fully-qualified form would classify every real
223
278
  // shorthand as bare, which is the ambiguous bucket where nothing matches.
224
279
  const REF_RE = /(?:([\w.-]+(?:\/[\w.-]+)?))?#(\d+)\b/g;
280
+ /**
281
+ * What a queue continuation line is HIDING, or null if it is only prose.
282
+ *
283
+ * ⟨q-3f81c92e⟩ — `queue.v1` is one line per item, so a continuation is kept for a
284
+ * human and dropped by every consumer. That is tolerable for commentary and not
285
+ * tolerable for the two things a reader ACTS on: the acceptance criteria and the
286
+ * citation. Hidden there, `list_work` hands a worker a row whose acceptance does
287
+ * not exist and whose PR cannot be followed, with nothing to indicate a loss.
288
+ *
289
+ * Reuses `refsIn` rather than re-deriving a ref pattern: four separate matchers
290
+ * re-derived ref matching in one day once and each got it wrong, which is why
291
+ * that primitive is shared (see `REF_RE`'s own note).
292
+ */
293
+ export function loadBearingContinuation(line) {
294
+ const hasAcceptance = /\bacceptance\s*:/i.test(line);
295
+ const refs = refsIn(line);
296
+ if (hasAcceptance && refs.length)
297
+ return "an acceptance clause and a citation";
298
+ if (hasAcceptance)
299
+ return "an acceptance clause";
300
+ if (refs.length)
301
+ return `a citation (${refs[0]?.raw})`;
302
+ return null;
303
+ }
225
304
  /** Every issue/PR reference in a string, qualified where the text qualified it. */
226
305
  export function refsIn(text) {
227
306
  return [...String(text).matchAll(REF_RE)].map((m) => ({
@@ -283,6 +362,260 @@ export function commitRefsIn(text) {
283
362
  export function hasCommitRef(text) {
284
363
  return commitRefsIn(text).length > 0;
285
364
  }
365
+ /*
366
+ * ⛔ EMPHASIS IS STRIPPED BEFORE THE STATE IS READ, AND `⭐` IS NOT A STATE.
367
+ *
368
+ * A live row opens `⭐⭐ **THE HELD CLOSURE IS ITSELF WHAT ARMS THE DEFECT…`. Without
369
+ * this, `⭐` is read as the leading glyph and the row gets a state invented for it;
370
+ * with it, the row correctly reaches `unknown`, because stripping reveals no state
371
+ * glyph rather than conjuring one. `**` is stripped for the same reason — board
372
+ * cells bold their state (`**⛔ Blocked**`) and the glyph is the state, not the bold.
373
+ *
374
+ * ⚠ THE SET IS EVIDENCE-BASED, NOT A JUDGEMENT ABOUT TASTE: `⭐` is the only
375
+ * decoration observed in leading position on a status cell. An unlisted decoration
376
+ * therefore lands on the middle branch and returns `unknown` — which is the safe
377
+ * direction, and why this list does not need to be exhaustive to be correct.
378
+ */
379
+ const STATUS_DECORATION = /^[\s*⭐]+/u;
380
+ /*
381
+ * ⭐ GLYPH -> STATE, and every entry is DOCUMENTED somewhere rather than inferred.
382
+ *
383
+ * The discriminator for "is this a state?" is whether the fleet writes it down, NOT
384
+ * whether a checker's regex already knows it. `doctor`'s regexes and the console's
385
+ * four-value model are BOTH stale subsets — of different boards — so deriving this
386
+ * table from either would codify that board's blind spots:
387
+ *
388
+ * 🔻 Orphaned protocol: coord-playbook/README.md, skills/references/handoff.md
389
+ * ⚠ Accepted risk board convention: docs/WORKSTREAMS.md
390
+ * ▶ Staffable board convention: docs/WORKSTREAMS.md
391
+ * 🚫 Unstaffable · 🔍 In Review coord-mcp/src/tools/stall.ts + the board
392
+ * ⏭ Skipped · ◻ No downstream the console's shipped tone table (c3d7b43)
393
+ *
394
+ * ⛆⛆ `unclassified` IS NOT A SYNONYM FOR `unknown`, AND CONFLATING THEM IS A SILENT
395
+ * UI REGRESSION AT ADOPTION. The console's shipped `workStateOf`
396
+ * (`apps/web/src/lib/status.ts:73-76` on its `origin/main`) distinguishes TWO
397
+ * unrecognised cases and gives them DIFFERENT coarse answers:
398
+ *
399
+ * unrecognised leading GLYPH -> `unknown` (ANY_GLYPH, :73)
400
+ * GLYPHLESS and no word matched -> `open` (the bare `return "open"`, :76)
401
+ *
402
+ * My first version returned `unknown` for both, so `"Ops hold — ✅ done upstream"`
403
+ * came back `unknown` where the console renders it `open` — measured against the
404
+ * consumer's four-row migration contract, 1 of 4 disagreed. Since `coarseOf` IS the
405
+ * console's projection, a disagreement there changes the UI the moment it re-pins,
406
+ * and the console cannot catch it until then.
407
+ *
408
+ * ⭐ SO THE FIX IS A SECOND STATE, NOT A WIDER ONE: `unclassified` means "this is on
409
+ * the board, it is glyphless, and no vocabulary entry matched" — which is still work
410
+ * nobody is doing and not complete, hence `open`. `unknown` stays reserved for "I was
411
+ * given a marker I do not recognise", which is genuinely unanswerable. Collapsing
412
+ * them would make the board check and the renderer disagree in opposite directions.
413
+ *
414
+ * ⛔ NOTHING IS INVENTED FOR A GLYPH NOBODY DOCUMENTS. An unrecognised glyph is not
415
+ * a state, and guessing one is how a vocabulary starts lying.
416
+ */
417
+ const GLYPH_STATE = [
418
+ ["⛔", "blocked"],
419
+ ["🚧", "in-progress"],
420
+ ["🔍", "in-review"],
421
+ ["✅", "done"],
422
+ ["⏸", "parked"],
423
+ ["🔻", "orphaned"],
424
+ ["⚠", "accepted-risk"],
425
+ ["▶", "staffable"],
426
+ ["⏭", "skipped"],
427
+ ["◻", "no-downstream"],
428
+ ["🚫", "unstaffable"],
429
+ ];
430
+ /** Any pictographic lead — the middle branch's test, never a state by itself. */
431
+ const ANY_LEADING_GLYPH = /^[\p{Extended_Pictographic}■-➿⬀-⯿]/u;
432
+ /*
433
+ * The part of a status that DECLARES something. Commentary after the first
434
+ * separator is a note to a human, and reading it is the defect above: the
435
+ * declaration of `🔍 In Review — **MERGED WILL NOT MEAN DELIVERED**` is
436
+ * `🔍 In Review`, and the rest is prose that must never answer.
437
+ *
438
+ * Separator set taken verbatim from the console's shipped `declarationOf` so the
439
+ * two sides cut the string in the same place; a seam that split differently would
440
+ * reintroduce the divergence this export exists to remove.
441
+ */
442
+ export const declarationOf = (status) => String(status ?? "").split(/\s+[—·]\s+|\s+--\s+/)[0].trim();
443
+ /*
444
+ * ⚠ PROSE IS CONSULTED ONLY FOR A GLYPHLESS STATUS, AND ONLY ITS DECLARATION.
445
+ *
446
+ * Glyphless boards are real — lanes-v0 rows say "working" and "gate pending" — so
447
+ * refusing them outright would silence a third of this fleet's own board, which is
448
+ * a coverage loss dressed as rigour. Ordered, first match wins.
449
+ *
450
+ * ⭐ `unstaffable` IS GUARDED TWICE, AND THE ORDERING IS THE WEAKER OF THE TWO.
451
+ * `\bstaffable\b` already cannot match inside "unstaffable" — there is no word
452
+ * boundary between "n" and "s" — so the boundary anchors, not the row order, are
453
+ * what actually decide it. Measured: reordering alone still returns `unstaffable`;
454
+ * only dropping the anchors AND reordering flips it. The order is kept as defence
455
+ * in depth and is documented as such, because a comment that credits the wrong
456
+ * guard is how the load-bearing one gets removed as redundant.
457
+ */
458
+ const PROSE_STATE = [
459
+ [/\bblocked\b|\bblocker\b/i, "blocked"],
460
+ [/\bunstaffable\b/i, "unstaffable"],
461
+ [/\bstaffable\b/i, "staffable"],
462
+ [/\bin\s+review\b|\bgate\s+pending\b/i, "in-review"],
463
+ [/\bin\s+progress\b|\bclaimed\b|\bworking\b/i, "in-progress"],
464
+ [/\bdone\b|\bmerged\b|\bdeployed\b|\bcomplete(?:d)?\b|\bclosed\b|\bresolved\b/i, "done"],
465
+ [/\bparked\b/i, "parked"],
466
+ [/\borphaned\b/i, "orphaned"],
467
+ [/\bskipped\b/i, "skipped"],
468
+ [/\bno[-\s]?downstream\b/i, "no-downstream"],
469
+ ];
470
+ /**
471
+ * The state a board status DECLARES.
472
+ *
473
+ * Leading glyph decides; an unknown glyph is `unknown`; a glyphless status is read
474
+ * from its declaration only. Commentary never answers.
475
+ */
476
+ export function workStateOf(status) {
477
+ const raw = String(status ?? "").trim();
478
+ if (!raw)
479
+ return "unknown";
480
+ const s = raw.replace(STATUS_DECORATION, "");
481
+ if (!s)
482
+ return "unknown";
483
+ for (const [glyph, state] of GLYPH_STATE)
484
+ if (s.startsWith(glyph))
485
+ return state;
486
+ if (ANY_LEADING_GLYPH.test(s))
487
+ return "unknown";
488
+ const decl = declarationOf(s);
489
+ for (const [re, state] of PROSE_STATE)
490
+ if (re.test(decl))
491
+ return state;
492
+ // Glyphless and nothing matched — NOT `unknown`. See the `unclassified` note above:
493
+ // the console renders this row `open`, and `coarseOf` is its projection.
494
+ return "unclassified";
495
+ }
496
+ /*
497
+ * ⭐⭐ THE PROJECTION A RENDERER CALLS — and `blocked -> open` IS THE ANSWER TO
498
+ * ⟨q-fcc9858e⟩ RATHER THAN A PREFERENCE, WHICH IS WHY THE REASON SHIPS WITH IT.
499
+ *
500
+ * That row is titled "the two status vocabularies that disagree about what NOT
501
+ * BEING WORKED ON means". This is that disagreement settled: the question `coarse`
502
+ * answers is IS ANYBODY WORKING ON THIS, so a BLOCKED item is NOT in flight — it is
503
+ * work nobody is doing. Filing `blocked` under `in-flight` is the intuitive answer
504
+ * and it is the bug: it makes a stalled board look busy.
505
+ *
506
+ * ⚠ TONE AND STATE ARE DIFFERENT QUESTIONS, DELIBERATELY: the console renders `⛔`
507
+ * as a BAD pill and classifies it `open` at the same time, and both are right. A
508
+ * reader who collapses them will "fix" one of the two.
509
+ *
510
+ * The range is exactly the console's four values, because the console RENDERS this
511
+ * projection: a projection a consumer CALLS is consuming, and one it RE-DERIVES is
512
+ * guessing — which is what left ⟨q-fcc9858e⟩ open with its own half already shipped.
513
+ */
514
+ export function coarseOf(state) {
515
+ switch (state) {
516
+ case "in-progress":
517
+ case "in-review":
518
+ return "in-flight";
519
+ case "done":
520
+ return "finished";
521
+ case "unknown":
522
+ return "unknown";
523
+ // `unclassified` deliberately does NOT land here — it falls to `open` below,
524
+ // matching the console's bare `return "open"` for a glyphless unmatched row.
525
+ // Everything else is work NOBODY IS DOING and NOT complete — blocked included.
526
+ default:
527
+ return "open";
528
+ }
529
+ }
530
+ /**
531
+ * ⛔ THE DISCRIMINATOR IS THE TOKEN'S **STRUCTURE**, NOT ITS DISTANCE FROM THE END.
532
+ *
533
+ * A row's closing citation is the bold-delimited trailer `· **closed by <ref>**`.
534
+ * This was once END-ANCHORED, until a curation addendum was appended AFTER
535
+ * ⟨q-6a4f0c38⟩'s citation and pushed it 1,144 characters from the end: the
536
+ * citation became unreadable and the row's green fell back onto a `#270` sitting
537
+ * in the addendum's PROSE, with nothing going red at the moment it broke.
538
+ *
539
+ * ⭐ THE REJECTED FIX WAS A WRITING CONVENTION — *"curation appends BEFORE the
540
+ * token"*. A rule with no enforcement that every future writer must remember,
541
+ * and the fleet demonstrably does not: that addendum was written four hours
542
+ * after the same practice was adopted for `docs/DONE.md`, in another file, for a
543
+ * good reason.
544
+ *
545
+ * ⛔⛆ AND "LAST OCCURRENCE" IS NOT THE CURE EITHER — `parseDoneLine` below has
546
+ * used `lastIndexOf(EM_DASH_SEP)` all along, which IS the last-occurrence rule,
547
+ * and it still returned `"see note"` AS THE REF when an addendum carried an
548
+ * em-dash and a date, because its shape guard runs only on the no-date branch.
549
+ * ⭐ ***SHAPE DECIDES CANDIDACY; POSITION ONLY DECIDES WHICH CANDIDATE WINS.***
550
+ *
551
+ * ⚠ DROPPING THE ANCHOR IS NOT DROPPING THE STRUCTURE. The counterexample lives
552
+ * in ⟨q-6a4f0c38⟩'s own body — *"A gap closed by someone choosing to disclose is
553
+ * not a gap that is closed"* — and 4 closed rows carry that phrase outside any
554
+ * token, one of them 8 times with ZERO tokens. The `· ** … **` delimiters are
555
+ * what exclude every one of them; the `$` never was.
556
+ */
557
+ const CLOSING_TOKEN_RE = /·\s*\*\*\s*closed by\s+([^*]+?)\s*\*\*/g;
558
+ /** A closing token that is nothing but digits — `land`'s bare form. */
559
+ const BARE_CLOSING_NUMBER_RE = /^(\d+)$/;
560
+ /**
561
+ * What the row's closing position cites, or `null` when it has none.
562
+ *
563
+ * ⚠ THE RETURN IS THREE-VALUED AND THE THIRD VALUE IS THE POINT:
564
+ * - a citation — the closing position names these refs/commits;
565
+ * - `null` — THERE IS NO CLOSING POSITION TO READ, so *read the row*.
566
+ *
567
+ * ⛔ `null` is returned BOTH when there is no token AND when no token cites
568
+ * anything, and the collapse is deliberate: a trailer saying something
569
+ * unparseable must not make a row uncited on the strength of its own prose.
570
+ *
571
+ * ⛔⛆ DO NOT "SIMPLIFY" THIS TO AN EMPTY REF LIST. An empty list reads as *"the
572
+ * closing position says nothing owes"* — a positive claim — where `null` says
573
+ * *"I cannot answer; ask the row."* On the delivery-marker side that substitution
574
+ * turns an honest `answerable: false` into a confident wrong zero.
575
+ *
576
+ * ⛔ THIS IS A **READER**, NOT A DECISION. It does not decide the tie, does not
577
+ * resolve repositories (that is `refsMatch` + a `contextRepo`, and a BARE `270`
578
+ * is correctly untieable with no origin), does not match `DONE.md` entries, and
579
+ * does not read commit subjects. Its consumers ask DIFFERENT questions of the
580
+ * same answer — `doctor` falls back to the whole row because it asks "can this
581
+ * row be tied at all?", while the delivery-marker gate stays untied and says so
582
+ * because it asks "which refs CLOSED it?" — so sharing this reader is correct
583
+ * and sharing either of those decisions is not.
584
+ */
585
+ export function closingCitation(text) {
586
+ const line = String(text ?? "");
587
+ // ⚠ THE LAST WELL-FORMED TOKEN WINS, so every structural match is read and the
588
+ // LAST one that actually CITES something is kept. "Well-formed" means the token
589
+ // BEARS a ref, commit or bare number: an unparseable later token must not end
590
+ // the search, or it would mask a real citation earlier in the row.
591
+ //
592
+ // `CLOSING_TOKEN_RE` is `g`-flagged and `lastIndex` is stateful, so it is reset
593
+ // on entry rather than trusted across calls.
594
+ CLOSING_TOKEN_RE.lastIndex = 0;
595
+ let found = null;
596
+ for (const m of line.matchAll(CLOSING_TOKEN_RE)) {
597
+ const token = String(m[1]).trim();
598
+ // ⚠ THE TOKEN IS NOT REQUIRED TO **BE** A REF: `land --result` writes
599
+ // `owner/repo#233 — init refuses unknown flags`, so the token carries a ref
600
+ // PLUS prose. A reader requiring the whole token to match a ref drops every
601
+ // one of those — the obvious reading, and wrong. Run the primitives OVER the
602
+ // token and take what they find.
603
+ const refs = refsIn(token);
604
+ const commits = commitRefsIn(token);
605
+ if (refs.length > 0 || commits.length > 0) {
606
+ found = { token, refs, commits };
607
+ continue;
608
+ }
609
+ // ⭐ THE BARE FORM, which `land` has written: `· **closed by 270**`. Dropping
610
+ // it leaves that row untieable while its closing position says plainly what
611
+ // closed it. Recognised ONLY when the token is nothing but digits — a number
612
+ // inside prose is not a citation, the same positional rule one level down.
613
+ const bare = BARE_CLOSING_NUMBER_RE.exec(token);
614
+ if (bare)
615
+ found = { token, refs: refsIn(`#${bare[1]}`), commits: [] };
616
+ }
617
+ return found;
618
+ }
286
619
  /**
287
620
  * Do two cited shas name the same commit? Compared as a PREFIX, not
288
621
  * equality: git's own abbreviation convention means a 7-char short sha and a
@@ -321,7 +654,27 @@ export function commitRefMatches(a, b) {
321
654
  // and each reader asks for its key. Order between tags is irrelevant; the run
322
655
  // stops at the first token that is not a tag, so a tag quoted in the body is
323
656
  // never carried.
324
- const LEADING_TAG = /^\*\*\[([a-z]+):([a-z0-9._@-]+)\]\*\*\s+/i;
657
+ // THE VALUE CLASS MUST ADMIT `/`, AND ITS ABSENCE WAS SILENT IN THE WORST
658
+ // DIRECTION. `[UNDELIVERED:<pkg>@<version>]` reused this grammar for a value that
659
+ // is a PACKAGE SPEC, and npm scopes contain a slash — so
660
+ // `@davidbalzan/groundwork@0.4.13` returned `[]`, BYTE-IDENTICAL to "this row
661
+ // carries no tag". Two of the three packages this fleet currently owes are
662
+ // scoped, and console #91's `carriedTagCensus` has been blind to every one of
663
+ // them on `main`.
664
+ //
665
+ // ⭐ THE REUSABLE FINDING IS THE AIDE'S, ABOUT ITS OWN EDIT: reusing a syntax
666
+ // silently INHERITS ITS DOMAIN, and the inheritance is invisible because the old
667
+ // values all still work. `sweep` and `awaits` values have never contained a
668
+ // slash, so the class was never wrong until a third tag arrived whose values do —
669
+ // and nothing failed at the moment the assumption broke.
670
+ //
671
+ // ⚠ `sweep` and `awaits` READ THIS SAME LEXER and were correct only by that same
672
+ // luck. They are fixtured here too rather than left resting on it.
673
+ //
674
+ // Only `/` is added: the measured need. Widening further — `+` for semver build
675
+ // metadata, say — would admit values nobody writes while increasing what prose
676
+ // can look like.
677
+ const LEADING_TAG = /^\*\*\[([a-z]+):([a-z0-9._@/-]+)\]\*\*\s+/i;
325
678
  /** The tags an item CARRIES, in order, lowercased. Body mentions are not tags. */
326
679
  export function leadingTagsOf(item) {
327
680
  const out = [];
@@ -564,6 +917,26 @@ export function parseWorkDoc(source) {
564
917
  let subsection;
565
918
  let inFence = false;
566
919
  let inHtmlComment = false;
920
+ /**
921
+ * ⟨q-a83b56af⟩ — THE POPULATION THIS PASS ACTUALLY LOOKED AT.
922
+ *
923
+ * ⛔ THREE COUNTS OF ONE DEFECT DISAGREED IN ONE AFTERNOON — 499 continuation
924
+ * lines, 65 items, 336 lines / 68 load-bearing — AND NONE WAS WRONG ABOUT WHAT
925
+ * IT COUNTED. The difference was receipts, and no count said so, so reconciling
926
+ * three correct numbers took three seats and two hours.
927
+ *
928
+ * ⭐⭐ SO THE CHECK STATES THE **RULE**, NOT A NUMBER. A bare count is the thing
929
+ * that failed three times; the rule is what makes two runs comparable without
930
+ * re-deriving either.
931
+ */
932
+ const pop = {
933
+ continuationLinesConsidered: 0,
934
+ loadBearing: 0,
935
+ proseOnly: 0,
936
+ excludedCommentBlockLines: 0,
937
+ excludedBlockquoteLines: 0,
938
+ orphanLines: 0,
939
+ };
567
940
  const flushText = () => {
568
941
  if (text.length)
569
942
  blocks.push({ kind: "text", lines: text });
@@ -613,6 +986,12 @@ export function parseWorkDoc(source) {
613
986
  // Template examples live inside the coordinator-extensions HTML comment.
614
987
  // Live sections sit *after* a one-line fence comment (deepblackjack).
615
988
  if (inHtmlComment) {
989
+ // ⛔ COUNTED INSIDE THE BLOCK BRANCH, AND THE PLACEMENT *IS* THE NEGATIVE
990
+ // CONTROL: the coordinator counted 30 receipts where the aide counted 169,
991
+ // because it matched the `queue-prune:` MARKER LINE while the block runs on
992
+ // for ~139 more lines. Counting at the marker reproduces the smaller
993
+ // number; counting here cannot.
994
+ pop.excludedCommentBlockLines += 1;
616
995
  text.push(line);
617
996
  if (/-->/.test(line))
618
997
  inHtmlComment = false;
@@ -620,11 +999,20 @@ export function parseWorkDoc(source) {
620
999
  }
621
1000
  if (/<!--/.test(line) && !/-->/.test(line)) {
622
1001
  inHtmlComment = true;
1002
+ pop.excludedCommentBlockLines += 1; // the opening line belongs to the block too
623
1003
  text.push(line);
624
1004
  continue;
625
1005
  }
626
1006
  if (/^#{1,6}\s/.test(line)) {
627
1007
  const level = (line.match(/^#+/) ?? [""])[0].length;
1008
+ // Checked BEFORE `kind` is reassigned, because reassignment is the damage:
1009
+ // a level<=2 heading sets `kind` to whatever `sectionKindOf` makes of it,
1010
+ // which for a completion-shaped heading is "none" — so the done section
1011
+ // ENDS here and every entry below it stops being a record.
1012
+ const headingText = line.replace(/^#+\s*/, "").trim();
1013
+ if (kind === "done" && carriesCitation(headingText)) {
1014
+ warnings.push(doneHeadingFormIssue(i + 1, headingText));
1015
+ }
628
1016
  if (level <= 2) {
629
1017
  kind = sectionKindOf(line);
630
1018
  subsection = undefined;
@@ -651,6 +1039,77 @@ export function parseWorkDoc(source) {
651
1039
  // an item is almost always a wrapped continuation — every parser drops
652
1040
  // it silently (seen live: a consumer fleet's queue cut at "…surfaced"). Name it.
653
1041
  const prev = blocks[blocks.length - 1];
1042
+ // ⛔ LOAD-BEARING CONTENT IN A CONTINUATION IS A WARNING, NOT AN ADVISORY,
1043
+ // AND THE DIFFERENCE IS WHAT THE READER LOSES.
1044
+ //
1045
+ // The advisory below says "this line is invisible to parsers". That is the
1046
+ // right severity for commentary — the item parsed, the count is honest, and
1047
+ // a body under it is a style cost. But an `acceptance:` clause or a PR
1048
+ // citation is not commentary: it is the part a consumer ACTS on. Hidden
1049
+ // there, `list_work` hands a worker a row whose acceptance criteria do not
1050
+ // exist and whose citation cannot be followed, and nothing looks wrong.
1051
+ //
1052
+ // Measured on this repo's own queue when this was written: 396 continuation
1053
+ // lines, of which 38 carry `acceptance:` and 2 carry a PR ref. So this
1054
+ // separates ~40 rows that are hiding something actionable from ~356 that
1055
+ // are hiding prose — which is exactly the triage the fold needs, and the
1056
+ // reason it is a separate severity rather than a louder advisory.
1057
+ //
1058
+ // Deliberately NOT gated on `text.length === 0`: the advisory fires once per
1059
+ // item-run to avoid crying wolf, but an `acceptance:` on the fifth line of a
1060
+ // run is just as invisible as one on the first, and there are only ~40 of
1061
+ // them in total. Rarity is what makes per-line honest here.
1062
+ //
1063
+ // ⚠ BLOCKQUOTES ARE EXCLUDED, and that exclusion was MEASURED rather than
1064
+ // anticipated: without it this flagged 82 lines where an independent scan
1065
+ // of the same file found 79. The three extras were all `>` prose sitting
1066
+ // after the items — a blockquote is its own block, like a fence or an HTML
1067
+ // comment, and quoting a `#123` inside one is not a row hiding a citation.
1068
+ // Two instruments disagreeing by three was the only reason it was found.
1069
+ if (prev?.kind === "queue" && line.trim() && !/^\s*<!--/.test(line) && /^\s*>/.test(line)) {
1070
+ pop.excludedBlockquoteLines += 1;
1071
+ }
1072
+ // ⛔⛆ ⟨q-1197b859⟩ — A LINE DETACHED FROM THE ITEM ABOVE IS AN ORPHAN, NOT A CONTINUATION.
1073
+ //
1074
+ // MEASURED 2026-09-14: a row, a blank line, then `> quoted prose with #99` scored
1075
+ // ZERO — the blockquote exclusion above (correct for the continuation rule: quoting
1076
+ // `#123` is not a row hiding a citation) also hid it from every other rule, so a
1077
+ // 39-line blockquoted block sat in docs/QUEUE.md invisible to this check while the
1078
+ // check was the instrument the fold was measured BY: 32 issues before the block was
1079
+ // relocated, 32 after. A count that does not move when 39 lines leave the file is
1080
+ // not measuring the file.
1081
+ //
1082
+ // The rule: once a blank line separates a line from the last item, the line belongs
1083
+ // to NO item — blockquoted, indented or bare — and queue.v1 has no place for it.
1084
+ // Named ORPHAN, its own count, and it does not enter the continuation population:
1085
+ // a continuation is the item's own wrapped body; an orphan is text nobody owns.
1086
+ // Receipts (HTML comment blocks) are excluded above, by block. Prose BEFORE a
1087
+ // section's first item is a preamble and is not scored here — an orphan is defined
1088
+ // by the item it was detached from.
1089
+ const detachedFromItem = prev?.kind === "queue" && text.some((t) => t.trim() === "");
1090
+ if (detachedFromItem && line.trim() && !/^\s*<!--/.test(line)) {
1091
+ pop.orphanLines += 1;
1092
+ const shape = /^\s*>/.test(line) ? "blockquoted" : /^\s+\S/.test(line) ? "indented" : "bare";
1093
+ const hidden = /^\s*>/.test(line) ? null : loadBearingContinuation(line);
1094
+ warnings.push(`queue.v1 has no place for line ${i + 1}: it is ORPHAN ${shape} prose — a blank line separates it from the item above, ` +
1095
+ `so it belongs to no item and every consumer drops it${hidden ? `, together with the ${hidden} it carries` : ""}. ` +
1096
+ "Move it to a file and cite that file from a row, or delete it.");
1097
+ text.push(line);
1098
+ continue;
1099
+ }
1100
+ if (prev?.kind === "queue" && line.trim() && !/^\s*<!--/.test(line) && !/^\s*>/.test(line)) {
1101
+ pop.continuationLinesConsidered += 1;
1102
+ const hidden = loadBearingContinuation(line);
1103
+ if (hidden)
1104
+ pop.loadBearing += 1;
1105
+ else
1106
+ pop.proseOnly += 1;
1107
+ if (hidden) {
1108
+ warnings.push(`queue.v1 is one line per item: line ${i + 1} hides ${hidden} in a continuation, ` +
1109
+ "which every consumer drops — a worker reading this row through `list_work` gets " +
1110
+ "neither. Fold it into the item line, or point the row at a file that holds it.");
1111
+ }
1112
+ }
654
1113
  if (prev?.kind === "queue" && text.length === 0 && line.trim() && !/^\s*<!--/.test(line)) {
655
1114
  // ADVISORY, not a warning. The first line IS the contract and it parsed:
656
1115
  // the item is present, correctly shaped and counted, and the body below
@@ -664,6 +1123,13 @@ export function parseWorkDoc(source) {
664
1123
  const entry = parseDoneLine(line, subsection);
665
1124
  if (entry) {
666
1125
  pushEntry(entry);
1126
+ // The entry is KEPT — a completion with no parseable ref is still a
1127
+ // completion, and dropping it would swap a wrong count for a short one.
1128
+ // It is NAMED instead, because it is counted: `list_work` reports
1129
+ // `doneEntriesOf(...).length` and returns these issues beside it, so the
1130
+ // count can no longer be read as clean.
1131
+ if (entry.ref === undefined)
1132
+ warnings.push(doneReflessIssue(i + 1, entry.text));
667
1133
  continue;
668
1134
  }
669
1135
  }
@@ -742,9 +1208,58 @@ export function parseWorkDoc(source) {
742
1208
  text.push(line);
743
1209
  }
744
1210
  flushText();
1211
+ /**
1212
+ * ⟨q-a83b56af⟩ — THE CONTINUATION CHECK DECLARES ITS POPULATION WITH ITS RESULT.
1213
+ *
1214
+ * ⛔ THE ANTI-CONTROL THE ROW NAMES: this clause is NOT satisfied by printing a
1215
+ * number. The population is the RULE THAT PRODUCED the number — a bare count is
1216
+ * exactly what failed three times in one afternoon, when 499, 65 and 336/68 were
1217
+ * each correct about a different population and none of them said which.
1218
+ *
1219
+ * ⛔⛆ AND THE RULE NAMES THE DISTINCTION THAT CAUSED IT: receipts are excluded
1220
+ * BY BLOCK, not by matching the `queue-prune:` marker line. That is the whole
1221
+ * 30-versus-169 disagreement — the marker is one line and the block runs on for
1222
+ * ~139 more — so a statement that did not distinguish them would not be this
1223
+ * clause.
1224
+ *
1225
+ * ⚠ Emitted only when a continuation was actually considered. A population
1226
+ * statement over an empty population is noise, and it would also make every
1227
+ * non-queue document carry a line about queue rows.
1228
+ */
1229
+ /**
1230
+ * ⟨q-a83b56af⟩ — THE POPULATION TRAVELS AS DATA, CARRYING ITS OWN RULE.
1231
+ *
1232
+ * ⛔ NOT AS AN ADVISORY, and that was measured rather than preferred: emitting
1233
+ * it into `workDocIssues` put a queue-population line on a document that has
1234
+ * an HTML comment and NO QUEUE, and broke two suites that pin exact issue
1235
+ * counts. This file's own comment says why that channel is wrong — *"17 benign
1236
+ * one-line advisories trained the reader to skim past a real failure"*. An
1237
+ * issue list is for issues; this is metadata about the run.
1238
+ *
1239
+ * ⭐⭐ AND THE `rule` FIELD IS THE CLAUSE, not the counts. Three counts of one
1240
+ * defect disagreed in an afternoon — 499 lines, 65 items, 336/68 — and each was
1241
+ * correct about a different population while none said which. A number that
1242
+ * travels without its rule is the thing that failed; these cannot be separated.
1243
+ */
1244
+ const population = {
1245
+ rule: "a non-blank line after a queue item, EXCLUDING (1) lines inside an HTML comment BY BLOCK, " +
1246
+ "not by matching the `queue-prune:` marker line, and (2) `>` blockquote lines, which are " +
1247
+ "their own block like a fence, and (3) lines DETACHED from the last item by a blank line, which are " +
1248
+ "ORPHANS (counted in orphanLines, blockquoted or not) rather than continuations. UNIT: lines — the " +
1249
+ "per-item continuation advisory counts ITEMS, so the two are not comparable.",
1250
+ linesConsidered: pop.continuationLinesConsidered,
1251
+ loadBearing: pop.loadBearing,
1252
+ proseOnly: pop.proseOnly,
1253
+ excludedCommentBlockLines: pop.excludedCommentBlockLines,
1254
+ excludedBlockquoteLines: pop.excludedBlockquoteLines,
1255
+ orphanLines: pop.orphanLines,
1256
+ };
745
1257
  return {
746
1258
  trailingNewline,
747
1259
  blocks,
1260
+ // ⚠ Only when a queue was actually examined. A population over an empty
1261
+ // population is noise, and it would put a queue line on every document.
1262
+ ...(population.linesConsidered > 0 || population.orphanLines > 0 ? { population } : {}),
748
1263
  ...(warnings.length ? { warnings } : {}),
749
1264
  ...(advisories.length ? { advisories } : {}),
750
1265
  };
@@ -885,13 +1400,67 @@ export function substantiveLines(text) {
885
1400
  }
886
1401
  return n;
887
1402
  }
1403
+ /**
1404
+ * A line shaped like a QUEUE ROW — a markdown checkbox list item — whether or
1405
+ * not the grammar could read it. The queue axis's analogue of
1406
+ * `looksLikeBoardAttempt`: evidence that somebody wrote a row here.
1407
+ *
1408
+ * NOT "any list item", and the difference is the whole fix. Measured on this
1409
+ * repo's own `docs/QUEUE.md` with every item line removed: 0 checkbox lines
1410
+ * remain and 9 PLAIN BULLETS do — the prose furniture of the template itself.
1411
+ * A predicate counting bullets would have gone on reporting the pruned queue as
1412
+ * unparsed, which is the exact red-when-fine case being fixed here.
1413
+ */
1414
+ const QUEUE_ROW_ATTEMPT = /^\s*[-*+] \[[ xX]\]\s/;
1415
+ /** Checkbox list items outside frontmatter: queue rows somebody attempted to write. */
1416
+ export function queueRowAttempts(text) {
1417
+ const lines = String(text).split("\n");
1418
+ let inFrontmatter = false;
1419
+ let n = 0;
1420
+ for (const [i, line] of lines.entries()) {
1421
+ if (i === 0 && /^---\s*$/.test(line)) {
1422
+ inFrontmatter = true;
1423
+ continue;
1424
+ }
1425
+ if (inFrontmatter) {
1426
+ if (/^---\s*$/.test(line))
1427
+ inFrontmatter = false;
1428
+ continue;
1429
+ }
1430
+ if (QUEUE_ROW_ATTEMPT.test(line))
1431
+ n += 1;
1432
+ }
1433
+ return n;
1434
+ }
888
1435
  /**
889
1436
  * Is this axis's zero an ANSWER or an UNANSWERED QUESTION?
890
1437
  *
891
1438
  * `count > 0` is never in doubt, so this only ever qualifies a zero.
1439
+ *
1440
+ * THE QUEUE AXIS ASKS A NARROWER QUESTION THAN THE OTHERS, because on a queue
1441
+ * document prose is not evidence of a missed row. `substantiveLines` was built
1442
+ * for the done axis, where any authored line under an empty log is a fair
1443
+ * reason to doubt the zero. A pruned `docs/QUEUE.md` keeps its headings AND its
1444
+ * explanatory prose by design, so that same measure reported a perfectly
1445
+ * healthy empty queue as unparsed — red-when-fine, measured at 793 substantive
1446
+ * lines with zero rows present.
1447
+ *
1448
+ * So for `axis: "queue"` the discriminator is ROW ATTEMPTS, not content. The
1449
+ * four states this separates, measured on this repo's real `docs/QUEUE.md`:
1450
+ * populated (168 rows, count 168) `false` · pruned-but-prose-kept (0 attempts)
1451
+ * `false` · heading-removed, so the rows exist but nothing parses them (168
1452
+ * attempts, count 0) `true` · rows present but refused by the grammar (2
1453
+ * attempts, count 0) `true`.
1454
+ *
1455
+ * Axis is OPTIONAL and omitting it preserves the old behaviour exactly, so the
1456
+ * done and board axes are untouched by this change.
892
1457
  */
893
- export function zeroIsUnparsed(count, sourceText) {
894
- return count === 0 && substantiveLines(sourceText) > 0;
1458
+ export function zeroIsUnparsed(count, sourceText, axis) {
1459
+ if (count !== 0)
1460
+ return false;
1461
+ if (axis === "queue")
1462
+ return queueRowAttempts(sourceText) > 0;
1463
+ return substantiveLines(sourceText) > 0;
895
1464
  }
896
1465
  export function renderWorkDoc(doc) {
897
1466
  const out = [];
@@ -952,13 +1521,40 @@ export function workstreamsV1RowsOf(doc) {
952
1521
  // Hence three distinct return values, and the distinction is the whole point:
953
1522
  //
954
1523
  // the schema id — a board block is present and its header classified
955
- // "unknown" — a board table is present and its header did NOT classify
956
- // null — this document has no board table at all
1524
+ // "unknown" — a table is present, LOOKS LIKE A BOARD ATTEMPT, and its
1525
+ // header did NOT classify
1526
+ // null — no board table here: either the document has none at all,
1527
+ // or such tables as it has were not trying to be one
957
1528
  //
958
1529
  // Collapsing "unknown" into null is exactly defect (1); collapsing null into
959
1530
  // "unknown" is the same error pointed the other way, and it is the one that put
960
1531
  // an alarming reading on David's console. A caller that genuinely does not care
961
1532
  // can write `boardSchemaOf(doc) ?? "none"` — but it has to say so.
1533
+ //
1534
+ // ⛔⛆ THE RUNTIME ANSWER IS THE CONTRACT, AND THIS ONE HAS ALREADY MOVED ONCE
1535
+ // WITHOUT SAYING SO — ⟨q-3a71ce85⟩. At 0.1.8 ANY unrecognised header answered
1536
+ // "unknown"; since `looksLikeBoardAttempt` began gating it, a header below the
1537
+ // intent threshold answers null. The type signature was byte-identical across
1538
+ // that change, `tsc` was green on both sides, and it shipped under PATCH bumps,
1539
+ // so nothing a consumer could run would have shown it.
1540
+ //
1541
+ // ⚠ THE THIRD LINE ABOVE USED TO READ "this document has no board table at
1542
+ // all", which described the OLD boundary and was false here for two releases: a
1543
+ // table that IS present and does NOT classify answers null whenever it shares
1544
+ // fewer than two column names with the board vocabulary.
1545
+ //
1546
+ // ⭐ WHAT A CONSUMER IS ENTITLED TO RELY ON:
1547
+ // - these three values are DISTINCT and none collapses into another;
1548
+ // - "unknown" means somebody wrote a table that was trying to be a board;
1549
+ // - null is NOT a promise that the document contains no tables.
1550
+ //
1551
+ // ⭐⭐ AND WHAT ANY FUTURE CHANGE OWES: every input class above is pinned by
1552
+ // value in `test/board-schema-of.test.mjs`, including the intent threshold
1553
+ // itself, because that threshold is what actually moves the answer. Changing
1554
+ // what this function RETURNS therefore reds the KIT's gate rather than a
1555
+ // consumer's — the party who changes it is the party who finds out. A change to
1556
+ // an exported function's runtime contract is a MINOR at minimum; the type
1557
+ // signature is not evidence of compatibility.
962
1558
  export function boardSchemaOf(doc) {
963
1559
  for (const b of doc.blocks) {
964
1560
  if (b.kind !== "board" || !b.schema)
package/dist/docs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"docs.js","sourceRoot":"","sources":["../src/docs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../src/docs.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,+EAA+E;AAC/E,aAAa;AACb,EAAE;AACF,gFAAgF;AAChF,+EAA+E;AAC/E,+EAA+E;AAC/E,6EAA6E;AAC7E,2EAA2E;AAC3E,2CAA2C;AAC3C,EAAE;AACF,2EAA2E;AAC3E,+EAA+E;AAC/E,8EAA8E;AAC9E,mEAAmE;AACnE,EAAE;AACF,0EAA0E;AAC1E,8EAA8E;AAC9E,wEAAwE;AACxE,6EAA6E;AAC7E,yDAAyD;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,gBAAgB,EAChB,MAAM,EACN,eAAe,EACf,oBAAoB,EACpB,sBAAsB,GAGvB,MAAM,aAAa,CAAC;AA4ErB,6EAA6E;AAC7E,0EAA0E;AAC1E,uCAAuC;AACvC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAsB7B,MAAM,UAAU,cAAc,CAAC,CAAc;IAC3C,OAAQ,CAAkB,CAAC,SAAS,KAAK,IAAI,CAAC;AAChD,CAAC;AAaD,MAAM,UAAU,kBAAkB,CAAC,CAAc;IAC/C,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,QAAQ,IAAI,CAAC,CAAC;AAC7C,CAAC;AAaD,MAAM,UAAU,cAAc,CAAC,CAAc;IAC3C,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,WAAW,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;AAChE,CAAC;AAmDD,2CAA2C;AAC3C,EAAE;AACF,6EAA6E;AAC7E,yEAAyE;AACzE,6EAA6E;AAC7E,8EAA8E;AAC9E,yDAAyD;AACzD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACnC,MAAM,QAAQ,GAAG,qBAAqB,CAAC;AAEvC,+EAA+E;AAC/E,+EAA+E;AAC/E,wCAAwC;AACxC,SAAS,KAAK,CAAC,IAAY,EAAE,IAAY;IACvC,OAAO,GAAG,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,+CAA+C;AAE/C,2EAA2E;AAC3E,EAAE;AACF,8EAA8E;AAC9E,yEAAyE;AACzE,kEAAkE;AAClE,iFAAiF;AACjF,8EAA8E;AAC9E,iEAAiE;AACjE,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,+DAA+D;AAC/D,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,0EAA0E;AAC1E,2EAA2E;AAC3E,sEAAsE;AACtE,MAAM,QAAQ,GAAG,uBAAuB,CAAC;AAEzC;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA2B;IAC9D,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC;AACD,MAAM,UAAU,GAAG,mCAAmC,CAAC;AACvD,8EAA8E;AAC9E,2EAA2E;AAC3E,yEAAyE;AACzE,MAAM,kBAAkB,GAAG,gCAAgC,CAAC;AAC5D,MAAM,CAAC,MAAM,gBAAgB,GAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACxE,MAAM,SAAS,GAAG,oBAAoB,CAAC;AAEvC,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,OAAgB;IAC3D,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC;QACN,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,IAAI,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,0EAA0E;QAC1E,uEAAuE;QACvE,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5D,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,CAAC,CAAE,OAAO,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;YACvD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,QAAQ,EAAE,QAAoB;YAC9B,IAAI;YACJ,IAAI,EAAE,IAAI,KAAK,GAAG;YAClB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC;IACJ,CAAC;IACD,2EAA2E;IAC3E,6EAA6E;IAC7E,wCAAwC;IACxC,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;IAChC,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;QAC1B,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,GAAG,IAAI,EAAE;QACtB,IAAI,EAAE,IAAI,IAAI,EAAE;QAChB,IAAI,EAAE,IAAI,KAAK,GAAG;QAClB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,oBAAoB,CAAC,IAAe,EAAE,IAAa;IACjE,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;IACzD,OAAO,CACL,GAAG,KAAK,qBAAqB,IAAI,CAAC,WAAW,cAAc,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAC1F,+FAA+F,CAChG,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,4EAA4E;AAC5E,6EAA6E;AAC7E,sDAAsD;AACtD,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAAgB;IAC1D,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtB,IAAI,GAAuB,CAAC;IAC5B,IAAI,IAAwB,CAAC;IAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAC1C,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,IAAI,GAAG,SAAS,CAAC;gBACjB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,qEAAqE;QACrE,wDAAwD;QACxD,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,GAAG,GAAG,IAAI,CAAC;QACzD,IAAI,GAAG,KAAK,SAAS;YAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC;IACD,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;QACpD,IAAI,EAAE,IAAI;QACV,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,6EAA6E;AAC7E,6CAA6C;AAC7C,EAAE;AACF,kFAAkF;AAClF,iFAAiF;AACjF,iFAAiF;AACjF,wEAAwE;AACxE,uCAAuC;AACvC,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,oCAAoC;AACpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,IAAY,EAAU,EAAE,CACrE,eAAe,CAAC,IAAI,CAAC;IACnB,CAAC,CAAC,QAAQ,IAAI,iHAAiH;QAC7H,8GAA8G;QAC9G,yIAAyI;IAC3I,CAAC,CAAC,QAAQ,IAAI,kEAAkE;QAC9E,mEAAmE,GAAG,GAAG,GAAG,gBAAgB,GAAG,GAAG,GAAG,uBAAuB;QAC5H,SAAS,GAAG,GAAG,GAAG,SAAS,GAAG,GAAG,GAAG,wIAAwI;QAC5K,MAAM,GAAG,GAAG,GAAG,sBAAsB,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,wBAAwB,GAAG,GAAG,GAAG,eAAe,GAAG,GAAG,GAAG,oBAAoB,GAAG,GAAG,GAAG,GAAG,CAAC;AAE7J,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,OAAe,EAAU,EAAE,CAC5E,QAAQ,IAAI,MAAM,OAAO,4FAA4F;IACrH,UAAU;IACV,4CAA4C;IAC5C,8JAA8J;IAC9J,gBAAgB,GAAG,GAAG,GAAG,iDAAiD,GAAG,GAAG,GAAG,GAAG,CAAC;AAEzF,8CAA8C;AAC9C,EAAE;AACF,kFAAkF;AAClF,oCAAoC;AACpC,EAAE;AACF,+EAA+E;AAC/E,mFAAmF;AACnF,iFAAiF;AACjF,mFAAmF;AACnF,0BAA0B;AAC1B,EAAE;AACF,qCAAqC;AACrC,6EAA6E;AAC7E,mFAAmF;AACnF,gFAAgF;AAChF,2EAA2E;AAE3E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,2EAA2E;QAC3E,6EAA6E;QAC7E,MAAM,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE,CAAC;YACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM;gBAAE,KAAK,GAAG,IAAI,CAAC;YAC7E,SAAS;QACX,CAAC;QACD,IAAI,CAAC,EAAE,CAAC;YACN,KAAK,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;YACd,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QACD,8EAA8E;QAC9E,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAID,kFAAkF;AAClF,kFAAkF;AAClF,0EAA0E;AAC1E,0EAA0E;AAC1E,MAAM,MAAM,GAAG,uCAAuC,CAAC;AAEvD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,aAAa,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,qCAAqC,CAAC;IAC/E,IAAI,aAAa;QAAE,OAAO,sBAAsB,CAAC;IACjD,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,eAAe,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC;IACvD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpD,GAAG,EAAE,CAAC,CAAC,CAAC,CAAW;QACnB,IAAI,EAAG,CAAC,CAAC,CAAC,CAAwB,IAAI,IAAI;QAC1C,MAAM,EAAE,CAAC,CAAC,CAAC,CAAW;KACvB,CAAC,CAAC,CAAC;AACN,CAAC;AAgCD,MAAM,UAAU,SAAS,CAAC,CAAM,EAAE,CAAM,EAAE,IAAI,GAAoB,EAAE;IAClE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;IACrC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;IACzB,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;IACzB,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IAC7B,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACvB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACvB,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACrC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACnC,8EAA8E;IAC9E,iFAAiF;IACjF,+EAA+E;IAC/E,gFAAgF;IAChF,0CAA0C;IAC1C,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,mDAAmD;AACnD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAQ,EAAE,IAAW,EAAE,IAAI,GAAoB,EAAE,EAAW,EAAE,CAClF,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AAE5C,oCAAoC;AACpC,EAAE;AACF,0EAA0E;AAC1E,6EAA6E;AAC7E,8EAA8E;AAC9E,uEAAuE;AACvE,8EAA8E;AAC9E,6EAA6E;AAC7E,+CAA+C;AAE/C,MAAM,aAAa,GAAG,yBAAyB,CAAC;AAEhD,qEAAqE;AACrE,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,CAAC,CAAY,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9F,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACvC,CAAC;AA8CD;;;;;;;;;;;;;GAaG;AACH,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,WAAW,GAAgD;IAC/D,CAAC,GAAG,EAAE,SAAS,CAAC;IAChB,CAAC,IAAI,EAAE,aAAa,CAAC;IACrB,CAAC,IAAI,EAAE,WAAW,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,QAAQ,CAAC;IACf,CAAC,IAAI,EAAE,UAAU,CAAC;IAClB,CAAC,GAAG,EAAE,eAAe,CAAC;IACtB,CAAC,GAAG,EAAE,WAAW,CAAC;IAClB,CAAC,GAAG,EAAE,SAAS,CAAC;IAChB,CAAC,GAAG,EAAE,eAAe,CAAC;IACtB,CAAC,IAAI,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,iFAAiF;AACjF,MAAM,iBAAiB,GAAG,qCAAqC,CAAC;AAEhE;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAc,EAAU,EAAE,CACtD,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAE9D;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,GAAgD;IAC/D,CAAC,0BAA0B,EAAE,SAAS,CAAC;IACvC,CAAC,kBAAkB,EAAE,aAAa,CAAC;IACnC,CAAC,gBAAgB,EAAE,WAAW,CAAC;IAC/B,CAAC,qCAAqC,EAAE,WAAW,CAAC;IACpD,CAAC,4CAA4C,EAAE,aAAa,CAAC;IAC7D,CAAC,8EAA8E,EAAE,MAAM,CAAC;IACxF,CAAC,aAAa,EAAE,QAAQ,CAAC;IACzB,CAAC,eAAe,EAAE,UAAU,CAAC;IAC7B,CAAC,cAAc,EAAE,SAAS,CAAC;IAC3B,CAAC,yBAAyB,EAAE,eAAe,CAAC;CAC7C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,MAAiC;IAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,WAAW;QAAE,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IAChF,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC9B,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,WAAW;QAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;IACvE,oFAAoF;IACpF,yEAAyE;IACzE,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAgB;IACvC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,aAAa,CAAC;QACnB,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;QACrB,KAAK,MAAM;YACT,OAAO,UAAU,CAAC;QACpB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,6EAA6E;QAC7E,6EAA6E;QAC7E,+EAA+E;QAC/E;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAKD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,gBAAgB,GAAG,yCAAyC,CAAC;AAEnE,uEAAuE;AACvE,MAAM,sBAAsB,GAAG,SAAS,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAEhC,+EAA+E;IAC/E,gFAAgF;IAChF,8EAA8E;IAC9E,mEAAmE;IACnE,EAAE;IACF,gFAAgF;IAChF,6CAA6C;IAC7C,gBAAgB,CAAC,SAAS,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,GAA2B,IAAI,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAElC,sEAAsE;QACtE,4EAA4E;QAC5E,4EAA4E;QAC5E,6EAA6E;QAC7E,iCAAiC;QACjC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QAED,6EAA6E;QAC7E,4EAA4E;QAC5E,6EAA6E;QAC7E,2EAA2E;QAC3E,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,IAAI;YAAE,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACxE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAS,EAAE,CAAS;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACxD,CAAC;AAED,mCAAmC;AACnC,EAAE;AACF,sDAAsD;AACtD,EAAE;AACF,gFAAgF;AAChF,kFAAkF;AAClF,mFAAmF;AACnF,gFAAgF;AAChF,iDAAiD;AACjD,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,4EAA4E;AAC5E,qEAAqE;AACrE,EAAE;AACF,gFAAgF;AAChF,mFAAmF;AACnF,sEAAsE;AACtE,6EAA6E;AAC7E,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,iBAAiB;AACjB,4EAA4E;AAC5E,kFAAkF;AAClF,yDAAyD;AACzD,8EAA8E;AAC9E,2EAA2E;AAC3E,8EAA8E;AAC9E,kBAAkB;AAClB,EAAE;AACF,6EAA6E;AAC7E,iFAAiF;AACjF,4EAA4E;AAC5E,kFAAkF;AAClF,yDAAyD;AACzD,EAAE;AACF,iFAAiF;AACjF,mEAAmE;AACnE,EAAE;AACF,gFAAgF;AAChF,+EAA+E;AAC/E,iBAAiB;AACjB,MAAM,WAAW,GAAG,4CAA4C,CAAC;AAIjE,kFAAkF;AAClF,MAAM,UAAU,aAAa,CAAC,IAAe;IAC3C,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAS,CAAC;QACR,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC;QACnB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAG,CAAC,CAAC,CAAC,CAAY,CAAC,WAAW,EAAE,EAAE,KAAK,EAAG,CAAC,CAAC,CAAC,CAAY,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACzF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAe;IACxC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC;AAC3E,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,IAAe;IACxC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC;AAC5E,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,eAAe,CAAC,KAAkB,EAAE,GAAW;IAC7D,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7E,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,cAAc,CAAC,KAAkB;IAC/C,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAe;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;IACpD,2EAA2E;IAC3E,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AACtE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,IAAe;IAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAgB;IAC7C,IAAI,IAAI,GAAG,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC;IACjC,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS;QAAE,IAAI,IAAI,GAAG,WAAW,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;IAClE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,IAAI,IAAI,GAAG,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oCAAoC;AAEpC,MAAM,SAAS,GAAG,eAAe,CAAC;AAClC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAExC,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,SAAS,CAAC,KAAe;IAChC,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AACpC,CAAC;AAED,SAAS,UAAU,CAAC,CAAW;IAC7B,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,OAAO,CAAC,CAAmB;IAClC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,cAAc,CAAC,CAAS;IAC/B,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,YAAY,CAAC,KAAe,EAAE,QAA2B;IAChE,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACnD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,gFAAgF;AAChF,SAAS,oBAAoB,CAAC,KAAe;IAC3C,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7C,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAe;IAC1C,IAAI,YAAY,CAAC,KAAK,EAAE,sBAAsB,CAAC;QAAE,OAAO,MAAM,CAAC,WAAW,CAAC;IAC3E,IAAI,YAAY,CAAC,KAAK,EAAE,gBAAgB,CAAC,IAAI,oBAAoB,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,kBAAkB,CAAC;IAC3G,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QACjD,IAAI,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,GAAG,CAAC,EAAE,CAAC;IACtD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,mEAAmE;AACnE,2EAA2E;AAC3E,6EAA6E;AAC7E,2EAA2E;AAC3E,2EAA2E;AAC3E,+EAA+E;AAC/E,2EAA2E;AAC3E,6EAA6E;AAC7E,kDAAkD;AAClD,EAAE;AACF,uEAAuE;AACvE,2EAA2E;AAC3E,gFAAgF;AAChF,4EAA4E;AAC5E,8DAA8D;AAC9D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CACnD,CAAC,GAAG,sBAAsB,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAC7G,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,KAAe;IACnD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAe;IAC1C,MAAM,QAAQ,GAAG,sBAAsB,CAAC;IACxC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7E,2EAA2E;IAC3E,2EAA2E;IAC3E,uBAAuB;IACvB,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,QAAQ;aACnB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACpD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,KAAK;iBACjB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,IAAI,GAAG,CAAC;iBACnE,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,OAAO,CACL,gCAAgC,MAAM,sCAAsC,YAAY,IAAI;gBAC5F,sFAAsF;gBACtF,uEAAuE,CACxE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,OAAO,KAAK,CAAC,MAAM,wBAAwB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,IAAI,OAAO,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrF,IAAI,UAAU,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChG,OAAO,CACL,gCAAgC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,YAAY,IAAI;QACtG,4DAA4D,CAC7D,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,wEAAwE;AACxE,0CAA0C;AAC1C,MAAM,UAAU,cAAc,CAAC,CAA4D;IACzF,IAAI,cAAc,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,QAAQ,CAAC;IACzC,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC,GAAG,CAAC;QAC/F,CAAC;QACD,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,oBAAoB,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC,GAAG,CAAC;QACxG,CAAC;QACD,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC,GAAG,CAAC;IAClG,CAAC;IACD,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AAMD,oEAAoE;AACpE,2EAA2E;AAC3E,uDAAuD;AACvD,SAAS,aAAa,CAAC,OAAe;IACpC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7D,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAClC,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAChC,IAAI,CAAC,KAAK,oBAAoB;QAAE,OAAO,WAAW,CAAC;IACnD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,eAAe;QAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,6CAA6C;IAE/E,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,IAAI,GAAa,EAAE,CAAC;IACxB,IAAI,IAAI,GAAgB,MAAM,CAAC;IAC/B,IAAI,UAA8B,CAAC;IACnC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B;;;;;;;;;;;OAWG;IACH,MAAM,GAAG,GAAG;QACV,2BAA2B,EAAE,CAAC;QAC9B,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,CAAC;QACZ,yBAAyB,EAAE,CAAC;QAC5B,uBAAuB,EAAE,CAAC;QAC1B,WAAW,EAAE,CAAC;KACf,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,IAAI,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC;IACF,yEAAyE;IACzE,wEAAwE;IACxE,kEAAkE;IAClE,MAAM,QAAQ,GAAG,CAAC,IAAe,EAAE,EAAE;QACnC,SAAS,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,IAAI,EAAE,IAAI,KAAK,OAAO;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YAC7C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,KAAgB,EAAE,EAAE;QACrC,SAAS,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;YAC/C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE;QACpC,SAAS,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YACjD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5B,wEAAwE;QACxE,oEAAoE;QACpE,wCAAwC;QACxC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,GAAG,CAAC,OAAO,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,SAAS;QACX,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,SAAS;QACX,CAAC;QAED,yEAAyE;QACzE,sEAAsE;QACtE,IAAI,aAAa,EAAE,CAAC;YAClB,yEAAyE;YACzE,2EAA2E;YAC3E,4EAA4E;YAC5E,qEAAqE;YACrE,gCAAgC;YAChC,GAAG,CAAC,yBAAyB,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,aAAa,GAAG,KAAK,CAAC;YAC5C,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,aAAa,GAAG,IAAI,CAAC;YACrB,GAAG,CAAC,yBAAyB,IAAI,CAAC,CAAC,CAAC,4CAA4C;YAChF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,SAAS;QACX,CAAC;QAED,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACpD,2EAA2E;YAC3E,0EAA0E;YAC1E,wEAAwE;YACxE,2DAA2D;YAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,IAAI,IAAI,KAAK,MAAM,IAAI,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;gBACpD,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;YAC1D,CAAC;YACD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC3B,UAAU,GAAG,SAAS,CAAC;YACzB,CAAC;iBAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC3B,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACjD,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9C,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACf,qEAAqE;gBACrE,uEAAuE;gBACvE,sEAAsE;gBACtE,iEAAiE;gBACjE,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;oBAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC7E,SAAS;YACX,CAAC;YACD,wEAAwE;YACxE,uEAAuE;YACvE,iFAAiF;YACjF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACvC,0EAA0E;YAC1E,+CAA+C;YAC/C,EAAE;YACF,2EAA2E;YAC3E,4EAA4E;YAC5E,uEAAuE;YACvE,wEAAwE;YACxE,2EAA2E;YAC3E,wEAAwE;YACxE,EAAE;YACF,4EAA4E;YAC5E,uEAAuE;YACvE,yEAAyE;YACzE,yEAAyE;YACzE,kEAAkE;YAClE,EAAE;YACF,6EAA6E;YAC7E,6EAA6E;YAC7E,0EAA0E;YAC1E,4DAA4D;YAC5D,EAAE;YACF,0EAA0E;YAC1E,0EAA0E;YAC1E,yEAAyE;YACzE,2EAA2E;YAC3E,2EAA2E;YAC3E,yEAAyE;YAEzE,IAAI,IAAI,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1F,GAAG,CAAC,uBAAuB,IAAI,CAAC,CAAC;YACnC,CAAC;YACD,0FAA0F;YAC1F,EAAE;YACF,kFAAkF;YAClF,oFAAoF;YACpF,iFAAiF;YACjF,mFAAmF;YACnF,oFAAoF;YACpF,kFAAkF;YAClF,0BAA0B;YAC1B,EAAE;YACF,oFAAoF;YACpF,iFAAiF;YACjF,kFAAkF;YAClF,gFAAgF;YAChF,8EAA8E;YAC9E,mFAAmF;YACnF,oCAAoC;YACpC,MAAM,gBAAgB,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACrF,IAAI,gBAAgB,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9D,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;gBACrB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC7F,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBACzE,QAAQ,CAAC,IAAI,CACX,kCAAkC,CAAC,GAAG,CAAC,kBAAkB,KAAK,0DAA0D;oBACtH,uDAAuD,MAAM,CAAC,CAAC,CAAC,uBAAuB,MAAM,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI;oBACnH,gEAAgE,CACnE,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,SAAS;YACX,CAAC;YACD,IAAI,IAAI,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3F,GAAG,CAAC,2BAA2B,IAAI,CAAC,CAAC;gBACrC,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBAC7C,IAAI,MAAM;oBAAE,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;;oBAC5B,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC;gBACxB,IAAI,MAAM,EAAE,CAAC;oBACX,QAAQ,CAAC,IAAI,CACX,uCAAuC,CAAC,GAAG,CAAC,UAAU,MAAM,sBAAsB;wBAChF,kFAAkF;wBAClF,gFAAgF,CACnF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,IAAI,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzF,yEAAyE;gBACzE,wEAAwE;gBACxE,uEAAuE;gBACvE,2EAA2E;gBAC3E,MAAM;gBACN,UAAU,CAAC,IAAI,CACb,uCAAuC,CAAC,GAAG,CAAC,mFAAmF,CAChI,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAC9C,IAAI,KAAK,EAAE,CAAC;gBACV,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjB,oEAAoE;gBACpE,wEAAwE;gBACxE,kEAAkE;gBAClE,yEAAyE;gBACzE,wCAAwC;gBACxC,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS;oBAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChF,SAAS;YACX,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,EAAE,CAAC;gBACN,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzB,SAAS;YACX,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACjE,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAChD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAAE,CAAC,EAAE,CAAC;YAE/D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,yDAAyD;gBACzD,4DAA4D;gBAC5D,IAAI,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC;oBACvC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACtE,CAAC;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;oBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtD,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACV,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAG,MAAM,KAAK,MAAM,CAAC,WAAW;gBAC5C,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,GAAG;oBACH,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM;oBACpB,CAAC,CAAC,WAAW,CAAC;YAClB,MAAM,IAAI,GAAkE,EAAE,CAAC;YAC/E,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC9B,IAAI,CAAC,IAAI,CAAC;wBACR,SAAS,EAAE,IAAI;wBACf,QAAQ,EAAE,GAAG;wBACb,KAAK,EACH,qBAAqB,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,MAAM,wBAAwB,QAAQ,KAAK;4BACnF,yFAAyF;4BACzF,sBAAsB,GAAG,EAAE;qBAC9B,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,EAAE,CAAC;oBACR,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC9C,SAAS;gBACX,CAAC;gBACD,IAAI,MAAM,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;oBAClC,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,cAAc,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;oBACvG,IAAI,CAAC,IAAI,CAAC;wBACR,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;wBACtB,MAAM;wBACN,KAAK;wBACL,cAAc;wBACd,MAAM;wBACN,OAAO;wBACP,QAAQ;wBACR,GAAG;qBACJ,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,YAAY,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;oBAClF,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBACrF,CAAC;YACH,CAAC;YACD,SAAS,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACtF,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACV,SAAS;QACX,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IACD,SAAS,EAAE,CAAC;IAEZ;;;;;;;;;;;;;;;;;OAiBG;IACH;;;;;;;;;;;;;;OAcG;IACH,MAAM,UAAU,GAAG;QACjB,IAAI,EACF,4FAA4F;YAC5F,0FAA0F;YAC1F,qGAAqG;YACrG,oGAAoG;YACpG,6EAA6E;QAC/E,eAAe,EAAE,GAAG,CAAC,2BAA2B;QAChD,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,yBAAyB,EAAE,GAAG,CAAC,yBAAyB;QACxD,uBAAuB,EAAE,GAAG,CAAC,uBAAuB;QACpD,WAAW,EAAE,GAAG,CAAC,WAAW;KAC7B,CAAC;IAEF,OAAO;QACL,eAAe;QACf,MAAM;QACN,wEAAwE;QACxE,wEAAwE;QACxE,GAAG,CAAC,UAAU,CAAC,eAAe,GAAG,CAAC,IAAI,UAAU,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAClC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,CAAC,CAAC;QACjC,OAAO;YACL,GAAG,CAAC;YACJ,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvB,IAAI,CAAC,CAAC,UAAU;oBAAE,OAAO,CAAC,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnB,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC,CAAC;SACH,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAClD,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,aAAa,GAAG,iCAAiC,CAAC;AACxD,2DAA2D;AAC3D,MAAM,wBAAwB,GAAG,gCAAgC,CAAC;AAClE,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAI5C,iFAAiF;AACjF,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,sBAAsB,GAAG,CAAC,CAAC,CAAC;IAChC,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,aAAa,GAAG,IAAI,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,aAAa,GAAG,KAAK,CAAC;YACjD,SAAS;QACX,CAAC;QACD,0EAA0E;QAC1E,EAAE;QACF,4EAA4E;QAC5E,4EAA4E;QAC5E,6EAA6E;QAC7E,aAAa;QACb,EAAE;QACF,6EAA6E;QAC7E,4EAA4E;QAC5E,6EAA6E;QAC7E,sDAAsD;QACtD,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACzE,IAAI,sBAAsB,KAAK,CAAC,GAAG,CAAC;gBAAE,CAAC,IAAI,CAAC,CAAC;YAC7C,SAAS;QACX,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,CAAC,IAAI,CAAC,CAAC;YACP,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,sBAAsB,GAAG,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAElD,uFAAuF;AACvF,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,aAAa,GAAG,IAAI,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,aAAa,GAAG,KAAK,CAAC;YACjD,SAAS;QACX,CAAC;QACD,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,UAAkB,EAAE,IAAuB;IACvF,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9D,OAAO,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;aAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;aAC1E,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;aAC1E,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;aACpF,CAAC;YACJ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI;gBAAE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,0CAA0C;AAE1C,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9B,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,kBAAkB;QAC1D,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAiB,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACzG,CAAC,CAAC,EAAE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9B,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,WAAW;QACnD,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAyB,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,EAAE,CACP,CAAC;AACJ,CAAC;AAED,6DAA6D;AAC7D,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,qBAAqB;AACrB,EAAE;AACF,iFAAiF;AACjF,2EAA2E;AAC3E,gFAAgF;AAChF,iFAAiF;AACjF,0DAA0D;AAC1D,4EAA4E;AAC5E,iFAAiF;AACjF,+CAA+C;AAC/C,6EAA6E;AAC7E,6EAA6E;AAC7E,gFAAgF;AAChF,2DAA2D;AAC3D,EAAE;AACF,8EAA8E;AAC9E,EAAE;AACF,wEAAwE;AACxE,6EAA6E;AAC7E,6CAA6C;AAC7C,+EAA+E;AAC/E,wEAAwE;AACxE,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,gFAAgF;AAChF,mEAAmE;AACnE,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;AAChF,8EAA8E;AAC9E,yDAAyD;AACzD,EAAE;AACF,4CAA4C;AAC5C,uEAAuE;AACvE,4EAA4E;AAC5E,kEAAkE;AAClE,EAAE;AACF,2EAA2E;AAC3E,2EAA2E;AAC3E,6EAA6E;AAC7E,yEAAyE;AACzE,gFAAgF;AAChF,0EAA0E;AAC1E,8CAA8C;AAC9C,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM;YAAE,SAAS;QAC9C,qEAAqE;QACrE,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,SAAS;QACpC,OAAO,CAAC,CAAC,MAAM,CAAC;IAClB,CAAC;IACD,yEAAyE;IACzE,mEAAmE;IACnE,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,OAAO,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,CAAC;AAED,2EAA2E;AAC3E,8CAA8C;AAC9C,MAAM,OAAO,GAAwB,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE9F,2EAA2E;AAC3E,6EAA6E;AAC7E,kCAAkC;AAClC,MAAM,eAAe,GAAG,6BAA6B,CAAC;AAWtD,SAAS,WAAW,CAAC,GAAgD,EAAE,KAAe;IACpF,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9B,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAY;IAClD,MAAM,GAAG,GAA0B;QACjC,OAAO,EAAE,EAAE;QACX,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;KACd,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC3B,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM;YAAE,SAAS;QAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;QAC1E,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBAAE,SAAS;YACtD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAuBD,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,MAAM,GAAG,GAAuB,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,IAAI,CAAC;YACP,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,cAAc,EAAE,CAAC,CAAC,cAAc;YAChC,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC;YACP,MAAM,EAAE,MAAM,CAAC,kBAAkB;YACjC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,MAAM,EAAE,CAAC,CAAC,MAAM;SACjB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAqB;IACpD,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,kBAAkB;QAAE,OAAO,GAAG,CAAC;IACzD,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,kBAAkB;QACjC,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,MAAM;QAChB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,MAAM;QACjB,YAAY,EAAE,GAAG,CAAC,QAAQ;QAC1B,MAAM,EAAE,EAAE;KACX,CAAC;AACJ,CAAC;AAID,8EAA8E;AAC9E,4EAA4E;AAC5E,mDAAmD;AACnD,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACvC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAC5E,CAAC;IACF,OAAO;QACL,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAe,EAAE,OAAO,EAAE,CAAC,CAAC;QAChG,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAe,EAAE,OAAO,EAAE,CAAC,CAAC;KAClF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,wEAAwE;AACxE,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAC/B,gGAAgG,CAAC;AAEnG,uFAAuF;AACvF,MAAM,UAAU,wBAAwB,CAAC,GAAY;IACnD,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,kBAAkB,CAAC;QACzF,CAAC,CAAC,CAAC,oBAAoB,CAAC;QACxB,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAKD;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,gFAAgF;AAChF,MAAM,UAAU,GAAG,yGAAyG,CAAC;AAE7H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,cAAc;AAClB,6EAA6E;AAC7E,yEAAyE;AACzE,6EAA6E;AAC7E,8EAA8E;AAC9E,wEAAwE;AACxE,+DAA+D;AAC/D,8UAA8U,CAAC;AAEjV,oFAAoF;AACpF,SAAS,YAAY,CAAC,IAAY,EAAE,KAAa;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,4EAA4E;IAC5E,6EAA6E;IAC7E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAClB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EACxB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EACvB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EACvB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EACxB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CACzB,CAAC;IACF,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACnD,CAAC;AAWD,sFAAsF;AACtF,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7D,GAAG,CAAC,IAAI,CAAC;gBACP,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACpB,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO;gBACrC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACzF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QACrD,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,qEAAqE;AACrE,MAAM,QAAQ,GAAG,gDAAgD,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,+DAA+D;IAC/D,EAAE;IACF,qEAAqE;IACrE,0EAA0E;IAC1E,8EAA8E;IAC9E,2EAA2E;IAC3E,+EAA+E;IAC/E,2EAA2E;IAC3E,6EAA6E;IAC7E,cAAc;IACd,EAAE;IACF,8EAA8E;IAC9E,2EAA2E;IAC3E,+EAA+E;IAC/E,aAAa;IACb,EAAE;IACF,yEAAyE;IACzE,+EAA+E;IAC/E,iDAAiD;IACjD,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,2EAA2E;QAC3E,mEAAmE;QACnE,MAAM,IAAI,GAAG,qCAAqC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,GAAG,iDAAiD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,IAAI,CAAC;YACpC,SAAS;QACX,CAAC;QACD,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG;YAAE,SAAS;QAC3C,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@davidbalzan/groundwork-seam",
3
- "version": "0.1.15",
3
+ "version": "0.1.17",
4
4
  "description": "Schema owner of QUEUE / DONE / WORKSTREAMS / FACTS plus protocol record types.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -26,6 +26,14 @@
26
26
  "CHANGELOG.md",
27
27
  "LICENSE"
28
28
  ],
29
+ "scripts": {
30
+ "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
31
+ "build": "pnpm run clean && tsc",
32
+ "prepare": "pnpm run clean && tsc",
33
+ "prepack": "pnpm run build",
34
+ "pretest": "tsc",
35
+ "test": "node ../../scripts/assert-tests-exist.mjs test/*.test.mjs && node --test test/*.test.mjs"
36
+ },
29
37
  "engines": {
30
38
  "node": ">=20"
31
39
  },
@@ -33,11 +41,5 @@
33
41
  "devDependencies": {
34
42
  "@types/node": "^26.2.0",
35
43
  "typescript": "^7.0.2"
36
- },
37
- "scripts": {
38
- "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
39
- "build": "pnpm run clean && tsc",
40
- "pretest": "tsc",
41
- "test": "node ../../scripts/assert-tests-exist.mjs test/*.test.mjs && node --test test/*.test.mjs"
42
44
  }
43
- }
45
+ }