react-native-ai-devtools 1.4.3 → 1.4.5

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 (40) hide show
  1. package/build/__tests__/helpers/tap-test-helpers.d.ts +36 -0
  2. package/build/__tests__/helpers/tap-test-helpers.d.ts.map +1 -0
  3. package/build/__tests__/helpers/tap-test-helpers.js +125 -0
  4. package/build/__tests__/helpers/tap-test-helpers.js.map +1 -0
  5. package/build/__tests__/integration/tap-strategies.test.d.ts +2 -0
  6. package/build/__tests__/integration/tap-strategies.test.d.ts.map +1 -0
  7. package/build/__tests__/integration/tap-strategies.test.js +265 -0
  8. package/build/__tests__/integration/tap-strategies.test.js.map +1 -0
  9. package/build/__tests__/unit/burst.test.d.ts +2 -0
  10. package/build/__tests__/unit/burst.test.d.ts.map +1 -0
  11. package/build/__tests__/unit/burst.test.js +50 -0
  12. package/build/__tests__/unit/burst.test.js.map +1 -0
  13. package/build/__tests__/unit/imageBuffer.test.d.ts +2 -0
  14. package/build/__tests__/unit/imageBuffer.test.d.ts.map +1 -0
  15. package/build/__tests__/unit/imageBuffer.test.js +128 -0
  16. package/build/__tests__/unit/imageBuffer.test.js.map +1 -0
  17. package/build/__tests__/unit/tap.test.js +67 -1
  18. package/build/__tests__/unit/tap.test.js.map +1 -1
  19. package/build/core/executor.d.ts.map +1 -1
  20. package/build/core/executor.js +108 -126
  21. package/build/core/executor.js.map +1 -1
  22. package/build/core/imageBuffer.d.ts +37 -0
  23. package/build/core/imageBuffer.d.ts.map +1 -0
  24. package/build/core/imageBuffer.js +58 -0
  25. package/build/core/imageBuffer.js.map +1 -0
  26. package/build/core/index.d.ts +3 -1
  27. package/build/core/index.d.ts.map +1 -1
  28. package/build/core/index.js +3 -1
  29. package/build/core/index.js.map +1 -1
  30. package/build/core/state.d.ts +2 -0
  31. package/build/core/state.d.ts.map +1 -1
  32. package/build/core/state.js +3 -0
  33. package/build/core/state.js.map +1 -1
  34. package/build/index.js +123 -2
  35. package/build/index.js.map +1 -1
  36. package/build/pro/tap.d.ts +24 -0
  37. package/build/pro/tap.d.ts.map +1 -1
  38. package/build/pro/tap.js +259 -47
  39. package/build/pro/tap.js.map +1 -1
  40. package/package.json +3 -2
package/build/pro/tap.js CHANGED
@@ -1,4 +1,4 @@
1
- import { connectedApps } from "../core/state.js";
1
+ import { connectedApps, imageBuffer } from "../core/state.js";
2
2
  import { inferIOSDevicePixelRatio } from "../core/ocr.js";
3
3
  import { executeInApp } from "../core/executor.js";
4
4
  import { pressElement } from "../core/executor.js";
