@docmentis/udoc-viewer 0.6.29 → 0.6.30

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 (60) hide show
  1. package/dist/package.json +1 -1
  2. package/dist/src/UDocClient.d.ts +16 -0
  3. package/dist/src/UDocClient.d.ts.map +1 -1
  4. package/dist/src/UDocClient.js +22 -1
  5. package/dist/src/UDocClient.js.map +1 -1
  6. package/dist/src/UDocViewer.d.ts.map +1 -1
  7. package/dist/src/UDocViewer.js +8 -1
  8. package/dist/src/UDocViewer.js.map +1 -1
  9. package/dist/src/index.d.ts +1 -1
  10. package/dist/src/index.d.ts.map +1 -1
  11. package/dist/src/ui/viewer/actions.d.ts +5 -1
  12. package/dist/src/ui/viewer/actions.d.ts.map +1 -1
  13. package/dist/src/ui/viewer/components/SheetTabBar.d.ts +9 -0
  14. package/dist/src/ui/viewer/components/SheetTabBar.d.ts.map +1 -0
  15. package/dist/src/ui/viewer/components/SheetTabBar.js +56 -0
  16. package/dist/src/ui/viewer/components/SheetTabBar.js.map +1 -0
  17. package/dist/src/ui/viewer/components/Spread.d.ts.map +1 -1
  18. package/dist/src/ui/viewer/components/Spread.js +6 -4
  19. package/dist/src/ui/viewer/components/Spread.js.map +1 -1
  20. package/dist/src/ui/viewer/components/Viewport.d.ts.map +1 -1
  21. package/dist/src/ui/viewer/components/Viewport.js +38 -6
  22. package/dist/src/ui/viewer/components/Viewport.js.map +1 -1
  23. package/dist/src/ui/viewer/layout/pixelAlign.d.ts +1 -0
  24. package/dist/src/ui/viewer/layout/pixelAlign.d.ts.map +1 -1
  25. package/dist/src/ui/viewer/layout/pixelAlign.js +20 -0
  26. package/dist/src/ui/viewer/layout/pixelAlign.js.map +1 -1
  27. package/dist/src/ui/viewer/layout/spreadLayout.d.ts +8 -22
  28. package/dist/src/ui/viewer/layout/spreadLayout.d.ts.map +1 -1
  29. package/dist/src/ui/viewer/layout/spreadLayout.js +24 -36
  30. package/dist/src/ui/viewer/layout/spreadLayout.js.map +1 -1
  31. package/dist/src/ui/viewer/reducer.d.ts.map +1 -1
  32. package/dist/src/ui/viewer/reducer.js +12 -0
  33. package/dist/src/ui/viewer/reducer.js.map +1 -1
  34. package/dist/src/ui/viewer/shell.d.ts.map +1 -1
  35. package/dist/src/ui/viewer/shell.js +4 -0
  36. package/dist/src/ui/viewer/shell.js.map +1 -1
  37. package/dist/src/ui/viewer/state.d.ts +5 -1
  38. package/dist/src/ui/viewer/state.d.ts.map +1 -1
  39. package/dist/src/ui/viewer/state.js +2 -0
  40. package/dist/src/ui/viewer/state.js.map +1 -1
  41. package/dist/src/ui/viewer/styles-inline.d.ts +1 -1
  42. package/dist/src/ui/viewer/styles-inline.d.ts.map +1 -1
  43. package/dist/src/ui/viewer/styles-inline.js +47 -1
  44. package/dist/src/ui/viewer/styles-inline.js.map +1 -1
  45. package/dist/src/wasm/udoc.d.ts +130 -86
  46. package/dist/src/wasm/udoc.js +39 -6
  47. package/dist/src/wasm/udoc_bg.wasm +0 -0
  48. package/dist/src/wasm/udoc_bg.wasm.d.ts +4 -3
  49. package/dist/src/worker/WorkerClient.d.ts +40 -2
  50. package/dist/src/worker/WorkerClient.d.ts.map +1 -1
  51. package/dist/src/worker/WorkerClient.js +92 -0
  52. package/dist/src/worker/WorkerClient.js.map +1 -1
  53. package/dist/src/worker/index.d.ts +1 -1
  54. package/dist/src/worker/index.d.ts.map +1 -1
  55. package/dist/src/worker/worker-inline.js +1 -1
  56. package/dist/src/worker/worker.d.ts +23 -2
  57. package/dist/src/worker/worker.d.ts.map +1 -1
  58. package/dist/src/worker/worker.js +52 -7
  59. package/dist/src/worker/worker.js.map +1 -1
  60. package/package.json +1 -1
