@anselmdk/feature-spec-md 0.7.0-rc.2 → 0.7.0-rc.3

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/README.md CHANGED
@@ -74,9 +74,9 @@ A person who has completed registration and can request sign-in links.
74
74
 
75
75
  ### Feature specs
76
76
 
77
- Feature specs describe user-facing behavior with rules and scenarios. Rules and scenarios get stable IDs that tests can reference.
77
+ Feature specs describe user-facing behavior with rules and scenarios. Rules and scenarios get stable IDs that tests can reference. Scenario steps are fenced so Markdown previews preserve line breaks without relying on trailing spaces.
78
78
 
79
- ```md
79
+ ````md
80
80
  ---
81
81
  id: ACCOUNT-ACCESS
82
82
  title: Account access
@@ -98,10 +98,12 @@ Allow registered people to access their account securely.
98
98
 
99
99
  ### ACCOUNT-ACCESS-S001: Registered person signs in
100
100
 
101
+ ```
101
102
  Given a registered person is on the sign-in page
102
103
  When they request and open a valid sign-in link
103
104
  Then they are signed in
104
105
  ```
106
+ ````
105
107
 
106
108
  Feature specs can declare the expected test and evidence policy:
107
109
 
@@ -110,17 +112,19 @@ test: unit | integration | playwright | manual | skip
110
112
  screenshots: required | optional | skip
111
113
  ```
112
114
 
113
- If `screenshots` is omitted, Playwright scenarios default to `required`; non-Playwright scenarios default to `skip`. Scenario-level overrides can be written directly below a scenario heading:
115
+ If `screenshots` is omitted, Playwright scenarios default to `required`; non-Playwright scenarios default to `skip`. Scenario-level overrides can be written directly below a scenario heading, before the fenced scenario block:
114
116
 
115
- ```md
117
+ ````md
116
118
  ### ACCOUNT-ACCESS-S002: Link expiry is calculated
117
119
  Test: unit
118
120
  Screenshots: skip
119
121
 
122
+ ```
120
123
  Given a sign-in link was created 31 minutes ago
121
124
  When expiry is calculated
122
125
  Then the link is expired
123
126
  ```
127
+ ````
124
128
 
125
129
  See [SPEC_FORMAT.md](SPEC_FORMAT.md) and [docs/evidence-policy.md](docs/evidence-policy.md) for the exact format.
126
130
 
package/SPEC_FORMAT.md CHANGED
@@ -130,15 +130,17 @@ Rules use stable `-R001` IDs:
130
130
  - KANBAN-CARD-AUTHORING-R001: A new card MUST start in the To do column.
131
131
  ```
132
132
 
133
- Scenarios use stable `-S001` IDs and Given / When / Then steps:
133
+ Scenarios use stable `-S001` IDs and Given / When / Then steps. The scenario body MUST be written inside a fenced code block so Markdown previews preserve line breaks without relying on trailing spaces:
134
134
 
135
- ```md
135
+ ````md
136
136
  ### KANBAN-CARD-AUTHORING-S001: User creates a card
137
137
 
138
+ ```
138
139
  Given the user is on the board
139
140
  When they create a card with the title "Write release notes"
140
141
  Then the card "Write release notes" is visible in the To do column
141
142
  ```
143
+ ````
142
144
 
143
145
  Allowed step keywords are `Given`, `When`, `Then`, `And`, and `But`.
144
146
 
@@ -159,17 +161,19 @@ screenshots: required
159
161
  ---
160
162
  ```
161
163
 
162
- Scenario-level overrides go directly below a scenario heading:
164
+ Scenario-level overrides go directly below a scenario heading. The Given / When / Then steps remain inside the fenced scenario block:
163
165
 
164
- ```md
166
+ ````md
165
167
  ### KANBAN-CARD-AUTHORING-S002: Card title is normalized
166
168
  Test: unit
167
169
  Screenshots: skip
168
170
 
171
+ ```
169
172
  Given the raw card title contains leading whitespace
170
173
  When the title is normalized
171
174
  Then the stored title has no leading whitespace
