@uwmd/core 1.3.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/browser.d.ts +14 -6
  2. package/dist/browser.d.ts.map +1 -1
  3. package/dist/browser.js +8 -4
  4. package/dist/browser.js.map +1 -1
  5. package/dist/capital-stack.d.ts +116 -0
  6. package/dist/capital-stack.d.ts.map +1 -0
  7. package/dist/capital-stack.js +227 -0
  8. package/dist/capital-stack.js.map +1 -0
  9. package/dist/cascade.d.ts +60 -6
  10. package/dist/cascade.d.ts.map +1 -1
  11. package/dist/cascade.js +93 -14
  12. package/dist/cascade.js.map +1 -1
  13. package/dist/cli.js +269 -11
  14. package/dist/cli.js.map +1 -1
  15. package/dist/composition.d.ts +182 -0
  16. package/dist/composition.d.ts.map +1 -0
  17. package/dist/composition.js +536 -0
  18. package/dist/composition.js.map +1 -0
  19. package/dist/context.js +23 -23
  20. package/dist/defaults.d.ts +18 -0
  21. package/dist/defaults.d.ts.map +1 -1
  22. package/dist/defaults.js +64 -0
  23. package/dist/defaults.js.map +1 -1
  24. package/dist/index.d.ts +14 -6
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +8 -4
  27. package/dist/index.js.map +1 -1
  28. package/dist/lite-bridge.d.ts +9 -0
  29. package/dist/lite-bridge.d.ts.map +1 -1
  30. package/dist/lite-bridge.js +44 -5
  31. package/dist/lite-bridge.js.map +1 -1
  32. package/dist/lite.js +37 -1
  33. package/dist/lite.js.map +1 -1
  34. package/dist/market-data.d.ts +134 -0
  35. package/dist/market-data.d.ts.map +1 -0
  36. package/dist/market-data.js +292 -0
  37. package/dist/market-data.js.map +1 -0
  38. package/dist/packs/index.d.ts +1 -0
  39. package/dist/packs/index.d.ts.map +1 -1
  40. package/dist/packs/index.js +3 -0
  41. package/dist/packs/index.js.map +1 -1
  42. package/dist/packs/mixed-use.d.ts +3 -0
  43. package/dist/packs/mixed-use.d.ts.map +1 -0
  44. package/dist/packs/mixed-use.js +204 -0
  45. package/dist/packs/mixed-use.js.map +1 -0
  46. package/dist/protocol.d.ts +57 -8
  47. package/dist/protocol.d.ts.map +1 -1
  48. package/dist/protocol.js +153 -4
  49. package/dist/protocol.js.map +1 -1
  50. package/dist/receipts.d.ts +189 -9
  51. package/dist/receipts.d.ts.map +1 -1
  52. package/dist/receipts.js +373 -14
  53. package/dist/receipts.js.map +1 -1
  54. package/dist/report.js +165 -165
  55. package/dist/types.d.ts +54 -1
  56. package/dist/types.d.ts.map +1 -1
  57. package/dist/types.js.map +1 -1
  58. package/dist/validator.d.ts.map +1 -1
  59. package/dist/validator.js +263 -6
  60. package/dist/validator.js.map +1 -1
  61. package/dist/version.d.ts +1 -1
  62. package/dist/version.js +1 -1
  63. package/package.json +1 -1
package/dist/report.js CHANGED
@@ -55,17 +55,17 @@ export function renderReportHtml(parsed, opts = {}) {
55
55
  const article = `<article class="uwmd-report" data-tier="${esc(tier)}">\n${body.join('\n')}\n</article>`;
56
56
  const html = opts.fragment
57
57
  ? article
58
- : `<!doctype html>
59
- <html lang="en">
60
- <head>
61
- <meta charset="utf-8">
62
- <meta name="viewport" content="width=device-width, initial-scale=1">
63
- <title>${esc(title)} — ${tier === 'analyst' ? 'Credit Memo' : 'Lender Package'}</title>
64
- <style>${REPORT_CSS}</style>
65
- </head>
66
- <body>
67
- ${article}
68
- </body>
58
+ : `<!doctype html>
59
+ <html lang="en">
60
+ <head>
61
+ <meta charset="utf-8">
62
+ <meta name="viewport" content="width=device-width, initial-scale=1">
63
+ <title>${esc(title)} — ${tier === 'analyst' ? 'Credit Memo' : 'Lender Package'}</title>
64
+ <style>${REPORT_CSS}</style>
65
+ </head>
66
+ <body>
67
+ ${article}
68
+ </body>
69
69
  </html>`;
70
70
  return { html, title, tier, sectionsRendered, sectionsSkipped };
71
71
  }
@@ -87,9 +87,9 @@ function num(obj, path) {
87
87
  return direct;
88
88
  }
89
89
  function section(id, heading, inner, subtitle) {
90
- return `<section class="rpt-section" id="rpt-${esc(id)}">
91
- <header class="rpt-section-head"><h2>${esc(heading)}</h2>${subtitle ? `<p class="rpt-subtitle">${esc(subtitle)}</p>` : ''}</header>
92
- ${inner}
90
+ return `<section class="rpt-section" id="rpt-${esc(id)}">
91
+ <header class="rpt-section-head"><h2>${esc(heading)}</h2>${subtitle ? `<p class="rpt-subtitle">${esc(subtitle)}</p>` : ''}</header>
92
+ ${inner}
93
93
  </section>`;
94
94
  }
