@codexo/exojs 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/CHANGELOG.md +125 -0
  2. package/dist/esm/core/BuildInfo.js +2 -2
  3. package/dist/esm/extensions/Extension.d.ts +39 -7
  4. package/dist/esm/extensions/Extension.d.ts.map +1 -1
  5. package/dist/esm/extensions/ExtensionRegistry.d.ts.map +1 -1
  6. package/dist/esm/extensions/ExtensionRegistry.js.map +1 -1
  7. package/dist/esm/extensions/snapshot.d.ts +12 -2
  8. package/dist/esm/extensions/snapshot.d.ts.map +1 -1
  9. package/dist/esm/extensions/snapshot.js +43 -14
  10. package/dist/esm/extensions/snapshot.js.map +1 -1
  11. package/dist/esm/index.js +8 -0
  12. package/dist/esm/index.js.map +1 -1
  13. package/dist/esm/rendering/Drawable.d.ts +23 -0
  14. package/dist/esm/rendering/Drawable.d.ts.map +1 -1
  15. package/dist/esm/rendering/Drawable.js +34 -0
  16. package/dist/esm/rendering/Drawable.js.map +1 -1
  17. package/dist/esm/rendering/coreRendererBindings.d.ts.map +1 -1
  18. package/dist/esm/rendering/coreRendererBindings.js +22 -0
  19. package/dist/esm/rendering/coreRendererBindings.js.map +1 -1
  20. package/dist/esm/rendering/index.d.ts +13 -0
  21. package/dist/esm/rendering/index.d.ts.map +1 -1
  22. package/dist/esm/rendering/pixelSnap.d.ts +219 -0
  23. package/dist/esm/rendering/pixelSnap.d.ts.map +1 -0
  24. package/dist/esm/rendering/pixelSnap.js +186 -0
  25. package/dist/esm/rendering/pixelSnap.js.map +1 -0
  26. package/dist/esm/rendering/plan/RenderPlanPlayer.d.ts.map +1 -1
  27. package/dist/esm/rendering/plan/RenderPlanPlayer.js +21 -1
  28. package/dist/esm/rendering/plan/RenderPlanPlayer.js.map +1 -1
  29. package/dist/esm/rendering/sprite/NineSliceSprite.d.ts +69 -0
  30. package/dist/esm/rendering/sprite/NineSliceSprite.d.ts.map +1 -0
  31. package/dist/esm/rendering/sprite/NineSliceSprite.js +207 -0
  32. package/dist/esm/rendering/sprite/NineSliceSprite.js.map +1 -0
  33. package/dist/esm/rendering/sprite/RepeatingSprite.d.ts +120 -0
  34. package/dist/esm/rendering/sprite/RepeatingSprite.d.ts.map +1 -0
  35. package/dist/esm/rendering/sprite/RepeatingSprite.js +279 -0
  36. package/dist/esm/rendering/sprite/RepeatingSprite.js.map +1 -0
  37. package/dist/esm/rendering/sprite/Sprite.d.ts +13 -0
  38. package/dist/esm/rendering/sprite/Sprite.d.ts.map +1 -1
  39. package/dist/esm/rendering/sprite/Sprite.js +23 -0
  40. package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
  41. package/dist/esm/rendering/sprite/nineSlice.d.ts +53 -0
  42. package/dist/esm/rendering/sprite/nineSlice.d.ts.map +1 -0
  43. package/dist/esm/rendering/sprite/nineSlice.js +340 -0
  44. package/dist/esm/rendering/sprite/nineSlice.js.map +1 -0
  45. package/dist/esm/rendering/sprite/repeatingSpritePlan.d.ts +57 -0
  46. package/dist/esm/rendering/sprite/repeatingSpritePlan.d.ts.map +1 -0
  47. package/dist/esm/rendering/sprite/repeatingSpritePlan.js +156 -0
  48. package/dist/esm/rendering/sprite/repeatingSpritePlan.js.map +1 -0
  49. package/dist/esm/rendering/texture/TextureRegion.d.ts +100 -0
  50. package/dist/esm/rendering/texture/TextureRegion.d.ts.map +1 -0
  51. package/dist/esm/rendering/texture/TextureRegion.js +144 -0
  52. package/dist/esm/rendering/texture/TextureRegion.js.map +1 -0
  53. package/dist/esm/rendering/texture/repeat.d.ts +96 -0
  54. package/dist/esm/rendering/texture/repeat.d.ts.map +1 -0
  55. package/dist/esm/rendering/texture/repeat.js +158 -0
  56. package/dist/esm/rendering/texture/repeat.js.map +1 -0
  57. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +20 -0
  58. package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts.map +1 -1
  59. package/dist/esm/rendering/webgl2/WebGl2Backend.js +31 -2
  60. package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
  61. package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.d.ts +32 -0
  62. package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.d.ts.map +1 -0
  63. package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.js +308 -0
  64. package/dist/esm/rendering/webgl2/WebGl2NineSliceSpriteRenderer.js.map +1 -0
  65. package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.d.ts +49 -0
  66. package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.d.ts.map +1 -0
  67. package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.js +535 -0
  68. package/dist/esm/rendering/webgl2/WebGl2RepeatingSpriteRenderer.js.map +1 -0
  69. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts +9 -0
  70. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.d.ts.map +1 -1
  71. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js +22 -2
  72. package/dist/esm/rendering/webgl2/WebGl2SpriteRenderer.js.map +1 -1
  73. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +21 -1
  74. package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts.map +1 -1
  75. package/dist/esm/rendering/webgpu/WebGpuBackend.js +29 -2
  76. package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
  77. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts +36 -0
  78. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts.map +1 -0
  79. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js +358 -0
  80. package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js.map +1 -0
  81. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts +52 -0
  82. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts.map +1 -0
  83. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js +556 -0
  84. package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js.map +1 -0
  85. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +9 -0
  86. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts.map +1 -1
  87. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +22 -2
  88. package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
  89. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts +3 -2
  90. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts.map +1 -1
  91. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js +4 -4
  92. package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js.map +1 -1
  93. package/dist/esm/rendering.d.ts +1 -0
  94. package/dist/esm/rendering.d.ts.map +1 -1
  95. package/dist/esm/resources/Loader.d.ts +36 -8
  96. package/dist/esm/resources/Loader.d.ts.map +1 -1
  97. package/dist/esm/resources/Loader.js +30 -11
  98. package/dist/esm/resources/Loader.js.map +1 -1
  99. package/dist/exo.esm.js +3449 -59
  100. package/dist/exo.esm.js.map +1 -1
  101. package/package.json +10 -3
@@ -1,3 +1,4 @@
1
+ import { Rectangle } from '../../math/Rectangle.js';
1
2
  import { spriteVertexWgsl } from '../sprite/spriteMaterialSources.js';
