@calibrate-ds/core 0.1.54 → 0.1.66

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 (50) hide show
  1. package/dist/context/export-context.d.ts +6 -0
  2. package/dist/context/export-context.d.ts.map +1 -1
  3. package/dist/context/export-context.js +9 -5
  4. package/dist/context/export-context.js.map +1 -1
  5. package/dist/context/get-component-context.d.ts.map +1 -1
  6. package/dist/context/get-component-context.js +88 -14
  7. package/dist/context/get-component-context.js.map +1 -1
  8. package/dist/icons/enrich-icon-svgs.d.ts +5 -0
  9. package/dist/icons/enrich-icon-svgs.d.ts.map +1 -1
  10. package/dist/icons/enrich-icon-svgs.js +4 -1
  11. package/dist/icons/enrich-icon-svgs.js.map +1 -1
  12. package/dist/mappings/naming-strategy.d.ts +19 -0
  13. package/dist/mappings/naming-strategy.d.ts.map +1 -1
  14. package/dist/mappings/naming-strategy.js +26 -0
  15. package/dist/mappings/naming-strategy.js.map +1 -1
  16. package/dist/normalizer/instance-resolver.d.ts +1 -1
  17. package/dist/normalizer/instance-resolver.d.ts.map +1 -1
  18. package/dist/normalizer/instance-resolver.js +57 -12
  19. package/dist/normalizer/instance-resolver.js.map +1 -1
  20. package/dist/normalizer/layout-tree.d.ts.map +1 -1
  21. package/dist/normalizer/layout-tree.js +2 -1
  22. package/dist/normalizer/layout-tree.js.map +1 -1
  23. package/dist/normalizer/normalize-components.d.ts.map +1 -1
  24. package/dist/normalizer/normalize-components.js +51 -1
  25. package/dist/normalizer/normalize-components.js.map +1 -1
  26. package/dist/prompt/generate-component-prompt.d.ts.map +1 -1
  27. package/dist/prompt/generate-component-prompt.js +43 -17
  28. package/dist/prompt/generate-component-prompt.js.map +1 -1
  29. package/dist/thumbnails/enrich-thumbnails.d.ts.map +1 -1
  30. package/dist/thumbnails/enrich-thumbnails.js +47 -9
  31. package/dist/thumbnails/enrich-thumbnails.js.map +1 -1
  32. package/dist/tokens/resolution.d.ts +7 -0
  33. package/dist/tokens/resolution.d.ts.map +1 -1
  34. package/dist/tokens/resolution.js +17 -2
  35. package/dist/tokens/resolution.js.map +1 -1
  36. package/dist/verify/index.d.ts +3 -1
  37. package/dist/verify/index.d.ts.map +1 -1
  38. package/dist/verify/index.js +2 -1
  39. package/dist/verify/index.js.map +1 -1
  40. package/dist/verify/pixel-diff.d.ts +7 -0
  41. package/dist/verify/pixel-diff.d.ts.map +1 -1
  42. package/dist/verify/pixel-diff.js +25 -0
  43. package/dist/verify/pixel-diff.js.map +1 -1
  44. package/dist/verify/types.d.ts +23 -0
  45. package/dist/verify/types.d.ts.map +1 -1
  46. package/dist/verify/verdict.d.ts +25 -0
  47. package/dist/verify/verdict.d.ts.map +1 -0
  48. package/dist/verify/verdict.js +43 -0
  49. package/dist/verify/verdict.js.map +1 -0
  50. package/package.json +3 -3