95
95
  /** Prose paragraphs from `parsed.prose[id]`. The raw prose carries Markdown
@@ -182,17 +182,17 @@ function coverPage(ctx) {
182
182
  .filter(([, v]) => v !== 'n/a')
183
183
  .map(([k, v]) => `<div class="rpt-cover-fact"><span>${esc(k)}</span><strong>${esc(v)}</strong></div>`)
184
184
  .join('');
185
- return `<section class="rpt-cover" id="rpt-cover">
186
- <div class="rpt-cover-rule"></div>
187
- <p class="rpt-cover-doc">${esc(docName)}</p>
188
- <h1>${esc(fm.deal_name ?? 'Untitled Deal')}</h1>
189
- ${address ? `<p class="rpt-cover-address">${esc(address)}</p>` : ''}
190
- <div class="rpt-cover-facts">${facts}</div>
191
- <div class="rpt-cover-foot">
192
- ${date ? `<p>Prepared ${esc(String(date).slice(0, 10))}</p>` : ''}
193
- ${preparedBy ? `<p>Prepared by ${esc(preparedBy)}</p>` : ''}
194
- <p>Deal ID ${esc(fm.deal_id ?? 'n/a')} · .uw.md v${esc(fm.uw_version ?? '1.1')}</p>
195
- </div>
185
+ return `<section class="rpt-cover" id="rpt-cover">
186
+ <div class="rpt-cover-rule"></div>
187
+ <p class="rpt-cover-doc">${esc(docName)}</p>
188
+ <h1>${esc(fm.deal_name ?? 'Untitled Deal')}</h1>
189
+ ${address ? `<p class="rpt-cover-address">${esc(address)}</p>` : ''}
190
+ <div class="rpt-cover-facts">${facts}</div>
191
+ <div class="rpt-cover-foot">
192
+ ${date ? `<p>Prepared ${esc(String(date).slice(0, 10))}</p>` : ''}
193
+ ${preparedBy ? `<p>Prepared by ${esc(preparedBy)}</p>` : ''}
194
+ <p>Deal ID ${esc(fm.deal_id ?? 'n/a')} · .uw.md v${esc(fm.uw_version ?? '1.1')}</p>
195
+ </div>
196
196
  </section>`;
197
197
  }
198
198
  function prettyToken(s) {
@@ -229,10 +229,10 @@ function executiveSummary(ctx) {
229
229
  ? `<p class="rpt-flags">${blocking.map((f) => badge(prettyToken(f), 'error')).join(' ')} ${flags.map((f) => badge(prettyToken(f), 'warn')).join(' ')}</p>`
230
230
  : '';
231
231
  const statusLine = `<p class="rpt-status">Stage: <strong>${esc(prettyToken(String(fm.deal_stage ?? 'draft')))}</strong> · Recommendation: <strong>${esc(prettyToken(String(fm.recommendation ?? 'pending')))}</strong> · Validation: <strong>${esc(validation.overall_status.toUpperCase())}</strong></p>`;
232
- return section('executive_summary', 'Executive Summary', `${summaryTxt ? proseHtml(summaryTxt) : ''}
233
- <div class="rpt-metric-grid">${grid}</div>
234
- ${thesis ? `<h3>Investment Thesis</h3>${proseHtml(thesis)}` : ''}
235
- ${statusLine}
232
+ return section('executive_summary', 'Executive Summary', `${summaryTxt ? proseHtml(summaryTxt) : ''}
233
+ <div class="rpt-metric-grid">${grid}</div>
234
+ ${thesis ? `<h3>Investment Thesis</h3>${proseHtml(thesis)}` : ''}
235
+ ${statusLine}
236
236
  ${flagHtml}`);
237
237
  }
238
238
  // ─── §7.1 / 3 — Property Overview ────────────────────────────────────────────
@@ -264,8 +264,8 @@ function propertyOverview(ctx) {
264
264
  const amenityHtml = amenities?.length
265
265
  ? `<p class="rpt-amenities">${amenities.map((a) => badge(prettyToken(a))).join(' ')}</p>`
266
266
  : '';
267
- return section('property', 'Property Overview', `${proseHtml(prose)}
268
- <div class="rpt-cols">${left}${right}</div>
267
+ return section('property', 'Property Overview', `${proseHtml(prose)}
268
+ <div class="rpt-cols">${left}${right}</div>
269
269
  ${amenityHtml}`);
270
270
  }
271
271
  // ─── §7.1 / 4 — Proforma / Cash Flow (noi_model) ─────────────────────────────
@@ -306,10 +306,10 @@ function proforma(ctx) {
306
306
  }
307
307
  const table = dataTable([{ label: 'Line Item' }, { label: 'Underwritten', align: 'right' }], rows);
308
308
  // EGI / OpEx / NOI rendered as emphasized total rows
309
- const totals = `<table class="rpt-table rpt-totals"><tbody>
310
- <tr class="rpt-total-row"><td>Effective Gross Income</td><td class="al-right">${esc(money(num(c, 'income.effective_gross_income')))}</td></tr>
311
- <tr class="rpt-total-row"><td>Total Operating Expenses</td><td class="al-right">(${esc(money(num(c, 'expenses.total_operating_expenses')))})</td></tr>
312
- <tr class="rpt-total-row rpt-noi-row"><td>Net Operating Income</td><td class="al-right">${esc(money(deepGet(c, 'net_operating_income')))}</td></tr>
309
+ const totals = `<table class="rpt-table rpt-totals"><tbody>
310
+ <tr class="rpt-total-row"><td>Effective Gross Income</td><td class="al-right">${esc(money(num(c, 'income.effective_gross_income')))}</td></tr>
311
+ <tr class="rpt-total-row"><td>Total Operating Expenses</td><td class="al-right">(${esc(money(num(c, 'expenses.total_operating_expenses')))})</td></tr>
312
+ <tr class="rpt-total-row rpt-noi-row"><td>Net Operating Income</td><td class="al-right">${esc(money(deepGet(c, 'net_operating_income')))}</td></tr>
313
313
  </tbody></table>`;
314
314
  const stats = kvTable([
315
315
  ['NOI per unit', money(deepGet(c, 'noi_per_unit'))],
@@ -318,10 +318,10 @@ function proforma(ctx) {
318
318
  ['Expense ratio', pct(deepGet(c, 'expenses.expense_ratio') ?? deepGet(c, 'expense_ratio'))],
319
319
  ['vs. T-12 NOI', has(deepGet(c, 'vs_t12_noi')) ? `${money(deepGet(c, 'vs_t12_noi'))} (${pct(deepGet(c, 'vs_t12_variance_pct'))})` : 'n/a'],
320
320
  ], 'rpt-kv--compact');
321
- return section('noi_model', 'Proforma / Underwritten Cash Flow', `${proseHtml(prose)}
322
- <div class="rpt-cols rpt-cols--proforma">
323
- <div>${table}${totals}</div>
324
- <div>${stats}</div>
321
+ return section('noi_model', 'Proforma / Underwritten Cash Flow', `${proseHtml(prose)}
322
+ <div class="rpt-cols rpt-cols--proforma">
323
+ <div>${table}${totals}</div>
324
+ <div>${stats}</div>
325
325
  </div>`);
326
326
  }
327
327
  function nonZero(v) {
@@ -517,9 +517,9 @@ function borrowerSummary(ctx) {
517
517
  const verifiedNote = verified === false
518
518
  ? `<p class="rpt-note">${badge('Figures stated, not yet verified', 'warn')}</p>`
519
519
  : '';
520
- return section('borrower_sponsor', 'Borrower Summary', `${proseHtml(narrative)}
521
- ${principalTable}
522
- <div class="rpt-cols">${finTable}${trackTable}</div>
520
+ return section('borrower_sponsor', 'Borrower Summary', `${proseHtml(narrative)}
521
+ ${principalTable}
522
+ <div class="rpt-cols">${finTable}${trackTable}</div>
523
523
  ${verifiedNote}`);
524
524
  }
525
525
  // ─── §7.1 / 9 — Exit Analysis ────────────────────────────────────────────────
@@ -590,7 +590,7 @@ function assumptionsDisclosures(ctx) {
590
590
  .join('');
591
591
  table = `<table class="rpt-table"><thead><tr>${head.map((c) => `<th class="al-${c.align ?? 'left'}">${esc(c.label)}</th>`).join('')}</tr></thead><tbody>${body}</tbody></table>`;
592
592
  }
593
- return section('assumptions', 'Assumptions & Disclosures', `${table}
593
+ return section('assumptions', 'Assumptions & Disclosures', `${table}
594
594
  <div class="rpt-disclaimer"><h3>Disclosures</h3><p>${esc(disclaimer)}</p></div>`);
595
595
  }
596
596
  // ─── §7.2 — Credit Memo additions ────────────────────────────────────────────
@@ -798,127 +798,127 @@ function appendix(ctx) {
798
798
  }
799
799
  // ─── Stylesheet ───────────────────────────────────────────────────────────────
800
800
  // Exported so fragment-mode hosts (web editor preview) can include it once.
801
- export const REPORT_CSS = `
802
- :root {
803
- --rpt-ink: #1a2332;
804
- --rpt-muted: #5b6b7f;
805
- --rpt-accent: #1e3a5f;
806
- --rpt-accent-soft: #eef2f7;
807
- --rpt-rule: #d7dee8;
808
- --rpt-ok: #1d6f42;
809
- --rpt-warn: #8a6d1a;
810
- --rpt-error: #9b2226;
811
- --rpt-paper: #ffffff;
812
- }
813
- .uwmd-report {
814
- font-family: "Source Sans 3", "Segoe UI", system-ui, -apple-system, sans-serif;
815
- color: var(--rpt-ink);
816
- background: var(--rpt-paper);
817
- max-width: 52rem;
818
- margin: 0 auto;
819
- padding: 2rem 2.5rem;
820
- font-size: 0.875rem;
821
- line-height: 1.55;
822
- }
823
- .uwmd-report h1, .uwmd-report h2, .uwmd-report h3 {
824
- font-family: Georgia, "Times New Roman", serif;
825
- color: var(--rpt-accent);
826
- font-weight: 600;
827
- margin: 0;
828
- }
829
- .uwmd-report h3 { font-size: 0.95rem; margin: 1.1rem 0 0.4rem; }
830
-
831
- /* Cover */
832
- .rpt-cover { padding: 5rem 0 3rem; }
833
- .rpt-cover-rule { height: 4px; width: 4.5rem; background: var(--rpt-accent); margin-bottom: 2.25rem; }
834
- .rpt-cover-doc {
835
- text-transform: uppercase; letter-spacing: 0.22em; font-size: 0.72rem;
836
- color: var(--rpt-muted); margin: 0 0 0.6rem;
837
- }
838
- .rpt-cover h1 { font-size: 2.1rem; line-height: 1.15; }
839
- .rpt-cover-address { color: var(--rpt-muted); font-size: 1rem; margin: 0.5rem 0 2.5rem; }
840
- .rpt-cover-facts {
841
- display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px;
842
- background: var(--rpt-rule); border: 1px solid var(--rpt-rule); margin-bottom: 3rem;
843
- }
844
- .rpt-cover-fact { background: var(--rpt-paper); padding: 0.7rem 0.9rem; }
845
- .rpt-cover-fact span { display: block; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--rpt-muted); }
846
- .rpt-cover-fact strong { font-size: 1rem; font-variant-numeric: tabular-nums; }
847
- .rpt-cover-foot { color: var(--rpt-muted); font-size: 0.78rem; }
848
- .rpt-cover-foot p { margin: 0.15rem 0; }
849
-
850
- /* Sections */
851
- .rpt-section { margin: 2.25rem 0; }
852
- .rpt-section-head { border-bottom: 2px solid var(--rpt-accent); padding-bottom: 0.35rem; margin-bottom: 0.9rem; }
853
- .rpt-section-head h2 { font-size: 1.25rem; }
854
- .rpt-subtitle { color: var(--rpt-muted); font-size: 0.78rem; margin: 0.2rem 0 0; }
855
- .rpt-prose { margin: 0.5rem 0; }
856
- .rpt-status, .rpt-note { font-size: 0.82rem; color: var(--rpt-muted); margin: 0.6rem 0 0; }
857
- .rpt-flags { margin: 0.5rem 0 0; }
858
- .rpt-list { margin: 0.3rem 0 0 1.1rem; padding: 0; }
859
- .rpt-list li { margin: 0.25rem 0; }
860
-
861
- /* Metric grid */
862
- .rpt-metric-grid {
863
- display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px;
864
- background: var(--rpt-rule); border: 1px solid var(--rpt-rule); margin: 0.9rem 0;
865
- }
866
- .rpt-metric { background: var(--rpt-accent-soft); padding: 0.65rem 0.85rem; }
867
- .rpt-metric span { display: block; font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--rpt-muted); }
868
- .rpt-metric strong { font-size: 1.05rem; font-variant-numeric: tabular-nums; color: var(--rpt-accent); }
869
-
870
- /* Tables */
871
- .uwmd-report table { border-collapse: collapse; width: 100%; margin: 0.6rem 0; font-variant-numeric: tabular-nums; }
872
- .rpt-table th, .rpt-table td { padding: 0.32rem 0.55rem; border-bottom: 1px solid var(--rpt-rule); }
873
- .rpt-table thead th {
874
- background: var(--rpt-accent); color: #fff; font-size: 0.7rem; text-transform: uppercase;
875
- letter-spacing: 0.06em; text-align: left; font-weight: 600;
876
- }
877
- .rpt-table tbody tr:nth-child(even) { background: #f7f9fc; }
878
- .rpt-table tfoot td { font-weight: 700; border-top: 2px solid var(--rpt-accent); border-bottom: none; }
879
- .al-right { text-align: right; }
880
- .al-center { text-align: center; }
881
- .al-left { text-align: left; }
882
- .rpt-kv th { text-align: left; font-weight: 600; color: var(--rpt-muted); width: 46%; padding: 0.28rem 0.55rem 0.28rem 0; border-bottom: 1px solid var(--rpt-rule); font-size: 0.8rem; }
883
- .rpt-kv td { padding: 0.28rem 0; border-bottom: 1px solid var(--rpt-rule); }
884
- .rpt-kv--compact th, .rpt-kv--compact td { font-size: 0.78rem; padding-top: 0.22rem; padding-bottom: 0.22rem; }
885
- .rpt-totals { margin-top: -0.4rem; }
886
- .rpt-total-row td { font-weight: 700; padding: 0.32rem 0.55rem; border-bottom: 1px solid var(--rpt-rule); }
887
- .rpt-noi-row td { border-top: 2px solid var(--rpt-accent); font-size: 0.95rem; color: var(--rpt-accent); }
888
- .rpt-basis { font-size: 0.74rem; color: var(--rpt-muted); }
889
-
890
- /* Layout */
891
- .rpt-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.6rem; align-items: start; }
892
- .rpt-cols--proforma { grid-template-columns: 3fr 2fr; }
893
- @media (max-width: 640px) { .rpt-cols, .rpt-cols--proforma { grid-template-columns: 1fr; } }
894
-
895
- /* Badges */
896
- .rpt-badge {
897
- display: inline-block; font-size: 0.66rem; font-weight: 600; letter-spacing: 0.04em;
898
- padding: 0.12rem 0.5rem; border-radius: 999px; border: 1px solid var(--rpt-rule);
899
- background: var(--rpt-accent-soft); color: var(--rpt-muted); margin: 0.1rem 0;
900
- }
901
- .rpt-badge--ok { color: var(--rpt-ok); border-color: #bcd9c8; background: #ecf6f0; }
902
- .rpt-badge--warn { color: var(--rpt-warn); border-color: #e4d5a3; background: #faf5e3; }
903
- .rpt-badge--error { color: var(--rpt-error); border-color: #e5b4b6; background: #fbeaeb; }
904
- .rpt-badge--info { color: var(--rpt-accent); border-color: #c3d2e4; background: var(--rpt-accent-soft); }
905
-
906
- /* Disclaimer */
907
- .rpt-disclaimer { margin-top: 1.2rem; padding: 0.9rem 1.1rem; background: var(--rpt-accent-soft); border-left: 3px solid var(--rpt-accent); }
908
- .rpt-disclaimer h3 { margin-top: 0; }
909
- .rpt-disclaimer p { font-size: 0.76rem; color: var(--rpt-muted); margin: 0.3rem 0 0; }
910
- .rpt-amenities { margin: 0.6rem 0 0; }
911
-
912
- /* Print */
913
- @page { size: letter; margin: 0.75in; }
914
- @media print {
915
- .uwmd-report { max-width: none; padding: 0; font-size: 10pt; }
916
- .rpt-cover { page-break-after: always; padding-top: 2.5in; }
917
- .rpt-section { break-inside: avoid-page; margin: 1.4rem 0; }
918
- .rpt-section-head { break-after: avoid-page; }
919
- .rpt-table thead th { background: var(--rpt-accent) !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
920
- .rpt-metric, .rpt-disclaimer, .rpt-badge { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
921
- a { color: inherit; text-decoration: none; }
922
- }
801
+ export const REPORT_CSS = `
802
+ :root {
803
+ --rpt-ink: #1a2332;
804
+ --rpt-muted: #5b6b7f;
805
+ --rpt-accent: #1e3a5f;
806
+ --rpt-accent-soft: #eef2f7;
807
+ --rpt-rule: #d7dee8;
808
+ --rpt-ok: #1d6f42;
809
+ --rpt-warn: #8a6d1a;
810
+ --rpt-error: #9b2226;
811
+ --rpt-paper: #ffffff;
812
+ }
813
+ .uwmd-report {
814
+ font-family: "Source Sans 3", "Segoe UI", system-ui, -apple-system, sans-serif;
815
+ color: var(--rpt-ink);
816
+ background: var(--rpt-paper);
817
+ max-width: 52rem;
818
+ margin: 0 auto;
819
+ padding: 2rem 2.5rem;
820
+ font-size: 0.875rem;
821
+ line-height: 1.55;
822
+ }
823
+ .uwmd-report h1, .uwmd-report h2, .uwmd-report h3 {
824
+ font-family: Georgia, "Times New Roman", serif;
825
+ color: var(--rpt-accent);
826
+ font-weight: 600;
827
+ margin: 0;
828
+ }
829
+ .uwmd-report h3 { font-size: 0.95rem; margin: 1.1rem 0 0.4rem; }
830
+
831
+ /* Cover */
832
+ .rpt-cover { padding: 5rem 0 3rem; }
833
+ .rpt-cover-rule { height: 4px; width: 4.5rem; background: var(--rpt-accent); margin-bottom: 2.25rem; }
834
+ .rpt-cover-doc {
835
+ text-transform: uppercase; letter-spacing: 0.22em; font-size: 0.72rem;
836
+ color: var(--rpt-muted); margin: 0 0 0.6rem;
837
+ }
838
+ .rpt-cover h1 { font-size: 2.1rem; line-height: 1.15; }
839
+ .rpt-cover-address { color: var(--rpt-muted); font-size: 1rem; margin: 0.5rem 0 2.5rem; }
840
+ .rpt-cover-facts {
841
+ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px;
842
+ background: var(--rpt-rule); border: 1px solid var(--rpt-rule); margin-bottom: 3rem;
843
+ }
844
+ .rpt-cover-fact { background: var(--rpt-paper); padding: 0.7rem 0.9rem; }
845
+ .rpt-cover-fact span { display: block; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--rpt-muted); }
846
+ .rpt-cover-fact strong { font-size: 1rem; font-variant-numeric: tabular-nums; }
847
+ .rpt-cover-foot { color: var(--rpt-muted); font-size: 0.78rem; }
848
+ .rpt-cover-foot p { margin: 0.15rem 0; }
849
+
850
+ /* Sections */
851
+ .rpt-section { margin: 2.25rem 0; }
852
+ .rpt-section-head { border-bottom: 2px solid var(--rpt-accent); padding-bottom: 0.35rem; margin-bottom: 0.9rem; }
853
+ .rpt-section-head h2 { font-size: 1.25rem; }
854
+ .rpt-subtitle { color: var(--rpt-muted); font-size: 0.78rem; margin: 0.2rem 0 0; }
855
+ .rpt-prose { margin: 0.5rem 0; }
856
+ .rpt-status, .rpt-note { font-size: 0.82rem; color: var(--rpt-muted); margin: 0.6rem 0 0; }
857
+ .rpt-flags { margin: 0.5rem 0 0; }
858
+ .rpt-list { margin: 0.3rem 0 0 1.1rem; padding: 0; }
859
+ .rpt-list li { margin: 0.25rem 0; }
860
+
861
+ /* Metric grid */
862
+ .rpt-metric-grid {
863
+ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px;
864
+ background: var(--rpt-rule); border: 1px solid var(--rpt-rule); margin: 0.9rem 0;
865
+ }
866
+ .rpt-metric { background: var(--rpt-accent-soft); padding: 0.65rem 0.85rem; }
867
+ .rpt-metric span { display: block; font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--rpt-muted); }
868
+ .rpt-metric strong { font-size: 1.05rem; font-variant-numeric: tabular-nums; color: var(--rpt-accent); }
869
+
870
+ /* Tables */
871
+ .uwmd-report table { border-collapse: collapse; width: 100%; margin: 0.6rem 0; font-variant-numeric: tabular-nums; }
872
+ .rpt-table th, .rpt-table td { padding: 0.32rem 0.55rem; border-bottom: 1px solid var(--rpt-rule); }
873
+ .rpt-table thead th {
874
+ background: var(--rpt-accent); color: #fff; font-size: 0.7rem; text-transform: uppercase;
875
+ letter-spacing: 0.06em; text-align: left; font-weight: 600;
876
+ }
877
+ .rpt-table tbody tr:nth-child(even) { background: #f7f9fc; }
878
+ .rpt-table tfoot td { font-weight: 700; border-top: 2px solid var(--rpt-accent); border-bottom: none; }
879
+ .al-right { text-align: right; }
880
+ .al-center { text-align: center; }
881
+ .al-left { text-align: left; }
882
+ .rpt-kv th { text-align: left; font-weight: 600; color: var(--rpt-muted); width: 46%; padding: 0.28rem 0.55rem 0.28rem 0; border-bottom: 1px solid var(--rpt-rule); font-size: 0.8rem; }
883
+ .rpt-kv td { padding: 0.28rem 0; border-bottom: 1px solid var(--rpt-rule); }
884
+ .rpt-kv--compact th, .rpt-kv--compact td { font-size: 0.78rem; padding-top: 0.22rem; padding-bottom: 0.22rem; }
885
+ .rpt-totals { margin-top: -0.4rem; }
886
+ .rpt-total-row td { font-weight: 700; padding: 0.32rem 0.55rem; border-bottom: 1px solid var(--rpt-rule); }
887
+ .rpt-noi-row td { border-top: 2px solid var(--rpt-accent); font-size: 0.95rem; color: var(--rpt-accent); }
888
+ .rpt-basis { font-size: 0.74rem; color: var(--rpt-muted); }
889
+
890
+ /* Layout */
891
+ .rpt-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.6rem; align-items: start; }
892
+ .rpt-cols--proforma { grid-template-columns: 3fr 2fr; }
893
+ @media (max-width: 640px) { .rpt-cols, .rpt-cols--proforma { grid-template-columns: 1fr; } }
894
+
895
+ /* Badges */
896
+ .rpt-badge {
897
+ display: inline-block; font-size: 0.66rem; font-weight: 600; letter-spacing: 0.04em;
898
+ padding: 0.12rem 0.5rem; border-radius: 999px; border: 1px solid var(--rpt-rule);
899
+ background: var(--rpt-accent-soft); color: var(--rpt-muted); margin: 0.1rem 0;
900
+ }
901
+ .rpt-badge--ok { color: var(--rpt-ok); border-color: #bcd9c8; background: #ecf6f0; }
902
+ .rpt-badge--warn { color: var(--rpt-warn); border-color: #e4d5a3; background: #faf5e3; }
903
+ .rpt-badge--error { color: var(--rpt-error); border-color: #e5b4b6; background: #fbeaeb; }
904
+ .rpt-badge--info { color: var(--rpt-accent); border-color: #c3d2e4; background: var(--rpt-accent-soft); }
905
+
906
+ /* Disclaimer */
907
+ .rpt-disclaimer { margin-top: 1.2rem; padding: 0.9rem 1.1rem; background: var(--rpt-accent-soft); border-left: 3px solid var(--rpt-accent); }
908
+ .rpt-disclaimer h3 { margin-top: 0; }
909
+ .rpt-disclaimer p { font-size: 0.76rem; color: var(--rpt-muted); margin: 0.3rem 0 0; }
910
+ .rpt-amenities { margin: 0.6rem 0 0; }
911
+
912
+ /* Print */
913
+ @page { size: letter; margin: 0.75in; }
914
+ @media print {
915
+ .uwmd-report { max-width: none; padding: 0; font-size: 10pt; }
916
+ .rpt-cover { page-break-after: always; padding-top: 2.5in; }
917
+ .rpt-section { break-inside: avoid-page; margin: 1.4rem 0; }
918
+ .rpt-section-head { break-after: avoid-page; }
919
+ .rpt-table thead th { background: var(--rpt-accent) !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
920
+ .rpt-metric, .rpt-disclaimer, .rpt-badge { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
921
+ a { color: inherit; text-decoration: none; }
922
+ }
923
923
  `;
924
924
  //# sourceMappingURL=report.js.map
package/dist/types.d.ts CHANGED
@@ -10,7 +10,22 @@ export type DealStage = 'scope' | 'screening' | 'term_sheet' | 'full_underwrite'
10
10
  *
11
11
  * Cascade-resolved values use the lower seven tags below; see protocol §IX.
12
12
  */
13
- export type SourceTag = 'user_input' | 'user_override' | 'manual' | 'investor_profile' | 'market_data' | 'ai_extracted' | 'agent_computed' | 'asset_class_default' | 'scenario_default' | 'global_default' | 'system_default' | (string & {});
13
+ export type SourceTag = 'user_input' | 'user_override' | 'manual'
14
+ /**
15
+ * A value inherited from an ancestor in the composition DAG (RFC 0021 §5).
16
+ * Always carries `_meta.inherited_from` naming the asserting document, so it
17
+ * is traceable rather than ambient.
18
+ */
19
+ | 'inherited_assumption' | 'investor_profile' | 'market_data'
20
+ /**
21
+ * A market observation an analyst explicitly accepted as the underwritten
22
+ * value (RFC 0022 §4). Deliberately distinct from `user_input`: a value
23
+ * accepted for lack of better evidence and a value established by diligence
24
+ * are different claims, and a file that renders them identically has
25
+ * destroyed something a credit reviewer needs. Consumers that do not
26
+ * recognize this tag MUST NOT rewrite it to `user_input`.
27
+ */
28
+ | 'market_data_accepted' | 'ai_extracted' | 'agent_computed' | 'asset_class_default' | 'scenario_default' | 'global_default' | 'system_default' | (string & {});
14
29
  export type AssetClass = 'multifamily' | 'office' | 'retail' | 'industrial' | 'self_storage' | 'hospitality' | 'mixed_use' | 'senior_housing' | 'student_housing' | 'land';
15
30
  /**
16
31
  * Every v1 asset class, as a runtime list. Derived from {@link AssetClass} via
@@ -72,6 +87,44 @@ export interface UWMeta {
72
87
  * in that chain MUST.
73
88
  */
74
89
  parent_hash?: string | null;
90
+ /**
91
+ * Which observation set a `market_data_accepted` value was promoted from
92
+ * (RFC 0022 §4). REQUIRED whenever `source` is `market_data_accepted`, and
93
+ * meaningless otherwise.
94
+ *
95
+ * Without it, "accepted from market data" is an unfalsifiable claim: a
96
+ * reviewer could see the tag but never recover *which* observations, of which
97
+ * vintage, were accepted — the exact gap RFC 0022 exists to close.
98
+ */
99
+ market_data_ref?: MarketDataRef;
100
+ /**
101
+ * Which ancestor asserted an `inherited_assumption` value (RFC 0021 §5).
102
+ * REQUIRED whenever `source` is `inherited_assumption`, and meaningless
103
+ * otherwise — an inherited value with no named ancestor is indistinguishable
104
+ * from an ambient default, which is exactly what §5 forbids.
105
+ */
106
+ inherited_from?: InheritedFrom;
107
+ }
108
+ /** Identity and digest of the ancestor that asserted an inherited value. */
109
+ export interface InheritedFrom {
110
+ document_id: string;
111
+ /** `sha256:<64 lowercase hex>` over the ancestor's canonical form. */
112
+ digest: string;
113
+ /** Hops up the composition DAG; 1 is the immediate parent. */
114
+ distance: number;
115
+ }
116
+ /**
117
+ * Identity, vintage, and digest of the observation set a value was promoted
118
+ * from. The digest is what makes it checkable rather than merely stated.
119
+ */
120
+ export interface MarketDataRef {
121
+ document_id: string;
122
+ /** ISO `YYYY-MM-DD`, copied from the observation set. */
123
+ as_of: string;
124
+ /** `sha256:<64 lowercase hex>` over the observation set's canonical form. */
125
+ digest: string;
126
+ /** Why this observation was accepted as the underwritten value. */
127
+ rationale?: string;
75
128
  }
76
129
  export interface UWFenceAnnotation {
77
130
  section: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAExD,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE3F,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9D,MAAM,MAAM,SAAS,GACjB,OAAO,GACP,WAAW,GACX,YAAY,GACZ,iBAAiB,GACjB,iBAAiB,GACjB,SAAS,GACT,YAAY,CAAC;AAEjB;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GACjB,YAAY,GACZ,eAAe,GACf,QAAQ,GACR,kBAAkB,GAClB,aAAa,GACb,cAAc,GACd,gBAAgB,GAChB,qBAAqB,GACrB,kBAAkB,GAClB,gBAAgB,GAChB,gBAAgB,GAChB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,MAAM,UAAU,GAClB,aAAa,GACb,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,cAAc,GACd,aAAa,GACb,WAAW,GACX,gBAAgB,GAChB,iBAAiB,GACjB,MAAM,CAAC;AA4BX;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,UAAU,EAE9C,CAAC;AAIF,MAAM,WAAW,eAAe;IAC9B,4FAA4F;IAC5F,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU,CAAC;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,eAAe,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAIrB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,EAAE,CAAC;IAEpC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAID,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACtD;AAID,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAClF,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,eAAe,CAAC,EAAE,cAAc,CAAC;IACjC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,cAAc,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAC1C;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAID,MAAM,WAAW,cAAc;IAG7B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CAC/D;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,aAAa,CAAC;IAC3B,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACvC,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,mBAAmB,EAAE,OAAO,EAAE,CAAC;IAC/B,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5B,UAAU,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC/C,UAAU,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE,CAAA;KAAE,CAAC;IAC/C,GAAG,EAAE,MAAM,CAAC;CACb;AAID,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC7D,eAAe,EAAE,cAAc,CAAC;IAChC,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,IAAI,EAAE,iBAAiB,EAAE,CAAC;CAC3B;AAGD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,GAAG,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,UAAU,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,QAAQ,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,YAAY,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,UAAU,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,GAAG,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,eAAe,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,kBAAkB,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,GAAG,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACrD;AAED,eAAO,MAAM,kBAAkB,EAAE,mBAWhC,CAAC;AAIF,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC3C;AAID,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAExD,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE3F,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9D,MAAM,MAAM,SAAS,GACjB,OAAO,GACP,WAAW,GACX,YAAY,GACZ,iBAAiB,GACjB,iBAAiB,GACjB,SAAS,GACT,YAAY,CAAC;AAEjB;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GACjB,YAAY,GACZ,eAAe,GACf,QAAQ;AACV;;;;GAIG;GACD,sBAAsB,GACtB,kBAAkB,GAClB,aAAa;AACf;;;;;;;GAOG;GACD,sBAAsB,GACtB,cAAc,GACd,gBAAgB,GAChB,qBAAqB,GACrB,kBAAkB,GAClB,gBAAgB,GAChB,gBAAgB,GAChB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,MAAM,UAAU,GAClB,aAAa,GACb,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,cAAc,GACd,aAAa,GACb,WAAW,GACX,gBAAgB,GAChB,iBAAiB,GACjB,MAAM,CAAC;AA4BX;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,UAAU,EAE9C,CAAC;AAIF,MAAM,WAAW,eAAe;IAC9B,4FAA4F;IAC5F,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU,CAAC;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,eAAe,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAIrB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,EAAE,CAAC;IAEpC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC;IAEhC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAED,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACtD;AAID,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAClF,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,eAAe,CAAC,EAAE,cAAc,CAAC;IACjC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,cAAc,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAC1C;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAID,MAAM,WAAW,cAAc;IAG7B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CAC/D;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,aAAa,CAAC;IAC3B,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACvC,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,mBAAmB,EAAE,OAAO,EAAE,CAAC;IAC/B,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5B,UAAU,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC/C,UAAU,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE,CAAA;KAAE,CAAC;IAC/C,GAAG,EAAE,MAAM,CAAC;CACb;AAID,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC7D,eAAe,EAAE,cAAc,CAAC;IAChC,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,IAAI,EAAE,iBAAiB,EAAE,CAAC;CAC3B;AAGD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,GAAG,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,UAAU,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,QAAQ,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,YAAY,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,UAAU,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,GAAG,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,eAAe,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,kBAAkB,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,GAAG,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACrD;AAED,eAAO,MAAM,kBAAkB,EAAE,mBAWhC,CAAC;AAIF,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC3C;AAID,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,kCAAkC;AAmDlC;;;;;;;;;;;;GAYG;AACH,MAAM,mBAAmB,GAA6B;IACpD,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,IAAI;IACrB,IAAI,EAAE,IAAI;CACX,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAA0B,MAAM,CAAC,MAAM,CAC/D,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAiB,CACjD,CAAC;AA4NF,MAAM,CAAC,MAAM,kBAAkB,GAAwB;IACrD,IAAI,EAAe,EAAE,WAAW,EAAE,GAAG,EAAG,aAAa,EAAE,GAAG,EAAE;IAC5D,GAAG,EAAgB,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;IAC7D,UAAU,EAAS,EAAE,aAAa,EAAE,IAAI,EAAE;IAC1C,QAAQ,EAAW,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAC/D,YAAY,EAAO,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAC/D,UAAU,EAAS,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAC/D,GAAG,EAAgB,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAC/D,eAAe,EAAI,EAAE,aAAa,EAAE,GAAG,EAAG,aAAa,EAAE,GAAG,EAAE;IAC9D,kBAAkB,EAAC,EAAE,aAAa,EAAE,IAAI,EAAE;IAC1C,GAAG,EAAgB,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;CAC9D,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,kCAAkC;AAkElC;;;;;;;;;;;;GAYG;AACH,MAAM,mBAAmB,GAA6B;IACpD,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,IAAI;IACrB,IAAI,EAAE,IAAI;CACX,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAA0B,MAAM,CAAC,MAAM,CAC/D,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAiB,CACjD,CAAC;AAsQF,MAAM,CAAC,MAAM,kBAAkB,GAAwB;IACrD,IAAI,EAAe,EAAE,WAAW,EAAE,GAAG,EAAG,aAAa,EAAE,GAAG,EAAE;IAC5D,GAAG,EAAgB,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;IAC7D,UAAU,EAAS,EAAE,aAAa,EAAE,IAAI,EAAE;IAC1C,QAAQ,EAAW,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAC/D,YAAY,EAAO,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAC/D,UAAU,EAAS,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAC/D,GAAG,EAAgB,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAC/D,eAAe,EAAI,EAAE,aAAa,EAAE,GAAG,EAAG,aAAa,EAAE,GAAG,EAAE;IAC9D,kBAAkB,EAAC,EAAE,aAAa,EAAE,IAAI,EAAE;IAC1C,GAAG,EAAgB,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE;CAC9D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EAEnB,SAAS,EACV,MAAM,YAAY,CAAC;AAIpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAgB5E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAE5E;AA4CD;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAYlE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,MAAM,EAAE,CAEvE;AAqBD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,EACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAChD,gBAAgB,CAiClB;AAuYD,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC3C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,iBAAiB,EAAE,EAC3B,IAAI,GAAE,kBAAuB,GAC5B,IAAI,CAgFN"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EAEnB,SAAS,EACV,MAAM,YAAY,CAAC;AAIpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAgB5E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAE5E;AA4CD;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAYlE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,MAAM,EAAE,CAEvE;AAqBD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,YAAY,EACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAChD,gBAAgB,CAmClB;AA6oBD,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC3C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,iBAAiB,EAAE,EAC3B,IAAI,GAAE,kBAAuB,GAC5B,IAAI,CAkGN"}