2
3
  import { RenderTexture } from '../texture/RenderTexture.js';
3
4
  import { Texture } from '../texture/Texture.js';
@@ -198,6 +199,10 @@ class WebGpuSpriteRenderer extends AbstractWebGpuRenderer {
198
199
  _customBaseTextureLayout = null;
199
200
  _currentMaterial = null;
200
201
  _currentBaseTexture = null;
202
+ // Reusable scratch for device-snapped local bounds ('geometry' mode), and the
203
+ // bounds resolved for the sprite currently being packed (snapped or logical).
204
+ _snapBounds = new Rectangle();
205
+ _activeBounds = null;
201
206
  onConnect(backend) {
202
207
  if (this._device) {
203
208
  return;
@@ -318,6 +323,7 @@ class WebGpuSpriteRenderer extends AbstractWebGpuRenderer {
318
323
  // sprite's transform into the buffer and use the freshly-allocated slot.
319
324
  const command = backend.activeDrawCommand;
320
325
  const nodeIndex = command !== null ? command.nodeIndex : backend._pushTransform(sprite);
326
+ this._activeBounds = this._resolveBounds(sprite, backend);
321
327
  if (material === null) {
322
328
  this._renderDefault(sprite, texture, backend, nodeIndex);
323
329
  }
@@ -325,6 +331,19 @@ class WebGpuSpriteRenderer extends AbstractWebGpuRenderer {
325
331
  this._renderCustom(sprite, texture, material, backend, nodeIndex);
326
332
  }
327
333
  }
334
+ /**
335
+ * Local bounds to upload for `sprite` this draw: device-pixel-snapped in
336
+ * `'geometry'` pixel-snap mode (axis-aligned only), otherwise the sprite's
337
+ * logical local bounds. Reuses a scratch rectangle and never mutates logical
338
+ * state. Consumed synchronously by {@link _packInstance}.
339
+ */
340
+ _resolveBounds(sprite, backend) {
341
+ if (sprite.pixelSnapMode !== 'geometry') {
342
+ return sprite.getLocalBounds();
343
+ }
344
+ const snap = backend._getSnapPixelSize();
345
+ return sprite.getRenderBounds(backend.view, snap.width, snap.height, this._snapBounds);
346
+ }
328
347
  /** Default multi-texture path: rotate the base texture through 8 slots. */
329
348
  _renderDefault(sprite, texture, backend, nodeIndex) {
330
349
  const blendMode = sprite.blendMode;
@@ -503,8 +522,9 @@ class WebGpuSpriteRenderer extends AbstractWebGpuRenderer {
503
522
  const offset = this._instanceCount * wordsPerInstance;
504
523
  const f32 = this._instanceFloat32;
505
524
  const u32 = this._instanceUint32;
506
- // localBounds: left, top, right, bottom (words 0..3, offset 0)
507
- const bounds = sprite.getLocalBounds();
525
+ // localBounds: left, top, right, bottom (words 0..3, offset 0) — device-snapped in
526
+ // 'geometry' pixel-snap mode, otherwise the logical local bounds.
527
+ const bounds = this._activeBounds ?? sprite.getLocalBounds();
508
528
  f32[offset + 0] = bounds.left;
509
529
  f32[offset + 1] = bounds.top;
510
530
  f32[offset + 2] = bounds.right;
@@ -1 +1 @@
1
- {"version":3,"file":"WebGpuSpriteRenderer.js","sources":["../../../../../src/rendering/webgpu/WebGpuSpriteRenderer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;AAAA;AAeA,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmJ1B;AAED,MAAM,mBAAmB,GAAG,EAAE;AAC9B,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,WAAW,CAAC,iBAAiB;AAC5E,MAAM,oBAAoB,GAAG,EAAE;AAC/B,MAAM,oBAAoB,GAAG,EAAE;AAC/B,MAAM,gBAAgB,GAAG,CAAC;AAC1B,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,gBAAgB,GAAG,CAAC;AAC1B;AACA;AACA,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAkBjD,MAAO,oBAAqB,SAAQ,sBAA8B,CAAA;IACrD,eAAe,GAAG,IAAI,YAAY,CAAC,oBAAoB,GAAG,YAAY,CAAC,iBAAiB,CAAC;IAElG,OAAO,GAAqB,IAAI;IAChC,aAAa,GAA2B,IAAI;IAC5C,uBAAuB,GAA8B,IAAI;IACzD,uBAAuB,GAA8B,IAAI;IACzD,eAAe,GAA6B,IAAI;IAChD,cAAc,GAAqB,IAAI;;;IAGvC,mBAAmB,GAAwB,IAAI;IAC/C,uBAAuB,GAAqB,IAAI;IAChD,YAAY,GAAqB,IAAI;IACrC,eAAe,GAAqB,IAAI;IACxC,iBAAiB,GAAG,CAAC;AACrB,IAAA,aAAa,GAAgB,IAAI,WAAW,CAAC,CAAC,CAAC;IAC/C,gBAAgB,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;IACvD,eAAe,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;AAC5C,IAAA,UAAU,GAAmC,IAAI,GAAG,EAA6B;IAEjF,eAAe,GAA0C,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAC/F,IAAA,aAAa,GAAG,IAAI,GAAG,EAAmC;IACnE,UAAU,GAAG,CAAC;IACd,cAAc,GAAG,CAAC;;;IAGlB,aAAa,GAAG,CAAC;IACjB,iBAAiB,GAAsB,IAAI;;;AAIlC,IAAA,gBAAgB,GAAG,IAAI,GAAG,EAAyC;IAC5E,wBAAwB,GAA8B,IAAI;IAC1D,gBAAgB,GAA0B,IAAI;IAC9C,mBAAmB,GAAmC,IAAI;AAExD,IAAA,SAAS,CAAC,OAAsB,EAAA;AACxC,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB;QACF;AAEA,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM;AAC7B,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;QAElF,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;AAChE,YAAA,OAAO,EAAE;AACP,gBAAA;AACE,oBAAA,OAAO,EAAE,CAAC;oBACV,UAAU,EAAE,cAAc,CAAC,MAAM;AACjC,oBAAA,MAAM,EAAE;AACN,wBAAA,IAAI,EAAE,SAAS;AAChB,qBAAA;AACF,iBAAA;AACD,gBAAA;AACE,oBAAA,OAAO,EAAE,CAAC;oBACV,UAAU,EAAE,cAAc,CAAC,MAAM;AACjC,oBAAA,MAAM,EAAE;AACN,wBAAA,IAAI,EAAE,mBAAmB;AAC1B,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA,CAAC;QACF,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;AAChE,YAAA,OAAO,EAAE;AACP,gBAAA,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,MAAM;AACzD,oBAAA,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,cAAc,CAAC,QAAQ;AACnC,oBAAA,OAAO,EAAE;AACP,wBAAA,UAAU,EAAE,OAAgB;AAC7B,qBAAA;AACF,iBAAA,CAAC,CAAC;AACH,gBAAA,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,MAAM;oBACzD,OAAO,EAAE,gBAAgB,GAAG,KAAK;oBACjC,UAAU,EAAE,cAAc,CAAC,QAAQ;AACnC,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE,WAAoB;AAC3B,qBAAA;AACF,iBAAA,CAAC,CAAC;AACJ,aAAA;AACF,SAAA,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;YACvD,gBAAgB,EAAE,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,CAAC;AAC/E,SAAA,CAAC;;QAEF,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;AACjE,YAAA,OAAO,EAAE;AACP,gBAAA,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;AACrF,gBAAA,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;AACpF,aAAA;AACF,SAAA,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;AAC9C,YAAA,IAAI,EAAE,oBAAoB;AAC1B,YAAA,KAAK,EAAE,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC,QAAQ;AACxD,SAAA,CAAC;;;;;;QAOF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YAC5C,IAAI,EAAE,WAAW,CAAC,UAAU;AAC5B,YAAA,KAAK,EAAE,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,QAAQ;AACtD,SAAA,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC;IAC1H;IAEU,YAAY,GAAA;AACpB,QAAA,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE;AAC/B,QAAA,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE;AAC5B,QAAA,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE;;;;QAK9B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE;AACtD,YAAA,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC;QACzC;AAEA,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;AAC7B,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;AACvB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;AACxB,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;AAC/B,QAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI;AACnC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;AAC1B,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,QAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI;AACpC,QAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI;AACnC,QAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI;AACnC,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;AACzB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;QAC5D,IAAI,CAAC,eAAe,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;AAC1D,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC;AACvB,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC;AACtB,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;AAC7B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;AAC5B,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;QAC/B,IAAI,CAAC,WAAW,EAAE;IACpB;AAEO,IAAA,MAAM,CAAC,MAAc,EAAA;AAC1B,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ;AAC7B,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO;;QAG9B,IACE,OAAO,KAAK,IAAI;AAChB,aAAC,EAAE,OAAO,YAAY,OAAO,CAAC,IAAI,EAAE,OAAO,YAAY,aAAa,CAAC,CAAC;YACtE,OAAO,CAAC,KAAK,KAAK,CAAC;YACnB,OAAO,CAAC,MAAM,KAAK,CAAC;aACnB,OAAO,YAAY,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,EACvD;YACA;QACF;AAEA,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ;;;;;AAMhC,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB;QACzC,MAAM,SAAS,GAAG,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC;AAEvF,QAAA,IAAI,QAAQ,KAAK,IAAI,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC;QAC1D;aAAO;AACL,YAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;QACnE;IACF;;AAGQ,IAAA,cAAc,CAAC,MAAc,EAAE,OAAgC,EAAE,OAAsB,EAAE,SAAiB,EAAA;AAChH,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS;;;AAIlC,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,CAAC,iBAAiB;AAChG,QAAA,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,gBAAgB;AAC7F,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC;AAEhF,QAAA,IAAI,gBAAgB,IAAI,aAAa,IAAI,cAAc,EAAE;YACvD,IAAI,CAAC,KAAK,EAAE;QACd;AAEA,QAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS;AAClC,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;AAC5B,QAAA,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;;QAG/B,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC;AAE1C,QAAA,IAAI,IAAI,KAAK,SAAS,EAAE;AACtB,YAAA,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE;YACxB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC;AACrC,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,OAAO;QACtC;AAEA,QAAA,MAAM,iBAAiB,GAAG,OAAO,CAAC,8BAA8B,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;QACjF,MAAM,eAAe,GAAG,IAAI,IAAI,iBAAiB,IAAI,CAAC,CAAC;;;;QAKvD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,CAAC;QAC/D,IAAI,CAAC,cAAc,EAAE;IACvB;;IAGQ,aAAa,CAAC,MAAc,EAAE,OAAgC,EAAE,QAAwB,EAAE,OAAsB,EAAE,SAAiB,EAAA;QACzI,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE;AACjC,YAAA,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC;QAC1G;;;QAIA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,KAAK,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS;AAChG,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,CAAC,iBAAiB;AAChG,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,CAAC,gBAAgB;AAC5F,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC,mBAAmB;AAChG,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC;QAE5E,IAAI,gBAAgB,IAAI,eAAe,IAAI,cAAc,IAAI,UAAU,EAAE;YACvE,IAAI,CAAC,KAAK,EAAE;QACd;AAEA,QAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS;AAClC,QAAA,IAAI,CAAC,gBAAgB,GAAG,QAAQ;AAChC,QAAA,IAAI,CAAC,mBAAmB,GAAG,OAAO;AAClC,QAAA,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;;QAG/B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC;QACjD,IAAI,CAAC,cAAc,EAAE;IACvB;IAEO,KAAK,GAAA;AACV,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ;AAC7B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO;AAC3B,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc;QAEzC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE;YACzC;QACF;QAEA,IAAI,IAAI,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YACxD;QACF;QAEA,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE;QAE9C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QAEvJ,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;AAEzI,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE;AACxC,QAAA,MAAM,YAAY,GAAG,OAAO,KAAK,IAAI,KAAK,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;;;;QAKpF,MAAM,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,IAAI;QAExD,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE;YAC9I,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,IAAI,CAAC,cAAc,GAAG,mBAAmB,CAAC;;;;;AAMnH,YAAA,MAAM,OAAO,GAAG,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;AACzE,YAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,8BAA8B,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;AAErG,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB;AACtC,YAAA,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,aAAa;AAEtD,YAAA,IAAI,QAAQ,KAAK,IAAI,EAAE;AACrB,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC;gBAC/F,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC;AAEtE,gBAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;AAC1B,gBAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,kBAAkB,CAAC;AACxC,gBAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,gBAAgB,CAAC;gBACtC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC;gBAC7C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;AAChD,gBAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAClE;iBAAO;AACL,gBAAA,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC;AAC9C,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC;gBACnF,IAAI,CAAC,aAAa,EAAE;YACtB;AAEA,YAAA,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE;AACvB,YAAA,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE;QAC3B;AAEA,QAAA,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE;AAElC,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC;AACvB,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE;AAClB,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;AAC7B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;AAC5B,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;IACjC;AAEA;;;;AAIG;AACK,IAAA,8BAA8B,CAAC,MAAiB,EAAE,aAAwB,EAAE,aAAwB,EAAA;AAC1G,QAAA,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,IAAI,IAAI,CAAC,uBAAuB,KAAK,aAAa,EAAE;YACvF,OAAO,IAAI,CAAC,mBAAmB;QACjC;AAEA,QAAA,IAAI,CAAC,uBAAuB,GAAG,aAAa;AAC5C,QAAA,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,eAAe,CAAC;YAChD,MAAM,EAAE,IAAI,CAAC,uBAAwB;AACrC,YAAA,OAAO,EAAE;gBACP,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE;gBACnD,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE;AACpD,aAAA;AACF,SAAA,CAAC;QAEF,OAAO,IAAI,CAAC,mBAAmB;IACjC;IAEO,OAAO,GAAA;QACZ,IAAI,CAAC,UAAU,EAAE;IACnB;AAEA;;;;;;;;;;AAUG;IACI,MAAM,gBAAgB,CAAC,OAAoC,EAAA;AAChE,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO;AAE3B,QAAA,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YAC3D;QACF;AAEA,QAAA,IAAI,OAAO,MAAM,CAAC,yBAAyB,KAAK,UAAU,EAAE;YAC1D;QACF;AAEA,QAAA,MAAM,UAAU,GAA0B;AACxC,YAAA,UAAU,CAAC,MAAM;AACjB,YAAA,UAAU,CAAC,QAAQ;AACnB,YAAA,UAAU,CAAC,QAAQ;AACnB,YAAA,UAAU,CAAC,QAAQ;AACnB,YAAA,UAAU,CAAC,MAAM;AACjB,YAAA,UAAU,CAAC,MAAM;AACjB,YAAA,UAAU,CAAC,OAAO;SACnB;QAED,MAAM,QAAQ,GAAyB,EAAE;AAEzC,QAAA,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;AAClC,YAAA,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;AAC5B,gBAAA,MAAM,WAAW,GAAG,CAAA,EAAG,SAAS,CAAA,CAAA,EAAI,MAAM,EAAE;gBAE5C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;oBACpC;gBACF;gBAEA,MAAM,OAAO,GAAG,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAG;oBACjH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC;AAC5C,gBAAA,CAAC,CAAC;AAEF,gBAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;YACxB;QACF;AAEA,QAAA,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC7B;AAEQ,IAAA,aAAa,CAAC,MAAc,EAAE,OAAgC,EAAE,eAAuB,EAAE,SAAiB,EAAA;AAChH,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,GAAG,gBAAgB;AACrD,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB;AACjC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe;;AAGhC,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,EAAE;QAEtC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI;QAC7B,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG;QAC5B,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK;QAC9B,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM;;;AAI/B,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY;AACjC,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK;AAC9B,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM;AAChC,QAAA,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,IAAI,MAAM,IAAI,MAAM;AACxD,QAAA,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,IAAI,MAAM,IAAI,MAAM;AACzD,QAAA,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS,IAAI,MAAM,IAAI,MAAM;AAC3D,QAAA,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,IAAI,MAAM,IAAI,MAAM;QAC9D,MAAM,KAAK,GAAG,OAAO,YAAY,OAAO,IAAI,OAAO,CAAC,KAAK;QACzD,MAAM,IAAI,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO;QACtC,MAAM,IAAI,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO;AAEtC,QAAA,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;AACrC,QAAA,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;;AAGrC,QAAA,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;;AAGtC,QAAA,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,eAAe;;AAGjC,QAAA,MAAM,IAAI,GAAG,SAAS,KAAK,CAAC;AAE5B,QAAA,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI;AAEtB,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE;AAC7B,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI;QAC3B;IACF;AAEQ,IAAA,uBAAuB,CAAC,aAAqB,EAAA;QACnD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,aAAa,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC5D;QACF;AAEA,QAAA,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;AAEzE,QAAA,OAAO,YAAY,GAAG,aAAa,EAAE;YACnC,YAAY,IAAI,CAAC;QACnB;AAEA,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa;;;;;AAKlC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,mBAAmB,EAAE,OAAO,CAAC,UAAU,CAAC;QAE1F,MAAM,YAAY,GAAG,IAAI,WAAW,CAAC,YAAY,GAAG,mBAAmB,CAAC;AAExE,QAAA,IAAI,UAAU,GAAG,CAAC,EAAE;AAClB,YAAA,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;QAC1E;AAEA,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YAC/C,IAAI,EAAE,YAAY,CAAC,UAAU;AAC7B,YAAA,KAAK,EAAE,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,QAAQ;AACvD,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE;AAE/B,QAAA,IAAI,CAAC,iBAAiB,GAAG,YAAY;AACrC,QAAA,IAAI,CAAC,aAAa,GAAG,YAAY;QACjC,IAAI,CAAC,gBAAgB,GAAG,IAAI,YAAY,CAAC,YAAY,CAAC;QACtD,IAAI,CAAC,eAAe,GAAG,IAAI,WAAW,CAAC,YAAY,CAAC;AACpD,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc;IACvC;IAEQ,WAAW,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE;AACvB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE;AACxC,gBAAA,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI;YAChC;AAEA,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;AAC1B,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC;QACrB;IACF;IAEQ,uBAAuB,CAAC,MAAiB,EAAE,OAAsB,EAAA;;;;;AAKvE,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK;QAChE,MAAM,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,eAAe,CAAC;AAClE,QAAA,MAAM,gBAAgB,GAAG,IAAI,KAAK,CAAiD,gBAAgB,CAAC;AAEpG,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,eAAe;YAE1D,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,eAAe,GAAG,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC;QAC1G;QAEA,MAAM,OAAO,GAAwB,EAAE;AAEvC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE;YACzC,OAAO,CAAC,IAAI,CAAC;AACX,gBAAA,OAAO,EAAE,CAAC;AACV,gBAAA,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI;AACnC,aAAA,CAAC;QACJ;AAEA,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE;YACzC,OAAO,CAAC,IAAI,CAAC;gBACX,OAAO,EAAE,gBAAgB,GAAG,CAAC;AAC7B,gBAAA,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO;AACtC,aAAA,CAAC;QACJ;QAEA,OAAO,MAAM,CAAC,eAAe,CAAC;YAC5B,MAAM,EAAE,IAAI,CAAC,uBAAwB;YACrC,OAAO;AACR,SAAA,CAAC;IACJ;AAEQ,IAAA,YAAY,CAAC,SAAqB,EAAE,MAAwB,EAAE,OAAgB,EAAA;AACpF,QAAA,MAAM,WAAW,GAAG,CAAA,EAAG,SAAS,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,EAAI,OAAO,GAAG,GAAG,GAAG,GAAG,EAAE;QACnE,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC;QAEzD,IAAI,gBAAgB,EAAE;AACpB,YAAA,OAAO,gBAAgB;QACzB;QAEA,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACnF,YAAA,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC;QACxD;AAEA,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAE7G,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC;AAE1C,QAAA,OAAO,QAAQ;IACjB;AAEQ,IAAA,wBAAwB,CAAC,SAAqB,EAAE,MAAwB,EAAE,OAAO,GAAG,KAAK,EAAA;QAC/F,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AAChD,YAAA,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC;QACxD;AAEA,QAAA,MAAM,UAAU,GAAgC;YAC9C,MAAM,EAAE,IAAI,CAAC,eAAe;AAC5B,YAAA,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI,CAAC,aAAa;AAC1B,gBAAA,UAAU,EAAE,YAAY;AACxB,gBAAA,OAAO,EAAE;AACP,oBAAA;AACE,wBAAA,WAAW,EAAE,mBAAmB;AAChC,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA;AACE,gCAAA,cAAc,EAAE,CAAC;AACjB,gCAAA,MAAM,EAAE,CAAC;AACT,gCAAA,MAAM,EAAE,WAAW;AACpB,6BAAA;AACD,4BAAA;AACE,gCAAA,cAAc,EAAE,CAAC;AACjB,gCAAA,MAAM,EAAE,EAAE;AACV,gCAAA,MAAM,EAAE,WAAW;AACpB,6BAAA;AACD,4BAAA;AACE,gCAAA,cAAc,EAAE,CAAC;AACjB,gCAAA,MAAM,EAAE,EAAE;AACV,gCAAA,MAAM,EAAE,UAAU;AACnB,6BAAA;AACD,4BAAA;AACE,gCAAA,cAAc,EAAE,CAAC;AACjB,gCAAA,MAAM,EAAE,EAAE;AACV,gCAAA,MAAM,EAAE,QAAQ;AACjB,6BAAA;AACD,4BAAA;AACE,gCAAA,cAAc,EAAE,CAAC;AACjB,gCAAA,MAAM,EAAE,EAAE;AACV,gCAAA,MAAM,EAAE,QAAQ;AACjB,6BAAA;AACF,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,QAAQ,EAAE;gBACR,MAAM,EAAE,IAAI,CAAC,aAAa;AAC1B,gBAAA,UAAU,EAAE,cAAc;AAC1B,gBAAA,OAAO,EAAE;AACP,oBAAA;wBACE,MAAM;AACN,wBAAA,KAAK,EAAE,mBAAmB,CAAC,SAAS,CAAC;wBACrC,SAAS,EAAE,aAAa,CAAC,GAAG;AAC7B,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,QAAQ,EAAE,eAAe;AAC1B,aAAA;SACF;QAED,IAAI,OAAO,EAAE;AACX,YAAA,UAAU,CAAC,YAAY,GAAG,+BAA+B,EAAE;QAC7D;AAEA,QAAA,OAAO,UAAU;IACnB;;;;IAMQ,gBAAgB,CACtB,IAA0B,EAC1B,MAAiB,EACjB,OAAsB,EACtB,QAAwB,EACxB,kBAAgC,EAChC,OAAgB,EAAA;QAEhB,MAAM,SAAS,GAAG,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE,MAAM,CAAC;QACpE,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,IAAI,OAAO,CAAC,KAAK;;QAG7D,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;QAErD,MAAM,QAAQ,GAAG,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAkB,EAAE,OAAO,CAAC,kBAAkB,EAAE,OAAO,EAAE,MAAM,CAAC;AAEjI,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;AAC1B,QAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,kBAAkB,CAAC;AACxC,QAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AAClG,QAAA,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACpF,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAa,EAAE,QAAQ,CAAC;AACjD,QAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAClE;IAEQ,2BAA2B,CAAC,QAAwB,EAAE,MAAiB,EAAA;QAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC;AAEpD,QAAA,IAAI,QAAQ,KAAK,SAAS,EAAE;AAC1B,YAAA,OAAO,QAAQ;QACjB;AAEA,QAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI;AAEjC,QAAA,IAAI,IAAI,KAAK,IAAI,EAAE;AACjB,YAAA,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC;QAC1G;;;;AAKA,QAAA,MAAM,YAAY,GAAG,MAAM,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,CAAA,EAAG,gBAAgB,CAAA,EAAA,EAAK,IAAI,CAAA,CAAE,EAAE,CAAC;QACxF,MAAM,UAAU,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC;AACnE,QAAA,MAAM,cAAc,GAAG,MAAM,CAAC,oBAAoB,CAAC;YACjD,gBAAgB,EAAE,CAAC,IAAI,CAAC,uBAAwB,EAAE,IAAI,CAAC,wBAAyB,EAAE,UAAU,CAAC;AAC9F,SAAA,CAAC;AAEF,QAAA,MAAM,SAAS,GAA0B;YACvC,YAAY;YACZ,UAAU;YACV,cAAc;YACd,SAAS,EAAE,IAAI,GAAG,EAAE;AACpB,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,yBAAyB,EAAE,CAAC;YAC5B,qBAAqB,EAAE,IAAI,OAAO,EAAE;SACrC;QAED,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC;AAE9C,QAAA,QAAQ,CAAC,UAAU,CAAC,MAAK;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC;AAElD,YAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,gBAAA,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC;AACpC,gBAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC;YACxC;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,SAAS;IAClB;IAEQ,0BAA0B,CAChC,SAAgC,EAChC,SAAqB,EACrB,MAAwB,EACxB,OAAgB,EAChB,MAAiB,EAAA;AAEjB,QAAA,MAAM,QAAQ,GAAG,CAAA,EAAG,SAAS,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,EAAI,OAAO,GAAG,GAAG,GAAG,GAAG,EAAE;QAChE,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;AAElD,QAAA,IAAI,QAAQ,KAAK,SAAS,EAAE;AAC1B,YAAA,OAAO,QAAQ;QACjB;AAEA,QAAA,MAAM,UAAU,GAAgC;YAC9C,MAAM,EAAE,SAAS,CAAC,cAAc;AAChC,YAAA,MAAM,EAAE;gBACN,MAAM,EAAE,SAAS,CAAC,YAAY;AAC9B,gBAAA,UAAU,EAAE,YAAY;AACxB,gBAAA,OAAO,EAAE;AACP,oBAAA;AACE,wBAAA,WAAW,EAAE,mBAAmB;AAChC,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;4BACV,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE;4BACrD,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;4BACtD,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;4BACrD,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;4BACnD,EAAE,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;AACpD,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,QAAQ,EAAE;gBACR,MAAM,EAAE,SAAS,CAAC,YAAY;AAC9B,gBAAA,UAAU,EAAE,cAAc;AAC1B,gBAAA,OAAO,EAAE;AACP,oBAAA;wBACE,MAAM;AACN,wBAAA,KAAK,EAAE,mBAAmB,CAAC,SAAS,CAAC;wBACrC,SAAS,EAAE,aAAa,CAAC,GAAG;AAC7B,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,QAAQ,EAAE,eAAe;AAC1B,aAAA;SACF;QAED,IAAI,OAAO,EAAE;AACX,YAAA,UAAU,CAAC,YAAY,GAAG,+BAA+B,EAAE;QAC7D;QAEA,MAAM,QAAQ,GAAG,MAAM,CAAC,oBAAoB,CAAC,UAAU,CAAC;QAExD,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC;AAE3C,QAAA,OAAO,QAAQ;IACjB;AAEQ,IAAA,8BAA8B,CACpC,SAAgC,EAChC,OAAsB,EACtB,OAAgC,EAChC,MAAiB,EAAA;QAEjB,MAAM,QAAQ,GAAG,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC;AAE7D,QAAA,IAAI,QAAQ,KAAK,SAAS,EAAE;AAC1B,YAAA,OAAO,QAAQ;QACjB;QAEA,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC;AAClD,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC;YACnC,MAAM,EAAE,IAAI,CAAC,wBAAyB;AACtC,YAAA,OAAO,EAAE;gBACP,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE;gBACtC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE;AAC1C,aAAA;AACF,SAAA,CAAC;QAEF,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC;AAEnD,QAAA,OAAO,KAAK;IACd;IAEQ,yBAAyB,CAAC,MAAiB,EAAE,QAAwB,EAAA;QAC3E,MAAM,OAAO,GAA8B,EAAE;;;QAI7C,OAAO,CAAC,IAAI,CAAC;AACX,YAAA,OAAO,EAAE,CAAC;AACV,YAAA,UAAU,EAAE,cAAc,CAAC,MAAM,GAAG,cAAc,CAAC,QAAQ;AAC3D,YAAA,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;AAC5B,SAAA,CAAC;AAEF,QAAA,MAAM,eAAe,GAAG,sBAAsB,CAAC,QAAQ,CAAC;AAExD,QAAA,IAAI,eAAe,CAAC,MAAM,GAAG,qBAAqB,EAAE;AAClD,YAAA,MAAM,IAAI,KAAK,CAAC,sCAAsC,qBAAqB,CAAA,uBAAA,CAAyB,CAAC;QACvG;QAEA,IAAI,YAAY,GAAG,CAAC;AAEpB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;AAC9G,YAAA,YAAY,EAAE;YACd,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;AAC5G,YAAA,YAAY,EAAE;QAChB;QAEA,OAAO,MAAM,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,CAAC;IAClD;AAEQ,IAAA,mBAAmB,CAAC,QAAwB,EAAE,SAAgC,EAAE,MAAiB,EAAA;AACvG,QAAA,MAAM,YAAY,GAAG,qBAAqB,CAAC,QAAQ,CAAC;;;AAIpD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;AAClD,QAAA,MAAM,WAAW,GAAG,SAAS,GAAG,EAAE;AAElC,QAAA,IAAI,SAAS,CAAC,iBAAiB,KAAK,IAAI,IAAI,SAAS,CAAC,yBAAyB,GAAG,WAAW,EAAE;AAC7F,YAAA,SAAS,CAAC,iBAAiB,EAAE,OAAO,EAAE;AACtC,YAAA,SAAS,CAAC,yBAAyB,GAAG,WAAW;AACjD,YAAA,SAAS,CAAC,iBAAiB,GAAG,MAAM,CAAC,YAAY,CAAC;AAChD,gBAAA,IAAI,EAAE,WAAW;AACjB,gBAAA,KAAK,EAAE,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC,QAAQ;AACxD,aAAA,CAAC;QACJ;QAEA,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,WAAW,GAAG,CAAC,CAAC;QAE9C,IAAI,IAAI,GAAG,CAAC;AAEZ,QAAA,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE;AAChC,YAAA,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;AAE/B,YAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,gBAAA,IAAI,CAAC,cAAc,CAAC,GAAG,KAAK;YAC9B;AAAO,iBAAA,IAAI,KAAK,YAAY,YAAY,EAAE;AACxC,gBAAA,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC;YACjC;AAAO,iBAAA,IAAI,KAAK,YAAY,UAAU,EAAE;AACtC,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;gBACrC;YACF;iBAAO;gBACL,MAAM,GAAG,GAAG,KAA0B;AAEtC,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBACnC;YACF;AAEA,YAAA,IAAI,EAAE;QACR;AAEA,QAAA,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC,EAAE,IAAI,CAAC;IAChE;AAEQ,IAAA,mBAAmB,CAAC,QAAwB,EAAE,SAAgC,EAAE,OAAsB,EAAE,MAAiB,EAAA;QAC/H,MAAM,OAAO,GAAwB,EAAE;AAEvC,QAAA,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,iBAAkB,EAAE,EAAE,CAAC;QAEhF,IAAI,YAAY,GAAG,CAAC;QAEpB,KAAK,MAAM,OAAO,IAAI,sBAAsB,CAAC,QAAQ,CAAC,EAAE;YACtD,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC;AAClD,YAAA,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;AAC/D,YAAA,YAAY,EAAE;AACd,YAAA,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;AAClE,YAAA,YAAY,EAAE;QAChB;AAEA,QAAA,OAAO,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;IAC1E;AAEQ,IAAA,uBAAuB,CAAC,SAAgC,EAAA;AAC9D,QAAA,SAAS,CAAC,iBAAiB,EAAE,OAAO,EAAE;AACtC,QAAA,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE;AAC3B,QAAA,SAAS,CAAC,iBAAiB,GAAG,IAAI;AAClC,QAAA,SAAS,CAAC,yBAAyB,GAAG,CAAC;AACvC,QAAA,SAAS,CAAC,qBAAqB,GAAG,IAAI,OAAO,EAAE;IACjD;AACD;AAED,SAAS,gBAAgB,CAAC,KAAmB,EAAA;AAC3C,IAAA,QACE,OAAO,KAAK,KAAK,QAAQ;AACzB,QAAA,KAAK,KAAK,IAAI;AACd,QAAA,OAAO,IAAI,KAAK;AAChB,QAAA,QAAQ,IAAI,KAAK;AACjB,QAAA,EAAE,KAAK,YAAY,YAAY,CAAC;AAChC,QAAA,EAAE,KAAK,YAAY,UAAU,CAAC;AAC9B,QAAA,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AAEzB;AAEA;AACA,SAAS,qBAAqB,CAAC,QAAwB,EAAA;IACrD,MAAM,MAAM,GAA0D,EAAE;AAExE,IAAA,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AACpD,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;AAC5B,YAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACpB;IACF;AAEA,IAAA,OAAO,MAAM;AACf;AAEA;;;;;AAKG;AACH,SAAS,sBAAsB,CAAC,QAAwB,EAAA;IACtD,MAAM,MAAM,GAAmC,EAAE;AAEjD,IAAA,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AACpD,QAAA,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE;AAC3B,YAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACpB;IACF;AAEA,IAAA,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AACtD,QAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;IACtB;AAEA,IAAA,OAAO,MAAM;AACf;;;;"}
1
+ {"version":3,"file":"WebGpuSpriteRenderer.js","sources":["../../../../../src/rendering/webgpu/WebGpuSpriteRenderer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { Matrix } from '#math/Matrix';
1
2
  import type { Drawable } from '#rendering/Drawable';
2
3
  import type { DrawCommand } from '#rendering/plan/RenderCommand';
3
4
  import { TransformBuffer } from '#rendering/TransformBuffer';
@@ -15,7 +16,7 @@ export declare class WebGpuTransformStorage {
15
16
  */
16
17
  get buffer(): TransformBuffer;
17
18
  begin(nodeCount: number): void;
18
- writeCommand(command: DrawCommand): void;
19
+ writeCommand(command: DrawCommand, transform?: Matrix): void;
19
20
  /**
20
21
  * Record that a draw command's transform write was skipped because its
21
22
  * renderer opts out of the shared transform storage. Stats only.
@@ -28,7 +29,7 @@ export declare class WebGpuTransformStorage {
28
29
  * `nodeIndex` — a direct `backend.draw(drawable)` outside the plan player —
29
30
  * so a batch of synthetic draws does not collide on a single row.
30
31
  */
31
- push(drawable: Drawable): number;
32
+ push(drawable: Drawable, transform?: Matrix): number;
32
33
  /**
33
34
  * Pre-allocate (or grow) the GPU storage buffer to hold at least
34
35
  * `recordCount` transform slots. Called once before render-plan playback so
@@ -1 +1 @@
1
- {"version":3,"file":"WebGpuTransformStorage.d.ts","sourceRoot":"","sources":["../../../../src/rendering/webgpu/WebGpuTransformStorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAI7D,gBAAgB;AAChB,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,aAAa,CAAM;IAE3B;;;;OAIG;IACH,IAAW,MAAM,IAAI,eAAe,CAEnC;IAEM,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI9B,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAM/C;;;;OAIG;IACI,kBAAkB,IAAI,IAAI;IAIjC;;;;;OAKG;IACI,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAIvC;;;;;;;;OAQG;IACI,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAWrD,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAwBtG,OAAO,IAAI,IAAI;IAQtB,OAAO,CAAC,WAAW;CAgBpB"}
1
+ {"version":3,"file":"WebGpuTransformStorage.d.ts","sourceRoot":"","sources":["../../../../src/rendering/webgpu/WebGpuTransformStorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAI7D,gBAAgB;AAChB,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,aAAa,CAAM;IAE3B;;;;OAIG;IACH,IAAW,MAAM,IAAI,eAAe,CAEnC;IAEM,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI9B,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAMnE;;;;OAIG;IACI,kBAAkB,IAAI,IAAI;IAIjC;;;;;OAKG;IACI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAI3D;;;;;;;;OAQG;IACI,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAWrD,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAwBtG,OAAO,IAAI,IAAI;IAQtB,OAAO,CAAC,WAAW;CAgBpB"}
@@ -19,9 +19,9 @@ class WebGpuTransformStorage {
19
19
  begin(nodeCount) {
20
20
  this._buffer.begin(nodeCount);
21
21
  }
22
- writeCommand(command) {
22
+ writeCommand(command, transform) {
23
23
  const drawable = command.drawable;
24
- this._buffer.write(command.nodeIndex, drawable.getGlobalTransform(), drawable.tint);
24
+ this._buffer.write(command.nodeIndex, transform ?? drawable.getGlobalTransform(), drawable.tint);
25
25
  }
26
26
  /**
27
27
  * Record that a draw command's transform write was skipped because its
@@ -37,8 +37,8 @@ class WebGpuTransformStorage {
37
37
  * `nodeIndex` — a direct `backend.draw(drawable)` outside the plan player —
38
38
  * so a batch of synthetic draws does not collide on a single row.
39
39
  */
40
- push(drawable) {
41
- return this._buffer.push(drawable.getGlobalTransform(), drawable.tint);
40
+ push(drawable, transform) {
41
+ return this._buffer.push(transform ?? drawable.getGlobalTransform(), drawable.tint);
42
42
  }
43
43
  /**
44
44
  * Pre-allocate (or grow) the GPU storage buffer to hold at least
@@ -1 +1 @@
1
- {"version":3,"file":"WebGpuTransformStorage.js","sources":["../../../../../src/rendering/webgpu/WebGpuTransformStorage.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebGpuTransformStorage.js","sources":["../../../../../src/rendering/webgpu/WebGpuTransformStorage.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export { Drawable } from '#rendering/Drawable';
2
+ export type { PixelSnapMode } from '#rendering/pixelSnap';
2
3
  export type { RenderPlanBuilder } from '#rendering/plan/RenderPlanBuilder';
3
4
  export type { RenderBackend } from '#rendering/RenderBackend';
4
5
  export { RenderBackendType } from '#rendering/RenderBackendType';
@@ -1 +1 @@
1
- {"version":3,"file":"rendering.d.ts","sourceRoot":"","sources":["../../src/rendering.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,YAAY,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,YAAY,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAChG,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,YAAY,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,YAAY,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,YAAY,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC"}
1
+ {"version":3,"file":"rendering.d.ts","sourceRoot":"","sources":["../../src/rendering.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,YAAY,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAChG,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,YAAY,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,YAAY,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,YAAY,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC"}
@@ -56,23 +56,47 @@ type PathExtension<S extends string> = S extends `${string}.${infer E}?${string}
56
56
  * compile time; use the token form (`load(MyType, path)`) instead.
57
57
  */
58
58
  export type LoadByPath<S extends string> = PathExtension<S> extends keyof ExtensionTypeMap ? ExtensionTypeMap[PathExtension<S>] : unknown;
59
+ /**
60
+ * Additional asset types accepted by the **token form** of {@link Loader.load}
61
+ * (`load(MyType, 'file.ext')`) for a given file extension, beyond the
62
+ * path-only type registered in {@link ExtensionTypeMap}.
63
+ *
64
+ * Augment via declaration merging when a format package ships an advanced
65
+ * source-model token that shares a file extension with its common-case
66
+ * runtime type. The path-only form (`load('file.ext')`) is unaffected and
67
+ * keeps resolving to the {@link ExtensionTypeMap} entry alone:
68
+ * ```ts
69
+ * declare module '@codexo/exojs' {
70
+ * interface ExtensionTypeMap { tmj: TileMap } // load('world.tmj') → TileMap
71
+ * interface ExtensionTokenTypeMap { tmj: TiledMap } // load(TiledMap, 'world.tmj') also allowed
72
+ * }
73
+ * ```
74
+ */
75
+ export interface ExtensionTokenTypeMap {
76
+ }
77
+ /** Resolves the additional token types allowed for extension `E`, or `never` when none are registered. */
78
+ type TokenTypesFor<E> = E extends keyof ExtensionTokenTypeMap ? ExtensionTokenTypeMap[E] : never;
59
79
  /**
60
80
  * Constrains a {@link Loadable} token against the types registered for a
61
81
  * given path's extension. When the extension is in {@link ExtensionTypeMap},
62
- * `T` must produce a value assignable to the registered union otherwise
63
- * resolves to `never`, triggering a compile-time error.
82
+ * `T` must produce a value assignable to the registered union (including any
83
+ * extra token types from {@link ExtensionTokenTypeMap}) — otherwise resolves
84
+ * to `never`, triggering a compile-time error.
64
85
  *
65
- * For paths with an unregistered extension the constraint is skipped and any
66
- * `T` is accepted (runtime behaviour is unchanged).
86
+ * For paths with an unregistered extension including non-literal `string`
87
+ * paths and extension-less paths, where no extension can be derived — the
88
+ * constraint is skipped and any `T` is accepted (runtime behaviour is
89
+ * unchanged).
67
90
  *
68
91
  * ```ts
69
92
  * // ExtensionTypeMap: { ogg: Sound | Video }
70
93
  * loader.load(Sound, 'effect.ogg') // ✓ Sound ∈ Sound | Video
71
94
  * loader.load(BitmapText, 'effect.ogg') // ✗ BitmapText ∉ Sound | Video
72
95
  * loader.load(Sound, 'theme.custom') // ✓ .custom not in map → unconstrained
96
+ * loader.load(Sound, dynamicPath) // ✓ string path → unconstrained
73
97
  * ```
74
98
  */
75
- export type ConstrainedLoadable<T extends abstract new (...args: any[]) => any, S extends string> = PathExtension<S> extends keyof ExtensionTypeMap ? (LoadReturn<T> extends ExtensionTypeMap[PathExtension<S>] ? T : never) : T;
99
+ export type ConstrainedLoadable<T extends abstract new (...args: any[]) => any, S extends string> = [PathExtension<S>] extends [never] ? T : PathExtension<S> extends keyof ExtensionTypeMap ? LoadReturn<T> extends ExtensionTypeMap[PathExtension<S>] | TokenTypesFor<PathExtension<S>> ? T : never : T;
76
100
  /**
77
101
  * Context object passed to custom asset-type load handlers registered via
78
102
  * {@link Loader.registerAssetType}.
@@ -413,13 +437,17 @@ export declare class Loader {
413
437
  * Atomically bind all keys for one AssetBinding to a pre-created handler.
414
438
  * Validates all keys BEFORE mutating any map. Any already-registered key
415
439
  * throws before any mutation (no override in 0.12).
440
+ *
441
+ * `Result` and `Options` are inferred from the binding's `AssetBinding<Result, Options>`
442
+ * contract. A declarative handler's optional `getIdentityKey` is forwarded into
443
+ * the internal {@link HandlerEntry} so it participates in in-flight deduplication.
416
444
  * @internal
417
445
  */
418
- bindAsset(keys: {
419
- type: AssetConstructor;
446
+ bindAsset<Result = unknown, Options = undefined>(keys: {
447
+ type: AssetConstructor<Result>;
420
448
  typeNames?: readonly string[];
421
449
  extensions?: readonly string[];
422
- }, handler: AssetHandler): void;
450
+ }, handler: AssetHandler<Result, Options>): void;
423
451
  /**
424
452
  * Returns true if a handler or factory is already registered for the given constructor.
425
453
  * @advanced
@@ -1 +1 @@
1
- {"version":3,"file":"Loader.d.ts","sourceRoot":"","sources":["../../../src/resources/Loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Loader.d.ts","sourceRoot":"","sources":["../../../src/resources/Loader.ts"],"names":[],"mappings":"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"}
@@ -564,6 +564,10 @@ class Loader {
564
564
  * Atomically bind all keys for one AssetBinding to a pre-created handler.
565
565
  * Validates all keys BEFORE mutating any map. Any already-registered key
566
566
  * throws before any mutation (no override in 0.12).
567
+ *
568
+ * `Result` and `Options` are inferred from the binding's `AssetBinding<Result, Options>`
569
+ * contract. A declarative handler's optional `getIdentityKey` is forwarded into
570
+ * the internal {@link HandlerEntry} so it participates in in-flight deduplication.
567
571
  * @internal
568
572
  */
569
573
  bindAsset(keys, handler) {
@@ -596,17 +600,30 @@ class Loader {
596
600
  }
597
601
  }
598
602
  // All validation passed — install atomically.
599
- // Internally the loader builds a flat config `{ source, ...fields }` (the
600
- // shape the advanced `registerAssetType` handler form receives). Extension
601
- // AssetHandlers are typed against the public `AssetLoadRequest`
602
- // (`{ source, options? }`), so reshape the flat config here: pull `source`
603
- // out and nest the remaining per-load fields under `options`.
603
+ //
604
+ // Localized type-erasure boundary: the internal Loader uses a flat config
605
+ // `{ source, ...fields }`. The public AssetHandler<Result, Options> interface
606
+ // uses `AssetLoadRequest<Options> = { source, options? }`. This single `toRequest`
607
+ // helper is the only place where the erased flat config is cast to the typed
608
+ // request — justified by the `AssetBinding<Result, Options>` contract that
609
+ // associates this handler's Options with the registered constructor.
610
+ //
611
+ // `options` is intentionally omitted (not set to `undefined`) when the flat
612
+ // config carries no extra fields, keeping the object compatible with a future
613
+ // `exactOptionalPropertyTypes` migration.
614
+ const toRequest = (config) => {
615
+ const { source, ...rest } = config;
616
+ if (Object.keys(rest).length === 0) {
617
+ return { source };
618
+ }
619
+ return { source, options: rest };
620
+ };
621
+ const boundIdentityKey = handler.getIdentityKey?.bind(handler);
604
622
  this._handlerFunctions.set(keys.type, {
605
- load: (config, ctx) => {
606
- const { source, ...rest } = config;
607
- const options = Object.keys(rest).length > 0 ? rest : undefined;
608
- return handler.load({ source, options }, ctx);
609
- },
623
+ load: (config, ctx) => handler.load(toRequest(config), ctx),
624
+ getIdentityKey: boundIdentityKey
625
+ ? (config) => boundIdentityKey(toRequest(config))
626
+ : undefined,
610
627
  });
611
628
  for (const name of resolvedNames) {
612
629
  this._assetTypeMap.set(name, keys.type);
@@ -614,7 +631,9 @@ class Loader {
614
631
  for (const ext of normalizedExts) {
615
632
  this._extensionMap.set(ext, keys.type);
616
633
  }
617
- // Own this handler for lifecycle management
634
+ // Own this handler for lifecycle management.
635
+ // Cast to the erased AssetHandler for storage; destroy() is the only method
636
+ // called on entries in this array.
618
637
  this._boundHandlers.push(handler);
619
638
  }
620
639
  /**