@@ -0,0 +1,56 @@
1
+ import { subscribeSelector } from "../../framework/selectors";
2
+ function selectSheetTabBar(state) {
3
+ return {
4
+ pageGroups: state.pageGroups,
5
+ activeGroupIndex: state.activeGroupIndex,
6
+ isXlsx: state.documentFormat === "xlsx",
7
+ };
8
+ }
9
+ function sliceEqual(a, b) {
10
+ return a.pageGroups === b.pageGroups && a.activeGroupIndex === b.activeGroupIndex && a.isXlsx === b.isXlsx;
11
+ }
12
+ export function createSheetTabBar() {
13
+ const el = document.createElement("div");
14
+ el.className = "udoc-sheet-tabs";
15
+ el.setAttribute("role", "tablist");
16
+ el.style.display = "none";
17
+ let unsub = null;
18
+ function render(slice, store) {
19
+ const shouldShow = slice.isXlsx && slice.pageGroups.length > 0;
20
+ el.style.display = shouldShow ? "flex" : "none";
21
+ if (!shouldShow) {
22
+ el.replaceChildren();
23
+ return;
24
+ }
25
+ el.replaceChildren();
26
+ slice.pageGroups.forEach((group, index) => {
27
+ const btn = document.createElement("button");
28
+ btn.type = "button";
29
+ btn.className = "udoc-sheet-tab";
30
+ btn.setAttribute("role", "tab");
31
+ btn.textContent = group.name ?? `Sheet ${index + 1}`;
32
+ btn.title = btn.textContent;
33
+ const isActive = index === slice.activeGroupIndex;
34
+ btn.setAttribute("aria-selected", isActive ? "true" : "false");
35
+ btn.tabIndex = isActive ? 0 : -1;
36
+ if (isActive)
37
+ btn.classList.add("udoc-sheet-tab--active");
38
+ btn.addEventListener("click", () => {
39
+ store.dispatch({ type: "SET_ACTIVE_GROUP", groupIndex: index });
40
+ });
41
+ el.appendChild(btn);
42
+ });
43
+ }
44
+ function mount(parent, store) {
45
+ parent.appendChild(el);
46
+ render(selectSheetTabBar(store.getState()), store);
47
+ unsub = subscribeSelector(store, selectSheetTabBar, (slice) => render(slice, store), { equality: sliceEqual });
48
+ }
49
+ function destroy() {
50
+ unsub?.();
51
+ unsub = null;
52
+ el.remove();
53
+ }
54
+ return { el, mount, destroy };
55
+ }
56
+ //# sourceMappingURL=SheetTabBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SheetTabBar.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/components/SheetTabBar.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAW9D,SAAS,iBAAiB,CAAC,KAAkB;IACzC,OAAO;QACH,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,MAAM,EAAE,KAAK,CAAC,cAAc,KAAK,MAAM;KAC1C,CAAC;AACN,CAAC;AAED,SAAS,UAAU,CAAC,CAAmB,EAAE,CAAmB;IACxD,OAAO,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,KAAK,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC;AAC/G,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC7B,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,EAAE,CAAC,SAAS,GAAG,iBAAiB,CAAC;IACjC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnC,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAE1B,IAAI,KAAK,GAAwB,IAAI,CAAC;IAEtC,SAAS,MAAM,CAAC,KAAuB,EAAE,KAAiC;QACtE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/D,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAChD,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,EAAE,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO;QACX,CAAC;QAED,EAAE,CAAC,eAAe,EAAE,CAAC;QACrB,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACtC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC7C,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC;YACpB,GAAG,CAAC,SAAS,GAAG,gBAAgB,CAAC;YACjC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAChC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,IAAI,SAAS,KAAK,GAAG,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC;YAC5B,MAAM,QAAQ,GAAG,KAAK,KAAK,KAAK,CAAC,gBAAgB,CAAC;YAClD,GAAG,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC/D,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,QAAQ;gBAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YAC1D,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBAC/B,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,KAAK,CAAC,MAAmB,EAAE,KAAiC;QACjE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACvB,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACnD,KAAK,GAAG,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IACnH,CAAC;IAED,SAAS,OAAO;QACZ,KAAK,EAAE,EAAE,CAAC;QACV,KAAK,GAAG,IAAI,CAAC;QACb,EAAE,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAClC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Spread.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/components/Spread.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAY,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAqB,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE/E,OAAO,EAA4B,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAE1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACnE;AAED,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,mBAAmB;IAChC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACvB;AA4ED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,eAAe,UAAO,EAAE,IAAI,CAAC,EAAE,IAAI;;uBAgkBpD,WAAW,KAAG,IAAI;mBAKxB,IAAI;2BA3FY,YAAY,WAAW,mBAAmB,KAAG,OAAO,CAAC,IAAI,CAAC;4BAtP/D,mBAAmB,KAAG,IAAI;qCA6WxC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,WAC7B,mBAAmB,0BACJ,qBAAqB,GAAG,IAAI,KACrD,IAAI;mCAkC+B,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,mBAAmB,KAAG,IAAI;sCAuBzD,WAAW,EAAE,eAAe,MAAM,WAAW,mBAAmB,KAAG,IAAI;2BAoDpF,IAAI;sBAzHT,cAAc;mBAIjB,UAAU;EA6IjC;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"Spread.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/components/Spread.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAY,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAqB,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE/E,OAAO,EAA4B,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAE1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACnE;AAED,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,mBAAmB;IAChC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACvB;AA4ED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,eAAe,UAAO,EAAE,IAAI,CAAC,EAAE,IAAI;;uBAmkBpD,WAAW,KAAG,IAAI;mBAKxB,IAAI;2BA9FY,YAAY,WAAW,mBAAmB,KAAG,OAAO,CAAC,IAAI,CAAC;4BAtP/D,mBAAmB,KAAG,IAAI;qCAgXxC,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,WAC7B,mBAAmB,0BACJ,qBAAqB,GAAG,IAAI,KACrD,IAAI;mCAkC+B,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,mBAAmB,KAAG,IAAI;sCAuBzD,WAAW,EAAE,eAAe,MAAM,WAAW,mBAAmB,KAAG,IAAI;2BAoDpF,IAAI;sBAzHT,cAAc;mBAIjB,UAAU;EA6IjC;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { makeRenderKey } from "../../../worker/index.js";
2
2
  import { getPointsToPixels } from "../state";
3
- import { getDevicePixelRatio, toCssPixels, toDevicePixels, snapToDevice } from "../layout";
3
+ import { getDevicePixelRatio, getEffectiveDpr, toCssPixels, toDevicePixels, snapToDevice } from "../layout";
4
4
  import { renderAnnotationsToLayer } from "../annotation";
5
5
  import { renderTextToLayer, attachSelectionController } from "../text";