172
175
  ```
176
+ ````
173
177
 
174
178
  Supported `test` values are `unit`, `integration`, `playwright`, `manual`, and `skip`.
175
179
 
@@ -40,12 +40,15 @@ function featureReportStyles() {
40
40
  .ok{color:#1a7f37}.missing,.error{color:#cf222e}.warning{color:#9a6700}.muted{color:#57606a}
41
41
  .badge{border:1px solid #d0d7de;border-radius:999px;padding:2px 8px;font-size:12px;white-space:nowrap}
42
42
  .feature-header{display:flex;gap:12px;align-items:center;justify-content:space-between}
43
+ .feature-policy{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 12px}.feature-policy .badge{display:inline-flex;gap:5px;align-items:center}
43
44
  .scenario{border:1px solid #d0d7de;border-radius:8px;margin:12px 0;background:#fff}
44
45
  .scenario summary{cursor:pointer;padding:14px 16px;font-weight:600}
45
46
  .scenario-body{padding:0 16px 16px}
47
+ .scenario-body.compact-steps .step{margin:4px 0}.scenario-body.compact-steps .step p{margin:2px 0}
46
48
  .model-item{border:1px solid #d0d7de;border-radius:8px;margin:12px 0;background:#fff}
47
49
  .model-item summary{cursor:pointer;padding:14px 16px;font-weight:600}
48
50
  .model-item-body{padding:0 16px 16px}.model-item-body p{margin:8px 0}
51
+ .model-entry{padding:0 0 12px}.model-entry h4{font-size:14px;margin:14px 0 8px}
49
52
  .table-wrap{overflow-x:auto;margin:12px 0}table{border-collapse:collapse;width:100%;font-size:14px}
50
53
  th,td{border:1px solid #d0d7de;padding:6px 8px;text-align:left;vertical-align:top}th{background:#f6f8fa}
51
54
  h1 a{color:#0969da;text-decoration:underline;text-underline-offset:3px}h1 a:hover{text-decoration-thickness:2px}
@@ -55,15 +58,17 @@ h1 a{color:#0969da;text-decoration:underline;text-underline-offset:3px}h1 a:hove
55
58
  .screenshot img{display:block;width:100%;height:auto}.screenshot figcaption{font-size:12px;padding:8px;color:#57606a}
56
59
  .coverage-refs{display:inline-flex;gap:2px;margin-left:4px}.coverage-ref{color:inherit;text-decoration:underline;text-underline-offset:2px}
57
60
  .line-link{color:inherit;text-decoration:underline;text-underline-offset:2px}
58
- .flag-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:12px}
61
+ .flag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
59
62
  .flag-card{border:1px solid #d0d7de;border-left:4px solid #d0d7de;border-radius:8px;padding:14px;background:#fff}
60
63
  .flag-card h3{font-size:16px;margin:0 0 8px}.flag-card p{margin:8px 0}
64
+ .flag-item-link{color:inherit;text-decoration:underline;text-decoration-color:#8c959f;text-underline-offset:2px}
61
65
  .flag-card.openQuestions{border-left-color:#9a6700}.flag-card.assumptions{border-left-color:#57606a}
62
66
  .extension-section{border:1px solid #d0d7de;border-radius:8px;padding:14px;margin:12px 0;background:#fff}
63
67
  .extension-section h4{margin:0 0 8px}.extension-section p{margin:8px 0}
64
68
  .mermaid-wrap{overflow-x:auto;margin:12px 0;padding:12px;border:1px solid #d0d7de;border-radius:8px;background:#fff}
65
69
  .mermaid{min-width:max-content;text-align:center}.mermaid svg{display:block;max-width:none;height:auto;margin:0 auto}
66
- .mermaid-error{color:#cf222e;text-align:left;white-space:pre-wrap}`;
70
+ .mermaid-error{color:#cf222e;text-align:left;white-space:pre-wrap}
71
+ @media(max-width:720px){.flag-grid{grid-template-columns:1fr}}`;
67
72
  }
68
73
  function featureReportScripts() {
69
74
  const openTag = "<" + "script>";
@@ -147,17 +152,43 @@ function renderOpenQuestionsAndAssumptions(documents, sourceLinks) {
147
152
  <h2>Open questions and assumptions</h2>
148
153
  <span class="badge warning">${html(`${openQuestionCount} open question section(s) · ${assumptionCount} assumption section(s)`)}</span>
149
154
  </div>
150
- <p class="muted">Informational only: these sections are highlighted for review, but they do not fail validation, coverage, or the build.</p>
155
+ <p class="muted">Informational only: these sections are highlighted for review, but they do not fail validation, coverage, or the build. Review and either answer, promote to rules/scenarios, or remove when no longer relevant.</p>
151
156
  <div class="flag-grid">${sections.map((section) => renderFlaggedSection(section, sourceLinks)).join("")}</div>
152
157
  </section>`;
153
158
  }
154
159
  function renderFlaggedSection(section, sourceLinks) {
155
160
  return `<article class="flag-card ${html(section.kind)}">
156
161
  <h3>${html(section.title)} <span class="badge">${html(documentLabel(section.document))}</span> ${renderLineBadge(section.document.filePath, section.line, sourceLinks)}</h3>
157
- ${renderMarkdownBlock(section.body)}
158
- <p class="muted">Review and either answer, promote to rules/scenarios, or remove when no longer relevant.</p>
162
+ ${renderFlaggedSectionBody(section, sourceLinks)}
159
163
  </article>`;
160
164
  }