@@ -7,6 +7,61 @@ import { androidTap, androidFindElement, getDefaultAndroidDevice, androidScreens
7
7
  import { compareScreenshots } from "./screenshot-diff.js";
8
8
  import { scanMetroPorts, fetchDevices, selectMainDevice } from "../core/metro.js";
9
9
  import { connectToDevice, clearReconnectionSuppression } from "../core/connection.js";
10
+ export function buildVerificationExplanation(v) {
11
+ const pct = (rate) => (rate * 100).toFixed(1) + "%";
12
+ if (v.meaningful && !v.transientChangeDetected) {
13
+ return `Tap caused a visible UI change (${pct(v.changeRate)} pixel diff). The screen updated as expected.`;
14
+ }
15
+ if (v.meaningful && v.transientChangeDetected) {
16
+ return (`No persistent change, but transient visual feedback detected ` +
17
+ `(frame ${v.peakFrame} peak ${pct(v.peakChangeRate || 0)} diff). ` +
18
+ `Tap triggered a press animation that settled back to original state.`);
19
+ }
20
+ if (v.transientChangeDetected === false) {
21
+ return (`No visual change detected — neither persistent nor transient across burst frames. ` +
22
+ `The element may not respond visually or the tap may have missed.`);
23
+ }
24
+ return (`No visual change detected between before and after screenshots. ` +
25
+ `The element may not respond visually or the tap may have missed.`);
26
+ }
27
+ const BURST_CHANGE_THRESHOLD = 0.005;
28
+ export async function analyzeBurstFrames(frames) {
29
+ if (frames.length < 2) {
30
+ return {
31
+ meaningful: false,
32
+ persistentChangeRate: 0,
33
+ transientChangeDetected: false,
34
+ peakChangeRate: 0,
35
+ peakFrame: 0,
36
+ framesWithChange: [],
37
+ };
38
+ }
39
+ let peakChangeRate = 0;
40
+ let peakFrame = 0;
41
+ const framesWithChange = [];
42
+ for (let i = 1; i < frames.length; i++) {
43
+ const diff = await compareScreenshots(frames[i - 1], frames[i]);
44
+ if (diff.changeRate > BURST_CHANGE_THRESHOLD) {
45
+ framesWithChange.push(i);
46
+ }
47
+ if (diff.changeRate > peakChangeRate) {
48
+ peakChangeRate = diff.changeRate;
49
+ peakFrame = i;
50
+ }
51
+ }
52
+ const persistentDiff = await compareScreenshots(frames[0], frames[frames.length - 1]);
53
+ const persistentChangeRate = persistentDiff.changeRate;
54
+ const transientChangeDetected = !persistentDiff.changed && framesWithChange.length > 0;
55
+ const meaningful = persistentDiff.changed || transientChangeDetected;
56
+ return {
57
+ meaningful,
58
+ persistentChangeRate,
59
+ transientChangeDetected,
60
+ peakChangeRate,
61
+ peakFrame,
62
+ framesWithChange,
63
+ };
64
+ }
10
65
  // --- Helpers ---
11
66
  export function buildQuery(options) {
12
67
  const query = {};
@@ -232,14 +287,16 @@ async function tryFiberAtDepth(query, index, maxTraversalDepth) {
232
287
  }
233
288
  return strategyResult;
234
289
  }
235
- // Input elements found via fiber can't be pressed (no onPress) —
236
- // if fiber measured the layout, return coordinates for a direct native tap;
237
- // otherwise fall through to accessibility/coordinate strategy
290
+ // Fiber finds the element by text/testID/component, then measures its
291
+ // host component's screen position for a native tap. This ensures the tap
292
+ // goes through React's event pipeline, executing any onPress wrappers
293
+ // (analytics, debouncing, state tracking) inside the component.
238
294
  if (parsed.needsNativeTap) {
295
+ const elementType = parsed.isInput ? "input element" : "pressable element";
239
296
  if (parsed.nativeTapTarget && parsed.nativeTapTarget.x && parsed.nativeTapTarget.y) {
240
297
  return {
241
298
  success: false,
242
- reason: `Found ${parsed.pressed} (input element) — measured coordinates for native tap`,
299
+ reason: `Found ${parsed.pressed} (${elementType}) — measured coordinates for native tap`,
243
300
  pressed: parsed.pressed,
244
301
  text: parsed.text,
245
302
  path: parsed.path || null,
@@ -253,17 +310,11 @@ async function tryFiberAtDepth(query, index, maxTraversalDepth) {
253
310
  }
254
311
  return {
255
312
  success: false,
256
- reason: `Found ${parsed.pressed} (input element) but it requires native tap — falling through to next strategy`,
313
+ reason: `Found ${parsed.pressed} (${elementType}) but could not measure coordinates — falling through to next strategy`,
257
314
  };
258
315
  }
259
- return {
260
- success: true,
261
- reason: "Pressed via React fiber tree",
262
- pressed: parsed.pressed,
263
- text: parsed.text,
264
- path: parsed.path || null,
265
- component: parsed.pressed || null,
266
- };
316
+ // All elements now use needsNativeTap — this shouldn't be reached
317
+ return { success: false, reason: "Unexpected: element did not request native tap" };
267
318
  }
268
319
  catch (err) {
269
320
  return {
@@ -495,6 +546,14 @@ async function tryCoordinateStrategy(pixelX, pixelY, platform, lastScreenshot) {
495
546
  }
496
547
  }
497
548
  const SETTLE_DELAY_MS = 800;
549
+ const TAP_TIMEOUT_MS = 10000;
550
+ const MIN_STRATEGY_BUDGET_MS = 500;
551
+ function withTimeout(promise, ms, label) {
552
+ return new Promise((resolve, reject) => {
553
+ const timer = setTimeout(() => reject(new Error(`${label} timed out after ${ms}ms`)), ms);
554
+ promise.then((val) => { clearTimeout(timer); resolve(val); }, (err) => { clearTimeout(timer); reject(err); });
555
+ });
556
+ }
498
557
  async function captureScreenshot(platform) {
499
558
  try {
500
559
  const result = platform === "ios" ? await iosScreenshot() : await androidScreenshot();
@@ -536,12 +595,113 @@ async function verifyAndCapture(platform, shouldVerify, shouldScreenshot, before
536
595
  changeRate: diff.changeRate,
537
596
  changedPixels: diff.changedPixels,
538
597
  totalPixels: diff.totalPixels,
598
+ explanation: buildVerificationExplanation({
599
+ meaningful: diff.changed,
600
+ changeRate: diff.changeRate,
601
+ changedPixels: diff.changedPixels,
602
+ totalPixels: diff.totalPixels,
603
+ }),
539
604
  };
540
605
  }
541
606
  catch {
542
607
  // Diff failed — still return the screenshot
543
608
  }
544
609
  }
610
+ const verifyGroupId = `verify-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
611
+ if (beforeBuffer) {
612
+ imageBuffer.add({
613
+ id: `${verifyGroupId}-before`,
614
+ image: beforeBuffer,
615
+ timestamp: Date.now(),
616
+ source: "tap-verify",
617
+ groupId: verifyGroupId,
618
+ metadata: { phase: "before" },
619
+ });
620
+ }
621
+ imageBuffer.add({
622
+ id: `${verifyGroupId}-after`,
623
+ image: after.buffer,
624
+ timestamp: Date.now(),
625
+ source: "tap-verify",
626
+ groupId: verifyGroupId,
627
+ metadata: { phase: "after", changeRate: verification?.changeRate },
628
+ });
629
+ return { screenshot, verification };
630
+ }
631
+ // --- Burst Capture ---
632
+ const BURST_FRAME_COUNT = 4;
633
+ const BURST_FRAME_INTERVAL_MS = 150;
634
+ async function burstCaptureAndVerify(platform, beforeBuffer) {
635
+ if (!beforeBuffer)
636
+ return {};
637
+ const frames = [beforeBuffer];
638
+ for (let i = 0; i < BURST_FRAME_COUNT; i++) {
639
+ await new Promise((resolve) => setTimeout(resolve, BURST_FRAME_INTERVAL_MS));
640
+ const capture = await captureScreenshot(platform);
641
+ if (capture) {
642
+ frames.push(capture.buffer);
643
+ }
644
+ }
645
+ if (frames.length < 2)
646
+ return {};
647
+ const analysis = await analyzeBurstFrames(frames);
648
+ const groupId = `burst-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
649
+ for (let i = 0; i < frames.length; i++) {
650
+ imageBuffer.add({
651
+ id: `${groupId}-f${i}`,
652
+ image: frames[i],
653
+ timestamp: Date.now(),
654
+ source: "tap-burst",
655
+ groupId,
656
+ metadata: {
657
+ frameIndex: i,
658
+ isBefore: i === 0,
659
+ changeRate: i === 0 ? 0 : (analysis.framesWithChange.includes(i) ? analysis.peakChangeRate : 0),
660
+ },
661
+ });
662
+ }
663
+ imageBuffer.addGroup({
664
+ groupId,
665
+ intent: "tap-verification",
666
+ source: "tap-burst",
667
+ timestamp: Date.now(),
668
+ frameCount: frames.length,
669
+ summary: {
670
+ peakChangeRate: analysis.peakChangeRate,
671
+ peakFrame: analysis.peakFrame,
672
+ framesWithChange: analysis.framesWithChange,
673
+ transientChangeDetected: analysis.transientChangeDetected,
674
+ persistentChangeRate: analysis.persistentChangeRate,
675
+ },
676
+ });
677
+ // Get dimensions from the last frame using sharp
678
+ const sharp = (await import("sharp")).default;
679
+ const meta = await sharp(frames[frames.length - 1]).metadata();
680
+ const screenshot = {
681
+ image: screenshotToBase64(frames[frames.length - 1]),
682
+ width: meta.width || 0,
683
+ height: meta.height || 0,
684
+ scaleFactor: 1,
685
+ };
686
+ const verification = {
687
+ meaningful: analysis.meaningful,
688
+ changeRate: analysis.persistentChangeRate,
689
+ changedPixels: 0,
690
+ totalPixels: 0,
691
+ transientChangeDetected: analysis.transientChangeDetected,
692
+ peakChangeRate: analysis.peakChangeRate,
693
+ peakFrame: analysis.peakFrame,
694
+ burstGroupId: groupId,
695
+ explanation: buildVerificationExplanation({
696
+ meaningful: analysis.meaningful,
697
+ changeRate: analysis.persistentChangeRate,
698
+ changedPixels: 0,
699
+ totalPixels: 0,
700
+ transientChangeDetected: analysis.transientChangeDetected,
701
+ peakChangeRate: analysis.peakChangeRate,
702
+ peakFrame: analysis.peakFrame,
703
+ }),
704
+ };
545
705
  return { screenshot, verification };
546
706
  }
547
707
  // --- Orchestrator ---
@@ -550,6 +710,8 @@ export async function tap(options) {
550
710
  const strategy = options.strategy || "auto";
551
711
  const index = options.index;
552
712
  const maxTraversalDepth = options.maxTraversalDepth;
713
+ const deadline = Date.now() + TAP_TIMEOUT_MS;
714
+ const remainingMs = () => Math.max(0, deadline - Date.now());
553
715
  // Validate inputs
554
716
  const hasSearchParam = query.text || query.testID || query.component;
555
717
  const hasCoordinates = query.x !== undefined || query.y !== undefined;
@@ -604,9 +766,26 @@ export async function tap(options) {
604
766
  const before = await captureScreenshot(platform);
605
767
  nativeBeforeBuffer = before?.buffer || null;
606
768
  }
607
- const result = await tryCoordinateStrategy(query.x, query.y, platform, undefined);
769
+ let result;
770
+ try {
771
+ result = await withTimeout(tryCoordinateStrategy(query.x, query.y, platform, undefined), remainingMs(), "native-coordinate");
772
+ }
773
+ catch (err) {
774
+ return formatTapFailure({
775
+ query,
776
+ attempted: [{ strategy: "native-coordinate", reason: err instanceof Error ? err.message : String(err) }],
777
+ suggestion: `Tap timed out. Take a screenshot (${platform === "ios" ? "ios_screenshot" : "android_screenshot"}) and retry with coordinates.`,
778
+ });
779
+ }
608
780
  if (result.success) {
609
- const { screenshot, verification } = await verifyAndCapture(platform, nativeShouldVerify, nativeShouldScreenshot, nativeBeforeBuffer);
781
+ let screenshot;
782
+ let verification;
783
+ if (options.burst && nativeShouldVerify && nativeBeforeBuffer) {
784
+ ({ screenshot, verification } = await burstCaptureAndVerify(platform, nativeBeforeBuffer));
785
+ }
786
+ else {
787
+ ({ screenshot, verification } = await verifyAndCapture(platform, nativeShouldVerify, nativeShouldScreenshot, nativeBeforeBuffer));
788
+ }
610
789
  return formatTapSuccess({
611
790
  method: "native-coordinate",
612
791
  query,
@@ -627,20 +806,22 @@ export async function tap(options) {
627
806
  let apps = Array.from(connectedApps.values());
628
807
  if (apps.length === 0) {
629
808
  try {
630
- clearReconnectionSuppression();
631
- const openPorts = await scanMetroPorts();
632
- for (const port of openPorts) {
633
- const devices = await fetchDevices(port);
634
- const mainDevice = selectMainDevice(devices);
635
- if (mainDevice) {
636
- await connectToDevice(mainDevice, port);
637
- break;
809
+ await withTimeout((async () => {
810
+ clearReconnectionSuppression();
811
+ const openPorts = await scanMetroPorts();
812
+ for (const port of openPorts) {
813
+ const devices = await fetchDevices(port);
814
+ const mainDevice = selectMainDevice(devices);
815
+ if (mainDevice) {
816
+ await connectToDevice(mainDevice, port);
817
+ break;
818
+ }
638
819
  }
639
- }
820
+ })(), Math.min(remainingMs(), 3000), "auto-connect");
640
821
  apps = Array.from(connectedApps.values());
641
822
  }
642
823
  catch {
643
- // Auto-connect failed, will fall through to error below
824
+ // Auto-connect failed or timed out, will fall through to error below
644
825
  }
645
826
  }
646
827
  if (apps.length === 0) {
@@ -666,28 +847,45 @@ export async function tap(options) {
666
847
  const before = await captureScreenshot(platform);
667
848
  beforeBuffer = before?.buffer || null;
668
849
  }
669
- // Execute strategies in order
850
+ // Execute strategies in order with timeout budget
670
851
  for (const strat of strategies) {
852
+ const budget = remainingMs();
853
+ if (budget < MIN_STRATEGY_BUDGET_MS) {
854
+ attempted.push({ strategy: strat, reason: `Skipped — only ${budget}ms remaining (timeout ${TAP_TIMEOUT_MS}ms)` });
855
+ continue;
856
+ }
671
857
  let result;
672
- switch (strat) {
673
- case "fiber":
674
- result = await tryFiberStrategy(query, index, maxTraversalDepth);
675
- break;
676
- case "accessibility":
677
- result = await tryAccessibilityStrategy(query, index, platform);
678
- break;
679
- case "ocr":
680
- result = await tryOcrStrategy(query, platform);
681
- break;
682
- case "coordinate":
683
- result = await tryCoordinateStrategy(query.x, query.y, platform, app.lastScreenshot);
684
- break;
685
- default:
686
- result = { success: false, reason: `Unknown strategy: ${strat}` };
858
+ try {
859
+ switch (strat) {
860
+ case "fiber":
861
+ result = await withTimeout(tryFiberStrategy(query, index, maxTraversalDepth), budget, `fiber`);
862
+ break;
863
+ case "accessibility":
864
+ result = await withTimeout(tryAccessibilityStrategy(query, index, platform), budget, `accessibility`);
865
+ break;
866
+ case "ocr":
867
+ result = await withTimeout(tryOcrStrategy(query, platform), budget, `ocr`);
868
+ break;
869
+ case "coordinate":
870
+ result = await withTimeout(tryCoordinateStrategy(query.x, query.y, platform, app.lastScreenshot), budget, `coordinate`);
871
+ break;
872
+ default:
873
+ result = { success: false, reason: `Unknown strategy: ${strat}` };
874
+ }
875
+ }
876
+ catch (err) {
877
+ attempted.push({ strategy: strat, reason: err instanceof Error ? err.message : String(err) });
878
+ continue;
687
879
  }
688
880
  if (result.success) {
689
- const shouldVerify = canVerify;
690
- const { screenshot, verification } = await verifyAndCapture(platform, shouldVerify, shouldScreenshot, beforeBuffer);
881
+ let screenshot;
882
+ let verification;
883
+ if (options.burst && canVerify && beforeBuffer) {
884
+ ({ screenshot, verification } = await burstCaptureAndVerify(platform, beforeBuffer));
885
+ }
886
+ else {
887
+ ({ screenshot, verification } = await verifyAndCapture(platform, canVerify, shouldScreenshot, beforeBuffer));
888
+ }
691
889
  if (screenshot) {
692
890
  app.lastScreenshot = {
693
891
  originalWidth: screenshot.width,
@@ -710,7 +908,7 @@ export async function tap(options) {
710
908
  });
711
909
  }
712
910
  attempted.push({ strategy: strat, reason: result.reason });
713
- // If fiber found an input with measured coordinates, do a native tap directly
911
+ // If fiber found an element with measured coordinates, do a native tap directly
714
912
  if (strat === "fiber" && result.convertedTo && result.pressed) {
715
913
  try {
716
914
  const coords = result.convertedTo;
@@ -727,7 +925,14 @@ export async function tap(options) {
727
925
  await androidTap(Math.round(coords.x * densityScale), Math.round(coords.y * densityScale));
728
926
  }
729
927
  // fiber+native uses native tap — always verify
730
- const { screenshot, verification } = await verifyAndCapture(platform, canVerify, shouldScreenshot, beforeBuffer);
928
+ let screenshot;
929
+ let verification;
930
+ if (options.burst && canVerify && beforeBuffer) {
931
+ ({ screenshot, verification } = await burstCaptureAndVerify(platform, beforeBuffer));
932
+ }
933
+ else {
934
+ ({ screenshot, verification } = await verifyAndCapture(platform, canVerify, shouldScreenshot, beforeBuffer));
935
+ }
731
936
  if (screenshot) {
732
937
  app.lastScreenshot = {
733
938
  originalWidth: screenshot.width,
@@ -773,7 +978,11 @@ export async function tap(options) {
773
978
  });
774
979
  }
775
980
  }
776
- // All strategies failed
981
+ // All strategies failed — check if timeout was the cause
982
+ const timedOut = attempted.some(a => a.reason.includes("timed out"));
983
+ const skipped = attempted.some(a => a.reason.includes("Skipped"));
984
+ const hitTimeout = timedOut || skipped;
985
+ const elapsed = TAP_TIMEOUT_MS - remainingMs();
777
986
  const suggestion = buildSuggestion(query, strategies, platform);
778
987
  const { screenshot: failScreenshot } = shouldScreenshot
779
988
  ? await verifyAndCapture(platform, false, true, null)
@@ -788,6 +997,9 @@ export async function tap(options) {
788
997
  return formatTapFailure({
789
998
  query,
790
999
  attempted,
1000
+ error: hitTimeout
1001
+ ? `Tap timed out after ${elapsed}ms (budget ${TAP_TIMEOUT_MS}ms)`
1002
+ : undefined,
791
1003
  suggestion,
792
1004
  screenshot: failScreenshot,
793
1005
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tap.js","sourceRoot":"","sources":["../../src/pro/tap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tap.js","sourceRoot":"","sources":["../../src/pro/tap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AACvG,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAChH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAsDtF,MAAM,UAAU,4BAA4B,CAAC,CAQ5C;IACG,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAE5D,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC;QAC7C,OAAO,mCAAmC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,+CAA+C,CAAC;IAC/G,CAAC;IAED,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,uBAAuB,EAAE,CAAC;QAC5C,OAAO,CACH,+DAA+D;YAC/D,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,UAAU;YAClE,sEAAsE,CACzE,CAAC;IACN,CAAC;IAED,IAAI,CAAC,CAAC,uBAAuB,KAAK,KAAK,EAAE,CAAC;QACtC,OAAO,CACH,oFAAoF;YACpF,kEAAkE,CACrE,CAAC;IACN,CAAC;IAED,OAAO,CACH,kEAAkE;QAClE,kEAAkE,CACrE,CAAC;AACN,CAAC;AAWD,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAErC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAgB;IACrD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO;YACH,UAAU,EAAE,KAAK;YACjB,oBAAoB,EAAE,CAAC;YACvB,uBAAuB,EAAE,KAAK;YAC9B,cAAc,EAAE,CAAC;YACjB,SAAS,EAAE,CAAC;YACZ,gBAAgB,EAAE,EAAE;SACvB,CAAC;IACN,CAAC;IAED,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,gBAAgB,GAAa,EAAE,CAAC;IAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,UAAU,GAAG,sBAAsB,EAAE,CAAC;YAC3C,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,GAAG,cAAc,EAAE,CAAC;YACnC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;YACjC,SAAS,GAAG,CAAC,CAAC;QAClB,CAAC;IACL,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACtF,MAAM,oBAAoB,GAAG,cAAc,CAAC,UAAU,CAAC;IACvD,MAAM,uBAAuB,GAAG,CAAC,cAAc,CAAC,OAAO,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;IACvF,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,IAAI,uBAAuB,CAAC;IAErE,OAAO;QACH,UAAU;QACV,oBAAoB;QACpB,uBAAuB;QACvB,cAAc;QACd,SAAS;QACT,gBAAgB;KACnB,CAAC;AACN,CAAC;AAuBD,kBAAkB;AAElB,MAAM,UAAU,UAAU,CAAC,OAAmB;IAC1C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAChE,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;QAAE,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACzE,IAAI,OAAO,CAAC,CAAC,KAAK,SAAS;QAAE,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,CAAC,KAAK,SAAS;QAAE,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAC9C,MAAM,YAAY,GACd,wNAAwN,CAAC;IAC7N,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAClC,KAAe,EACf,QAAqB;IAErB,IAAI,KAAK,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACjD,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACtB,oFAAoF;QACpF,IAAI,KAAK,CAAC,IAAI,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAChE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClD,OAAO,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACb,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,UAAU,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,qBAAqB,CACjC,MAAc,EACd,MAAc,EACd,QAA2B,EAC3B,gBAAwB,EACxB,cAAsB,CAAC;IAEvB,MAAM,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;IACvC,MAAM,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;IACvC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;IAClE,CAAC;IACD,OAAO;QACH,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,gBAAgB,CAAC;QAC3C,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,gBAAgB,CAAC;KAC9C,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAClC,IAAI,CAAC;QACD,sEAAsE;QACtE,sDAAsD;QACtD,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA8Dd,CAAC;QAEN,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC/F,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAahC;IACG,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IACnD,OAAO;QACH,OAAO,EAAE,IAAI;QACb,GAAG,IAAI;QACP,GAAG,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,CAAC;QACrC,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;KACpC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAShC;IACG,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,OAAO,GACT,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU;QAC9C,CAAC,CAAC,mKAAmK;QACrK,CAAC,CAAC,SAAS,CAAC;IACpB,OAAO;QACH,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QACvD,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC;KAC9B,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAe;IACtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IAClE,OAAO,6BAA6B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3D,CAAC;AAgBD,6BAA6B;AAE7B,KAAK,UAAU,gBAAgB,CAC3B,KAAe,EACf,KAAc,EACd,iBAA0B;IAE1B,qEAAqE;IACrE,MAAM,SAAS,GAAG,iBAAiB,IAAI,EAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,CAAC,SAAS,CAAC,CAAC;IAClC,qEAAqE;IACrE,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;QAClB,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;SAAM,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;QACzB,aAAa,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,UAAU,GAA0B,IAAI,CAAC;IAE7C,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,UAAU,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,OAAO,UAAW,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,eAAe,CAC1B,KAAe,EACf,KAAyB,EACzB,iBAAyB;IAEzB,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK;YACL,iBAAiB;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,qBAAqB,EAAE,CAAC;QAC7E,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;QACrE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEzC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,cAAc,GAAmB;gBACnC,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,MAAM,CAAC,KAAK;aACvB,CAAC;YACF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,cAAc,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC5C,CAAC;YACD,OAAO,cAAc,CAAC;QAC1B,CAAC;QAED,sEAAsE;QACtE,0EAA0E;QAC1E,sEAAsE;QACtE,gEAAgE;QAChE,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,mBAAmB,CAAC;YAC3E,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;gBACjF,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,SAAS,MAAM,CAAC,OAAO,KAAK,WAAW,yCAAyC;oBACxF,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;oBACzB,SAAS,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI;oBACjC,WAAW,EAAE;wBACT,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;wBAC3B,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;wBAC3B,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,IAAI,IAAI,QAAQ;qBAChD;iBACJ,CAAC;YACN,CAAC;YACD,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,SAAS,MAAM,CAAC,OAAO,KAAK,WAAW,wEAAwE;aAC1H,CAAC;QACN,CAAC;QAED,kEAAkE;QAClE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,gDAAgD,EAAE,CAAC;IACxF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO;YACH,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SACtF,CAAC;IACN,CAAC;AACL,CAAC;AAED,KAAK,UAAU,wBAAwB,CACnC,KAAe,EACf,KAAyB,EACzB,QAA2B;IAE3B,IAAI,CAAC;QACD,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QACjC,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAE7B,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,4CAA4C,EAAE,CAAC;QACpF,CAAC;QAED,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACrB,4EAA4E;YAC5E,0DAA0D;YAC1D,IAAI,MAAM,CAAC;YACX,IAAI,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxB,sEAAsE;gBACtE,MAAM,GAAG,MAAM,cAAc,CAAC;oBAC1B,UAAU,EAAE,KAAK,CAAC,MAAM;oBACxB,KAAK;iBACR,CAAC,CAAC;gBACH,uDAAuD;gBACvD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1E,MAAM,GAAG,MAAM,cAAc,CAAC;wBAC1B,kBAAkB,EAAE,KAAK,CAAC,MAAM;wBAChC,KAAK;qBACR,CAAC,CAAC;gBACP,CAAC;gBACD,sEAAsE;gBACtE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1E,MAAM,GAAG,MAAM,cAAc,CAAC;wBAC1B,aAAa,EAAE,KAAK,CAAC,MAAM;wBAC3B,KAAK;qBACR,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,UAAU,GAAG,KAAK,CAAC,IAAK,CAAC;gBAC/B,MAAM,GAAG,MAAM,cAAc,CAAC;oBAC1B,aAAa,EAAE,UAAU;oBACzB,KAAK;iBACR,CAAC,CAAC;YACP,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,4BAA4B,EAAE,CAAC;YACpF,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,KAAK,mBAAmB,MAAM,CAAC,UAAU,CAAC,MAAM,WAAW,EAAE,CAAC;YAC5G,CAAC;YAED,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAE7C,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,8BAA8B;gBACtC,OAAO,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI;gBAClC,IAAI,EAAE,KAAK,CAAC,KAAK,IAAI,SAAS;gBAC9B,SAAS,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;gBAC7B,WAAW,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACxE,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,iEAAiE;YACjE,MAAM,aAAa,GAKf,EAAE,KAAK,EAAE,CAAC;YAEd,IAAI,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxB,aAAa,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5C,CAAC;iBAAM,IAAI,OAAO,EAAE,CAAC;gBACjB,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;YAC5C,CAAC;YAED,IAAI,MAAM,GAAG,MAAM,kBAAkB,CAAC,aAAa,CAAC,CAAC;YAErD,kEAAkE;YAClE,wDAAwD;YACxD,IAAI,SAAS,IAAI,CAAC,OAAO;gBACrB,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC5E,MAAM,GAAG,MAAM,kBAAkB,CAAC;oBAC9B,mBAAmB,EAAE,KAAK,CAAC,MAAM;oBACjC,KAAK;iBACR,CAAC,CAAC;YACP,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,gCAAgC,EAAE,CAAC;YACxF,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,KAAK,mBAAmB,MAAM,CAAC,UAAU,CAAC,MAAM,WAAW,EAAE,CAAC;YAC5G,CAAC;YAED,MAAM,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAEjD,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,kCAAkC;gBAC1C,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,IAAI,SAAS;gBACnD,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,SAAS;gBAC7B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,SAAS;gBACvC,WAAW,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACxE,CAAC;QACN,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO;YACH,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SAC9F,CAAC;IACN,CAAC;AACL,CAAC;AAED,KAAK,UAAU,cAAc,CACzB,KAAe,EACf,QAA2B;IAE3B,IAAI,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,kCAAkC,EAAE,CAAC;QAC1E,CAAC;QAED,IAAI,WAAmB,CAAC;QACxB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,aAAiC,CAAC;QACtC,IAAI,cAAkC,CAAC;QAEvC,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,MAAM,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBAC1C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,0CAA0C,EAAE,CAAC;YAClF,CAAC;YACD,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC;YAC9B,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC;YAC1C,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;YACzC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;QAC/C,CAAC;aAAM,CAAC;YACJ,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACjE,MAAM,UAAU,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC7C,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBAC1C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,8CAA8C,EAAE,CAAC;YACtF,CAAC;YACD,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC;YAC9B,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC;YAC1C,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;YACzC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;QAC/C,CAAC;QAED,MAAM,gBAAgB,GAAG,CAAC,QAAQ,KAAK,KAAK,IAAI,aAAa,IAAI,cAAc,CAAC;YAC5E,CAAC,CAAC,wBAAwB,CAAC,aAAa,EAAE,cAAc,CAAC;YACzD,CAAC,CAAC,CAAC,CAAC;QAER,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE;YAC/C,WAAW;YACX,QAAQ;YACR,gBAAgB;SACnB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,WAAW,CAC9C,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CACrB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CACpD,CAAC;QAEF,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,0BAA0B,UAAU,aAAa,EAAE,CAAC;QACzF,CAAC;QAED,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACrB,MAAM,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACJ,MAAM,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;QAED,OAAO;YACH,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,iCAAiC;YACzC,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,WAAW,EAAE;gBACT,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;gBAC3B,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;gBAC3B,IAAI,EAAE,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;aACjD;SACJ,CAAC;IACN,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO;YACH,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SACpF,CAAC;IACN,CAAC;AACL,CAAC;AAED,KAAK,UAAU,qBAAqB,CAChC,MAAc,EACd,MAAc,EACd,QAA2B,EAC3B,cAAuF;IAEvF,IAAI,CAAC;QACD,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,cAAc,EAAE,WAAW,IAAI,CAAC,CAAC;YACrD,MAAM,aAAa,GAAG,cAAc,EAAE,aAAa,CAAC;YACpD,MAAM,cAAc,GAAG,cAAc,EAAE,cAAc,CAAC;YACtD,MAAM,gBAAgB,GAAG,CAAC,aAAa,IAAI,cAAc,CAAC;gBACtD,CAAC,CAAC,wBAAwB,CAAC,aAAa,EAAE,cAAc,CAAC;gBACzD,CAAC,CAAC,CAAC,CAAC;YAER,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;YAC9F,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YAEvC,uDAAuD;YACvD,IAAI,MAAM,GAAkB,IAAI,CAAC;YACjC,IAAI,CAAC;gBACD,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACL,kCAAkC;YACtC,CAAC;YACD,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,6BAA6B;gBACrC,MAAM;gBACN,WAAW,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAClE,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,MAAM,WAAW,GAAG,cAAc,EAAE,WAAW,IAAI,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;YACnF,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YAE3C,uDAAuD;YACvD,IAAI,MAAM,GAAkB,IAAI,CAAC;YACjC,IAAI,CAAC;gBACD,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACL,kCAAkC;YACtC,CAAC;YACD,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,iCAAiC;gBACzC,MAAM;gBACN,WAAW,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAClE,CAAC;QACN,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO;YACH,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SAC3F,CAAC;IACN,CAAC;AACL,CAAC;AAED,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,MAAM,cAAc,GAAG,KAAK,CAAC;AAC7B,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC,SAAS,WAAW,CAAI,OAAmB,EAAE,EAAU,EAAE,KAAa;IAClE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,UAAU,CACpB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,oBAAoB,EAAE,IAAI,CAAC,CAAC,EAC3D,EAAE,CACL,CAAC;QACF,OAAO,CAAC,IAAI,CACR,CAAC,GAAG,EAAE,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAC/C,CAAC,GAAG,EAAE,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACjD,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC5B,QAA2B;IAE3B,IAAI,CAAC;QACD,MAAM,MAAM,GACR,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,aAAa,EAAE,CAAC,CAAC,CAAC,MAAM,iBAAiB,EAAE,CAAC;QAC3E,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACjD,OAAO;YACH,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,KAAK,EAAE,MAAM,CAAC,aAAa,IAAI,CAAC;YAChC,MAAM,EAAE,MAAM,CAAC,cAAc,IAAI,CAAC;YAClC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC;SACvC,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACtC,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC3B,QAA2B,EAC3B,YAAqB,EACrB,gBAAyB,EACzB,YAA2B;IAE3B,IAAI,CAAC,gBAAgB;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IAErE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAEtB,MAAM,UAAU,GAAkB;QAC9B,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC;QACvC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,WAAW,EAAE,KAAK,CAAC,WAAW;KACjC,CAAC;IAEF,IAAI,YAAyC,CAAC;IAC9C,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;QAC/B,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAClE,YAAY,GAAG;gBACX,UAAU,EAAE,IAAI,CAAC,OAAO;gBACxB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAE,4BAA4B,CAAC;oBACtC,UAAU,EAAE,IAAI,CAAC,OAAO;oBACxB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,WAAW,EAAE,IAAI,CAAC,WAAW;iBAChC,CAAC;aACL,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACL,4CAA4C;QAChD,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,UAAU,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACvF,IAAI,YAAY,EAAE,CAAC;QACf,WAAW,CAAC,GAAG,CAAC;YACZ,EAAE,EAAE,GAAG,aAAa,SAAS;YAC7B,KAAK,EAAE,YAAY;YACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,aAAa;YACtB,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;SAChC,CAAC,CAAC;IACP,CAAC;IACD,WAAW,CAAC,GAAG,CAAC;QACZ,EAAE,EAAE,GAAG,aAAa,QAAQ;QAC5B,KAAK,EAAE,KAAK,CAAC,MAAM;QACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE;KACrE,CAAC,CAAC;IAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AACxC,CAAC;AAED,wBAAwB;AAExB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC,KAAK,UAAU,qBAAqB,CAChC,QAA2B,EAC3B,YAA2B;IAE3B,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IAE7B,MAAM,MAAM,GAAa,CAAC,YAAY,CAAC,CAAC;IAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAChF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,WAAW,CAAC,GAAG,CAAC;YACZ,EAAE,EAAE,GAAG,OAAO,KAAK,CAAC,EAAE;YACtB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,WAAW;YACnB,OAAO;YACP,QAAQ,EAAE;gBACN,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,CAAC,KAAK,CAAC;gBACjB,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;aAClG;SACJ,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,QAAQ,CAAC;QACjB,OAAO;QACP,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,UAAU,EAAE,MAAM,CAAC,MAAM;QACzB,OAAO,EAAE;YACL,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;YAC3C,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;YACzD,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;SACtD;KACJ,CAAC,CAAC;IAEH,iDAAiD;IACjD,MAAM,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC/D,MAAM,UAAU,GAAkB;QAC9B,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpD,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;QACtB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;QACxB,WAAW,EAAE,CAAC;KACjB,CAAC;IAEF,MAAM,YAAY,GAAoB;QAClC,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,UAAU,EAAE,QAAQ,CAAC,oBAAoB;QACzC,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;QACzD,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,YAAY,EAAE,OAAO;QACrB,WAAW,EAAE,4BAA4B,CAAC;YACtC,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,UAAU,EAAE,QAAQ,CAAC,oBAAoB;YACzC,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,CAAC;YACd,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;YACzD,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;SAChC,CAAC;KACL,CAAC;IAEF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AACxC,CAAC;AAED,uBAAuB;AAEvB,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAmB;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;IAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;IAC7C,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAE7D,kBAAkB;IAClB,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC;IACrE,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,KAAK,SAAS,CAAC;IAEtE,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,EAAE,CAAC;QACrC,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK;YACL,KAAK,EAAE,2EAA2E;SACrF,CAAC;IACN,CAAC;IAED,IAAI,cAAc,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,KAAK,SAAS,CAAC,EAAE,CAAC;QACrE,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK;YACL,KAAK,EAAE,2CAA2C;SACrD,CAAC;IACN,CAAC;IAED,2EAA2E;IAC3E,IAAI,OAAO,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;QACnC,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAyC,CAAC;QAEjE,wCAAwC;QACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACpD,uBAAuB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;gBAC3C,8BAA8B,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;aACrD,CAAC,CAAC;YACH,IAAI,aAAa,IAAI,YAAY,EAAE,CAAC;gBAChC,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,KAAK;oBACL,KAAK,EAAE,sIAAsI;iBAChJ,CAAC;YACN,CAAC;YACD,IAAI,aAAa,EAAE,CAAC;gBAChB,QAAQ,GAAG,SAAS,CAAC;YACzB,CAAC;iBAAM,IAAI,YAAY,EAAE,CAAC;gBACtB,QAAQ,GAAG,KAAK,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACJ,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,KAAK;oBACL,KAAK,EAAE,kFAAkF;iBAC5F,CAAC;YACN,CAAC;QACL,CAAC;QAED,MAAM,sBAAsB,GAAG,OAAO,CAAC,UAAU,KAAK,KAAK,CAAC;QAC5D,MAAM,kBAAkB,GAAG,sBAAsB,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC;QAC9E,IAAI,kBAAkB,GAAkB,IAAI,CAAC;QAC7C,IAAI,kBAAkB,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACjD,kBAAkB,GAAG,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC;QAChD,CAAC;QAED,IAAI,MAAsB,CAAC;QAC3B,IAAI,CAAC;YACD,MAAM,GAAG,MAAM,WAAW,CACtB,qBAAqB,CAAC,KAAK,CAAC,CAAE,EAAE,KAAK,CAAC,CAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,EAC9D,WAAW,EAAE,EACb,mBAAmB,CACtB,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,gBAAgB,CAAC;gBACpB,KAAK;gBACL,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxG,UAAU,EAAE,qCAAqC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,+BAA+B;aAC/I,CAAC,CAAC;QACP,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,UAAqC,CAAC;YAC1C,IAAI,YAAyC,CAAC;YAC9C,IAAI,OAAO,CAAC,KAAK,IAAI,kBAAkB,IAAI,kBAAkB,EAAE,CAAC;gBAC5D,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;YAC/F,CAAC;iBAAM,CAAC;gBACJ,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,gBAAgB,CAClD,QAAQ,EACR,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,CACrB,CAAC,CAAC;YACP,CAAC;YACD,OAAO,gBAAgB,CAAC;gBACpB,MAAM,EAAE,mBAAmB;gBAC3B,KAAK;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,QAAQ;gBACR,UAAU;gBACV,YAAY;aACf,CAAC,CAAC;QACP,CAAC;QACD,OAAO,gBAAgB,CAAC;YACpB,KAAK;YACL,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YACrE,UAAU,EAAE,sBAAsB,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,0BAA0B;SAC3H,CAAC,CAAC;IACP,CAAC;IAED,2CAA2C;IAC3C,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC;YACD,MAAM,WAAW,CAAC,CAAC,KAAK,IAAI,EAAE;gBAC1B,4BAA4B,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,MAAM,cAAc,EAAE,CAAC;gBACzC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;oBAC3B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;oBACzC,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBAC7C,IAAI,UAAU,EAAE,CAAC;wBACb,MAAM,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;wBACxC,MAAM;oBACV,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC;YACrD,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACL,qEAAqE;QACzE,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK;YACL,KAAK,EAAE,gSAAgS;SAC1S,CAAC;IACN,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAE9B,uBAAuB;IACvB,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAiB,EAAE,CAAC;IAEnC,iDAAiD;IACjD,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,KAAK,KAAK,CAAC;IACtD,gGAAgG;IAChG,oFAAoF;IACpF,MAAM,SAAS,GAAG,gBAAgB,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC;IAE/D,+CAA+C;IAC/C,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,IAAI,SAAS,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACjD,YAAY,GAAG,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC;IAC1C,CAAC;IAED,kDAAkD;IAClD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;QAC7B,IAAI,MAAM,GAAG,sBAAsB,EAAE,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,MAAM,yBAAyB,cAAc,KAAK,EAAE,CAAC,CAAC;YAClH,SAAS;QACb,CAAC;QAED,IAAI,MAAsB,CAAC;QAE3B,IAAI,CAAC;YACD,QAAQ,KAAK,EAAE,CAAC;gBACZ,KAAK,OAAO;oBACR,MAAM,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;oBAC/F,MAAM;gBACV,KAAK,eAAe;oBAChB,MAAM,GAAG,MAAM,WAAW,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;oBACtG,MAAM;gBACV,KAAK,KAAK;oBACN,MAAM,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;oBAC3E,MAAM;gBACV,KAAK,YAAY;oBACb,MAAM,GAAG,MAAM,WAAW,CACtB,qBAAqB,CAAC,KAAK,CAAC,CAAE,EAAE,KAAK,CAAC,CAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,EACvE,MAAM,EACN,YAAY,CACf,CAAC;oBACF,MAAM;gBACV;oBACI,MAAM,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,KAAK,EAAE,EAAE,CAAC;YAC1E,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9F,SAAS;QACb,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,UAAqC,CAAC;YAC1C,IAAI,YAAyC,CAAC;YAC9C,IAAI,OAAO,CAAC,KAAK,IAAI,SAAS,IAAI,YAAY,EAAE,CAAC;gBAC7C,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;YACzF,CAAC;iBAAM,CAAC;gBACJ,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,gBAAgB,CAClD,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,YAAY,CACf,CAAC,CAAC;YACP,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACb,GAAG,CAAC,cAAc,GAAG;oBACjB,aAAa,EAAE,UAAU,CAAC,KAAK;oBAC/B,cAAc,EAAE,UAAU,CAAC,MAAM;oBACjC,WAAW,EAAE,UAAU,CAAC,WAAW;iBACtC,CAAC;YACN,CAAC;YACD,OAAO,gBAAgB,CAAC;gBACpB,MAAM,EAAE,KAAK;gBACb,KAAK;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,QAAQ;gBACR,UAAU;gBACV,YAAY;aACf,CAAC,CAAC;QACP,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAE3D,gFAAgF;QAChF,IAAI,KAAK,KAAK,OAAO,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC5D,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;gBAClC,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;oBACrB,gDAAgD;oBAChD,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACJ,gDAAgD;oBAChD,4CAA4C;oBAC5C,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;oBACjE,MAAM,aAAa,GAAG,MAAM,iBAAiB,EAAE,CAAC;oBAChD,MAAM,YAAY,GAAG,CAAC,aAAa,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;oBAC1D,MAAM,UAAU,CACZ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,EACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,CACtC,CAAC;gBACN,CAAC;gBACD,+CAA+C;gBAC/C,IAAI,UAAqC,CAAC;gBAC1C,IAAI,YAAyC,CAAC;gBAC9C,IAAI,OAAO,CAAC,KAAK,IAAI,SAAS,IAAI,YAAY,EAAE,CAAC;oBAC7C,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;gBACzF,CAAC;qBAAM,CAAC;oBACJ,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,gBAAgB,CAClD,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,YAAY,CACf,CAAC,CAAC;gBACP,CAAC;gBACD,IAAI,UAAU,EAAE,CAAC;oBACb,GAAG,CAAC,cAAc,GAAG;wBACjB,aAAa,EAAE,UAAU,CAAC,KAAK;wBAC/B,cAAc,EAAE,UAAU,CAAC,MAAM;wBACjC,WAAW,EAAE,UAAU,CAAC,WAAW;qBACtC,CAAC;gBACN,CAAC;gBACD,OAAO,gBAAgB,CAAC;oBACpB,MAAM,EAAE,cAAc;oBACtB,KAAK;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,WAAW,EAAE,MAAM;oBACnB,QAAQ;oBACR,UAAU;oBACV,YAAY;iBACf,CAAC,CAAC;YACP,CAAC;YAAC,MAAM,CAAC;gBACL,qEAAqE;YACzE,CAAC;QACL,CAAC;QAED,6DAA6D;QAC7D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,gBAAgB;gBACpD,CAAC,CAAC,MAAM,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;gBACrD,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;YAChC,IAAI,eAAe,EAAE,CAAC;gBAClB,GAAG,CAAC,cAAc,GAAG;oBACjB,aAAa,EAAE,eAAe,CAAC,KAAK;oBACpC,cAAc,EAAE,eAAe,CAAC,MAAM;oBACtC,WAAW,EAAE,eAAe,CAAC,WAAW;iBAC3C,CAAC;YACN,CAAC;YACD,OAAO,gBAAgB,CAAC;gBACpB,KAAK;gBACL,SAAS;gBACT,UAAU,EAAE,SAAS,MAAM,CAAC,OAAO,CAAC,MAAM,0CAA0C;gBACpF,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,UAAU,EAAE,eAAe;aAC9B,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,yDAAyD;IACzD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,QAAQ,IAAI,OAAO,CAAC;IACvC,MAAM,OAAO,GAAG,cAAc,GAAG,WAAW,EAAE,CAAC;IAE/C,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAChE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,gBAAgB;QACnD,CAAC,CAAC,MAAM,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;QACrD,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IAChC,IAAI,cAAc,EAAE,CAAC;QACjB,GAAG,CAAC,cAAc,GAAG;YACjB,aAAa,EAAE,cAAc,CAAC,KAAK;YACnC,cAAc,EAAE,cAAc,CAAC,MAAM;YACrC,WAAW,EAAE,cAAc,CAAC,WAAW;SAC1C,CAAC;IACN,CAAC;IACD,OAAO,gBAAgB,CAAC;QACpB,KAAK;QACL,SAAS;QACT,KAAK,EAAE,UAAU;YACb,CAAC,CAAC,uBAAuB,OAAO,cAAc,cAAc,KAAK;YACjE,CAAC,CAAC,SAAS;QACf,UAAU;QACV,UAAU,EAAE,cAAc;KAC7B,CAAC,CAAC;AACP,CAAC;AAED,SAAS,eAAe,CACpB,KAAe,EACf,eAAyB,EACzB,QAAgB;IAEhB,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACjD,WAAW,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACvC,WAAW,CAAC,IAAI,CACZ,2EAA2E,CAC9E,CAAC;IACN,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,IAAI,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,WAAW,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,WAAW,CAAC,IAAI,CACZ,wIAAwI,CAC3I,CAAC;IACN,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,WAAW,CAAC,IAAI,CACZ,8GAA8G,CACjH,CAAC;IACN,CAAC;IAED,WAAW,CAAC,IAAI,CACZ,sBAAsB,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,IAAI;QACtF,4DAA4D,CAC/D,CAAC;IAEF,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-ai-devtools",
3
- "version": "1.4.3",
3
+ "version": "1.4.5",
4
4
  "description": "MCP server for AI-powered React Native debugging - logs, REPL, state inspection",
5
5
  "type": "module",
6
6
  "main": "build/index.js",
@@ -15,7 +15,8 @@
15
15
  "http-server": "node build/httpServerStandalone.js",
16
16
  "test": "NODE_OPTIONS='--experimental-vm-modules' jest",
17
17
  "test:unit": "NODE_OPTIONS='--experimental-vm-modules' jest --testPathPatterns='__tests__/unit'",
18
- "test:integration": "NODE_OPTIONS='--experimental-vm-modules' jest --testPathPatterns='__tests__/integration'"
18
+ "test:integration": "NODE_OPTIONS='--experimental-vm-modules' jest --testPathPatterns='__tests__/integration'",
19
+ "test:tap": "node --experimental-vm-modules node_modules/.bin/jest --testPathPatterns='tap-strategies' --no-coverage --testTimeout=30000"
19
20
  },
20
21
  "keywords": [
21
22
  "mcp",