6
6
  function normalizeRotation(rotation) {
@@ -457,13 +457,15 @@ export function createSpread(data, showAttribution = true, i18n) {
457
457
  async function render(workerClient, options) {
458
458
  const dpr = getDevicePixelRatio();
459
459
  const pointsToPixels = getPointsToPixels(options.dpi);
460
- const renderScale = pointsToPixels * options.scale * dpr;
461
460
  for (const slotEl of slotElements) {
462
461
  if (slotEl.pageNumber === null || slotEl.canvas === null) {
463
462
  slotEl.renderKey = "";
464
463
  slotEl.pendingKey = null;
465
464
  continue;
466
465
  }
466
+ // Clamp DPR so the canvas stays within iOS Safari's 16M-pixel / 4096px limit at high zoom.
467
+ const effDpr = getEffectiveDpr(slotEl.cssWidth, slotEl.cssHeight, dpr);
468
+ const renderScale = pointsToPixels * options.scale * effDpr;
467
469
  const key = makeRenderKey(options.docId, slotEl.pageNumber, "page", renderScale);
468
470
  if (slotEl.renderKey === key || slotEl.pendingKey === key)
469
471
  continue;
@@ -487,7 +489,7 @@ export function createSpread(data, showAttribution = true, i18n) {
487
489
  // Only show preview if full-res hasn't arrived yet
488
490
  if (slotEl.renderKey === key)
489
491
  return;
490
- drawToCanvas(slotEl.previewCanvas, result, slotEl, dpr);
492
+ drawToCanvas(slotEl.previewCanvas, result, slotEl, effDpr);
491
493
  slotEl.previewCanvas.style.display = "block";
492
494
  slotEl.previewRenderKey = previewKey;
493
495
  if (slotEl.loadingTimer) {
@@ -513,7 +515,7 @@ export function createSpread(data, showAttribution = true, i18n) {
513
515
  slotEl.pendingKey = null;
514
516
  continue;
515
517
  }
516
- drawToCanvas(slotEl.canvas, result, slotEl, dpr);
518
+ drawToCanvas(slotEl.canvas, result, slotEl, effDpr);
517
519
  if (slotEl.loadingTimer) {
518
520
  clearTimeout(slotEl.loadingTimer);
519
521
  slotEl.loadingTimer = null;
@@ -1 +1 @@
1
- {"version":3,"file":"Spread.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/components/Spread.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Spread.js","sourceRoot":"","sources":["../../../../../src/ui/viewer/components/Spread.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAqB,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAoC,MAAM,UAAU,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC5G,OAAO,EAAE,wBAAwB,EAAmB,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AA4EvE,SAAS,iBAAiB,CAAC,QAAsB;IAC7C,QAAQ,QAAQ,EAAE,CAAC;QACf,KAAK,EAAE,CAAC;QACR,KAAK,GAAG,CAAC;QACT,KAAK,GAAG;YACJ,OAAO,QAAQ,CAAC;QACpB;YACI,OAAO,CAAC,CAAC;IACjB,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,IAAc,EAAE,QAAsB;IACtD,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,UAAU,KAAK,EAAE,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QAC1C,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,gBAA8B,EAAE,YAA0B;IAC/E,MAAM,QAAQ,GAAG,CAAC,gBAAgB,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC;IACzD,OAAO,iBAAiB,CAAC,QAAwB,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAChC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,IAAgB,EAAE,eAAe,GAAG,IAAI,EAAE,IAAW;IAC9E,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,EAAE,CAAC,SAAS,GAAG,aAAa,CAAC;IAC7B,EAAE,CAAC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE5C,sEAAsE;IACtE,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CAAC,SAAS,GAAG,sBAAsB,CAAC;IAC3C,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAExB,MAAM,YAAY,GAAsB,EAAE,CAAC;IAC3C,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACvC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS,iBAAiB,CAAC,UAAoB;QAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,SAAS,CAAC,SAAS,GAAG,mBAAmB,CAAC;QAC1C,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QACtC,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEpC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACtB,SAAS,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;YAC5C,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACxC,SAAS,CAAC,YAAY,CAClB,YAAY,EACZ,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,UAAU,EAAE,CACjF,CAAC;YACF,oEAAoE;YACpE,gDAAgD;YAChD,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;gBACjC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1D,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,qFAAqF;YACrF,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACvD,aAAa,CAAC,SAAS,GAAG,6BAA6B,CAAC;YACxD,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC1C,aAAa,CAAC,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;YAC/C,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YACrC,aAAa,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAClD,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAErC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,CAAC,SAAS,GAAG,qBAAqB,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;YACxC,MAAM,CAAC,YAAY,CACf,YAAY,EACZ,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,UAAU,UAAU,CAC3F,CAAC;YACF,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,UAAU,EAAE,CAAC;YACpG,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAE9B,oEAAoE;YACpE,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAChD,SAAS,CAAC,SAAS,GAAG,yBAAyB,CAAC;YAChD,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;YACtC,SAAS,CAAC,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;YAC3C,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAEjC,oEAAoE;YACpE,MAAM,0BAA0B,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;YAExE,sCAAsC;YACtC,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACtD,eAAe,CAAC,SAAS,GAAG,+BAA+B,CAAC;YAC5D,eAAe,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC5C,eAAe,CAAC,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;YACjD,eAAe,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;YAC7C,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YAEvC,kDAAkD;YAClD,MAAM,oBAAoB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC3D,oBAAoB,CAAC,SAAS,GAAG,qCAAqC,CAAC;YACvE,oBAAoB,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;YACjD,oBAAoB,CAAC,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;YACtD,oBAAoB,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;YAClD,SAAS,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;YAE5C,kEAAkE;YAClE,MAAM,OAAO,GAAG,s0KAAs0K,CAAC;YACv1K,IAAI,mBAAmB,GAAwB,IAAI,CAAC;YACpD,CAAC;gBACG,MAAM,cAAc,GAChB,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5F,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAEhE,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACvD,cAAc,CAAC,WAAW,GAAG;uBACtB,cAAc;;;;;;;;;;;;;;uBAcd,SAAS;;;;;yCAKS,SAAS;;;2EAGyB,cAAc;;;iBAGxE,CAAC;gBACF,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAEtC,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gBAE1E,SAAS,eAAe;oBACpB,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAC1C,GAAG,CAAC,SAAS,GAAG,cAAc,CAAC;oBAC/B,IAAI,eAAe,EAAE,CAAC;wBAClB,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;oBAC5B,CAAC;oBACD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBAC5C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;oBAC3B,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC;oBAClC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACtB,OAAO,GAAG,CAAC;gBACf,CAAC;gBAED,IAAI,SAAS,GAAG,eAAe,EAAE,CAAC;gBAClC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAEjC,IAAI,eAAe,EAAE,CAAC;oBAClB,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,CAAC,SAAS,EAAE,EAAE;wBAChD,IAAI,YAAY,GAAG,KAAK,CAAC;wBAEzB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;4BACjC,YAAY,GAAG,IAAI,CAAC;wBACxB,CAAC;wBACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;4BACtC,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;wBAC1C,CAAC;wBAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;4BAC/B,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gCAChC,IACI,QAAQ,CAAC,IAAI,KAAK,YAAY;oCAC9B,QAAQ,CAAC,IAAI,KAAK,eAAe;oCACjC,QAAQ,CAAC,IAAI,KAAK,WAAW,EAC/B,CAAC;oCACC,YAAY,GAAG,IAAI,CAAC;gCACxB,CAAC;4BACL,CAAC;4BACD,IAAI,QAAQ,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gCAChF,YAAY,GAAG,IAAI,CAAC;4BACxB,CAAC;wBACL,CAAC;wBAED,IAAI,YAAY,EAAE,CAAC;4BACf,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gCAChC,SAAS,CAAC,MAAM,EAAE,CAAC;4BACvB,CAAC;4BACD,SAAS,GAAG,eAAe,EAAE,CAAC;4BAC9B,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;wBACrC,CAAC;oBACL,CAAC,CAAC,CAAC;oBAEH,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;oBACjE,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE;wBACxB,UAAU,EAAE,IAAI;wBAChB,SAAS,EAAE,IAAI;wBACf,aAAa,EAAE,IAAI;wBACnB,OAAO,EAAE,IAAI;qBAChB,CAAC,CAAC;oBAEH,mBAAmB,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACtD,CAAC;YACL,CAAC;YAED,OAAO;gBACH,SAAS;gBACT,MAAM;gBACN,aAAa;gBACb,SAAS;gBACT,eAAe;gBACf,oBAAoB;gBACpB,UAAU;gBACV,SAAS,EAAE,EAAE;gBACb,UAAU,EAAE,IAAI;gBAChB,gBAAgB,EAAE,EAAE;gBACpB,WAAW,EAAE,CAAC;gBACd,YAAY;gBACZ,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,CAAC;gBACZ,eAAe,EAAE,IAAI;gBACrB,mBAAmB,EAAE,CAAC;gBACtB,qBAAqB,EAAE,IAAI;gBAC3B,cAAc,EAAE,IAAI;gBACpB,aAAa,EAAE,CAAC;gBAChB,0BAA0B;gBAC1B,mBAAmB;gBACnB,iBAAiB,EAAE,IAAI;gBACvB,qBAAqB,EAAE,CAAC,CAAC;gBACzB,eAAe,EAAE,CAAC;aACrB,CAAC;QACN,CAAC;QAED,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACpD,OAAO;YACH,SAAS;YACT,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,IAAI;YACnB,SAAS,EAAE,IAAI;YACf,eAAe,EAAE,IAAI;YACrB,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,IAAI;YAChB,gBAAgB,EAAE,EAAE;YACpB,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,CAAC;YACZ,eAAe,EAAE,IAAI;YACrB,mBAAmB,EAAE,CAAC;YACtB,qBAAqB,EAAE,IAAI;YAC3B,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,CAAC;YAChB,0BAA0B,EAAE,IAAI;YAChC,mBAAmB,EAAE,IAAI;YACzB,iBAAiB,EAAE,IAAI;YACvB,qBAAqB,EAAE,CAAC,CAAC;YACzB,eAAe,EAAE,CAAC;SACrB,CAAC;IACN,CAAC;IAED,SAAS,YAAY,CAAC,OAA4B;QAC9C,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAC;QAClC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;QAE5C,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1E,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,MAAM,IAAI,CAAC;QAElC,IAAI,aAAa,GAAoB,IAAI,CAAC;QAC1C,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;gBAAE,SAAS;YACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YAC1D,IAAI,QAAQ,EAAE,CAAC;gBACX,aAAa,GAAG;oBACZ,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,cAAc,GAAG,OAAO,CAAC,KAAK;oBACtD,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,cAAc,GAAG,OAAO,CAAC,KAAK;iBAC3D,CAAC;gBACF,MAAM;YACV,CAAC;QACL,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YAE9F,MAAM,QAAQ,GAAG,QAAQ;gBACrB,CAAC,CAAC;oBACI,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,cAAc,GAAG,OAAO,CAAC,KAAK;oBACtD,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,cAAc,GAAG,OAAO,CAAC,KAAK;iBAC3D;gBACH,CAAC,CAAC,aAAa,CAAC;YAEpB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;gBACrC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;gBACtC,SAAS;YACb,CAAC;YAED,2EAA2E;YAC3E,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,CAAC,QAAQ,EAAE,QAAQ,IAAI,CAAC,CAAiB,CAAC,CAAC;YACtF,MAAM,iBAAiB,GAAG,eAAe,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;YAE1E,MAAM,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC5D,MAAM,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC9D,MAAM,WAAW,GAAG,UAAU,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,iBAAiB,CAAC,CAAC;YAExG,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;YACpD,MAAM,CAAC,SAAS,GAAG,WAAW,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;YAEtD,uDAAuD;YACvD,MAAM,EAAE,GAAG,QAAQ,KAAK,MAAM,IAAI,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;YACtF,IAAI,cAAsB,CAAC;YAC3B,IAAI,eAAuB,CAAC;YAC5B,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,aAAa,GAAG,CAAC,CAAC;YAEtB,IAAI,EAAE,EAAE,CAAC;gBACL,wDAAwD;gBACxD,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;gBACrD,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,GAAG,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;gBACpD,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,GAAG,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;gBAC1D,MAAM,QAAQ,GAAG,EAAE,CAAC,MAAM,GAAG,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;gBAE5D,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACnD,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAErD,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;oBAC1B,4DAA4D;oBAC5D,MAAM,eAAe,GAAG,UAAU,CAC9B,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,EAChD,iBAAiB,CACpB,CAAC;oBACF,cAAc,GAAG,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBACrD,eAAe,GAAG,WAAW,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBAE3D,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBAC/C,gDAAgD;oBAChD,QAAQ,iBAAiB,EAAE,CAAC;wBACxB,KAAK,CAAC;4BACF,aAAa,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;4BAC/C,MAAM;wBACV,KAAK,EAAE;4BACH,8CAA8C;4BAC9C,aAAa,GAAG,CAAC,CACb,MAAM,CAAC,QAAQ;gCACf,WAAW,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC;gCAC7C,WAAW,CAAC,aAAa,EAAE,GAAG,CAAC,CAClC,CAAC;4BACF,MAAM;wBACV,KAAK,GAAG;4BACJ,aAAa,GAAG,CAAC,CACb,MAAM,CAAC,SAAS;gCAChB,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC;gCAC7B,WAAW,CAAC,cAAc,EAAE,GAAG,CAAC,CACnC,CAAC;4BACF,MAAM;wBACV,KAAK,GAAG;4BACJ,aAAa,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;4BAC/D,MAAM;oBACd,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,iCAAiC;oBACjC,MAAM,SAAS,GAAG,UAAU,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,iBAAiB,CAAC,CAAC;oBAClG,cAAc,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBACnD,eAAe,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBAErD,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;oBACjD,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBAC/C,QAAQ,iBAAiB,EAAE,CAAC;wBACxB,KAAK,CAAC;4BACF,cAAc,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;4BACjD,aAAa,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;4BAC/C,MAAM;wBACV,KAAK,EAAE;4BACH,cAAc,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;4BAChD,aAAa,GAAG,CAAC,CACb,MAAM,CAAC,QAAQ;gCACf,WAAW,CAAC,YAAY,EAAE,GAAG,CAAC;gCAC9B,WAAW,CAAC,aAAa,EAAE,GAAG,CAAC,CAClC,CAAC;4BACF,MAAM;wBACV,KAAK,GAAG;4BACJ,cAAc,GAAG,CAAC,CACd,MAAM,CAAC,QAAQ;gCACf,WAAW,CAAC,YAAY,EAAE,GAAG,CAAC;gCAC9B,WAAW,CAAC,aAAa,EAAE,GAAG,CAAC,CAClC,CAAC;4BACF,aAAa,GAAG,CAAC,CACb,MAAM,CAAC,SAAS;gCAChB,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC;gCAC7B,WAAW,CAAC,cAAc,EAAE,GAAG,CAAC,CACnC,CAAC;4BACF,MAAM;wBACV,KAAK,GAAG;4BACJ,cAAc,GAAG,CAAC,CACd,MAAM,CAAC,SAAS;gCAChB,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC;gCAC7B,WAAW,CAAC,cAAc,EAAE,GAAG,CAAC,CACnC,CAAC;4BACF,aAAa,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;4BAChD,MAAM;oBACd,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,cAAc,GAAG,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACrD,eAAe,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;YAC7D,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;YAE/D,yDAAyD;YACzD,IAAI,UAAkB,CAAC;YACvB,IAAI,SAAiB,CAAC;YACtB,IAAI,EAAE,EAAE,CAAC;gBACL,UAAU,GAAG,cAAc,CAAC;gBAC5B,SAAS,GAAG,aAAa,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACJ,UAAU,GAAG,YAAY,CAAC,CAAC,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;gBACvE,SAAS,GAAG,YAAY,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YAC5E,CAAC;YAED,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACvB,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAClE,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACpE,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC5D,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;gBAC1D,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS;oBAChC,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC;YAC7E,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC3D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC7D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;gBACrD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;gBACnD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC;YACzG,CAAC;YAED,uDAAuD;YACvD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC9D,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAChE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;gBACxD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;gBACtD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC;YAC5G,CAAC;YAED,6DAA6D;YAC7D,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBACzB,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACtE,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC9D,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;gBAC5D,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS;oBAClC,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC;YAC7E,CAAC;YAED,mEAAmE;YACnE,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;gBAC9B,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACzE,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC3E,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;gBACnE,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;gBACjE,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,SAAS;oBACvC,iBAAiB,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC;YAC7E,CAAC;QACL,CAAC;IACL,CAAC;IAED,SAAS,YAAY,CACjB,MAAyB,EACzB,MAA8D,EAC9D,MAAuB,EACvB,GAAW;QAEX,IAAI,WAAmB,CAAC;QACxB,IAAI,YAAoB,CAAC;QACzB,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YAC9C,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC;YAC7D,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC;YAC/D,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpD,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACJ,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QACjC,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW;YAAE,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;QAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY;YAAE,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC;QAEjE,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,GAAG,EAAE,CAAC;YACN,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnE,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACJ,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACpE,CAAC;QACL,CAAC;IACL,CAAC;IAED,sEAAsE;IACtE,MAAM,aAAa,GAAG,IAAI,CAAC;IAC3B,2EAA2E;IAC3E,MAAM,eAAe,GAAG,KAAK,CAAC;IAE9B,KAAK,UAAU,MAAM,CAAC,YAA0B,EAAE,OAA4B;QAC1E,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAC;QAClC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEtD,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBACvD,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;gBACtB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;gBACzB,SAAS;YACb,CAAC;YAED,2FAA2F;YAC3F,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACvE,MAAM,WAAW,GAAG,cAAc,GAAG,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC;YAE5D,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YACjF,IAAI,MAAM,CAAC,SAAS,KAAK,GAAG,IAAI,MAAM,CAAC,UAAU,KAAK,GAAG;gBAAE,SAAS;YAEpE,MAAM,KAAK,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC;YACnC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC;YAExB,qDAAqD;YACrD,IAAI,eAAe,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC;gBACrE,MAAM,kBAAkB,GAAG,WAAW,GAAG,aAAa,CAAC;gBACvD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;gBAClG,IAAI,MAAM,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;oBACzC,YAAY;yBACP,aAAa,CAAC;wBACX,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,IAAI,EAAE,MAAM,CAAC,UAAU;wBACvB,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,kBAAkB;qBAC5B,CAAC;yBACD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBACb,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK;4BAAE,OAAO;wBACrD,mDAAmD;wBACnD,IAAI,MAAM,CAAC,SAAS,KAAK,GAAG;4BAAE,OAAO;wBACrC,YAAY,CAAC,MAAM,CAAC,aAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;wBAC5D,MAAM,CAAC,aAAc,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;wBAC9C,MAAM,CAAC,gBAAgB,GAAG,UAAU,CAAC;wBACrC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;4BACtB,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;4BAClC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;wBAC/B,CAAC;wBACD,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;oBACpE,CAAC,CAAC;yBACD,KAAK,CAAC,GAAG,EAAE;wBACR,6BAA6B;oBACjC,CAAC,CAAC,CAAC;gBACX,CAAC;YACL,CAAC;YAED,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC;oBAC5C,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,IAAI,EAAE,MAAM,CAAC,UAAU;oBACvB,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,WAAW;iBACrB,CAAC,CAAC;gBAEH,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;oBAC3C,IAAI,MAAM,CAAC,UAAU,KAAK,GAAG;wBAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;oBACxD,SAAS;gBACb,CAAC;gBAED,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;gBACpD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;oBACtB,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBAClC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC/B,CAAC;gBACD,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;gBAEhE,iDAAiD;gBACjD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;oBACvB,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBAChD,CAAC;gBACD,MAAM,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAE7B,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,OAAO,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,mBAAmB,CAAC,EAAE,CAAC;oBAChF,OAAO,CAAC,KAAK,CAAC,iCAAiC,MAAM,CAAC,UAAU,GAAG,EAAE,KAAK,CAAC,CAAC;gBAChF,CAAC;YACL,CAAC;oBAAS,CAAC;gBACP,IAAI,MAAM,CAAC,UAAU,KAAK,GAAG;oBAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;YAC5D,CAAC;QACL,CAAC;IACL,CAAC;IAED,SAAS,KAAK,CAAC,SAAsB;QACjC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC1B,OAAO,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,SAAS,OAAO;QACZ,OAAO,GAAG,KAAK,CAAC;QAChB,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;YACtB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;YACzB,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;YACvB,+CAA+C;YAC/C,IAAI,MAAM,CAAC,0BAA0B,EAAE,CAAC;gBACpC,MAAM,CAAC,0BAA0B,EAAE,CAAC;gBACpC,MAAM,CAAC,0BAA0B,GAAG,IAAI,CAAC;YAC7C,CAAC;YACD,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,MAAM,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC;YACtC,CAAC;QACL,CAAC;QACD,EAAE,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,SAAS,UAAU;QACf,OAAO,EAAE,CAAC;IACd,CAAC;IAED,SAAS,OAAO;QACZ,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,SAAS,iBAAiB,CACtB,WAAsC,EACtC,OAA4B,EAC5B,qBAAoD;QAEpD,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;QAE7C,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;gBAAE,SAAS;YAEpE,oDAAoD;YACpD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;YACxC,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAEnD,kDAAkD;YAClD,MAAM,eAAe,GACjB,qBAAqB,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YAEzF,4DAA4D;YAC5D,oFAAoF;YACpF,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC;YAC7E,IACI,eAAe,KAAK,MAAM,CAAC,eAAe;gBAC1C,cAAc;gBACd,eAAe,KAAK,MAAM,CAAC,qBAAqB,EAClD,CAAC;gBACC,SAAS;YACb,CAAC;YAED,mBAAmB;YACnB,wBAAwB,CAAC,MAAM,CAAC,eAAe,EAAE,eAAe,IAAI,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;YAChG,MAAM,CAAC,eAAe,GAAG,eAAe,IAAI,IAAI,CAAC;YACjD,MAAM,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACnC,MAAM,CAAC,qBAAqB,GAAG,eAAe,CAAC;QACnD,CAAC;IACL,CAAC;IAED,SAAS,eAAe,CAAC,WAAoC,EAAE,OAA4B;QACvF,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;QAE7C,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;gBAAE,SAAS;YAE9D,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;YAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAE9C,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC;YACvE,IAAI,MAAM,KAAK,MAAM,CAAC,cAAc,IAAI,cAAc,EAAE,CAAC;gBACrD,SAAS;YACb,CAAC;YAED,MAAM,UAAU,GAAG,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;YACzC,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YAC/D,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC;YAC/B,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC;QACjC,CAAC;IACL,CAAC;IAED,SAAS,sBAAsB,CAAC,OAAsB,EAAE,WAAmB,EAAE,OAA4B;QACrG,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;QAE7C,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI;gBAAE,SAAS;YAEzE,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;YACxC,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC;YAEzE,0BAA0B;YAC1B,IACI,OAAO,KAAK,MAAM,CAAC,iBAAiB;gBACpC,WAAW,KAAK,MAAM,CAAC,qBAAqB;gBAC5C,cAAc,EAChB,CAAC;gBACC,SAAS;YACb,CAAC;YAED,sBAAsB;YACtB,MAAM,CAAC,oBAAoB,CAAC,SAAS,GAAG,EAAE,CAAC;YAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;oBAAE,SAAS;gBAE5C,MAAM,QAAQ,GAAG,CAAC,KAAK,WAAW,CAAC;gBAEnC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC7B,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAClD,WAAW,CAAC,SAAS,GAAG,QAAQ;wBAC5B,CAAC,CAAC,qDAAqD;wBACvD,CAAC,CAAC,uBAAuB,CAAC;oBAC9B,WAAW,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;oBACxC,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC;oBAC/C,WAAW,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC;oBAC9C,WAAW,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,CAAC;oBACpD,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,CAAC;oBACtD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;wBAC7B,WAAW,CAAC,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC;wBAC1C,WAAW,CAAC,KAAK,CAAC,SAAS,GAAG,UAAU,IAAI,CAAC,KAAK,MAAM,CAAC;oBAC7D,CAAC;oBACD,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBACzD,CAAC;YACL,CAAC;YAED,MAAM,CAAC,iBAAiB,GAAG,OAAO,CAAC;YACnC,MAAM,CAAC,qBAAqB,GAAG,WAAW,CAAC;YAC3C,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC;QACnC,CAAC;IACL,CAAC;IAED,SAAS,eAAe;QACpB,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;YACtB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;YACzB,MAAM,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACvB,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAChD,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO;QACH,EAAE;QACF,KAAK;QACL,OAAO;QACP,MAAM;QACN,YAAY;QACZ,iBAAiB;QACjB,eAAe;QACf,sBAAsB;QACtB,eAAe;QACf,UAAU;QACV,OAAO;KACV,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/components/Viewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAEH,KAAK,WAAW,EAUnB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAIzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAya7C,wBAAgB,cAAc,CAAC,eAAe,UAAO;;oBAiQ1B,WAAW,SAAS,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,YAAY,SAAS,IAAI,KAAG,IAAI;mBA4lCvF,IAAI;EA6B3B"}
1
+ {"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../../../../src/ui/viewer/components/Viewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAEH,KAAK,WAAW,EAUnB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAIzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AA+c7C,wBAAgB,cAAc,CAAC,eAAe,UAAO;;oBAiQ1B,WAAW,SAAS,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,YAAY,SAAS,IAAI,KAAG,IAAI;mBAwmCvF,IAAI;EA6B3B"}
@@ -5,7 +5,7 @@ import { calculateSpreads, calculateSpreadLayouts, calculateContinuousLayout, fi
5
5
  import { createSpread } from "./Spread";
6
6
  import { createFloatingToolbar } from "./FloatingToolbar";
7
7
  import { on } from "../../framework/events";
8
- import { getDevicePixelRatio, snapToDevice, toCssPixels, toDevicePixels } from "../layout";
8
+ import { getDevicePixelRatio, getEffectiveDpr, snapToDevice, toCssPixels, toDevicePixels } from "../layout";
9
9
  import { runTransition } from "../transition";
10
10
  import { createViewToolController } from "../tools/ViewToolController";
11
11
  import { createAnnotationDrawController } from "../tools/AnnotationDrawController";
@@ -15,6 +15,8 @@ function viewportSliceEqual(a, b) {
15
15
  a.page === b.page &&
16
16
  a.pageCount === b.pageCount &&
17
17
  a.pageInfos === b.pageInfos &&
18
+ a.pageGroups === b.pageGroups &&
19
+ a.activeGroupIndex === b.activeGroupIndex &&
18
20
  a.viewMode === b.viewMode &&
19
21
  a.scrollMode === b.scrollMode &&
20
22
  a.layoutMode === b.layoutMode &&
@@ -91,6 +93,23 @@ function resolveOverflowState(prev, delta, threshold) {
91
93
  function clamp(value, min, max) {
92
94
  return Math.min(max, Math.max(min, value));
93
95
  }
96
+ function computePrerenderScale(pageInfos, currentPage, zoom, pointsToPixels, dpr) {
97
+ // Match Spread.render's per-page DPR clamp so prerender cache keys align and WASM doesn't
98
+ // allocate oversize bitmaps at extreme zoom (iOS Safari / mobile WASM).
99
+ let minEffDpr = dpr;
100
+ const range = 2;
101
+ for (let offset = -range; offset <= range; offset++) {
102
+ const p = pageInfos[currentPage - 1 + offset];
103
+ if (!p)
104
+ continue;
105
+ const cssW = p.width * pointsToPixels * zoom;
106
+ const cssH = p.height * pointsToPixels * zoom;
107
+ const eff = getEffectiveDpr(cssW, cssH, dpr);
108
+ if (eff < minEffDpr)
109
+ minEffDpr = eff;
110
+ }
111
+ return pointsToPixels * zoom * minEffDpr;
112
+ }
94
113
  function getCenteredOffset(containerSize, contentSize) {
95
114
  const dpr = getDevicePixelRatio();
96
115
  const containerDevice = toDevicePixels(containerSize, dpr);
@@ -218,7 +237,8 @@ function buildLayout(slice, metrics, scrollbarVisible) {
218
237
  const spreads = calculateSpreads(slice.pageCount, slice.layoutMode);
219
238
  const scale = computeScale(slice, metrics, spreads, scrollbarVisible);
220
239
  if (slice.viewMode === "continuous") {
221
- const contLayout = calculateContinuousLayout(spreads, slice.pageInfos, scale, slice.dpi, slice.pageRotation);
240
+ const activeGroup = slice.pageGroups[slice.activeGroupIndex] ?? null;
241
+ const contLayout = calculateContinuousLayout(spreads, slice.pageInfos, scale, slice.dpi, slice.pageRotation, activeGroup);
222
242
  return {
223
243
  spreads,
224
244
  layouts: contLayout.layouts,
@@ -244,6 +264,8 @@ function computeViewportUpdate(prevSlice, nextSlice, prevMetrics, nextMetrics) {
244
264
  nextSlice.docId !== prevSlice.docId ||
245
265
  nextSlice.pageCount !== prevSlice.pageCount ||
246
266
  nextSlice.pageInfos !== prevSlice.pageInfos ||
267
+ nextSlice.pageGroups !== prevSlice.pageGroups ||
268
+ nextSlice.activeGroupIndex !== prevSlice.activeGroupIndex ||
247
269
  nextSlice.viewMode !== prevSlice.viewMode ||
248
270
  nextSlice.scrollMode !== prevSlice.scrollMode ||
249
271
  nextSlice.layoutMode !== prevSlice.layoutMode ||
@@ -259,6 +281,8 @@ function computeViewportUpdate(prevSlice, nextSlice, prevMetrics, nextMetrics) {
259
281
  nextSlice.docId !== prevSlice.docId ||
260
282
  nextSlice.pageCount !== prevSlice.pageCount ||
261
283
  nextSlice.pageInfos !== prevSlice.pageInfos ||
284
+ nextSlice.pageGroups !== prevSlice.pageGroups ||
285
+ nextSlice.activeGroupIndex !== prevSlice.activeGroupIndex ||
262
286
  nextSlice.viewMode !== prevSlice.viewMode ||
263
287
  nextSlice.layoutMode !== prevSlice.layoutMode;
264
288
  const shouldClearSpreads = layoutChanged && spreadsChanged;
@@ -1070,7 +1094,10 @@ export function createViewport(showAttribution = true) {
1070
1094
  continue;
1071
1095
  let spreadComp = spreadComponents.get(i);
1072
1096
  if (!spreadComp) {
1073
- const spreadData = state.spreads[i];
1097
+ // `layouts` may be filtered (XLSX active group only), so
1098
+ // look up the source spread by its global `.index`, not
1099
+ // by the filtered array position.
1100
+ const spreadData = state.spreads[layout.index];
1074
1101
  spreadComp = createSpread(spreadData, showAttribution, i18nRef ?? undefined);
1075
1102
  spreadComp.mount(container);
1076
1103
  spreadComponents.set(i, spreadComp);
@@ -1360,7 +1387,7 @@ export function createViewport(showAttribution = true) {
1360
1387
  // Prerender adjacent pages for smooth page flipping
1361
1388
  const dpr = getDevicePixelRatio();
1362
1389
  const pointsToPixels = getPointsToPixels(slice.dpi);
1363
- const renderScale = pointsToPixels * state.scale * dpr;
1390
+ const renderScale = computePrerenderScale(slice.pageInfos, slice.page, state.scale, pointsToPixels, dpr);
1364
1391
  workerClient.prerenderAdjacentPages(slice.docId, slice.page, renderScale, slice.pageInfos.length);
1365
1392
  }
1366
1393
  }
@@ -1374,7 +1401,7 @@ export function createViewport(showAttribution = true) {
1374
1401
  // Prerender adjacent pages for smooth page flipping
1375
1402
  const dpr = getDevicePixelRatio();
1376
1403
  const pointsToPixels = getPointsToPixels(slice.dpi);
1377
- const renderScale = pointsToPixels * state.scale * dpr;
1404
+ const renderScale = computePrerenderScale(slice.pageInfos, slice.page, state.scale, pointsToPixels, dpr);
1378
1405
  workerClient.prerenderAdjacentPages(slice.docId, slice.page, renderScale, slice.pageInfos.length);
1379
1406
  }
1380
1407
  previousSpreadIndex = spreadIndex;
@@ -1436,7 +1463,10 @@ export function createViewport(showAttribution = true) {
1436
1463
  if (!slice)
1437
1464
  return;
1438
1465
  const spreadIndex = findSpreadForPage(layoutState.spreads, page);
1439
- const layout = layoutState.layouts[spreadIndex];
1466
+ // layouts may be filtered (XLSX active group only), so look up by .index
1467
+ // rather than array position, falling back to the first layout when the
1468
+ // target page is outside the active group.
1469
+ const layout = layoutState.layouts.find((l) => l.index === spreadIndex) ?? layoutState.layouts[0];
1440
1470
  if (!layout)
1441
1471
  return;
1442
1472
  // Top-align with spacing (default), or center vertically if requested
@@ -1579,6 +1609,8 @@ function selectViewport(state) {
1579
1609
  page: state.page,
1580
1610
  pageCount: state.pageCount,
1581
1611
  pageInfos: state.pageInfos,
1612
+ pageGroups: state.pageGroups,
1613
+ activeGroupIndex: state.activeGroupIndex,
1582
1614
  viewMode: state.viewMode,
1583
1615
  scrollMode: state.scrollMode,
1584
1616
  layoutMode: state.layoutMode,