165
+ function renderFlaggedSectionBody(section, sourceLinks) {
166
+ const items = flaggedSectionItems(section);
167
+ if (!items.length)
168
+ return renderMarkdownBlock(section.body);
169
+ return `<ul>${items
170
+ .map((item) => {
171
+ const content = renderInlineMarkdown(item.text);
172
+ return `<li><a class="flag-item-link" href="#${html(flaggedItemAnchor(section, item))}">${content}</a></li>`;
173
+ })
174
+ .join("")}</ul>`;
175
+ }
176
+ function flaggedSectionItems(section) {
177
+ const lines = section.document.source.split(/\r?\n/);
178
+ const items = [];
179
+ for (let index = section.line; index < lines.length; index += 1) {
180
+ if (/^##\s+/.test(lines[index]))
181
+ break;
182
+ const match = lines[index].match(/^\s*[-*]\s+(.+)$/);
183
+ if (match)
184
+ items.push({ text: match[1].trim(), line: index + 1 });
185
+ }
186
+ return items;
187
+ }
188
+ function flaggedItemAnchor(section, item) {
189
+ const stableId = item.text.match(/^([A-Z][A-Z0-9-]*-(?:Q|A)\d{3}):/)?.[1];
190
+ return (stableId ?? `${section.document.frontmatter.id}-${section.kind}-${item.line}`).toLowerCase();
191
+ }
161
192
  function renderIssues(issues) {
162
193
  if (!issues.length)
163
194
  return "";
@@ -184,16 +215,18 @@ function renderModel(model, modelCoverage, ruleCoverage, ruleScenarioLinks, sour
184
215
  <span class="badge">${html(model.frontmatter.status ?? "draft")}</span>
185
216
  </div>
186
217
  <p>${html(model.purpose)}</p>
187
- <h4>Model</h4>
188
- ${model.modelItems
218
+ <details class="model-item">
219
+ <summary>Model</summary>
220
+ <div class="model-item-body">${model.modelItems
189
221
  .map((item) => {
190
222
  const coverageItem = modelCoverage.find((candidate) => candidate.id === item.id);
191
- return `<details class="model-item">
192
- <summary><code>${html(item.id)}</code>: ${html(item.title)} ${coverageBadge(coverageItem?.covered, [], coverageItem, sourceLinks)}</summary>
193
- <div class="model-item-body">${renderModelItemBody(item.body)}</div>
194
- </details>`;
223
+ return `<section class="model-entry">
224
+ <h4><code>${html(item.id)}</code>: ${html(item.title)} ${coverageBadge(coverageItem?.covered, [], coverageItem, sourceLinks)}</h4>
225
+ ${renderModelItemBody(item.body)}
226
+ </section>`;
195
227
  })
196
- .join("")}
228
+ .join("")}</div>
229
+ </details>
197
230
  ${renderModelRules(model, ruleCoverage, ruleScenarioLinks, sourceLinks)}
198
231
  ${renderDocumentExtensionSections(model, sourceLinks)}
199
232
  </section>`;
@@ -218,6 +251,7 @@ function renderSpec(spec, coverage, evidence = [], sourceLinks = {}) {
218
251
  <h2>${html(spec.title)}</h2>
219
252
  <span class="badge">${html(spec.frontmatter.status ?? "draft")}</span>
220
253
  </div>
254
+ ${renderFeaturePolicy(spec)}
221
255
  <p>${html(spec.purpose)}</p>
222
256
  <h3>Rules</h3>
223
257
  <ul>${spec.rules.map((rule) => renderFeatureRule(rule.id, rule.text, ruleCoverage, ruleScenarioLinks, sourceLinks)).join("")}</ul>
@@ -226,6 +260,17 @@ function renderSpec(spec, coverage, evidence = [], sourceLinks = {}) {
226
260
  ${renderDocumentExtensionSections(spec, sourceLinks)}
227
261
  </section>`;
228
262
  }
263
+ function renderFeaturePolicy(spec) {
264
+ const items = [
265
+ spec.frontmatter.test ? ["test", spec.frontmatter.test] : undefined,
266
+ spec.frontmatter.screenshots ? ["screenshots", spec.frontmatter.screenshots] : undefined,
267
+ ].filter((item) => Boolean(item));
268
+ if (!items.length)
269
+ return "";
270
+ return `<div class="feature-policy">${items
271
+ .map(([label, value]) => `<span class="badge"><span class="muted">${html(label)}</span> <code>${html(value)}</code></span>`)
272
+ .join("")}</div>`;
273
+ }
229
274
  function renderFeatureRule(id, text, ruleCoverage, ruleScenarioLinks, sourceLinks) {
230
275
  const item = ruleCoverage.find((coverageItem) => coverageItem.id === id);
231
276
  return `<li><code>${html(id)}</code>: ${html(text)} ${ruleCoverageBadge(item, ruleScenarioIds(id, ruleScenarioLinks), sourceLinks)}</li>`;
@@ -237,11 +282,13 @@ function renderScenario(spec, scenario, scenarioCoverage, ruleScenarioLinks, evi
237
282
  const scenarioRuleIds = ruleIdsForScenario(scenario.id, spec.rules.map((rule) => rule.id), ruleScenarioLinks);
238
283
  const scenarioCoverageItem = scenarioCoverage.find((item) => item.id === scenario.id);
239
284
  return `<details class="scenario" data-has-images="${changedCount > 0 ? "true" : "false"}">
240
- <summary><code>${html(scenario.id)}</code>: ${html(scenario.title)} ${coverageBadge(scenarioCoverageItem?.covered, [], scenarioCoverageItem, sourceLinks)} ${renderEvidenceSummary(changedCount, unchangedCount)}</summary>
241
- <div class="scenario-body">${renderScenarioRuleCoverage(scenarioRuleIds)}${scenario.steps.map((step) => renderStep(spec, step, evidenceByLine, sourceLinks)).join("")}</div>
285
+ <summary><code>${html(scenario.id)}</code>: ${html(scenario.title)} ${coverageBadge(scenarioCoverageItem?.covered, [], scenarioCoverageItem, sourceLinks)} ${renderEvidenceSummary(changedCount, unchangedCount, scenario.evidence.screenshots)}</summary>
286
+ <div class="scenario-body${changedCount === 0 ? " compact-steps" : ""}">${renderScenarioRuleCoverage(scenarioRuleIds)}${scenario.steps.map((step) => renderStep(spec, step, evidenceByLine, sourceLinks, scenario.evidence.screenshots)).join("")}</div>
242
287
  </details>`;
243
288
  }
244
- function renderEvidenceSummary(changedCount, unchangedCount) {
289
+ function renderEvidenceSummary(changedCount, unchangedCount, screenshotPolicy) {
290
+ if (screenshotPolicy === "skip")
291
+ return "";
245
292
  if (changedCount === 0 && unchangedCount === 0) {
246
293
  return `<span class="badge muted">no visual evidence recorded</span>`;
247
294
  }
@@ -255,7 +302,7 @@ function renderScenarioRuleCoverage(ruleIds) {
255
302
  return `<p><strong>Rules covered by this scenario:</strong> ${ruleIds.map((ruleId) => `<code>${html(ruleId)}</code>`).join(" ")}</p>`;
256
303
  }
257
304
  function renderDocumentExtensionSections(document, sourceLinks) {
258
- const sections = extensionSections(document).filter((section) => section.kind !== "openQuestions" && section.kind !== "assumptions");
305
+ const sections = extensionSections(document);
259
306
  if (!sections.length)
260
307
  return "";
261
308
  return `<h3>Spec context</h3>${sections.map((section) => renderDocumentExtensionSection(section, sourceLinks)).join("")}`;
@@ -266,10 +313,18 @@ function renderDocumentExtensionSection(section, sourceLinks) {
266
313
  : "";
267
314
  return `<section class="extension-section">
268
315
  <h4>${html(section.title)} ${renderLineBadge(section.document.filePath, section.line, sourceLinks)}</h4>
269
- ${renderMarkdownBlock(section.body)}
316
+ ${section.kind === "openQuestions" || section.kind === "assumptions" ? renderDetailedFlaggedSectionBody(section) : renderMarkdownBlock(section.body)}
270
317
  ${coverageNote}
271
318
  </section>`;
272
319
  }
320
+ function renderDetailedFlaggedSectionBody(section) {
321
+ const items = flaggedSectionItems(section);
322
+ if (!items.length)
323
+ return renderMarkdownBlock(section.body);
324
+ return `<ul>${items
325
+ .map((item) => `<li id="${html(flaggedItemAnchor(section, item))}">${renderInlineMarkdown(item.text)}</li>`)
326
+ .join("")}</ul>`;
327
+ }
273
328
  function renderModelItemBody(body) {
274
329
  return renderMarkdownBlock(body);
275
330
  }
@@ -367,15 +422,17 @@ function renderTable(lines) {
367
422
  const rows = lines.slice(1).map(splitTableRow);
368
423
  return `<div class="table-wrap"><table><thead><tr>${headers.map((header) => `<th>${renderInlineMarkdown(header)}</th>`).join("")}</tr></thead><tbody>${rows.map((row) => `<tr>${row.map((cell) => `<td>${renderInlineMarkdown(cell)}</td>`).join("")}</tr>`).join("")}</tbody></table></div>`;
369
424
  }
370
- function renderStep(spec, step, evidenceByLine, sourceLinks) {
425
+ function renderStep(spec, step, evidenceByLine, sourceLinks, screenshotPolicy) {
371
426
  const evidence = evidenceByLine.get(screenshotKey(spec.filePath, step.line)) ?? [];
372
427
  const screenshots = evidence.filter((entry) => entry.changed && entry.path);
373
428
  const unchanged = evidence.filter((entry) => !entry.changed);
374
- const evidenceBadge = screenshots.length
375
- ? `<span class="badge ok">screen changed · screenshot captured</span>`
376
- : unchanged.length
377
- ? `<span class="badge muted">same screen${renderComparedWith(unchanged[0])}</span>`
378
- : `<span class="badge muted" title="missing screenshot evidence is informational">no screenshot captured</span>`;
429
+ const evidenceBadge = screenshotPolicy === "skip"
430
+ ? ""
431
+ : screenshots.length
432
+ ? `<span class="badge ok">screen changed · screenshot captured</span>`
433
+ : unchanged.length
434
+ ? `<span class="badge muted">same screen${renderComparedWith(unchanged[0])}</span>`
435
+ : `<span class="badge muted" title="missing screenshot evidence is informational">no screenshot captured</span>`;
379
436
  return `<div class="step"><p><strong>${html(step.keyword)}</strong> ${html(step.text)} ${renderLineBadge(spec.filePath, step.line, sourceLinks)} ${evidenceBadge}</p>${renderScreenshots(screenshots)}</div>`;
380
437
  }
381
438
  function renderComparedWith(entry) {
@@ -1 +1 @@
1
- {"version":3,"file":"reportTemplate.js","sourceRoot":"","sources":["../src/reportTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAiDjD,MAAM,oBAAoB,GAAkD;IAC1E,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE;IAChD,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,EAAE;IAClD,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;IAC7C,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE;IAC9C,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;IAC7C,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IACzC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,kBAAkB,EAAE;CACvD,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,KAAoB,EAAE,UAAyB,EAAE;IAChF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,qBAAqB,CAAC;IACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;IAC3C,MAAM,WAAW,GAAsB;QACrC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC;IAEF,OAAO,cAAc,CAAC;QACpB,KAAK;QACL,MAAM,EAAE,mBAAmB,EAAE;QAC7B,OAAO,EAAE,oBAAoB,EAAE;QAC/B,IAAI,EAAE,iBAAiB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;KAC1E,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,KAAK,EACL,OAAO,EACP,QAAQ,EACR,WAAW,EACX,KAAK,GAON;IACC,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrD,OAAO;MACH,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC;eACtC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;EACzD,iCAAiC,CAAC,SAAS,EAAE,WAAW,CAAC;EACzD,YAAY,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;EAC5C,YAAY,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC;EACjE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CAC1F,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;mEA2B0D,CAAC;AACpE,CAAC;AAED,SAAS,oBAAoB;IAC3B,MAAM,OAAO,GAAG,GAAG,GAAG,SAAS,CAAC;IAChC,MAAM,QAAQ,GAAG,GAAG,GAAG,UAAU,CAAC;IAClC,MAAM,cAAc,GAAG,GAAG,GAAG,uGAAuG,CAAC;IACrI,OAAO,GAAG,OAAO;;;;;;;;;;;;;;;;EAgBjB,QAAQ;EACR,cAAc,GAAG,QAAQ;EACzB,OAAO;;;;;;;;;;;;;;;;EAgBP,QAAQ,EAAE,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,aAAiC;IACzE,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,0BAA0B,CAAC;IAC1C,MAAM,UAAU,GAAG,SAAS,IAAI,CAAC,aAAa,CAAC,6CAA6C,CAAC;IAC7F,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7D,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IACnF,CAAC;IACD,OAAO,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AAC/C,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAyB;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAClD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,KAAK,IAAI,EAAE,CAAC;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1J,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3D,OAAO,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,OAAO,EAAE,CAAC;AAC7F,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IACxC,IAAI,GAAG,GAAG,EAAE,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,GAAG,GAAG,EAAE,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,GAAG,GAAG,EAAE,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iCAAiC,CAAC,SAA2B,EAAE,WAA8B;IACpG,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,eAAe,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IACtK,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,MAAM,CAAC;IAChG,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,MAAM,CAAC;IAC5F,OAAO;;;kCAGyB,IAAI,CAAC,GAAG,iBAAiB,+BAA+B,eAAe,wBAAwB,CAAC;;;2BAGvG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;WAC9F,CAAC;AACZ,CAAC;AAED,SAAS,oBAAoB,CAAC,OAA+B,EAAE,WAA8B;IAC3F,OAAO,6BAA6B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC;IACpK,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC;;WAE1B,CAAC;AACZ,CAAC;AAED,SAAS,YAAY,CAAC,MAAyB;IAC7C,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC9B,OAAO,iDAAiD,MAAM;SAC3D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,KAAK,CAAC,QAAQ,WAAW,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;SAChK,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC;AAC/B,CAAC;AAED,SAAS,YAAY,CAAC,MAAmB,EAAE,QAA0B,EAAE,cAAiC,EAAE;IACxG,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC9B,MAAM,aAAa,GAAG,QAAQ,EAAE,aAAa,IAAI,EAAE,CAAC;IACpD,MAAM,YAAY,GAAG,QAAQ,EAAE,YAAY,IAAI,EAAE,CAAC;IAClD,MAAM,gBAAgB,GAAG,QAAQ,EAAE,gBAAgB,IAAI,EAAE,CAAC;IAC1D,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACjF,OAAO;;IAEL,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;WAC1G,CAAC;AACZ,CAAC;AAED,SAAS,WAAW,CAAC,KAAgB,EAAE,aAA6B,EAAE,YAA4B,EAAE,iBAAqC,EAAE,WAA8B;IACvK,OAAO;;UAEC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;0BAC/B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,IAAI,OAAO,CAAC;;OAE5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;;IAEtB,KAAK,CAAC,UAAU;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QACjF,OAAO;qBACQ,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,WAAW,CAAC;mCAClG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;aACpD,CAAC;IACV,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC;IACT,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,CAAC;IACrE,+BAA+B,CAAC,KAAK,EAAE,WAAW,CAAC;WAC5C,CAAC;AACZ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAgB,EAAE,YAA4B,EAAE,iBAAqC,EAAE,WAA8B;IAC7I,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,qBAAqB,KAAK,CAAC,KAAK;SACpC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9E,OAAO,aAAa,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC;IAC3J,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;AACrB,CAAC;AAED,SAAS,UAAU,CAAC,IAAiB,EAAE,QAA0B,EAAE,WAA6B,EAAE,EAAE,cAAiC,EAAE;IACrI,MAAM,cAAc,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,QAAQ,EAAE,YAAY,IAAI,EAAE,CAAC;IAClD,MAAM,gBAAgB,GAAG,QAAQ,EAAE,gBAAgB,IAAI,EAAE,CAAC;IAC1D,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACjF,OAAO;;UAEC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;0BACA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,OAAO,CAAC;;OAE3D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;;QAEjB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;IAE1H,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAC7I,+BAA+B,CAAC,IAAI,EAAE,WAAW,CAAC;WAC3C,CAAC;AACZ,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAU,EAAE,IAAY,EAAE,YAA4B,EAAE,iBAAqC,EAAE,WAA8B;IACtJ,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACzE,OAAO,aAAa,IAAI,CAAC,EAAE,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,EAAE,iBAAiB,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC;AAC5I,CAAC;AAED,SAAS,cAAc,CAAC,IAAiB,EAAE,QAA0C,EAAE,gBAAgC,EAAE,iBAAqC,EAAE,cAA6C,EAAE,WAA8B;IAC3O,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7H,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC5F,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACjF,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAC9G,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC;IACtF,OAAO,8CAA8C,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;mBACvE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,oBAAoB,EAAE,OAAO,EAAE,EAAE,EAAE,oBAAoB,EAAE,WAAW,CAAC,IAAI,qBAAqB,CAAC,YAAY,EAAE,cAAc,CAAC;+BACnL,0BAA0B,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;WAC5J,CAAC;AACZ,CAAC;AAED,SAAS,qBAAqB,CAAC,YAAoB,EAAE,cAAsB;IACzE,IAAI,YAAY,KAAK,CAAC,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,8DAA8D,CAAC;IACxE,CAAC;IACD,MAAM,YAAY,GAAG,GAAG,YAAY,iBAAiB,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACrF,MAAM,cAAc,GAAG,GAAG,cAAc,oBAAoB,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAC9F,OAAO,uBAAuB,IAAI,CAAC,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;AAC1F,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAiB;IACnD,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,oGAAoG,CAAC;IACjI,OAAO,uDAAuD,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;AACxI,CAAC;AAED,SAAS,+BAA+B,CAAC,QAAwB,EAAE,WAA8B;IAC/F,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,eAAe,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IACrI,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAChC,OAAO,wBAAwB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,8BAA8B,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;AAC5H,CAAC;AAED,SAAS,8BAA8B,CAAC,OAA+B,EAAE,WAA8B;IACrG,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,KAAK,aAAa,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa;QACnF,CAAC,CAAC,yKAAyK;QAC3K,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC;IAChG,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC;IACjC,YAAY;WACL,CAAC;AACZ,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,SAAS,GAAa,EAAE,CAAC;IAC7B,IAAI,IAAI,GAAa,EAAE,CAAC;IACxB,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,OAAO;QAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QACnE,SAAS,GAAG,EAAE,CAAC;IACjB,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QACjG,IAAI,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7D,IAAI,UAAU,EAAE,CAAC;YACf,cAAc,EAAE,CAAC;YACjB,SAAS,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,CAAC,IAAI,CAAC,CAAC;YACP,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;YACjB,SAAS,EAAE,CAAC;YACZ,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACjD,IAAI,SAAS,EAAE,CAAC;YACd,cAAc,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QACD,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;YAC3B,cAAc,EAAE,CAAC;YACjB,SAAS,EAAE,CAAC;YACZ,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC,IAAI,CAAC,CAAC;YACP,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;YACD,CAAC,IAAI,CAAC,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;YACrC,SAAS;QACX,CAAC;QACD,SAAS,EAAE,CAAC;QACZ,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;IACD,cAAc,EAAE,CAAC;IACjB,SAAS,EAAE,CAAC;IACZ,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB,EAAE,MAAc;IACvD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,kDAAkD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;IACtF,CAAC;IACD,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,oBAAoB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,OAAO,aAAa,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;AACnE,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,OAAO,MAAM;SACV,KAAK,CAAC,YAAY,CAAC;SACnB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClH,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,KAAe,EAAE,KAAa;IAClD,OAAO,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;AACxG,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,WAAW,CAAC,KAAe;IAClC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/C,OAAO,6CAA6C,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,uBAAuB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC;AAChS,CAAC;AAED,SAAS,UAAU,CAAC,IAAiB,EAAE,IAAiB,EAAE,cAA6C,EAAE,WAA8B;IACrI,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACnF,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM;QACtC,CAAC,CAAC,oEAAoE;QACtE,CAAC,CAAC,SAAS,CAAC,MAAM;YAChB,CAAC,CAAC,wCAAwC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YACnF,CAAC,CAAC,8GAA8G,CAAC;IACrH,OAAO,gCAAgC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,aAAa,OAAO,iBAAiB,CAAC,WAAW,CAAC,QAAQ,CAAC;AAChN,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAqB;IAC/C,OAAO,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC;AAC7G,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB,EAAE,IAAY,EAAE,WAA8B;IACrF,MAAM,KAAK,GAAG,QAAQ,IAAI,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IACvD,IAAI,CAAC,GAAG;QAAE,OAAO,uBAAuB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAC7D,OAAO,oCAAoC,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC,+CAA+C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AAC9J,CAAC;AAED,SAAS,iBAAiB,CAAC,WAA6B;IACtD,IAAI,CAAC,WAAW,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,4BAA4B,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,wCAAwC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,kBAAkB,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,iBAAiB,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,GAAG,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;AACvW,CAAC;AAED,SAAS,aAAa,CAAC,OAAiB,EAAE,WAAqB,EAAE,EAAE,IAAmB,EAAE,cAAiC,EAAE;IACzH,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAiC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,8BAA8B,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,qDAAqD,CAAC;AACnQ,CAAC;AAED,SAAS,iBAAiB,CAAC,YAAsC,EAAE,WAAqB,EAAE,WAA8B;IACtH,IAAI,YAAY,EAAE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM;QAAE,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IACzH,OAAO,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,8BAA8B,CAAC,IAA8B,EAAE,WAA8B;IACpG,MAAM,UAAU,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO,gCAAgC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,6BAA6B,CAAC,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;AACnK,CAAC;AAED,SAAS,6BAA6B,CAAC,SAAwB,EAAE,KAAa,EAAE,WAA8B;IAC5G,MAAM,KAAK,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,oBAAoB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACzD,IAAI,CAAC,GAAG;QAAE,OAAO,qCAAqC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;IACrF,OAAO,iCAAiC,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,+CAA+C,KAAK,MAAM,CAAC;AACrI,CAAC;AAED,SAAS,wBAAwB,CAAC,IAA8B;IAC9D,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAwB;IACtD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,OAAO,GAAG,SAAS,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAwB,EAAE,WAA8B;IACpF,OAAO,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB,EAAE,IAAY,EAAE,WAA8B;IACnF,IAAI,CAAC,WAAW,CAAC,aAAa,IAAI,CAAC,WAAW,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3E,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,kBAAkB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpG,OAAO,GAAG,OAAO,SAAS,GAAG,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;AAC9D,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAoB,EAAE,OAAsB;IACtE,OAAO;QACL,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QACzB,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QACzB,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QAC1B,GAAG,KAAK;KACT,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,QAAwB;IAC7C,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAwB;IACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACjD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAe,EAAE,KAAa;IACtD,MAAM,cAAc,GAAG,iBAAiB,CAAC;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9G,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACnC,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,KAAK,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7D,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACtC,GAAG,GAAG,KAAK,CAAC;YACZ,MAAM;QACR,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,SAAS,CAAC;IACnC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAe;IACvC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,OAAO,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE;QAAE,KAAK,IAAI,CAAC,CAAC;IACvD,OAAO,GAAG,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;QAAE,GAAG,IAAI,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,eAAe,CAAC,MAAc,EAAE,iBAAqC;IAC5E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/H,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAkB,EAAE,WAAqB,EAAE,iBAAqC;IAC1G,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvH,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,sBAAsB,CAAC,YAA4B,EAAE,gBAAgC;IAC5F,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC/D,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAC1H,CAAC;IACF,MAAM,KAAK,GAAuB,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5C,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;YACnH,IAAI,CAAC,iBAAiB;gBAAE,SAAS;YACjC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,iBAAiB,CAAC,UAAU,EAAE,CAAC;YACzD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAgB,EAAE,IAAY,EAAE,kBAA4E;IAC5I,MAAM,eAAe,GAAG,CAAC,CAAC;IAC1B,OAAO,kBAAkB;SACtB,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,eAAe,CAAC;SAC5H,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAAC,QAA0B;IACrD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;IACpD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"reportTemplate.js","sourceRoot":"","sources":["../src/reportTemplate.ts"],"names":[],"mappings":"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"}
@@ -13,17 +13,19 @@ screenshots: required
13
13
  ---
14
14
  ```
15
15
 
16
- Use scenario-level overrides directly below a scenario heading when one scenario needs different evidence:
16
+ Use scenario-level overrides directly below a scenario heading when one scenario needs different evidence. The Given / When / Then steps remain inside the fenced scenario block:
17
17
 
18
- ```md
18
+ ````md
19
19
  ### KANBAN-CARD-AUTHORING-S002: Card title is normalized
20
20
  Test: unit
21
21
  Screenshots: skip
22
22
 
23
+ ```
23
24
  Given the raw card title contains leading whitespace
24
25
  When the title is normalized
25
26
  Then the stored title has no leading whitespace
26
27
  ```
28
+ ````
27
29
 
28
30
  ## `test` values
29
31
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anselmdk/feature-spec-md",
3
- "version": "0.7.0-rc.2",
3
+ "version": "0.7.0-rc.3",
4
4
  "description": "Markdown specs for AI-assisted, testable spec driven development across model, feature, stack, and design documents.",
5
5
  "type": "module",
6
6
  "repository": {
@@ -2,7 +2,7 @@
2
2
  "evidence": [
3
3
  {
4
4
  "specPath": "src/mocks/current/specs/ticket-inbox.feature.md",
5
- "line": 27,
5
+ "line": 28,
6
6
  "changed": true,
7
7
  "path": "screenshots/SUPPORT-INBOX-S001-line-27-current.svg",
8
8
  "title": "Inbox with priority badges",
@@ -10,15 +10,15 @@
10
10
  },
11
11
  {
12
12
  "specPath": "src/mocks/current/specs/ticket-inbox.feature.md",
13
- "line": 28,
13
+ "line": 29,
14
14
  "changed": false,
15
15
  "title": "Inbox remains visually unchanged after selecting the first ticket",
16
16
  "testPath": "src/mocks/current/tests/supportDesk.spec.ts",
17
- "comparedWithLine": 27
17
+ "comparedWithLine": 28
18
18
  },
19
19
  {
20
20
  "specPath": "src/mocks/current/specs/ticket-reply.feature.md",
21
- "line": 27,
21
+ "line": 28,
22
22
  "changed": true,
23
23
  "path": "screenshots/SUPPORT-REPLY-S001-line-27-current.svg",
24
24
  "title": "Reply composer with suggested answer",
@@ -26,11 +26,11 @@
26
26
  },
27
27
  {
28
28
  "specPath": "src/mocks/current/specs/ticket-reply.feature.md",
29
- "line": 28,
29
+ "line": 29,
30
30
  "changed": false,
31
31
  "title": "Reply composer stays visually unchanged while text is reviewed",
32
32
  "testPath": "src/mocks/current/tests/supportDesk.spec.ts",
33
- "comparedWithLine": 27
33
+ "comparedWithLine": 28
34
34
  }
35
35
  ]
36
36
  }
@@ -22,6 +22,8 @@ Let agents find the next ticket to work on without losing context.
22
22
 
23
23
  ### SUPPORT-INBOX-S001: Agent reviews the queue
24
24
 
25
+ ```
25
26
  Given an agent has open tickets
26
27
  When they open the inbox
27
28
  Then open tickets are listed by age with priority badges
29
+ ```
@@ -22,12 +22,16 @@ Help agents answer a customer without leaving the ticket.
22
22
 
23
23
  ### SUPPORT-REPLY-S001: Agent drafts a reply
24
24
 
25
+ ```
25
26
  Given an agent has selected a ticket
26
27
  When they write a reply
27
28
  Then the draft remains visible
29
+ ```
28
30
 
29
31
  ### SUPPORT-REPLY-S002: Agent sends a saved reply
30
32
 
33
+ ```
31
34
  Given an agent has selected a ticket
32
35
  When they choose a saved reply
33
36
  Then the composer is filled with reusable text
37
+ ```
@@ -2,7 +2,7 @@
2
2
  "evidence": [
3
3
  {
4
4
  "specPath": "src/mocks/previous/specs/ticket-inbox.feature.md",
5
- "line": 27,
5
+ "line": 28,
6
6
  "changed": true,
7
7
  "path": "screenshots/SUPPORT-INBOX-S001-line-27-previous.svg",
8
8
  "title": "Inbox before priority badges",
@@ -10,11 +10,11 @@
10
10
  },
11
11
  {
12
12
  "specPath": "src/mocks/previous/specs/ticket-inbox.feature.md",
13
- "line": 28,
13
+ "line": 29,
14
14
  "changed": false,
15
15
  "title": "Inbox remains visually unchanged after selecting the first ticket",
16
16
  "testPath": "src/mocks/previous/tests/supportDesk.spec.ts",
17
- "comparedWithLine": 27
17
+ "comparedWithLine": 28
18
18
  }
19
19
  ]
20
20
  }
@@ -21,6 +21,8 @@ Let agents find the next ticket to work on without losing context.
21
21
 
22
22
  ### SUPPORT-INBOX-S001: Agent reviews the queue
23
23
 
24
+ ```
24
25
  Given an agent has open tickets
25
26
  When they open the inbox
26
27
  Then open tickets are listed by age
28
+ ```
@@ -21,6 +21,8 @@ Help agents answer a customer without leaving the ticket.
21
21
 
22
22
  ### SUPPORT-REPLY-S001: Agent drafts a reply
23
23
 
24
+ ```
24
25
  Given an agent has selected a ticket
25
26
  When they write a reply
26
27
  Then the draft remains visible
28
+ ```
@@ -19,6 +19,8 @@ Describe the outcome this feature provides.
19
19
 
20
20
  ### FEATURE-S001: Main path
21
21
 
22
- Given a precondition is true
23
- When a person performs an action
22
+ ```
23
+ Given a precondition is true
24
+ When a person performs an action
24
25
  Then the expected outcome is visible
26
+ ```