@@ -17,4 +17,23 @@ export declare function createNamingStrategy(config: NamingConfig): {
17
17
  * regardless of how the designer spelled the name in Figma.
18
18
  */
19
19
  export declare function normalizeIconDisplayName(rawName: string): string;
20
+ /**
21
+ * GAP-027: the single canonical React component identifier used by every layer
22
+ * that derives a JSX tag / import name / invocation hint OUTSIDE the config-aware
23
+ * generator (the normalizer and prompt layers receive no NamingConfig). It is
24
+ * icon-aware — matching `formatComponentName(normalizeIconDisplayName(name))` in
25
+ * the generator — and produces PascalCase, matching the default componentCase.
26
+ *
27
+ * Every downstream consumer must route through this (or the config-aware
28
+ * `createNamingStrategy(...).formatComponentName`) instead of re-slugging the raw
29
+ * Figma name locally, which previously produced drift like `TicketTC` vs the real
30
+ * export `TicketTc`, or `chevron-down16x16` vs the dir `chevron-down-16x16`.
31
+ */
32
+ export declare function toCanonicalComponentName(rawName: string): string;
33
+ /**
34
+ * The kebab-case folder/import-path counterpart to {@link toCanonicalComponentName}.
35
+ * Icon-aware so it matches `formatFolderName(normalizeIconDisplayName(name))` under
36
+ * the default folderCase.
37
+ */
38
+ export declare function toCanonicalFolderSlug(rawName: string): string;
20
39
  //# sourceMappingURL=naming-strategy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"naming-strategy.d.ts","sourceRoot":"","sources":["../../src/mappings/naming-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY;+BAItB,MAAM,GAAG,MAAM;kCAIZ,MAAM,GAAG,MAAM;8BAInB,MAAM,GAAG,MAAM;2BAIlB,MAAM,SAAS,MAAM,GAAG,MAAM;EAI5D;AAiBD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUhE"}
1
+ {"version":3,"file":"naming-strategy.d.ts","sourceRoot":"","sources":["../../src/mappings/naming-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG/D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY;+BAItB,MAAM,GAAG,MAAM;kCAIZ,MAAM,GAAG,MAAM;8BAInB,MAAM,GAAG,MAAM;2BAIlB,MAAM,SAAS,MAAM,GAAG,MAAM;EAI5D;AAiBD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUhE;AAmCD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAG7D"}
@@ -1,3 +1,4 @@
1
+ import { isIconComponent } from "../icons/enrich-icon-svgs.js";
1
2
  /**
2
3
  * Creates deterministic naming strategies based on user PTB configuration.
3
4
  */
@@ -80,4 +81,29 @@ function applyCase(str, targetCase) {
80
81
  function capitalize(word) {
81
82
  return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
82
83
  }
84
+ /**
85
+ * GAP-027: the single canonical React component identifier used by every layer
86
+ * that derives a JSX tag / import name / invocation hint OUTSIDE the config-aware
87
+ * generator (the normalizer and prompt layers receive no NamingConfig). It is
88
+ * icon-aware — matching `formatComponentName(normalizeIconDisplayName(name))` in
89
+ * the generator — and produces PascalCase, matching the default componentCase.
90
+ *
91
+ * Every downstream consumer must route through this (or the config-aware
92
+ * `createNamingStrategy(...).formatComponentName`) instead of re-slugging the raw
93
+ * Figma name locally, which previously produced drift like `TicketTC` vs the real
94
+ * export `TicketTc`, or `chevron-down16x16` vs the dir `chevron-down-16x16`.
95
+ */
96
+ export function toCanonicalComponentName(rawName) {
97
+ const base = isIconComponent(rawName) ? normalizeIconDisplayName(rawName) : rawName;
98
+ return applyCase(base, "PascalCase");
99
+ }
100
+ /**
101
+ * The kebab-case folder/import-path counterpart to {@link toCanonicalComponentName}.
102
+ * Icon-aware so it matches `formatFolderName(normalizeIconDisplayName(name))` under
103
+ * the default folderCase.
104
+ */
105
+ export function toCanonicalFolderSlug(rawName) {
106
+ const base = isIconComponent(rawName) ? normalizeIconDisplayName(rawName) : rawName;
107
+ return applyCase(base, "kebab-case");
108
+ }
83
109
  //# sourceMappingURL=naming-strategy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"naming-strategy.js","sourceRoot":"","sources":["../../src/mappings/naming-strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"naming-strategy.js","sourceRoot":"","sources":["../../src/mappings/naming-strategy.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,5 @@ export declare function resolveInstanceRecipe(node: LayoutTreeNode, components?:
9
9
  /**
10
10
  * Re-resolves all instance recipes in a tree once all component definitions are available.
11
11
  */
12
- export declare function relinkTreeRecipes(node: LayoutTreeNode, components: ComponentDefinition[], tokenIndex?: Map<string, IndexedToken>): void;
12
+ export declare function relinkTreeRecipes(node: LayoutTreeNode, components: ComponentDefinition[], tokenIndex?: Map<string, IndexedToken>, parentSurfaceHex?: string): void;
13
13
  //# sourceMappingURL=instance-resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instance-resolver.d.ts","sourceRoot":"","sources":["../../src/normalizer/instance-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAsB,mBAAmB,EAA2L,MAAM,4BAA4B,CAAC;AACrT,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA4B1C;;;;GAIG;AACH,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,cAAc,EACpB,UAAU,GAAE,mBAAmB,EAAO,EACtC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACvC,qBAAqB,GAAG,SAAS,CAsCnC;AAgjBD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,QAwBhI"}
1
+ {"version":3,"file":"instance-resolver.d.ts","sourceRoot":"","sources":["../../src/normalizer/instance-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAsB,mBAAmB,EAA2L,MAAM,4BAA4B,CAAC;AACrT,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAgE1C;;;;GAIG;AACH,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,cAAc,EACpB,UAAU,GAAE,mBAAmB,EAAO,EACtC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACvC,qBAAqB,GAAG,SAAS,CAsCnC;AAojBD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,gBAAgB,CAAC,EAAE,MAAM,QA6B3J"}
@@ -1,14 +1,50 @@
1
1
  import { rgbToHex } from "./helpers.js";
2
2
  import { resolveTokenBindingFromIndex } from "../tokens/resolution.js";
3
- /** Converts any Figma display name to a valid PascalCase React component identifier.
4
- * "nav-arrow-down" "NavArrowDown", "homeFilled" "HomeFilled", "Text field mobile" "TextFieldMobile"
3
+ import { toCanonicalComponentName } from "../mappings/naming-strategy.js";
4
+ /** GAP-027: converts any Figma display name to the canonical React component
5
+ * identifier. Delegates to the single shared, icon-aware slug so recipe hints,
6
+ * JSX tags, and import names never diverge from the generated export (the old
7
+ * local slug preserved tail case → "TicketTC" vs the real export "TicketTc").
5
8
  */
6
9
  function toPascalCase(name) {
7
- return name
8
- .split(/[\s\-_]+/)
9
- .filter(Boolean)
10
- .map(p => p.charAt(0).toUpperCase() + p.slice(1))
11
- .join("");
10
+ return toCanonicalComponentName(name);
11
+ }
12
+ /** GAP-018: extracts a node's own solid background colour (hex) from its raw
13
+ * Figma fills, if any — used to luminance-check nested icons against their surface. */
14
+ function extractSolidFillHex(node) {
15
+ const fills = node?.rawStyles?.fills;
16
+ if (!Array.isArray(fills))
17
+ return undefined;
18
+ const solid = fills.find((f) => f?.type === "SOLID" && f.visible !== false && f.color);
19
+ return solid ? rgbToHex(solid.color.r, solid.color.g, solid.color.b) : undefined;
20
+ }
21
+ /** Relative luminance (WCAG) of a #RRGGBB hex, 0 (black) → 1 (white). */
22
+ function hexLuminance(hex) {
23
+ const m = hex.replace("#", "");
24
+ if (m.length < 6)
25
+ return 1;
26
+ const chan = (i) => {
27
+ const c = parseInt(m.slice(i, i + 2), 16) / 255;
28
+ return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);
29
+ };
30
+ return 0.2126 * chan(0) + 0.7152 * chan(2) + 0.0722 * chan(4);
31
+ }
32
+ /** GAP-018: when an icon instance's appearance variant implies white/light paint
33
+ * but it sits on a light surface, attach a low-contrast warning to its recipe.
34
+ * Additive only — never rewrites the variant (the swap decision is the author's). */
35
+ function warnLowContrastIcon(node, parentSurfaceHex) {
36
+ if (!parentSurfaceHex || !node.recipe)
37
+ return;
38
+ const sel = node.variantSelection ?? {};
39
+ const impliesLight = Object.values(sel).some((v) => typeof v === "string" && /white|light/i.test(v));
40
+ if (!impliesLight)
41
+ return;
42
+ if (hexLuminance(parentSurfaceHex) < 0.6)
43
+ return; // dark surface → light icon is correct
44
+ const r = node.recipe;
45
+ r.implementationHints = r.implementationHints ?? {};
46
+ r.implementationHints.notes = r.implementationHints.notes ?? [];
47
+ r.implementationHints.notes.push(`Low-contrast risk: appearance variant implies a light/white icon on a light surface (${parentSurfaceHex}). Verify contrast or use the contrasting variant.`);
12
48
  }
13
49
  /** Figma variant axis names that exist only in the design tool and have no React equivalent.
14
50
  * `weight` controls icon stroke thickness in Figma but React SVG icons are static.
@@ -454,9 +490,13 @@ function doResolveInstanceRecipe(node, components = [], tokenIndex) {
454
490
  };
455
491
  const addSlot = (name, kind, visible, prop, textContent, dependency) => {
456
492
  const cleanName = cleanPropName(name);
457
- if (processedNames.has(cleanName))
493
+ // GAP-008: the property name is canonical. When a layer name differs from
494
+ // its backing component property (e.g. layer "name" → prop "username"),
495
+ // key the slot by the property so both don't leak as separate slots.
496
+ const slotKey = prop ?? cleanName;
497
+ if (processedNames.has(slotKey))
458
498
  return;
459
- processedNames.add(cleanName);
499
+ processedNames.add(slotKey);
460
500
  const { renderPattern, visibilityBehavior } = computeSlotRender(kind, visible, prop, textContent, dependency);
461
501
  // Audit Gap #7: explicit renderAs so consumers don't have to infer
462
502
  // whether to pass `children`, a typed prop, or accept the design-owned
@@ -473,7 +513,7 @@ function doResolveInstanceRecipe(node, components = [], tokenIndex) {
473
513
  // for explicit children-policy slots on composite roots.
474
514
  renderAs = { mode: "slot", name: cleanName };
475
515
  }
476
- slotContract[cleanName] = {
516
+ slotContract[slotKey] = {
477
517
  kind,
478
518
  visible,
479
519
  prop,
@@ -580,13 +620,18 @@ function doResolveInstanceRecipe(node, components = [], tokenIndex) {
580
620
  /**
581
621
  * Re-resolves all instance recipes in a tree once all component definitions are available.
582
622
  */
583
- export function relinkTreeRecipes(node, components, tokenIndex) {
623
+ export function relinkTreeRecipes(node, components, tokenIndex, parentSurfaceHex) {
624
+ // GAP-018: track the nearest ancestor surface colour so an icon whose
625
+ // appearance variant implies white/light paint can be luminance-checked
626
+ // against the background it actually sits on.
627
+ const ownSurfaceHex = extractSolidFillHex(node) ?? parentSurfaceHex;
584
628
  if (node.componentId) {
585
629
  node.recipe = resolveInstanceRecipe(node, components, tokenIndex);
630
+ warnLowContrastIcon(node, parentSurfaceHex);
586
631
  }
587
632
  if (node.children) {
588
633
  for (const child of node.children) {
589
- relinkTreeRecipes(child, components, tokenIndex);
634
+ relinkTreeRecipes(child, components, tokenIndex, ownSurfaceHex);
590
635
  }
591
636
  }
592
637
  if (node.childOverrides) {
@@ -1 +1 @@
1
- {"version":3,"file":"instance-resolver.js","sourceRoot":"","sources":["../../src/normalizer/instance-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAEvE;;GAEG;AACH,SAAS,YAAY,CAAC,IAAY;IAC9B,OAAO,IAAI;SACN,KAAK,CAAC,UAAU,CAAC;SACjB,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAChD,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;AAErF;;GAEG;AACH,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAC;IAC3C,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS;CAC3E,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACjC,IAAoB,EACpB,aAAoC,EAAE,EACtC,UAAsC;IAEtC,IAAI,CAAC,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IAExC,IAAI,CAAC;QACD,OAAO,uBAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,oCAAoC,IAAI,CAAC,IAAI,IAAI,SAAS,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACzF,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9D,OAAO;YACF,YAAY,EAAE,SAAS;YACvB,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,IAAI;YACjB,kBAAkB,EAAE,KAAK;YACzB,mBAAmB,EAAE,KAAK;YAC1B,OAAO,EAAE,4BAA4B;YACrC,aAAa,EAAE,EAAE;YACjB,kBAAkB,EAAE,mBAAmB;YACvC,cAAc,EAAE;gBACZ,aAAa,EAAE,EAAE;gBACjB,uBAAuB,EAAE,EAAE;gBAC3B,gBAAgB,EAAE,EAAE;gBACpB,QAAQ,EAAE,CAAC,uBAAuB,CAAC,CAAC,OAAO,EAAE,CAAC;aACjD;YACD,cAAc,EAAE,IAAI,YAAY,CAAC,aAAa,IAAI,SAAS,CAAC,KAAK;YACjE,kBAAkB,EAAE;gBAChB,aAAa,EAAE,YAAY,CAAC,aAAa,IAAI,SAAS,CAAC;gBACvD,UAAU,EAAE,YAAY,CAAC,aAAa,IAAI,SAAS,CAAC;gBACpD,aAAa,EAAE,EAAE;gBACjB,aAAa,EAAE,EAAE;gBACjB,SAAS,EAAE,EAAE;gBACb,YAAY,EAAE,EAAE;gBAChB,cAAc,EAAE,SAAS;gBACzB,iBAAiB,EAAE,EAAE;gBACrB,UAAU,EAAE,EAAE;aACjB;SACL,CAAC;IACN,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAC5B,IAAoB,EACpB,aAAoC,EAAE,EACtC,UAAsC;IAEtC,8DAA8D;IAC9D,IAAI,CAAC,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IAExC,2FAA2F;IAC3F,4GAA4G;IAC5G,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,IAAa,EAAmC,EAAE;QAC5E,+BAA+B;QAC/B,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7C,iFAAiF;QACjF,IAAI,CAAC,IAAI;YAAE,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC;QAClE,8EAA8E;QAC9E,IAAI,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAChC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,yEAAyE;QACzE,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC7D,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACvB,CAAC,CAAC,IAAI,KAAK,QAAQ;gBACnB,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,SAAS,CACzD,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzD,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,MAAM,UAAU,GAAU,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,CAAC,CAAM,EAAE,EAAE;QACxB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,CAAC,QAAQ;YAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC,CAAC;IACF,IAAI,IAAI,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEnD,2BAA2B;IAC3B,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACnC,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC;IAEzC,uBAAuB;IACvB,MAAM,aAAa,GAAwB,EAAE,CAAC;IAC9C,MAAM,aAAa,GAA2B,EAAE,CAAC;IAEjD,+DAA+D;IAC/D,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE;QACnC,OAAO,IAAI,CAAC,IAAI,EAAE;aACb,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3D,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC;IAEF,IAAI,IAAI,CAAC,gBAAgB,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QACrE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC/D,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YACpC,aAAa,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;YAChC,aAAa,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QAClC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,iBAAiB,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;QACvE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAChE,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YACpC,aAAa,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;YAChC,aAAa,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;YAE9B,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YAC5B,uCAAuC;YACvC,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;gBAClE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC5B,WAAW,GAAG,KAAK,CAAC;gBACxB,CAAC;gBACD,kDAAkD;gBAClD,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;oBAClC,WAAW,GAAG,KAAK,CAAC;gBACxB,CAAC;gBACD,IAAI,KAAK,KAAK,IAAI;oBAAE,WAAW,GAAG,IAAI,CAAC;YAC3C,CAAC;QACL,CAAC;IACL,CAAC;IAED,iDAAiD;IACjD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACpE,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,GAAG,EAAE,CAAC;gBACN,aAAa,CAAC,GAAG,CAAC,GAAG;oBACjB,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,GAAG,CAAC,EAAE;oBACnB,aAAa,EAAE,GAAG,CAAC,IAAI;oBACvB,UAAU,EAAE,GAAG,CAAC,IAAI;iBACvB,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,aAAa,CAAC,GAAG,CAAC,GAAG;oBACjB,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,KAAK;iBACrB,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED,kFAAkF;IAClF,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAEhC,gEAAgE;IAChE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC/D,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAEtC,MAAM,UAAU,GAAG,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;YAElI,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrB,IAAI,UAAU,EAAE,CAAC;oBACZ,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC7F,kBAAkB,GAAG,IAAI,CAAC;oBAC9B,CAAC;yBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;wBACnG,mBAAmB,GAAG,IAAI,CAAC;oBAC/B,CAAC;yBAAM,CAAC;wBACJ,kBAAkB,GAAG,IAAI,CAAC;oBAC9B,CAAC;gBACN,CAAC;gBACD,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;oBAAC,kBAAkB,GAAG,IAAI,CAAC;oBAAC,mBAAmB,GAAG,IAAI,CAAC;gBAAC,CAAC;gBAC5E,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,MAAM;oBAAE,kBAAkB,GAAG,IAAI,CAAC;gBAChF,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,OAAO;oBAAE,mBAAmB,GAAG,IAAI,CAAC;YACrF,CAAC;QACL,CAAC;IACL,CAAC;IAED,oFAAoF;IACpF,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAChE,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YAC5B,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;oBAC5D,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;wBACvE,WAAW,GAAG,KAAK,CAAC;oBACxB,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACrB,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wBACrE,kBAAkB,GAAG,KAAK,CAAC;oBAC/B,CAAC;yBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC5E,mBAAmB,GAAG,KAAK,CAAC;oBAChC,CAAC;yBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC5E,kBAAkB,GAAG,KAAK,CAAC;oBAC/B,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,IAAI,KAAK;oBAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;oBAC7B,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC;IACL,CAAC;IAED,6BAA6B;IAC7B,MAAM,cAAc,GAA2B;QAC3C,aAAa,EAAE,EAAE;QACjB,uBAAuB,EAAE,EAAE;QAC3B,gBAAgB,EAAE,EAAE;QACpB,QAAQ,EAAE,EAAE;KACf,CAAC;IAEF,IAAI,UAAU,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACvF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAE3F,0BAA0B;QAC1B,IAAI,IAAI,CAAC,gBAAgB,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACrE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACnD,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBACrC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACJ,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC1C,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,GAAG,8BAA8B,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC;gBACxG,CAAC;YACL,CAAC;QACL,CAAC;QAED,2BAA2B;QAC3B,IAAI,IAAI,CAAC,iBAAiB,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YACvE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACpD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBAClC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACJ,uCAAuC;oBACvC,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;oBAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;oBACtC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAK,CAAS,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBACzE,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACtD,CAAC;yBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;wBACvH,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACtD,CAAC;yBAAM,CAAC;wBACH,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC1C,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,GAAG,sCAAsC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC;oBAC7G,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,WAAW,uBAAuB,CAAC,CAAC;IACzF,CAAC;IAED,+BAA+B;IAC/B,MAAM,cAAc,GAAuC,EAAE,CAAC;IAC9D,IAAI,IAAI,CAAC,SAAS,IAAI,UAAU,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;QAC3D,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YACzD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC;YAChD,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;gBAC3E,IAAI,IAAI,EAAE,CAAC;oBACP,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;oBAC9B,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACnD,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;gBAC7G,CAAC;YACL,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC/D,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC;YACpD,IAAI,eAAe,KAAK,UAAU,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;gBAC/E,IAAI,IAAI,EAAE,CAAC;oBACP,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;oBAChC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBACrD,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;gBAC/G,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,mCAAmC;IACnC,IAAI,kBAAkB,GAAyB,mBAAmB,CAAC;IACnE,IAAI,cAAc,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,kBAAkB,GAAG,oCAAoC,CAAC;QAC1D,IAAI,cAAc,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,kBAAkB,GAAG,6BAA6B,CAAC;QACvD,CAAC;IACL,CAAC;SAAM,IAAI,cAAc,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtG,kBAAkB,GAAG,kCAAkC,CAAC;IAC5D,CAAC;IAED,wCAAwC;IACxC,IAAI,YAAY,GAA0C,SAAS,CAAC;IACpE,IAAI,WAAW,EAAE,CAAC;QACd,IAAI,CAAC,kBAAkB,IAAI,CAAC,mBAAmB;YAAE,YAAY,GAAG,WAAW,CAAC;aACvE,IAAI,kBAAkB,IAAI,CAAC,mBAAmB;YAAE,YAAY,GAAG,wBAAwB,CAAC;aACxF,IAAI,CAAC,kBAAkB,IAAI,mBAAmB;YAAE,YAAY,GAAG,yBAAyB,CAAC;aACzF,IAAI,kBAAkB,IAAI,mBAAmB;YAAE,YAAY,GAAG,sBAAsB,CAAC;IAC9F,CAAC;SAAM,CAAC;QACJ,IAAI,kBAAkB,IAAI,mBAAmB;YAAE,YAAY,GAAG,WAAW,CAAC;IAC9E,CAAC;IAED,2BAA2B;IAC3B,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,MAAM,UAAU,GAA2B;QACvC,WAAW,EAAE,WAAW;QACxB,WAAW,EAAE,WAAW;QACxB,wBAAwB,EAAE,wBAAwB;QAClD,yBAAyB,EAAE,yBAAyB;QACpD,sBAAsB,EAAE,sBAAsB;QAC9C,SAAS,EAAE,SAAS;KACvB,CAAC;IAEF,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,kBAAkB,CAAC,CAAC;IAClE,IAAI,WAAW,IAAI,WAAW;QAAE,YAAY,CAAC,IAAI,CAAC,eAAe,WAAW,GAAG,CAAC,CAAC;SAC5E,IAAI,WAAW;QAAE,YAAY,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACnE,IAAI,CAAC,WAAW,IAAI,CAAC,kBAAkB,IAAI,mBAAmB,CAAC;QAAE,YAAY,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAElH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEvC,+CAA+C;IAE/C,mEAAmE;IACnE,2EAA2E;IAC3E,iFAAiF;IACjF,6CAA6C;IAC7C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,IAAI,UAAU,EAAE,CAAC;QACb,KAAK,MAAM,EAAE,IAAI,CAAE,UAAkB,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;YACvD,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,CAAE,UAAkB,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;YACxD,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACjD,4FAA4F;QAC5F,MAAM,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC;QACpE,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,oDAAoD;YACpD,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC3C,oFAAoF;YACpF,IAAI,CAAC,KAAK,OAAO,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,8BAA8B,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAAE,SAAS;YAC5G,yFAAyF;YACzF,IAAI,UAAU,IAAI,gBAAgB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;QACtF,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACR,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC/B,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACpB,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;aAAM,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;YACrB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACJ,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAClD,CAAC;IACL,CAAC;IACD,MAAM,YAAY,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;QACvC,CAAC,CAAC,IAAI,YAAY,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK;QAC9C,CAAC,CAAC,IAAI,YAAY,KAAK,CAAC;IAE5B,kCAAkC;IAClC,MAAM,YAAY,GAAmC,EAAE,CAAC;IAExD,MAAM,cAAc,GAAG,CAAC,QAAa,EAAE,EAAE;QACrC,IAAI,QAAQ,EAAE,WAAW,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,GAAG,EAAE,CAAC;gBACN,OAAO;oBACH,aAAa,EAAE,GAAG,CAAC,IAAI;oBACvB,UAAU,EAAE,GAAG,CAAC,IAAI;oBACpB,WAAW,EAAE,GAAG,CAAC,EAAE;iBACtB,CAAC;YACN,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEF,wDAAwD;IACxD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC;IACtJ,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC;IAC/F,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE1E,2BAA2B;IAC3B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzC,MAAM,iBAAiB,GAAG,CACtB,IAAc,EACd,OAAgB,EAChB,IAAwB,EACxB,WAAoB,EACpB,UAAgB,EACqD,EAAE;QACvE,MAAM,OAAO,GAAG,UAAU;YACtB,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,IAAI,UAAU,CAAC,UAAU,CAAC;YACjE,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO;gBACH,kBAAkB,EAAE,mBAAmB;gBACvC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,MAAM;aACrD,CAAC;QACN,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAClB,OAAO;gBACH,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ;gBACzD,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;aAClF,CAAC;QACN,CAAC;QACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACnB,OAAO;gBACH,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ;gBACzD,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;aAC5E,CAAC;QACN,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACtC,IAAI,IAAI,EAAE,CAAC;gBACP,OAAO;oBACH,kBAAkB,EAAE,qBAAqB;oBACzC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,WAAW;iBAC/E,CAAC;YACN,CAAC;YACD,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAChG,CAAC;QACD,eAAe;QACf,IAAI,IAAI;YAAE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,aAAa,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;QACzF,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChG,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,IAAc,EAAE,OAAgB,EAAE,IAAwB,EAAE,WAAoB,EAAE,UAAgB,EAAE,EAAE;QACjI,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO;QAC1C,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAE9G,mEAAmE;QACnE,uEAAuE;QACvE,yEAAyE;QACzE,wEAAwE;QACxE,IAAI,QAAgG,CAAC;QACrG,IAAI,IAAI,EAAE,CAAC;YACP,QAAQ,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC5C,CAAC;aAAM,CAAC;YACJ,oEAAoE;YACpE,iEAAiE;YACjE,oEAAoE;YACpE,yDAAyD;YACzD,QAAQ,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjD,CAAC;QAED,YAAY,CAAC,SAAS,CAAC,GAAG;YACtB,IAAI;YACJ,OAAO;YACP,IAAI;YACJ,WAAW;YACX,UAAU;YACV,aAAa;YACb,kBAAkB;YAClB,QAAQ;SACX,CAAC;IACN,CAAC,CAAC;IAEF,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACnB,OAAO,CACH,EAAE,CAAC,IAAI,EACP,MAAM,EACN,EAAE,CAAC,OAAO,KAAK,KAAK,EACpB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAClG,EAAE,CAAC,WAAW,CACjB,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,sEAAsE;IACtE,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;QAC3C,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CACH,CAAC,CAAC,IAAI,EACN,MAAM,EACN,CAAC,CAAC,OAAO,KAAK,KAAK,EACnB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAChG,CAAC,CAAC,WAAW,CAChB,CAAC;QACN,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC1B,IAAI,IAAI,GAAa,SAAS,CAAC;QAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;YAC7E,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;YACrE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5F,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,IAAI,YAAY,IAAI,cAAc;YAAE,IAAI,GAAG,MAAM,CAAC;aAC7C,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,IAAI,GAAG,OAAO,CAAC;aAC7G,IAAI,KAAK,CAAC,WAAW;YAAE,IAAI,GAAG,OAAO,CAAC;QAE3C,OAAO,CACH,KAAK,CAAC,IAAI,EACV,IAAI,EACJ,KAAK,CAAC,OAAO,KAAK,KAAK,EACvB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EACxG,SAAS,EACT,cAAc,CAAC,KAAK,CAAC,CACxB,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,4CAA4C;IAC5C,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;QAC3C,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAChB,IAAI,IAAI,GAAa,OAAO,CAAC;YAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,IAAI,GAAG,MAAM,CAAC;YAEzD,OAAO,CACH,CAAC,CAAC,IAAI,EACN,IAAI,EACJ,CAAC,CAAC,OAAO,KAAK,KAAK,EACnB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAChG,SAAS,EACT,cAAc,CAAC,CAAC,CAAC,CACpB,CAAC;QACN,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAEpG,MAAM,eAAe,GAAoB;QACrC,aAAa,EAAE,aAAa;QAC5B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,EAAE;QAC7C,iBAAiB,EAAE;YACf,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YACvD,uBAAuB,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC;YACrE,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;YACnD,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;SAChE;KACJ,CAAC;IAEF,MAAM,WAAW,GAAgB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC/C,IAAI,UAAU,EAAE,CAAC;QACb,4BAA4B;QAC5B,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACxH,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9F,IAAI,aAAa,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACtC,WAAW,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,6CAA6C,EAAE,CAAC;YAC/F,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,2EAA2E,CAAC,CAAC;QACzG,CAAC;QAED,yBAAyB;QACzB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,WAAW,CAAC,oBAAoB,GAAG,QAAQ,CAAC;YAC5C,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC3F,CAAC;IACL,CAAC;IAED,MAAM,mBAAmB,GAAwB;QAC7C,wBAAwB,EAAE,IAAI;QAC9B,sBAAsB,EAAE,IAAI;QAC5B,kBAAkB,EAAE,IAAI;QACxB,sBAAsB,EAAE,IAAI;QAC5B,KAAK,EAAE;YACH,iFAAiF;YACjF,2DAA2D;SAC9D;KACJ,CAAC;IAEF,MAAM,MAAM,GAA0B;QAClC,YAAY;QACZ,eAAe;QACf,YAAY;QACZ,WAAW;QACX,WAAW;QACX,WAAW;QACX,kBAAkB;QAClB,mBAAmB;QACnB,OAAO;QACP,aAAa;QACb,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QACnF,cAAc;QACd,kBAAkB;QAClB,cAAc;QACd,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,gBAAgB;KACnB,CAAC;IAEF,MAAM,CAAC,kBAAkB,GAAG,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEpE,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAoB,EAAE,UAAiC,EAAE,UAAsC;IAC7H,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACrD,CAAC;IACL,CAAC;IACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzC,oCAAoC;YACpC,MAAM,QAAQ,GAAmB;gBAC7B,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;gBAC3C,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;gBAC7C,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO,KAAK,KAAK;aACtC,CAAC;YACF,QAAQ,CAAC,MAAM,GAAG,qBAAqB,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAC9E,CAAC;IACL,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAe,EAAE,KAAa,EAAE,UAAsC;IAC5F,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE7B,yCAAyC;QACzC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9F,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAExF,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAE/B,MAAM,GAAG,GAAuB,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;QAE1D,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,OAAO,CAAC,cAAc,EAAE,KAAK,IAAI,UAAU,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,4BAA4B,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAC1F,IAAI,OAAO,EAAE,CAAC;gBACV,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;gBACtC,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC;gBACvC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC;gBACzB,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;YAC5B,CAAC;QACL,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBAClB,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtF,CAAC;YACD,IAAI,SAAS,CAAC,cAAc,EAAE,KAAK,IAAI,UAAU,EAAE,CAAC;gBAChD,MAAM,OAAO,GAAG,4BAA4B,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;gBAC5F,IAAI,OAAO,EAAE,CAAC;oBACV,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC;oBACxC,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC;oBACzC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;gBAC9B,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAAC,IAA0B,EAAE,MAAoF;IAC/I,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAG,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,iBAAiB,GAA2B,EAAE,CAAC;IAErD,4BAA4B;IAC5B,IAAI,cAAc,GAA6C,SAAS,CAAC;IACzE,IAAI,MAAM,EAAE,YAAY,KAAK,WAAW;QAAE,cAAc,GAAG,MAAM,CAAC;SAC7D,IAAI,MAAM,EAAE,YAAY,KAAK,WAAW,IAAI,MAAM,EAAE,WAAW;QAAE,cAAc,GAAG,MAAM,CAAC;IAE9F,gFAAgF;IAChF,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAChC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,+BAA+B;IAC/B,IAAI,IAAI,EAAE,iBAAiB,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ,EAAE,CAAC;QACxE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAChE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAClD,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACjC,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO;QACH,aAAa;QACb,UAAU,EAAE,aAAa;QACzB,aAAa;QACb,aAAa,EAAE,MAAM,EAAE,aAAa,IAAI,EAAE;QAC1C,SAAS;QACT,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,EAAE;QACxC,cAAc;QACd,iBAAiB;QACjB,UAAU,EAAE,MAAM,EAAE,cAAc,IAAI,EAAE;QACxC,gBAAgB,EAAE,MAAM,EAAE,gBAAgB;KAC7C,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,cAAqB,EAAE,UAAiC,EAAE,UAAsC;IAC7H,MAAM,QAAQ,GAAqB;QAC/B,cAAc,EAAE,EAAE;QAClB,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,EAAE;QACT,cAAc,EAAE;YACZ,aAAa,EAAE,EAAE;YACjB,uBAAuB,EAAE,EAAE;YAC3B,gBAAgB,EAAE,EAAE;YACpB,QAAQ,EAAE,EAAE;SACf;KACJ,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9D,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,SAAS,CAAC;QAExC,0BAA0B;QAC1B,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC7B,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC1C,CAAC;aAAM,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACnC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACzC,CAAC;QAED,uBAAuB;QACvB,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC;QAClD,CAAC;QAED,kCAAkC;QAClC,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACvB,IAAI,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC9D,IAAI,CAAC,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjD,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3F,CAAC;YACD,IAAI,GAAG,EAAE,CAAC;gBACN,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG;oBACxB,IAAI,EAAE,YAAY;oBAClB,aAAa,EAAE,GAAG,CAAC,IAAI;oBACvB,UAAU,EAAE,GAAG,CAAC,IAAI;oBACpB,WAAW,EAAE,GAAG,CAAC,EAAE;iBACtB,CAAC;YACN,CAAC;QACL,CAAC;QAED,0EAA0E;QAC1E,IAAI,QAAQ,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YACjF,MAAM,MAAM,GAAQ,EAAE,CAAC;YACvB,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC;gBAC1F,IAAI,IAAI;oBAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACjC,CAAC;YACD,IAAI,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC;gBAC9F,IAAI,MAAM;oBAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YACvC,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;YAClC,CAAC;QACL,CAAC;IACL,CAAC;IAED,uBAAuB;IACvB,QAAQ,CAAC,cAAc,CAAC,aAAa,GAAG;QACpC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;QACvC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAChC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;KACtC,CAAC;IAEF,OAAO,QAAQ,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"instance-resolver.js","sourceRoot":"","sources":["../../src/normalizer/instance-resolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"layout-tree.d.ts","sourceRoot":"","sources":["../../src/normalizer/layout-tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAe,MAAM,4BAA4B,CAAC;AAG9F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAuCrD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,cAAc,GAAG,SAAS,CAmD3E;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,kBAAkB,GAAG,cAAc,GAAG,SAAS,CAyHrG"}
1
+ {"version":3,"file":"layout-tree.d.ts","sourceRoot":"","sources":["../../src/normalizer/layout-tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAe,MAAM,4BAA4B,CAAC;AAG9F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAuCrD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,cAAc,GAAG,SAAS,CAoD3E;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,kBAAkB,GAAG,cAAc,GAAG,SAAS,CAyHrG"}
@@ -46,10 +46,11 @@ export function extractLayoutMetadata(node) {
46
46
  rawValue: val,
47
47
  resolvedToken: (boundVar?.name || boundVar?.id) ? { name: boundVar.name || "unknown", id: boundVar.id } : undefined
48
48
  });
49
+ // GAP-024: clamp negative itemSpacing (Figma overlap) — negative flex gap is invalid.
49
50
  const isAutoGap = node.primaryAxisAlignItems === "SPACE_BETWEEN";
50
51
  const gapVal = isAutoGap
51
52
  ? { rawValue: 0, mode: "auto" }
52
- : toDesignValue(node.itemSpacing || 0, node.boundVariables?.itemSpacing);
53
+ : toDesignValue(Math.max(0, node.itemSpacing || 0), node.boundVariables?.itemSpacing);
53
54
  if (!isAutoGap && !gapVal.mode)
54
55
  gapVal.mode = "fixed";
55
56
  const padding = {
@@ -1 +1 @@
1
- {"version":3,"file":"layout-tree.js","sourceRoot":"","sources":["../../src/normalizer/layout-tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout-tree.js","sourceRoot":"","sources":["../../src/normalizer/layout-tree.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-components.d.ts","sourceRoot":"","sources":["../../src/normalizer/normalize-components.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAA8E,eAAe,EAAuG,MAAM,4BAA4B,CAAC;AACxQ,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAqEnE;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,iBAAiB,EAAE,CAAC,gBAAgB,GAAG,eAAe,CAAC,EAAE,EACzD,SAAS,EAAE,kBAAkB,EAC7B,MAAM,GAAE,eAAe,EAAO,GAC/B,mBAAmB,EAAE,CAmDvB;AAuBD,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,gBAAgB,GAAG,eAAe,EAC1C,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,eAAe,EAAE,EACzB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACrC,SAAS,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,GAC3C,mBAAmB,CAoIrB;AAuZD;;GAEG;AACH,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYzF"}
1
+ {"version":3,"file":"normalize-components.d.ts","sourceRoot":"","sources":["../../src/normalizer/normalize-components.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAA8E,eAAe,EAAuG,MAAM,4BAA4B,CAAC;AACxQ,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAqEnE;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,iBAAiB,EAAE,CAAC,gBAAgB,GAAG,eAAe,CAAC,EAAE,EACzD,SAAS,EAAE,kBAAkB,EAC7B,MAAM,GAAE,eAAe,EAAO,GAC/B,mBAAmB,EAAE,CAmDvB;AAuBD,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,gBAAgB,GAAG,eAAe,EAC1C,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,eAAe,EAAE,EACzB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACrC,SAAS,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,GAC3C,mBAAmB,CAoJrB;AA8bD;;GAEG;AACH,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYzF"}
@@ -140,6 +140,10 @@ export function normalizeComponent(entity, lookupMap, tokens, tokenIndex, keyToN
140
140
  const { variantAxes, properties } = aggregateProperties(entity, keyToName);
141
141
  // Aggregate dependencies across all variants for high semantic fidelity
142
142
  const dependencies = aggregateDependencies(entity, lookupMap);
143
+ // GAP-004: additionally capture the full transitive set (descends into instance
144
+ // subtrees + includes instance-swap icons) for completeness. Kept separate so
145
+ // the compose-by-name `dependencies` above is unchanged.
146
+ const transitiveDependencies = aggregateTransitiveDependencies(entity, lookupMap, dependencies);
143
147
  // Extract literal styles natively to fallback structurally safely
144
148
  // If it's a sets, we use the first child variant safely. Else we use the component itself.
145
149
  const isSet = entity.type === "COMPONENT_SET";
@@ -177,6 +181,17 @@ export function normalizeComponent(entity, lookupMap, tokens, tokenIndex, keyToN
177
181
  const component = {
178
182
  id: internalId,
179
183
  designToolNodeId: entity.id,
184
+ // GAP-022: remember the default variant's own node so thumbnails can export a
185
+ // single variant instead of the whole COMPONENT_SET grid.
186
+ defaultVariantNodeId: (isSet && defaultNode?.id && defaultNode.id !== entity.id) ? defaultNode.id : undefined,
187
+ // GAP-022: capture every variant child (node id + parsed selection) so the
188
+ // thumbnail enricher can export a per-variant reference and verify can
189
+ // pixel-check each variant state.
190
+ variantNodeRefs: isSet
191
+ ? (entity.children ?? [])
192
+ .filter((child) => child?.id)
193
+ .map((child) => ({ nodeId: child.id, selection: extractVariantSelectionFromFigmaName(child.name ?? "") }))
194
+ : undefined,
180
195
  kind: {
181
196
  value: dependencies.length > 0 ? "composite" : "canonical",
182
197
  inferred: true
@@ -188,6 +203,7 @@ export function normalizeComponent(entity, lookupMap, tokens, tokenIndex, keyToN
188
203
  variantAxes: variantAxes.length > 0 ? variantAxes : undefined,
189
204
  properties: properties.length > 0 ? properties : undefined,
190
205
  dependencies: dependencies.length > 0 ? dependencies : undefined,
206
+ transitiveDependencies: transitiveDependencies.length > 0 ? transitiveDependencies : undefined,
191
207
  tokens: [], // Legacy references
192
208
  tokenBindings: tokenBindings.length > 0 ? tokenBindings : undefined,
193
209
  styleMetadata,
@@ -411,10 +427,12 @@ function extractLayoutMetadata(node, tokens, tokenIndex) {
411
427
  }
412
428
  return { rawValue: val, resolvedToken, boundToken };
413
429
  };
430
+ // GAP-024: Figma allows negative itemSpacing when children overlap; negative
431
+ // gap is invalid in flexbox, so clamp at the source for every consumer.
414
432
  const isAutoGap = node.primaryAxisAlignItems === "SPACE_BETWEEN";
415
433
  const gapVal = isAutoGap
416
434
  ? { rawValue: 0, mode: "auto" }
417
- : toDesignValue(node.itemSpacing || 0, node.boundVariables?.itemSpacing);
435
+ : toDesignValue(Math.max(0, node.itemSpacing || 0), node.boundVariables?.itemSpacing);
418
436
  if (!isAutoGap && !gapVal.mode)
419
437
  gapVal.mode = "fixed";
420
438
  const padding = {
@@ -554,6 +572,38 @@ function aggregateDependencies(entity, lookupMap) {
554
572
  }
555
573
  return dependencies;
556
574
  }
575
+ /**
576
+ * GAP-004: like {@link aggregateDependencies} but transitive — it DOES descend
577
+ * into instance subtrees and DOES include instance-swap (property-backed) icons,
578
+ * so nested icons hidden inside a dependency's own recipe are surfaced. Returned
579
+ * as a separate, deduped list (the direct compose-by-name `dependencies` is left
580
+ * untouched). `directDeps` is folded in so the transitive set is a superset.
581
+ */
582
+ function aggregateTransitiveDependencies(entity, lookupMap, directDeps) {
583
+ const found = new Set(directDeps);
584
+ const scan = (node) => {
585
+ if (node.type === "INSTANCE" && node.componentId) {
586
+ const resolvedId = lookupMap.byId.get(node.componentId)
587
+ || lookupMap.byName.get(normalizeFigmaName(node.name).baseName)
588
+ || node.componentId;
589
+ found.add(resolvedId);
590
+ // Unlike aggregateDependencies, keep descending into the instance's
591
+ // own subtree to reach nested icons / swapped instances.
592
+ }
593
+ if (node.children) {
594
+ for (const child of node.children)
595
+ scan(child);
596
+ }
597
+ };
598
+ if (entity.type === "COMPONENT_SET") {
599
+ for (const child of entity.children)
600
+ scan(child);
601
+ }
602
+ else {
603
+ scan(entity);
604
+ }
605
+ return Array.from(found);
606
+ }
557
607
  /**
558
608
  * Processes the render tree to extract flattened child nodes and dependency instances.
559
609
  */