canvasengine 2.0.0-beta.5 → 2.0.0-beta.50

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 (172) hide show
  1. package/dist/components/Button.d.ts +185 -0
  2. package/dist/components/Button.d.ts.map +1 -0
  3. package/dist/components/Canvas.d.ts +17 -0
  4. package/dist/components/Canvas.d.ts.map +1 -0
  5. package/dist/components/Container.d.ts +86 -0
  6. package/dist/components/Container.d.ts.map +1 -0
  7. package/dist/components/DOMContainer.d.ts +98 -0
  8. package/dist/components/DOMContainer.d.ts.map +1 -0
  9. package/dist/components/DOMElement.d.ts +54 -0
  10. package/dist/components/DOMElement.d.ts.map +1 -0
  11. package/dist/components/DOMSprite.d.ts +127 -0
  12. package/dist/components/DOMSprite.d.ts.map +1 -0
  13. package/dist/components/DisplayObject.d.ts +94 -0
  14. package/dist/components/DisplayObject.d.ts.map +1 -0
  15. package/dist/components/FocusContainer.d.ts +129 -0
  16. package/dist/components/FocusContainer.d.ts.map +1 -0
  17. package/dist/components/Graphic.d.ts +64 -0
  18. package/dist/components/Graphic.d.ts.map +1 -0
  19. package/dist/components/Joystick.d.ts +36 -0
  20. package/dist/components/Joystick.d.ts.map +1 -0
  21. package/dist/components/Mesh.d.ts +208 -0
  22. package/dist/components/Mesh.d.ts.map +1 -0
  23. package/dist/components/NineSliceSprite.d.ts +16 -0
  24. package/dist/components/NineSliceSprite.d.ts.map +1 -0
  25. package/dist/components/ParticleEmitter.d.ts +4 -0
  26. package/dist/components/ParticleEmitter.d.ts.map +1 -0
  27. package/dist/components/Scene.d.ts +2 -0
  28. package/dist/components/Scene.d.ts.map +1 -0
  29. package/dist/components/Sprite.d.ts +242 -0
  30. package/dist/components/Sprite.d.ts.map +1 -0
  31. package/dist/components/Text.d.ts +25 -0
  32. package/dist/components/Text.d.ts.map +1 -0
  33. package/dist/components/TilingSprite.d.ts +17 -0
  34. package/dist/components/TilingSprite.d.ts.map +1 -0
  35. package/dist/components/Video.d.ts +14 -0
  36. package/dist/components/Video.d.ts.map +1 -0
  37. package/dist/components/Viewport.d.ts +121 -0
  38. package/dist/components/Viewport.d.ts.map +1 -0
  39. package/dist/components/index.d.ts +20 -0
  40. package/dist/components/index.d.ts.map +1 -0
  41. package/dist/components/types/DisplayObject.d.ts +106 -0
  42. package/dist/components/types/DisplayObject.d.ts.map +1 -0
  43. package/dist/components/types/MouseEvent.d.ts +4 -0
  44. package/dist/components/types/MouseEvent.d.ts.map +1 -0
  45. package/dist/components/types/Spritesheet.d.ts +248 -0
  46. package/dist/components/types/Spritesheet.d.ts.map +1 -0
  47. package/dist/components/types/index.d.ts +4 -0
  48. package/dist/components/types/index.d.ts.map +1 -0
  49. package/dist/directives/Controls.d.ts +112 -0
  50. package/dist/directives/Controls.d.ts.map +1 -0
  51. package/dist/directives/ControlsBase.d.ts +199 -0
  52. package/dist/directives/ControlsBase.d.ts.map +1 -0
  53. package/dist/directives/Drag.d.ts +69 -0
  54. package/dist/directives/Drag.d.ts.map +1 -0
  55. package/dist/directives/Flash.d.ts +116 -0
  56. package/dist/directives/Flash.d.ts.map +1 -0
  57. package/dist/directives/FocusNavigation.d.ts +52 -0
  58. package/dist/directives/FocusNavigation.d.ts.map +1 -0
  59. package/dist/directives/GamepadControls.d.ts +224 -0
  60. package/dist/directives/GamepadControls.d.ts.map +1 -0
  61. package/dist/directives/JoystickControls.d.ts +171 -0
  62. package/dist/directives/JoystickControls.d.ts.map +1 -0
  63. package/dist/directives/KeyboardControls.d.ts +219 -0
  64. package/dist/directives/KeyboardControls.d.ts.map +1 -0
  65. package/dist/directives/Scheduler.d.ts +35 -0
  66. package/dist/directives/Scheduler.d.ts.map +1 -0
  67. package/dist/directives/Shake.d.ts +98 -0
  68. package/dist/directives/Shake.d.ts.map +1 -0
  69. package/dist/directives/Sound.d.ts +25 -0
  70. package/dist/directives/Sound.d.ts.map +1 -0
  71. package/dist/directives/Transition.d.ts +10 -0
  72. package/dist/directives/Transition.d.ts.map +1 -0
  73. package/dist/directives/ViewportCull.d.ts +11 -0
  74. package/dist/directives/ViewportCull.d.ts.map +1 -0
  75. package/dist/directives/ViewportFollow.d.ts +18 -0
  76. package/dist/directives/ViewportFollow.d.ts.map +1 -0
  77. package/dist/directives/index.d.ts +13 -0
  78. package/dist/directives/index.d.ts.map +1 -0
  79. package/dist/engine/FocusManager.d.ts +174 -0
  80. package/dist/engine/FocusManager.d.ts.map +1 -0
  81. package/dist/engine/animation.d.ts +72 -0
  82. package/dist/engine/animation.d.ts.map +1 -0
  83. package/dist/engine/bootstrap.d.ts +48 -0
  84. package/dist/engine/bootstrap.d.ts.map +1 -0
  85. package/dist/engine/directive.d.ts +13 -0
  86. package/dist/engine/directive.d.ts.map +1 -0
  87. package/dist/engine/reactive.d.ts +134 -0
  88. package/dist/engine/reactive.d.ts.map +1 -0
  89. package/dist/engine/signal.d.ts +71 -0
  90. package/dist/engine/signal.d.ts.map +1 -0
  91. package/dist/engine/trigger.d.ts +54 -0
  92. package/dist/engine/trigger.d.ts.map +1 -0
  93. package/dist/engine/utils.d.ts +89 -0
  94. package/dist/engine/utils.d.ts.map +1 -0
  95. package/dist/hooks/addContext.d.ts +2 -0
  96. package/dist/hooks/addContext.d.ts.map +1 -0
  97. package/dist/hooks/useFocus.d.ts +60 -0
  98. package/dist/hooks/useFocus.d.ts.map +1 -0
  99. package/dist/hooks/useProps.d.ts +42 -0
  100. package/dist/hooks/useProps.d.ts.map +1 -0
  101. package/dist/hooks/useRef.d.ts +4 -0
  102. package/dist/hooks/useRef.d.ts.map +1 -0
  103. package/dist/index-DaGekQUW.js +2218 -0
  104. package/dist/index-DaGekQUW.js.map +1 -0
  105. package/dist/index.d.ts +19 -1099
  106. package/dist/index.d.ts.map +1 -0
  107. package/dist/index.global.js +5 -0
  108. package/dist/index.global.js.map +1 -0
  109. package/dist/index.js +11749 -2901
  110. package/dist/index.js.map +1 -1
  111. package/dist/utils/Ease.d.ts +17 -0
  112. package/dist/utils/Ease.d.ts.map +1 -0
  113. package/dist/utils/GlobalAssetLoader.d.ts +141 -0
  114. package/dist/utils/GlobalAssetLoader.d.ts.map +1 -0
  115. package/dist/utils/RadialGradient.d.ts +57 -0
  116. package/dist/utils/RadialGradient.d.ts.map +1 -0
  117. package/dist/utils/functions.d.ts +2 -0
  118. package/dist/utils/functions.d.ts.map +1 -0
  119. package/dist/utils/tabindex.d.ts +16 -0
  120. package/dist/utils/tabindex.d.ts.map +1 -0
  121. package/package.json +13 -7
  122. package/src/components/Button.ts +399 -0
  123. package/src/components/Canvas.ts +62 -46
  124. package/src/components/Container.ts +21 -2
  125. package/src/components/DOMContainer.ts +379 -0
  126. package/src/components/DOMElement.ts +556 -0
  127. package/src/components/DOMSprite.ts +1040 -0
  128. package/src/components/DisplayObject.ts +392 -201
  129. package/src/components/FocusContainer.ts +368 -0
  130. package/src/components/Graphic.ts +227 -66
  131. package/src/components/Joystick.ts +363 -0
  132. package/src/components/Mesh.ts +222 -0
  133. package/src/components/NineSliceSprite.ts +4 -1
  134. package/src/components/ParticleEmitter.ts +12 -8
  135. package/src/components/Sprite.ts +297 -31
  136. package/src/components/Text.ts +125 -18
  137. package/src/components/Video.ts +2 -2
  138. package/src/components/Viewport.ts +118 -63
  139. package/src/components/index.ts +9 -2
  140. package/src/components/types/DisplayObject.ts +41 -4
  141. package/src/components/types/Spritesheet.ts +0 -118
  142. package/src/directives/Controls.ts +254 -0
  143. package/src/directives/ControlsBase.ts +267 -0
  144. package/src/directives/Drag.ts +357 -52
  145. package/src/directives/Flash.ts +419 -0
  146. package/src/directives/FocusNavigation.ts +113 -0
  147. package/src/directives/GamepadControls.ts +537 -0
  148. package/src/directives/JoystickControls.ts +396 -0
  149. package/src/directives/KeyboardControls.ts +85 -430
  150. package/src/directives/Scheduler.ts +12 -4
  151. package/src/directives/Shake.ts +298 -0
  152. package/src/directives/Sound.ts +94 -31
  153. package/src/directives/ViewportFollow.ts +40 -9
  154. package/src/directives/index.ts +12 -6
  155. package/src/engine/FocusManager.ts +510 -0
  156. package/src/engine/animation.ts +175 -21
  157. package/src/engine/bootstrap.ts +93 -3
  158. package/src/engine/directive.ts +4 -4
  159. package/src/engine/reactive.ts +901 -161
  160. package/src/engine/signal.ts +113 -25
  161. package/src/engine/trigger.ts +34 -7
  162. package/src/engine/utils.ts +19 -3
  163. package/src/hooks/useFocus.ts +91 -0
  164. package/src/hooks/useProps.ts +1 -1
  165. package/src/index.ts +8 -2
  166. package/src/types/pixi-cull.d.ts +7 -0
  167. package/src/utils/GlobalAssetLoader.ts +257 -0
  168. package/src/utils/functions.ts +7 -0
  169. package/src/utils/tabindex.ts +70 -0
  170. package/testing/index.ts +35 -4
  171. package/tsconfig.json +18 -0
  172. package/vite.config.ts +39 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DaGekQUW.js","sources":["../../../node_modules/.pnpm/yoga-layout@3.2.1/node_modules/yoga-layout/dist/binaries/yoga-wasm-base64-esm.js","../../../node_modules/.pnpm/yoga-layout@3.2.1/node_modules/yoga-layout/dist/src/generated/YGEnums.js","../../../node_modules/.pnpm/yoga-layout@3.2.1/node_modules/yoga-layout/dist/src/wrapAssembly.js","../../../node_modules/.pnpm/yoga-layout@3.2.1/node_modules/yoga-layout/dist/src/load.js","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/yoga.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/utils/getNumberFromStyle.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/mixins/utils/position/calculateWithDoubleValue.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/mixins/utils/position/calculateWithQuadValue.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/mixins/utils/position/calculateWithSingleValue.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/mixins/utils/calculatePositionSpecifier.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/utils/getPixiSize.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/utils/nearlyEqual.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/utils/throttle.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/LayoutSystem.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/style/applyStyle.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/style/formatStyles.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/utils/sort-children.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/Layout.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/mixins/utils/calculateObjectFit.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/mixins/utils/baseComputeLayoutData.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/mixins/ContainerMixin.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/mixins/TextMixin.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/mixins/ViewContainerMixin.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/debug/calculateDebugRegions.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/debug/DebugNode.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/core/debug/DebugRenderer.mjs","../../../node_modules/.pnpm/@pixi+layout@3.2.0_@types+react@19.1.3_pixi.js@8.9.2_react@19.1.0_yoga-layout@3.2.1/node_modules/@pixi/layout/dist/index.mjs"],"sourcesContent":["\nvar loadYoga = (() => {\n var _scriptDir = import.meta.url;\n \n return (\nfunction(loadYoga) {\n loadYoga = loadYoga || {};\n\n\nvar h;h||(h=typeof loadYoga !== 'undefined' ? loadYoga : {});var aa,ca;h.ready=new Promise(function(a,b){aa=a;ca=b});var da=Object.assign({},h),q=\"\";\"undefined\"!=typeof document&&document.currentScript&&(q=document.currentScript.src);_scriptDir&&(q=_scriptDir);0!==q.indexOf(\"blob:\")?q=q.substr(0,q.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):q=\"\";var ea=h.print||console.log.bind(console),v=h.printErr||console.warn.bind(console);Object.assign(h,da);da=null;var w;h.wasmBinary&&(w=h.wasmBinary);\nvar noExitRuntime=h.noExitRuntime||!0;\"object\"!=typeof WebAssembly&&x(\"no native wasm support detected\");var fa,ha=!1;function z(a,b,c){c=b+c;for(var d=\"\";!(b>=c);){var e=a[b++];if(!e)break;if(e&128){var f=a[b++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|f);else{var g=a[b++]&63;e=224==(e&240)?(e&15)<<12|f<<6|g:(e&7)<<18|f<<12|g<<6|a[b++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d}\nvar ia,ja,A,C,ka,D,E,la,ma;function na(){var a=fa.buffer;ia=a;h.HEAP8=ja=new Int8Array(a);h.HEAP16=C=new Int16Array(a);h.HEAP32=D=new Int32Array(a);h.HEAPU8=A=new Uint8Array(a);h.HEAPU16=ka=new Uint16Array(a);h.HEAPU32=E=new Uint32Array(a);h.HEAPF32=la=new Float32Array(a);h.HEAPF64=ma=new Float64Array(a)}var oa,pa=[],qa=[],ra=[];function sa(){var a=h.preRun.shift();pa.unshift(a)}var F=0,ta=null,G=null;\nfunction x(a){if(h.onAbort)h.onAbort(a);a=\"Aborted(\"+a+\")\";v(a);ha=!0;a=new WebAssembly.RuntimeError(a+\". Build with -sASSERTIONS for more info.\");ca(a);throw a;}function ua(a){return a.startsWith(\"data:application/octet-stream;base64,\")}var H;H=\"data:application/octet-stream;base64,AGFzbQEAAAABugM3YAF/AGACf38AYAF/AX9gA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWADf398AGAAAGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAV/f39/fwBgAn9/AX1gBX9/f319AX1gAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBn9/f319fQF9YAR/f31/AGADf399AX1gBn98f39/fwF/YAR/fHx/AGACf30AYAh/f39/f39/fwBgDX9/f39/f39/f39/f38AYAp/f39/f39/f39/AGAFf39/f38BfGAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gB39/f319f38AYAJ+fwF/YAN/fX0BfWABfAF8YAN/fHwAYAR/f319AGAHf39/fX19fQF9YA1/fX99f31/fX19fX1/AX9gC39/f39/f399fX19AX9gCH9/f39/f319AGAEf39+fgBgB39/f39/f38Bf2ACfH8BfGAFf398fH8AYAN/f38BfGAEf39/fABgA39/fQBgBn9/fX99fwF/ArUBHgFhAWEAHwFhAWIAAwFhAWMACQFhAWQAFgFhAWUAEQFhAWYAIAFhAWcAAAFhAWgAIQFhAWkAAwFhAWoAAAFhAWsAFwFhAWwACgFhAW0ABQFhAW4AAwFhAW8AAQFhAXAAFwFhAXEABgFhAXIAAAFhAXMAIgFhAXQACgFhAXUADQFhAXYAFgFhAXcAAgFhAXgAAwFhAXkAGAFhAXoAAgFhAUEAAQFhAUIAEQFhAUMAAQFhAUQAAAOiAqACAgMSBwcACRkDAAoRBgYKEwAPDxMBBiMTCgcHGgMUASQFJRQHAwMKCgMmAQYYDxobFAAKBw8KBwMDAgkCAAAFGwACBwIHBgIDAQMIDAABKAkHBQURACkZASoAAAIrLAIALQcHBy4HLwkFCgMCMA0xAgMJAgACAQYKAQIBBQEACQIFAQEABQAODQ0GFQIBHBUGAgkCEAAAAAUyDzMMBQYINAUCAwUODg41AgMCAgIDBgICNgIBDAwMAQsLCwsLCx0CAAIAAAABABABBQICAQMCEgMMCwEBAQEBAQsLAQICAwICAgICAgIDAgIICAEICAgEBAQEBAQEBAQABAQABAQEBAAE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GiABQQA2AvADIAFCADcC6AMgAigC7AMiAyACKALoAyIERwRAIAMgBGsiBEEASA0FIAEgBBAeIgM2AuwDIAEgAzYC6AMgASADIARqNgLwAyACKALoAyIEIAIoAuwDIghHBEADQCADIAQoAgA2AgAgA0EEaiEDIARBBGoiBCAIRw0ACwsgASADNgLsAwsgASACKQL0AzcC9AMgASACKAKEBDYChAQgASACKQL8AzcC/AMgAUEANgLkAwsgBSABNgIAIAEgADYC5AMLIAZBAWohBiAFQQRqIgUgB0cNAAsLDwsQAgALUAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUEwahBDDwsgACABIAFBMGogAxBEDwsgACABIAFBMGoQQg8LECQACyAAIAEgAUEwaiADEEULcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QdwlaigCACACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt5AgF/AX0jAEEQayIDJAAgA0EIaiAAIAFBAnRB7CVqKAIAIAIQU0MAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC1QAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBwgBqEEMPCyAAIAEgAUHCAGogAxBEDwsgACABIAFBwgBqEEIPCxAkAAsgACABIAFBwgBqIAMQRQsvACAAIAJFQQF0IgIgASADEGAgACACIAEQS5IgACACIAEgAxB/IAAgAiABEFKSkgvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akH2AGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyADQRBqJAALzgECA38CfSMAQRBrIgMk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AWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwscACAAIAFBCCACpyACQiCIpyADpyADQiCIpxAVCwUAEFgACzkAIABFBEBBAA8LAn8gAUGAf3FBgL8DRiABQf8ATXJFBEBB/DtBGTYCAEF/DAELIAAgAToAAEEBCwvEAgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACgsMCgsCAwQFDAsMDAoLBwgJCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCwALIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LAAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQegAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQOQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIANBEGokAAtdAQR/IAAoAgAhAgNAIAIsAAAiAxBXBEBBfyEEIAAgAkEBaiICNgIAIAFBzJmz5gBNBH9BfyADQTBrIgMgAUEKbCIEaiADIARB/////wdzShsFIAQLIQEMAQsLIAELrhQCEn8BfiMAQdAAayIIJAAgCCABNgJMIAhBN2ohFyAIQThqIRQCQAJAAkACQANAIAEhDSAHIA5B/////wdzSg0BIAcgDmohDgJAAkACQCANIgctAAAiCQRAA0ACQAJAIAlB/wFxIgFFBEAgByEBDAELIAFBJUcNASAH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IQEgAEIANwIEIAAgATYCACABIAA2AgQgAkEQaiQAIAALGwEBfyAABEAgACgCACIBBEAgARAjCyAAECMLC0kBAn9BBBAeIQFBIBAeIgBBADYCHCAAQoCAgICAgIDAPzcCFCAAQgA3AgwgAEEAOgAIIABBAzYCBCAAQQA2AgAgASAANgIAIAELIAAgAkEFR0EAIAIbRQRAQbgwIAMgBBBJDwsgAyAEEHALIgEBfiABIAKtIAOtQiCGhCAEIAARFQAiBUIgiKckASAFpwuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGECsaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEECsaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACCwQAQgALBABBAAuKBQIGfgJ/IAEgASgCAEEHakF4cSIBQRBqNgIAIAAhCSABKQMAIQMgASkDCCEGIwBBIGsiCCQAAkAgBkL///////////8AgyIEQoCAgICAgMCAPH0gBEKAgICAgIDA/8MAfVQEQCAGQgSGIANCPIiEIQQgA0L//////////w+DIgNCgYCAgICAgIAIWgRAIARCgYCAgICAgIDAAHwhAgwCCyAEQoCAgICAgICAQH0hAiADQoCAgICAgICACFINASACIARCAYN8IQIMAQsgA1AgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRG0UEQCAGQgSGIANCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiAEQv///////7//wwBWDQBCACECIARCMIinIgBBkfcASQ0AIAMhAiAGQv///////z+DQoCAgICAgMAAhCIFIQcCQCAAQYH3AGsiAUHAAHEEQCACIAFBQGqthiEHQgAhAgwBCyABRQ0AIAcgAa0iBIYgAkHAACABa62IhCEHIAIgBIYhAgsgCCACNwMQIAggBzcDGAJAQYH4ACAAayIAQcAAcQRAIAUgAEFAaq2IIQNCACEFDAELIABFDQAgBUHAACAAa62GIAMgAK0iAoiEIQMgBSACiCEFCyAIIAM3AwAgCCAF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ASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCAALCQAgASAAEQIACwUAQcM7Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAqCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRHgALBQBBvjsLIQAgACABKAIAIAEgASwAC0EASBtBuzsgAigCABAQNgIACyoBAX9BDBAeIgFBADoABCABIAAoAgA2AgggAEEANgIAIAFB2Cc2AgAgAQsFAEG7OwsFAEG4OwshACAAIAEoAgAgASABLAALQQBIG0GkOyACKAIAEBA2AgAL2AEBBH8jAEEgayIDJAAgASgCACIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIFEB4hBiADIAVBgICAgHhyNgIQIAMgBjYCCCADIAQ2AgwgBCAGaiEFDAELIAMgBDoAEyADQQhqIgYgBGohBSAERQ0BCyAGIAFBBGogBBArGgsgBUEAOgAAIAMgAjYCACADQRhqIANBCGogAyAAEQMAIAMoAhgQHSADKAIYIgAQBiADKAIAEAYgAywAE0EASARAIAMoAggQIwsgA0EgaiQAIAAPCxACAAsqAQF/QQwQHiIBQQA6AAQgASAAKAIANgIIIABBADYCACABQeAmNgIA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AkEIaiAIIAYQHyACIAcgAC8AABAfQQEhAyACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSADC0UNAiACLQAMIAItAARHDQILIABBAmohAEEBIQMgBCEGQQEhBCAGRQ0ACyABLwB6IgBBB3FFBEAgBS0AekEHcUUNAgsgCCAAECAiCiAHIAUvAHoQICILWw0BIAogClsNACALIAtcDQELIAFBFGogBUEUakHoABArGiABQfwAaiAFQfwAahCgAQNAIAEtAAAiAEEEcQ0BIAEgAEEEcjoAACABKAIQIgAEQCABIAARAAALIAFBgICA/gc2ApwBIAEoAuQDIgENAAsLIAJBEGokAAvGAwEEfyMAQaAEayICJAAgACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALAkAgACgCACIAKALoAyAAKALsA0YEQCAAKALkAw0BIAAgAkEYaiAAKAL0AxBcIgEpAgA3AgAgACABKAIQNgIQIAAgASkCCDcCCCAAQRRqIAFBFGpB6AAQKxogACABKQKMATcCjAEgACABKQKEATcChAEgACABKQJ8NwJ8IAEoApQBIQQgAUEANgKUASAAKAKUASEDIAAgBDYClAEgAwRAIAMQWwsgAEGYAWogAUGYAWpB0AIQKxogACgC6AMiAwRAIAAgAzYC7AMgAxAjCyAAIAEoAugDNgLoAyAAIAEoAuwDNgLsAyAAIAEoAvADNgLwAyABQQA2AvADIAFCADcC6AMgACABKQL8AzcC/AMgACABKQL0AzcC9AMgACABKAKEBDYChAQgASgClAEhACABQQA2ApQBIAAEQCAAEFsLIAJBoARqJAAPCyACQfAcNgIQIABBBUHYJSACQRBqECwQJAALIAJB5hE2AgAgAEEFQdglIAIQLBAkAAsLAEEMEB4gABCiAQsLAEEMEB5BABCiAQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhQLGQAgAUH/AXEEQBACAAsgACgCACgCEEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLJgAgASAAKAIAIgAoAhRHBEAgACABNgIUIAAgACgCDEEBajYCDAsLkgEBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGAEQCABIAAqAhhcBEAgACABOAIYIAAgACgCDEEBajYCDAsgAkEQaiQADwsgAkGIFDYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQbgwQdglIAIQSRoMAQsgAEEAQQVB2CUgAiAAKAIEEQ0AGgsgA0EQaiQAECQACz8AIAFB/wFxRQRAIAIgACgCACIAKAIQIgFBAXFHBEAgACABQX5xIAJyNgIQIAAgACgCDEEBajYCDAsPCxACAAsL4CYjAEGACAuBHk9ubHkgbGVhZiBub2RlcyB3aXRoIGN1c3RvbSBtZWFzdXJlIGZ1bmN0aW9ucyBzaG91bGQgbWFudWFsbHkgbWFyayB0aGVtc2VsdmVzIGFzIGRpcnR5AGlzRGlydHkAbWFya0RpcnR5AGRlc3Ryb3kAc2V0RGlzcGxheQBnZXREaXNwbGF5AHNldEZsZXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABzZXRGbGV4R3JvdwBnZXRGbGV4R3JvdwBzZXRPdmVyZmxvdwBnZXRPdmVyZmxvdwBoYXNOZXdMYXlvdXQAY2FsY3VsYXRlTGF5b3V0AGdldENvbXB1dGVkTGF5b3V0AHVuc2lnbmVkIHNob3J0AGdldENoaWxkQ291bnQAdW5zaWduZWQgaW50AHNldEp1c3RpZnlDb250ZW50AGdldEp1c3RpZnlDb250ZW50AGF2YWlsYWJsZUhlaWdodCBpcyBpbmRlZmluaXRlIHNvIGhlaWdodFNpemluZ01vZGUgbXVzdCBiZSBTaXppbmdNb2RlOjpNYXhDb250ZW50AGF2YWlsYWJsZVdpZHRoIGlzIGluZGVmaW5pdGUgc28gd2lkdGhTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABzZXRBbGlnbkNvbnRlbnQAZ2V0QWxpZ25Db250ZW50AGdldFBhcmVudABpbXBsZW1lbnQAc2V0TWF4SGVpZ2h0UGVyY2VudABzZXRIZWlnaHRQZXJjZW50AHNldE1pbkhlaWdodFBlcmNlbnQAc2V0RmxleEJhc2lzUGVyY2VudABzZXRHYXBQZXJjZW50AHNldFBvc2l0aW9uUGVyY2VudABzZXRNYXJnaW5QZXJjZW50AHNldE1heFdpZHRoUGVyY2VudABzZXRXaWR0aFBlcmNlbnQAc2V0TWluV2lkdGhQZXJjZW50AHNldFBhZGRpbmdQZXJjZW50AGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6UG9pbnQgfHwgaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQZXJjZW50AGNyZWF0ZURlZmF1bHQAdW5pdAByaWdodABoZWlnaHQAc2V0TWF4SGVpZ2h0AGdldE1heEhlaWdodABzZXRIZWlnaHQAZ2V0SGVpZ2h0AHNldE1pbkhlaWdodABnZXRNaW5IZWlnaHQAZ2V0Q29tcHV0ZWRIZWlnaHQAZ2V0Q29tcHV0ZWRSaWdodABsZWZ0AGdldENvbXB1dGVkTGVmdAByZXNldABfX2Rlc3RydWN0AGZsb2F0AHVpbnQ2NF90AHVzZVdlYkRlZmF1bHRzAHNldFVzZVdlYkRlZmF1bHRzAHNldEFsaWduSXRlbXMAZ2V0QWxpZ25JdGVtcwBzZXRGbGV4QmFzaXMAZ2V0RmxleEJhc2lzAENhbm5vdCBnZXQgbGF5b3V0IHByb3BlcnRpZXMgb2YgbXVsdGktZWRnZSBzaG9ydGhhbmRzAHNldFBvaW50U2NhbGVGYWN0b3IATWVhc3VyZUNhbGxiYWNrV3JhcHBlcgBEaXJ0aWVkQ2FsbGJhY2tXcmFwcGVyAENhbm5vdCByZXNldCBhIG5vZGUgc3RpbGwgYXR0YWNoZWQgdG8gYSBvd25lcgBzZXRCb3JkZXIAZ2V0Qm9yZGVyAGdldENvbXB1dGVkQm9yZGVyAGdldE51bWJlcgBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6Ok51bWJlcgB1bnNpZ25lZCBjaGFyAHRvcABnZXRDb21wdXRlZFRvcABzZXRGbGV4V3JhcABnZXRGbGV4V3JhcABzZXRHYXAAZ2V0R2FwACVwAHNldEhlaWdodEF1dG8Ac2V0RmxleEJhc2lzQXV0bwBzZXRQb3NpdGlvbkF1dG8Ac2V0TWFyZ2luQXV0bwBzZXRXaWR0aEF1dG8AU2NhbGUgZmFjdG9yIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuIHplcm8Ac2V0QXNwZWN0UmF0aW8AZ2V0QXNwZWN0UmF0aW8Ac2V0UG9zaXRpb24AZ2V0UG9zaXRpb24Abm90aWZ5T25EZXN0cnVjdGlvbgBzZXRGbGV4RGlyZWN0aW9uAGdldEZsZXhEaXJlY3Rpb24Ac2V0RGlyZWN0aW9uAGdldERpcmVjdGlvbgBzZXRNYXJnaW4AZ2V0TWFyZ2luAGdldENvbXB1dGVkTWFyZ2luAG1hcmtMYXlvdXRTZWVuAG5hbgBib3R0b20AZ2V0Q29tcHV0ZWRCb3R0b20AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0RmxleFNocmluawBnZXRGbGV4U2hyaW5rAHNldEFsd2F5c0Zvcm1zQ29udGFpbmluZ0Jsb2NrAE1lYXN1cmVDYWxsYmFjawBEaXJ0aWVkQ2FsbGJhY2sAZ2V0TGVuZ3RoAHdpZHRoAHNldE1heFdpZHRoAGdldE1heFdpZHRoAHNldFdpZHRoAGdldFdpZHRoAHNldE1pbldpZHRoAGdldE1pbldpZHRoAGdldENvbXB1dGVkV2lkdGgAcHVzaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1NtYWxsVmFsdWVCdWZmZXIuaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1N0eWxlVmFsdWVQb29sLmgAdW5zaWduZWQgbG9uZwBzZXRCb3hTaXppbmcAZ2V0Qm94U2l6aW5nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEATWVhc3VyZSBmdW5jdGlvbiByZXR1cm5lZCBhbiBpbnZhbGlkIGRpbWVuc2lvbiB0byBZb2dhOiBbd2lkdGg9JWYsIGhlaWdodD0lZl0ARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVk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\";if(!ua(H)){var va=H;H=h.locateFile?h.locateFile(va,q):q+va}\nfunction wa(){var a=H;try{if(a==H&&w)return new Uint8Array(w);if(ua(a))try{var b=xa(a.slice(37)),c=new Uint8Array(b.length);for(a=0;a<b.length;++a)c[a]=b.charCodeAt(a);var d=c}catch(f){throw Error(\"Converting base64 string to bytes failed.\");}else d=void 0;var e=d;if(e)return e;throw\"both async and sync fetching of the wasm failed\";}catch(f){x(f)}}\nfunction ya(){return w||\"function\"!=typeof fetch?Promise.resolve().then(function(){return wa()}):fetch(H,{credentials:\"same-origin\"}).then(function(a){if(!a.ok)throw\"failed to load wasm binary file at '\"+H+\"'\";return a.arrayBuffer()}).catch(function(){return wa()})}function za(a){for(;0<a.length;)a.shift()(h)}function Aa(a){if(void 0===a)return\"_unknown\";a=a.replace(/[^a-zA-Z0-9_]/g,\"$\");var b=a.charCodeAt(0);return 48<=b&&57>=b?\"_\"+a:a}\nfunction Ba(a,b){a=Aa(a);return function(){return b.apply(this,arguments)}}var J=[{},{value:void 0},{value:null},{value:!0},{value:!1}],Ca=[];function Da(a){var b=Error,c=Ba(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+\"\\n\"+d.replace(/^Error(:[^\\n]*)?\\n/,\"\"))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+\": \"+this.message};return c}var K=void 0;\nfunction L(a){throw new K(a);}var M=a=>{a||L(\"Cannot use deleted val. handle = \"+a);return J[a].value},Ea=a=>{switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Ca.length?Ca.pop():J.length;J[b]={ga:1,value:a};return b}},Fa=void 0,Ga=void 0;function N(a){for(var b=\"\";A[a];)b+=Ga[A[a++]];return b}var O=[];function Ha(){for(;O.length;){var a=O.pop();a.M.$=!1;a[\"delete\"]()}}var P=void 0,Q={};\nfunction Ia(a,b){for(void 0===b&&L(\"ptr should not be undefined\");a.R;)b=a.ba(b),a=a.R;return b}var R={};function Ja(a){a=Ka(a);var b=N(a);S(a);return b}function La(a,b){var c=R[a];void 0===c&&L(b+\" has unknown type \"+Ja(a));return c}function Ma(){}var Na=!1;function Oa(a){--a.count.value;0===a.count.value&&(a.T?a.U.W(a.T):a.P.N.W(a.O))}function Pa(a,b,c){if(b===c)return a;if(void 0===c.R)return null;a=Pa(a,b,c.R);return null===a?null:c.na(a)}var Qa={};function Ra(a,b){b=Ia(a,b);return Q[b]}\nvar Sa=void 0;function Ta(a){throw new Sa(a);}function Ua(a,b){b.P&&b.O||Ta(\"makeClassHandle requires ptr and ptrType\");!!b.U!==!!b.T&&Ta(\"Both smartPtrType and smartPtr must be specified\");b.count={value:1};return T(Object.create(a,{M:{value:b}}))}function T(a){if(\"undefined\"===typeof FinalizationRegistry)return T=b=>b,a;Na=new FinalizationRegistry(b=>{Oa(b.M)});T=b=>{var c=b.M;c.T&&Na.register(b,{M:c},b);return b};Ma=b=>{Na.unregister(b)};return T(a)}var Va={};\nfunction Wa(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function Xa(a){return this.fromWireType(D[a>>2])}var U={},Ya={};function V(a,b,c){function d(k){k=c(k);k.length!==a.length&&Ta(\"Mismatched type converter count\");for(var m=0;m<a.length;++m)W(a[m],k[m])}a.forEach(function(k){Ya[k]=b});var e=Array(b.length),f=[],g=0;b.forEach((k,m)=>{R.hasOwnProperty(k)?e[m]=R[k]:(f.push(k),U.hasOwnProperty(k)||(U[k]=[]),U[k].push(()=>{e[m]=R[k];++g;g===f.length&&d(e)}))});0===f.length&&d(e)}\nfunction Za(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(\"Unknown type size: \"+a);}}\nfunction W(a,b,c={}){if(!(\"argPackAdvance\"in b))throw new TypeError(\"registerType registeredInstance requires argPackAdvance\");var d=b.name;a||L('type \"'+d+'\" must have a positive integer typeid pointer');if(R.hasOwnProperty(a)){if(c.ua)return;L(\"Cannot register type '\"+d+\"' twice\")}R[a]=b;delete Ya[a];U.hasOwnProperty(a)&&(b=U[a],delete U[a],b.forEach(e=>e()))}function $a(a){L(a.M.P.N.name+\" instance already deleted\")}function X(){}\nfunction ab(a,b,c){if(void 0===a[b].S){var d=a[b];a[b]=function(){a[b].S.hasOwnProperty(arguments.length)||L(\"Function '\"+c+\"' called with an invalid number of arguments (\"+arguments.length+\") - expects one of (\"+a[b].S+\")!\");return a[b].S[arguments.length].apply(this,arguments)};a[b].S=[];a[b].S[d.Z]=d}}\nfunction bb(a,b){h.hasOwnProperty(a)?(L(\"Cannot register public name '\"+a+\"' twice\"),ab(h,a,a),h.hasOwnProperty(void 0)&&L(\"Cannot register multiple overloads of a function with the same number of arguments (undefined)!\"),h[a].S[void 0]=b):h[a]=b}function cb(a,b,c,d,e,f,g,k){this.name=a;this.constructor=b;this.X=c;this.W=d;this.R=e;this.pa=f;this.ba=g;this.na=k;this.ja=[]}\nfunction db(a,b,c){for(;b!==c;)b.ba||L(\"Expected null or instance of \"+c.name+\", got an instance of \"+b.name),a=b.ba(a),b=b.R;return a}function eb(a,b){if(null===b)return this.ea&&L(\"null is not a valid \"+this.name),0;b.M||L('Cannot pass \"'+fb(b)+'\" as a '+this.name);b.M.O||L(\"Cannot pass deleted object as a pointer of type \"+this.name);return db(b.M.O,b.M.P.N,this.N)}\nfunction gb(a,b){if(null===b){this.ea&&L(\"null is not a valid \"+this.name);if(this.da){var c=this.fa();null!==a&&a.push(this.W,c);return c}return 0}b.M||L('Cannot pass \"'+fb(b)+'\" as a '+this.name);b.M.O||L(\"Cannot pass deleted object as a pointer of type \"+this.name);!this.ca&&b.M.P.ca&&L(\"Cannot convert argument of type \"+(b.M.U?b.M.U.name:b.M.P.name)+\" to parameter type \"+this.name);c=db(b.M.O,b.M.P.N,this.N);if(this.da)switch(void 0===b.M.T&&L(\"Passing raw pointer to smart pointer is illegal\"),\nthis.Ba){case 0:b.M.U===this?c=b.M.T:L(\"Cannot convert argument of type \"+(b.M.U?b.M.U.name:b.M.P.name)+\" to parameter type \"+this.name);break;case 1:c=b.M.T;break;case 2:if(b.M.U===this)c=b.M.T;else{var d=b.clone();c=this.xa(c,Ea(function(){d[\"delete\"]()}));null!==a&&a.push(this.W,c)}break;default:L(\"Unsupporting sharing policy\")}return c}\nfunction hb(a,b){if(null===b)return this.ea&&L(\"null is not a valid \"+this.name),0;b.M||L('Cannot pass \"'+fb(b)+'\" as a '+this.name);b.M.O||L(\"Cannot pass deleted object as a pointer of type \"+this.name);b.M.P.ca&&L(\"Cannot convert argument of type \"+b.M.P.name+\" to parameter type \"+this.name);return db(b.M.O,b.M.P.N,this.N)}\nfunction Y(a,b,c,d){this.name=a;this.N=b;this.ea=c;this.ca=d;this.da=!1;this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0;void 0!==b.R?this.toWireType=gb:(this.toWireType=d?eb:hb,this.V=null)}function ib(a,b){h.hasOwnProperty(a)||Ta(\"Replacing nonexistant public symbol\");h[a]=b;h[a].Z=void 0}\nfunction jb(a,b){var c=[];return function(){c.length=0;Object.assign(c,arguments);if(a.includes(\"j\")){var d=h[\"dynCall_\"+a];d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)}else d=oa.get(b).apply(null,c);return d}}function Z(a,b){a=N(a);var c=a.includes(\"j\")?jb(a,b):oa.get(b);\"function\"!=typeof c&&L(\"unknown function pointer with signature \"+a+\": \"+b);return c}var mb=void 0;\nfunction nb(a,b){function c(f){e[f]||R[f]||(Ya[f]?Ya[f].forEach(c):(d.push(f),e[f]=!0))}var d=[],e={};b.forEach(c);throw new mb(a+\": \"+d.map(Ja).join([\", \"]));}\nfunction ob(a,b,c,d,e){var f=b.length;2>f&&L(\"argTypes array size mismatch! Must at least get return value and 'this' types!\");var g=null!==b[1]&&null!==c,k=!1;for(c=1;c<b.length;++c)if(null!==b[c]&&void 0===b[c].V){k=!0;break}var m=\"void\"!==b[0].name,l=f-2,n=Array(l),p=[],r=[];return function(){arguments.length!==l&&L(\"function \"+a+\" called with \"+arguments.length+\" arguments, expected \"+l+\" args!\");r.length=0;p.length=g?2:1;p[0]=e;if(g){var u=b[1].toWireType(r,this);p[1]=u}for(var t=0;t<l;++t)n[t]=\nb[t+2].toWireType(r,arguments[t]),p.push(n[t]);t=d.apply(null,p);if(k)Wa(r);else for(var y=g?1:2;y<b.length;y++){var B=1===y?u:n[y-2];null!==b[y].V&&b[y].V(B)}u=m?b[0].fromWireType(t):void 0;return u}}function pb(a,b){for(var c=[],d=0;d<a;d++)c.push(E[b+4*d>>2]);return c}function qb(a){4<a&&0===--J[a].ga&&(J[a]=void 0,Ca.push(a))}function fb(a){if(null===a)return\"null\";var b=typeof a;return\"object\"===b||\"array\"===b||\"function\"===b?a.toString():\"\"+a}\nfunction rb(a,b){switch(b){case 2:return function(c){return this.fromWireType(la[c>>2])};case 3:return function(c){return this.fromWireType(ma[c>>3])};default:throw new TypeError(\"Unknown float type: \"+a);}}\nfunction sb(a,b,c){switch(b){case 0:return c?function(d){return ja[d]}:function(d){return A[d]};case 1:return c?function(d){return C[d>>1]}:function(d){return ka[d>>1]};case 2:return c?function(d){return D[d>>2]}:function(d){return E[d>>2]};default:throw new TypeError(\"Unknown integer type: \"+a);}}function tb(a,b){for(var c=\"\",d=0;!(d>=b/2);++d){var e=C[a+2*d>>1];if(0==e)break;c+=String.fromCharCode(e)}return c}\nfunction ub(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e<c;++e)C[b>>1]=a.charCodeAt(e),b+=2;C[b>>1]=0;return b-d}function vb(a){return 2*a.length}function wb(a,b){for(var c=0,d=\"\";!(c>=b/4);){var e=D[a+4*c>>2];if(0==e)break;++c;65536<=e?(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023)):d+=String.fromCharCode(e)}return d}\nfunction xb(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e<a.length;++e){var f=a.charCodeAt(e);if(55296<=f&&57343>=f){var g=a.charCodeAt(++e);f=65536+((f&1023)<<10)|g&1023}D[b>>2]=f;b+=4;if(b+4>c)break}D[b>>2]=0;return b-d}function yb(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var zb={};function Ab(a){var b=zb[a];return void 0===b?N(a):b}var Bb=[];function Cb(a){var b=Bb.length;Bb.push(a);return b}\nfunction Db(a,b){for(var c=Array(a),d=0;d<a;++d)c[d]=La(E[b+4*d>>2],\"parameter \"+d);return c}var Eb=[],Fb=[null,[],[]];K=h.BindingError=Da(\"BindingError\");h.count_emval_handles=function(){for(var a=0,b=5;b<J.length;++b)void 0!==J[b]&&++a;return a};h.get_first_emval=function(){for(var a=5;a<J.length;++a)if(void 0!==J[a])return J[a];return null};Fa=h.PureVirtualError=Da(\"PureVirtualError\");for(var Gb=Array(256),Hb=0;256>Hb;++Hb)Gb[Hb]=String.fromCharCode(Hb);Ga=Gb;h.getInheritedInstanceCount=function(){return Object.keys(Q).length};\nh.getLiveInheritedInstances=function(){var a=[],b;for(b in Q)Q.hasOwnProperty(b)&&a.push(Q[b]);return a};h.flushPendingDeletes=Ha;h.setDelayFunction=function(a){P=a;O.length&&P&&P(Ha)};Sa=h.InternalError=Da(\"InternalError\");X.prototype.isAliasOf=function(a){if(!(this instanceof X&&a instanceof X))return!1;var b=this.M.P.N,c=this.M.O,d=a.M.P.N;for(a=a.M.O;b.R;)c=b.ba(c),b=b.R;for(;d.R;)a=d.ba(a),d=d.R;return b===d&&c===a};\nX.prototype.clone=function(){this.M.O||$a(this);if(this.M.aa)return this.M.count.value+=1,this;var a=T,b=Object,c=b.create,d=Object.getPrototypeOf(this),e=this.M;a=a(c.call(b,d,{M:{value:{count:e.count,$:e.$,aa:e.aa,O:e.O,P:e.P,T:e.T,U:e.U}}}));a.M.count.value+=1;a.M.$=!1;return a};X.prototype[\"delete\"]=function(){this.M.O||$a(this);this.M.$&&!this.M.aa&&L(\"Object already scheduled for deletion\");Ma(this);Oa(this.M);this.M.aa||(this.M.T=void 0,this.M.O=void 0)};X.prototype.isDeleted=function(){return!this.M.O};\nX.prototype.deleteLater=function(){this.M.O||$a(this);this.M.$&&!this.M.aa&&L(\"Object already scheduled for deletion\");O.push(this);1===O.length&&P&&P(Ha);this.M.$=!0;return this};Y.prototype.qa=function(a){this.ka&&(a=this.ka(a));return a};Y.prototype.ha=function(a){this.W&&this.W(a)};Y.prototype.argPackAdvance=8;Y.prototype.readValueFromPointer=Xa;Y.prototype.deleteObject=function(a){if(null!==a)a[\"delete\"]()};\nY.prototype.fromWireType=function(a){function b(){return this.da?Ua(this.N.X,{P:this.wa,O:c,U:this,T:a}):Ua(this.N.X,{P:this,O:a})}var c=this.qa(a);if(!c)return this.ha(a),null;var d=Ra(this.N,c);if(void 0!==d){if(0===d.M.count.value)return d.M.O=c,d.M.T=a,d.clone();d=d.clone();this.ha(a);return d}d=this.N.pa(c);d=Qa[d];if(!d)return b.call(this);d=this.ca?d.la:d.pointerType;var e=Pa(c,this.N,d.N);return null===e?b.call(this):this.da?Ua(d.N.X,{P:d,O:e,U:this,T:a}):Ua(d.N.X,{P:d,O:e})};\nmb=h.UnboundTypeError=Da(\"UnboundTypeError\");\nvar xa=\"function\"==typeof atob?atob:function(a){var b=\"\",c=0;a=a.replace(/[^A-Za-z0-9\\+\\/=]/g,\"\");do{var d=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(a.charAt(c++));var e=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(a.charAt(c++));var f=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(a.charAt(c++));var g=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(a.charAt(c++));d=d<<2|e>>4;\ne=(e&15)<<4|f>>2;var k=(f&3)<<6|g;b+=String.fromCharCode(d);64!==f&&(b+=String.fromCharCode(e));64!==g&&(b+=String.fromCharCode(k))}while(c<a.length);return b},Jb={l:function(a,b,c,d){x(\"Assertion failed: \"+(a?z(A,a):\"\")+\", at: \"+[b?b?z(A,b):\"\":\"unknown filename\",c,d?d?z(A,d):\"\":\"unknown function\"])},q:function(a,b,c){a=N(a);b=La(b,\"wrapper\");c=M(c);var d=[].slice,e=b.N,f=e.X,g=e.R.X,k=e.R.constructor;a=Ba(a,function(){e.R.ja.forEach(function(l){if(this[l]===g[l])throw new Fa(\"Pure virtual function \"+\nl+\" must be implemented in JavaScript\");}.bind(this));Object.defineProperty(this,\"__parent\",{value:f});this.__construct.apply(this,d.call(arguments))});f.__construct=function(){this===f&&L(\"Pass correct 'this' to __construct\");var l=k.implement.apply(void 0,[this].concat(d.call(arguments)));Ma(l);var n=l.M;l.notifyOnDestruction();n.aa=!0;Object.defineProperties(this,{M:{value:n}});T(this);l=n.O;l=Ia(e,l);Q.hasOwnProperty(l)?L(\"Tried to register registered instance: \"+l):Q[l]=this};f.__destruct=function(){this===\nf&&L(\"Pass correct 'this' to __destruct\");Ma(this);var l=this.M.O;l=Ia(e,l);Q.hasOwnProperty(l)?delete Q[l]:L(\"Tried to unregister unregistered instance: \"+l)};a.prototype=Object.create(f);for(var m in c)a.prototype[m]=c[m];return Ea(a)},j:function(a){var b=Va[a];delete Va[a];var c=b.fa,d=b.W,e=b.ia,f=e.map(g=>g.ta).concat(e.map(g=>g.za));V([a],f,g=>{var k={};e.forEach((m,l)=>{var n=g[l],p=m.ra,r=m.sa,u=g[l+e.length],t=m.ya,y=m.Aa;k[m.oa]={read:B=>n.fromWireType(p(r,B)),write:(B,ba)=>{var I=[];t(y,\nB,u.toWireType(I,ba));Wa(I)}}});return[{name:b.name,fromWireType:function(m){var l={},n;for(n in k)l[n]=k[n].read(m);d(m);return l},toWireType:function(m,l){for(var n in k)if(!(n in l))throw new TypeError('Missing field: \"'+n+'\"');var p=c();for(n in k)k[n].write(p,l[n]);null!==m&&m.push(d,p);return p},argPackAdvance:8,readValueFromPointer:Xa,V:d}]})},v:function(){},B:function(a,b,c,d,e){var f=Za(c);b=N(b);W(a,{name:b,fromWireType:function(g){return!!g},toWireType:function(g,k){return k?d:e},argPackAdvance:8,\nreadValueFromPointer:function(g){if(1===c)var k=ja;else if(2===c)k=C;else if(4===c)k=D;else throw new TypeError(\"Unknown boolean type size: \"+b);return this.fromWireType(k[g>>f])},V:null})},f:function(a,b,c,d,e,f,g,k,m,l,n,p,r){n=N(n);f=Z(e,f);k&&(k=Z(g,k));l&&(l=Z(m,l));r=Z(p,r);var u=Aa(n);bb(u,function(){nb(\"Cannot construct \"+n+\" due to unbound types\",[d])});V([a,b,c],d?[d]:[],function(t){t=t[0];if(d){var y=t.N;var B=y.X}else B=X.prototype;t=Ba(u,function(){if(Object.getPrototypeOf(this)!==ba)throw new K(\"Use 'new' to construct \"+\nn);if(void 0===I.Y)throw new K(n+\" has no accessible constructor\");var kb=I.Y[arguments.length];if(void 0===kb)throw new K(\"Tried to invoke ctor of \"+n+\" with invalid number of parameters (\"+arguments.length+\") - expected (\"+Object.keys(I.Y).toString()+\") parameters instead!\");return kb.apply(this,arguments)});var ba=Object.create(B,{constructor:{value:t}});t.prototype=ba;var I=new cb(n,t,ba,r,y,f,k,l);y=new Y(n,I,!0,!1);B=new Y(n+\"*\",I,!1,!1);var lb=new Y(n+\" const*\",I,!1,!0);Qa[a]={pointerType:B,\nla:lb};ib(u,t);return[y,B,lb]})},d:function(a,b,c,d,e,f,g){var k=pb(c,d);b=N(b);f=Z(e,f);V([],[a],function(m){function l(){nb(\"Cannot call \"+n+\" due to unbound types\",k)}m=m[0];var n=m.name+\".\"+b;b.startsWith(\"@@\")&&(b=Symbol[b.substring(2)]);var p=m.N.constructor;void 0===p[b]?(l.Z=c-1,p[b]=l):(ab(p,b,n),p[b].S[c-1]=l);V([],k,function(r){r=ob(n,[r[0],null].concat(r.slice(1)),null,f,g);void 0===p[b].S?(r.Z=c-1,p[b]=r):p[b].S[c-1]=r;return[]});return[]})},p:function(a,b,c,d,e,f){0<b||x();var g=pb(b,\nc);e=Z(d,e);V([],[a],function(k){k=k[0];var m=\"constructor \"+k.name;void 0===k.N.Y&&(k.N.Y=[]);if(void 0!==k.N.Y[b-1])throw new K(\"Cannot register multiple constructors with identical number of parameters (\"+(b-1)+\") for class '\"+k.name+\"'! Overload resolution is currently only performed using the parameter count, not actual type info!\");k.N.Y[b-1]=()=>{nb(\"Cannot construct \"+k.name+\" due to unbound types\",g)};V([],g,function(l){l.splice(1,0,null);k.N.Y[b-1]=ob(m,l,null,e,f);return[]});return[]})},\na:function(a,b,c,d,e,f,g,k){var m=pb(c,d);b=N(b);f=Z(e,f);V([],[a],function(l){function n(){nb(\"Cannot call \"+p+\" due to unbound types\",m)}l=l[0];var p=l.name+\".\"+b;b.startsWith(\"@@\")&&(b=Symbol[b.substring(2)]);k&&l.N.ja.push(b);var r=l.N.X,u=r[b];void 0===u||void 0===u.S&&u.className!==l.name&&u.Z===c-2?(n.Z=c-2,n.className=l.name,r[b]=n):(ab(r,b,p),r[b].S[c-2]=n);V([],m,function(t){t=ob(p,t,l,f,g);void 0===r[b].S?(t.Z=c-2,r[b]=t):r[b].S[c-2]=t;return[]});return[]})},A:function(a,b){b=N(b);W(a,\n{name:b,fromWireType:function(c){var d=M(c);qb(c);return d},toWireType:function(c,d){return Ea(d)},argPackAdvance:8,readValueFromPointer:Xa,V:null})},n:function(a,b,c){c=Za(c);b=N(b);W(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,e){return e},argPackAdvance:8,readValueFromPointer:rb(b,c),V:null})},e:function(a,b,c,d,e){b=N(b);-1===e&&(e=4294967295);e=Za(c);var f=k=>k;if(0===d){var g=32-8*c;f=k=>k<<g>>>g}c=b.includes(\"unsigned\")?function(k,m){return m>>>0}:function(k,m){return m};\nW(a,{name:b,fromWireType:f,toWireType:c,argPackAdvance:8,readValueFromPointer:sb(b,e,0!==d),V:null})},b:function(a,b,c){function d(f){f>>=2;var g=E;return new e(ia,g[f+1],g[f])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=N(c);W(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{ua:!0})},o:function(a,b){b=N(b);var c=\"std::string\"===b;W(a,{name:b,fromWireType:function(d){var e=E[d>>2],f=d+4;if(c)for(var g=f,k=0;k<=e;++k){var m=\nf+k;if(k==e||0==A[m]){g=g?z(A,g,m-g):\"\";if(void 0===l)var l=g;else l+=String.fromCharCode(0),l+=g;g=m+1}}else{l=Array(e);for(k=0;k<e;++k)l[k]=String.fromCharCode(A[f+k]);l=l.join(\"\")}S(d);return l},toWireType:function(d,e){e instanceof ArrayBuffer&&(e=new Uint8Array(e));var f,g=\"string\"==typeof e;g||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array||L(\"Cannot pass non-string to std::string\");if(c&&g){var k=0;for(f=0;f<e.length;++f){var m=e.charCodeAt(f);127>=m?k++:2047>=\nm?k+=2:55296<=m&&57343>=m?(k+=4,++f):k+=3}f=k}else f=e.length;k=Ib(4+f+1);m=k+4;E[k>>2]=f;if(c&&g){if(g=m,m=f+1,f=A,0<m){m=g+m-1;for(var l=0;l<e.length;++l){var n=e.charCodeAt(l);if(55296<=n&&57343>=n){var p=e.charCodeAt(++l);n=65536+((n&1023)<<10)|p&1023}if(127>=n){if(g>=m)break;f[g++]=n}else{if(2047>=n){if(g+1>=m)break;f[g++]=192|n>>6}else{if(65535>=n){if(g+2>=m)break;f[g++]=224|n>>12}else{if(g+3>=m)break;f[g++]=240|n>>18;f[g++]=128|n>>12&63}f[g++]=128|n>>6&63}f[g++]=128|n&63}}f[g]=0}}else if(g)for(g=\n0;g<f;++g)l=e.charCodeAt(g),255<l&&(S(m),L(\"String has UTF-16 code units that do not fit in 8 bits\")),A[m+g]=l;else for(g=0;g<f;++g)A[m+g]=e[g];null!==d&&d.push(S,k);return k},argPackAdvance:8,readValueFromPointer:Xa,V:function(d){S(d)}})},i:function(a,b,c){c=N(c);if(2===b){var d=tb;var e=ub;var f=vb;var g=()=>ka;var k=1}else 4===b&&(d=wb,e=xb,f=yb,g=()=>E,k=2);W(a,{name:c,fromWireType:function(m){for(var l=E[m>>2],n=g(),p,r=m+4,u=0;u<=l;++u){var t=m+4+u*b;if(u==l||0==n[t>>k])r=d(r,t-r),void 0===\np?p=r:(p+=String.fromCharCode(0),p+=r),r=t+b}S(m);return p},toWireType:function(m,l){\"string\"!=typeof l&&L(\"Cannot pass non-string to C++ string type \"+c);var n=f(l),p=Ib(4+n+b);E[p>>2]=n>>k;e(l,p+4,n+b);null!==m&&m.push(S,p);return p},argPackAdvance:8,readValueFromPointer:Xa,V:function(m){S(m)}})},k:function(a,b,c,d,e,f){Va[a]={name:N(b),fa:Z(c,d),W:Z(e,f),ia:[]}},h:function(a,b,c,d,e,f,g,k,m,l){Va[a].ia.push({oa:N(b),ta:c,ra:Z(d,e),sa:f,za:g,ya:Z(k,m),Aa:l})},C:function(a,b){b=N(b);W(a,{va:!0,name:b,\nargPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(a,b,c,d,e){a=Bb[a];b=M(b);c=Ab(c);var f=[];E[d>>2]=Ea(f);return a(b,c,f,e)},t:function(a,b,c,d){a=Bb[a];b=M(b);c=Ab(c);a(b,c,null,d)},g:qb,m:function(a,b){var c=Db(a,b),d=c[0];b=d.name+\"_$\"+c.slice(1).map(function(g){return g.name}).join(\"_\")+\"$\";var e=Eb[b];if(void 0!==e)return e;var f=Array(a-1);e=Cb((g,k,m,l)=>{for(var n=0,p=0;p<a-1;++p)f[p]=c[p+1].readValueFromPointer(l+n),n+=c[p+1].argPackAdvance;g=g[k].apply(g,\nf);for(p=0;p<a-1;++p)c[p+1].ma&&c[p+1].ma(f[p]);if(!d.va)return d.toWireType(m,g)});return Eb[b]=e},D:function(a){4<a&&(J[a].ga+=1)},r:function(a){var b=M(a);Wa(b);qb(a)},c:function(){x(\"\")},x:function(a,b,c){A.copyWithin(a,b,b+c)},w:function(a){var b=A.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);var e=Math;d=Math.max(a,d);e=e.min.call(e,2147483648,d+(65536-d%65536)%65536);a:{try{fa.grow(e-ia.byteLength+65535>>>16);na();var f=1;break a}catch(g){}f=\nvoid 0}if(f)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(a,b,c,d){for(var e=0,f=0;f<c;f++){var g=E[b>>2],k=E[b+4>>2];b+=8;for(var m=0;m<k;m++){var l=A[g+m],n=Fb[a];0===l||10===l?((1===a?ea:v)(z(n,0)),n.length=0):n.push(l)}e+=k}E[d>>2]=e;return 0}};\n(function(){function a(e){h.asm=e.exports;fa=h.asm.E;na();oa=h.asm.J;qa.unshift(h.asm.F);F--;h.monitorRunDependencies&&h.monitorRunDependencies(F);0==F&&(null!==ta&&(clearInterval(ta),ta=null),G&&(e=G,G=null,e()))}function b(e){a(e.instance)}function c(e){return ya().then(function(f){return WebAssembly.instantiate(f,d)}).then(function(f){return f}).then(e,function(f){v(\"failed to asynchronously prepare wasm: \"+f);x(f)})}var d={a:Jb};F++;h.monitorRunDependencies&&h.monitorRunDependencies(F);if(h.instantiateWasm)try{return h.instantiateWasm(d,\na)}catch(e){v(\"Module.instantiateWasm callback failed with error: \"+e),ca(e)}(function(){return w||\"function\"!=typeof WebAssembly.instantiateStreaming||ua(H)||\"function\"!=typeof fetch?c(b):fetch(H,{credentials:\"same-origin\"}).then(function(e){return WebAssembly.instantiateStreaming(e,d).then(b,function(f){v(\"wasm streaming compile failed: \"+f);v(\"falling back to ArrayBuffer instantiation\");return c(b)})})})().catch(ca);return{}})();\nh.___wasm_call_ctors=function(){return(h.___wasm_call_ctors=h.asm.F).apply(null,arguments)};var Ka=h.___getTypeName=function(){return(Ka=h.___getTypeName=h.asm.G).apply(null,arguments)};h.__embind_initialize_bindings=function(){return(h.__embind_initialize_bindings=h.asm.H).apply(null,arguments)};var Ib=h._malloc=function(){return(Ib=h._malloc=h.asm.I).apply(null,arguments)},S=h._free=function(){return(S=h._free=h.asm.K).apply(null,arguments)};\nh.dynCall_jiji=function(){return(h.dynCall_jiji=h.asm.L).apply(null,arguments)};var Kb;G=function Lb(){Kb||Mb();Kb||(G=Lb)};\nfunction Mb(){function a(){if(!Kb&&(Kb=!0,h.calledRun=!0,!ha)){za(qa);aa(h);if(h.onRuntimeInitialized)h.onRuntimeInitialized();if(h.postRun)for(\"function\"==typeof h.postRun&&(h.postRun=[h.postRun]);h.postRun.length;){var b=h.postRun.shift();ra.unshift(b)}za(ra)}}if(!(0<F)){if(h.preRun)for(\"function\"==typeof h.preRun&&(h.preRun=[h.preRun]);h.preRun.length;)sa();za(pa);0<F||(h.setStatus?(h.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){h.setStatus(\"\")},1);a()},1)):a())}}\nif(h.preInit)for(\"function\"==typeof h.preInit&&(h.preInit=[h.preInit]);0<h.preInit.length;)h.preInit.pop()();Mb();\n\n\n return loadYoga.ready\n}\n);\n})();\nexport default loadYoga;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// @generated by enums.py\n\nexport let Align = /*#__PURE__*/function (Align) {\n Align[Align[\"Auto\"] = 0] = \"Auto\";\n Align[Align[\"FlexStart\"] = 1] = \"FlexStart\";\n Align[Align[\"Center\"] = 2] = \"Center\";\n Align[Align[\"FlexEnd\"] = 3] = \"FlexEnd\";\n Align[Align[\"Stretch\"] = 4] = \"Stretch\";\n Align[Align[\"Baseline\"] = 5] = \"Baseline\";\n Align[Align[\"SpaceBetween\"] = 6] = \"SpaceBetween\";\n Align[Align[\"SpaceAround\"] = 7] = \"SpaceAround\";\n Align[Align[\"SpaceEvenly\"] = 8] = \"SpaceEvenly\";\n return Align;\n}({});\nexport let BoxSizing = /*#__PURE__*/function (BoxSizing) {\n BoxSizing[BoxSizing[\"BorderBox\"] = 0] = \"BorderBox\";\n BoxSizing[BoxSizing[\"ContentBox\"] = 1] = \"ContentBox\";\n return BoxSizing;\n}({});\nexport let Dimension = /*#__PURE__*/function (Dimension) {\n Dimension[Dimension[\"Width\"] = 0] = \"Width\";\n Dimension[Dimension[\"Height\"] = 1] = \"Height\";\n return Dimension;\n}({});\nexport let Direction = /*#__PURE__*/function (Direction) {\n Direction[Direction[\"Inherit\"] = 0] = \"Inherit\";\n Direction[Direction[\"LTR\"] = 1] = \"LTR\";\n Direction[Direction[\"RTL\"] = 2] = \"RTL\";\n return Direction;\n}({});\nexport let Display = /*#__PURE__*/function (Display) {\n Display[Display[\"Flex\"] = 0] = \"Flex\";\n Display[Display[\"None\"] = 1] = \"None\";\n Display[Display[\"Contents\"] = 2] = \"Contents\";\n return Display;\n}({});\nexport let Edge = /*#__PURE__*/function (Edge) {\n Edge[Edge[\"Left\"] = 0] = \"Left\";\n Edge[Edge[\"Top\"] = 1] = \"Top\";\n Edge[Edge[\"Right\"] = 2] = \"Right\";\n Edge[Edge[\"Bottom\"] = 3] = \"Bottom\";\n Edge[Edge[\"Start\"] = 4] = \"Start\";\n Edge[Edge[\"End\"] = 5] = \"End\";\n Edge[Edge[\"Horizontal\"] = 6] = \"Horizontal\";\n Edge[Edge[\"Vertical\"] = 7] = \"Vertical\";\n Edge[Edge[\"All\"] = 8] = \"All\";\n return Edge;\n}({});\nexport let Errata = /*#__PURE__*/function (Errata) {\n Errata[Errata[\"None\"] = 0] = \"None\";\n Errata[Errata[\"StretchFlexBasis\"] = 1] = \"StretchFlexBasis\";\n Errata[Errata[\"AbsolutePositionWithoutInsetsExcludesPadding\"] = 2] = \"AbsolutePositionWithoutInsetsExcludesPadding\";\n Errata[Errata[\"AbsolutePercentAgainstInnerSize\"] = 4] = \"AbsolutePercentAgainstInnerSize\";\n Errata[Errata[\"All\"] = 2147483647] = \"All\";\n Errata[Errata[\"Classic\"] = 2147483646] = \"Classic\";\n return Errata;\n}({});\nexport let ExperimentalFeature = /*#__PURE__*/function (ExperimentalFeature) {\n ExperimentalFeature[ExperimentalFeature[\"WebFlexBasis\"] = 0] = \"WebFlexBasis\";\n return ExperimentalFeature;\n}({});\nexport let FlexDirection = /*#__PURE__*/function (FlexDirection) {\n FlexDirection[FlexDirection[\"Column\"] = 0] = \"Column\";\n FlexDirection[FlexDirection[\"ColumnReverse\"] = 1] = \"ColumnReverse\";\n FlexDirection[FlexDirection[\"Row\"] = 2] = \"Row\";\n FlexDirection[FlexDirection[\"RowReverse\"] = 3] = \"RowReverse\";\n return FlexDirection;\n}({});\nexport let Gutter = /*#__PURE__*/function (Gutter) {\n Gutter[Gutter[\"Column\"] = 0] = \"Column\";\n Gutter[Gutter[\"Row\"] = 1] = \"Row\";\n Gutter[Gutter[\"All\"] = 2] = \"All\";\n return Gutter;\n}({});\nexport let Justify = /*#__PURE__*/function (Justify) {\n Justify[Justify[\"FlexStart\"] = 0] = \"FlexStart\";\n Justify[Justify[\"Center\"] = 1] = \"Center\";\n Justify[Justify[\"FlexEnd\"] = 2] = \"FlexEnd\";\n Justify[Justify[\"SpaceBetween\"] = 3] = \"SpaceBetween\";\n Justify[Justify[\"SpaceAround\"] = 4] = \"SpaceAround\";\n Justify[Justify[\"SpaceEvenly\"] = 5] = \"SpaceEvenly\";\n return Justify;\n}({});\nexport let LogLevel = /*#__PURE__*/function (LogLevel) {\n LogLevel[LogLevel[\"Error\"] = 0] = \"Error\";\n LogLevel[LogLevel[\"Warn\"] = 1] = \"Warn\";\n LogLevel[LogLevel[\"Info\"] = 2] = \"Info\";\n LogLevel[LogLevel[\"Debug\"] = 3] = \"Debug\";\n LogLevel[LogLevel[\"Verbose\"] = 4] = \"Verbose\";\n LogLevel[LogLevel[\"Fatal\"] = 5] = \"Fatal\";\n return LogLevel;\n}({});\nexport let MeasureMode = /*#__PURE__*/function (MeasureMode) {\n MeasureMode[MeasureMode[\"Undefined\"] = 0] = \"Undefined\";\n MeasureMode[MeasureMode[\"Exactly\"] = 1] = \"Exactly\";\n MeasureMode[MeasureMode[\"AtMost\"] = 2] = \"AtMost\";\n return MeasureMode;\n}({});\nexport let NodeType = /*#__PURE__*/function (NodeType) {\n NodeType[NodeType[\"Default\"] = 0] = \"Default\";\n NodeType[NodeType[\"Text\"] = 1] = \"Text\";\n return NodeType;\n}({});\nexport let Overflow = /*#__PURE__*/function (Overflow) {\n Overflow[Overflow[\"Visible\"] = 0] = \"Visible\";\n Overflow[Overflow[\"Hidden\"] = 1] = \"Hidden\";\n Overflow[Overflow[\"Scroll\"] = 2] = \"Scroll\";\n return Overflow;\n}({});\nexport let PositionType = /*#__PURE__*/function (PositionType) {\n PositionType[PositionType[\"Static\"] = 0] = \"Static\";\n PositionType[PositionType[\"Relative\"] = 1] = \"Relative\";\n PositionType[PositionType[\"Absolute\"] = 2] = \"Absolute\";\n return PositionType;\n}({});\nexport let Unit = /*#__PURE__*/function (Unit) {\n Unit[Unit[\"Undefined\"] = 0] = \"Undefined\";\n Unit[Unit[\"Point\"] = 1] = \"Point\";\n Unit[Unit[\"Percent\"] = 2] = \"Percent\";\n Unit[Unit[\"Auto\"] = 3] = \"Auto\";\n return Unit;\n}({});\nexport let Wrap = /*#__PURE__*/function (Wrap) {\n Wrap[Wrap[\"NoWrap\"] = 0] = \"NoWrap\";\n Wrap[Wrap[\"Wrap\"] = 1] = \"Wrap\";\n Wrap[Wrap[\"WrapReverse\"] = 2] = \"WrapReverse\";\n return Wrap;\n}({});\nconst constants = {\n ALIGN_AUTO: Align.Auto,\n ALIGN_FLEX_START: Align.FlexStart,\n ALIGN_CENTER: Align.Center,\n ALIGN_FLEX_END: Align.FlexEnd,\n ALIGN_STRETCH: Align.Stretch,\n ALIGN_BASELINE: Align.Baseline,\n ALIGN_SPACE_BETWEEN: Align.SpaceBetween,\n ALIGN_SPACE_AROUND: Align.SpaceAround,\n ALIGN_SPACE_EVENLY: Align.SpaceEvenly,\n BOX_SIZING_BORDER_BOX: BoxSizing.BorderBox,\n BOX_SIZING_CONTENT_BOX: BoxSizing.ContentBox,\n DIMENSION_WIDTH: Dimension.Width,\n DIMENSION_HEIGHT: Dimension.Height,\n DIRECTION_INHERIT: Direction.Inherit,\n DIRECTION_LTR: Direction.LTR,\n DIRECTION_RTL: Direction.RTL,\n DISPLAY_FLEX: Display.Flex,\n DISPLAY_NONE: Display.None,\n DISPLAY_CONTENTS: Display.Contents,\n EDGE_LEFT: Edge.Left,\n EDGE_TOP: Edge.Top,\n EDGE_RIGHT: Edge.Right,\n EDGE_BOTTOM: Edge.Bottom,\n EDGE_START: Edge.Start,\n EDGE_END: Edge.End,\n EDGE_HORIZONTAL: Edge.Horizontal,\n EDGE_VERTICAL: Edge.Vertical,\n EDGE_ALL: Edge.All,\n ERRATA_NONE: Errata.None,\n ERRATA_STRETCH_FLEX_BASIS: Errata.StretchFlexBasis,\n ERRATA_ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING: Errata.AbsolutePositionWithoutInsetsExcludesPadding,\n ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE: Errata.AbsolutePercentAgainstInnerSize,\n ERRATA_ALL: Errata.All,\n ERRATA_CLASSIC: Errata.Classic,\n EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS: ExperimentalFeature.WebFlexBasis,\n FLEX_DIRECTION_COLUMN: FlexDirection.Column,\n FLEX_DIRECTION_COLUMN_REVERSE: FlexDirection.ColumnReverse,\n FLEX_DIRECTION_ROW: FlexDirection.Row,\n FLEX_DIRECTION_ROW_REVERSE: FlexDirection.RowReverse,\n GUTTER_COLUMN: Gutter.Column,\n GUTTER_ROW: Gutter.Row,\n GUTTER_ALL: Gutter.All,\n JUSTIFY_FLEX_START: Justify.FlexStart,\n JUSTIFY_CENTER: Justify.Center,\n JUSTIFY_FLEX_END: Justify.FlexEnd,\n JUSTIFY_SPACE_BETWEEN: Justify.SpaceBetween,\n JUSTIFY_SPACE_AROUND: Justify.SpaceAround,\n JUSTIFY_SPACE_EVENLY: Justify.SpaceEvenly,\n LOG_LEVEL_ERROR: LogLevel.Error,\n LOG_LEVEL_WARN: LogLevel.Warn,\n LOG_LEVEL_INFO: LogLevel.Info,\n LOG_LEVEL_DEBUG: LogLevel.Debug,\n LOG_LEVEL_VERBOSE: LogLevel.Verbose,\n LOG_LEVEL_FATAL: LogLevel.Fatal,\n MEASURE_MODE_UNDEFINED: MeasureMode.Undefined,\n MEASURE_MODE_EXACTLY: MeasureMode.Exactly,\n MEASURE_MODE_AT_MOST: MeasureMode.AtMost,\n NODE_TYPE_DEFAULT: NodeType.Default,\n NODE_TYPE_TEXT: NodeType.Text,\n OVERFLOW_VISIBLE: Overflow.Visible,\n OVERFLOW_HIDDEN: Overflow.Hidden,\n OVERFLOW_SCROLL: Overflow.Scroll,\n POSITION_TYPE_STATIC: PositionType.Static,\n POSITION_TYPE_RELATIVE: PositionType.Relative,\n POSITION_TYPE_ABSOLUTE: PositionType.Absolute,\n UNIT_UNDEFINED: Unit.Undefined,\n UNIT_POINT: Unit.Point,\n UNIT_PERCENT: Unit.Percent,\n UNIT_AUTO: Unit.Auto,\n WRAP_NO_WRAP: Wrap.NoWrap,\n WRAP_WRAP: Wrap.Wrap,\n WRAP_WRAP_REVERSE: Wrap.WrapReverse\n};\nexport default constants;\n//# sourceMappingURL=YGEnums.js.map","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n */\n\n// @ts-nocheck\n\nimport { Unit, Direction } from \"./generated/YGEnums.js\";\nimport YGEnums from \"./generated/YGEnums.js\";\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport default function wrapAssembly(lib) {\n function patch(prototype, name, fn) {\n const original = prototype[name];\n prototype[name] = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return fn.call(this, original, ...args);\n };\n }\n for (const fnName of ['setPosition', 'setMargin', 'setFlexBasis', 'setWidth', 'setHeight', 'setMinWidth', 'setMinHeight', 'setMaxWidth', 'setMaxHeight', 'setPadding', 'setGap']) {\n const methods = {\n [Unit.Point]: lib.Node.prototype[fnName],\n [Unit.Percent]: lib.Node.prototype[`${fnName}Percent`],\n [Unit.Auto]: lib.Node.prototype[`${fnName}Auto`]\n };\n patch(lib.Node.prototype, fnName, function (original) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n // We patch all these functions to add support for the following calls:\n // .setWidth(100) / .setWidth(\"100%\") / .setWidth(.getWidth()) / .setWidth(\"auto\")\n\n const value = args.pop();\n let unit, asNumber;\n if (value === 'auto') {\n unit = Unit.Auto;\n asNumber = undefined;\n } else if (typeof value === 'object') {\n unit = value.unit;\n asNumber = value.valueOf();\n } else {\n unit = typeof value === 'string' && value.endsWith('%') ? Unit.Percent : Unit.Point;\n asNumber = parseFloat(value);\n if (value !== undefined && !Number.isNaN(value) && Number.isNaN(asNumber)) {\n throw new Error(`Invalid value ${value} for ${fnName}`);\n }\n }\n if (!methods[unit]) throw new Error(`Failed to execute \"${fnName}\": Unsupported unit '${value}'`);\n if (asNumber !== undefined) {\n return methods[unit].call(this, ...args, asNumber);\n } else {\n return methods[unit].call(this, ...args);\n }\n });\n }\n function wrapMeasureFunction(measureFunction) {\n return lib.MeasureCallback.implement({\n measure: function () {\n const {\n width,\n height\n } = measureFunction(...arguments);\n return {\n width: width ?? NaN,\n height: height ?? NaN\n };\n }\n });\n }\n patch(lib.Node.prototype, 'setMeasureFunc', function (original, measureFunc) {\n // This patch is just a convenience patch, since it helps write more\n // idiomatic source code (such as .setMeasureFunc(null))\n if (measureFunc) {\n return original.call(this, wrapMeasureFunction(measureFunc));\n } else {\n return this.unsetMeasureFunc();\n }\n });\n function wrapDirtiedFunc(dirtiedFunction) {\n return lib.DirtiedCallback.implement({\n dirtied: dirtiedFunction\n });\n }\n patch(lib.Node.prototype, 'setDirtiedFunc', function (original, dirtiedFunc) {\n original.call(this, wrapDirtiedFunc(dirtiedFunc));\n });\n patch(lib.Config.prototype, 'free', function () {\n // Since we handle the memory allocation ourselves (via lib.Config.create),\n // we also need to handle the deallocation\n lib.Config.destroy(this);\n });\n patch(lib.Node, 'create', (_, config) => {\n // We decide the constructor we want to call depending on the parameters\n return config ? lib.Node.createWithConfig(config) : lib.Node.createDefault();\n });\n patch(lib.Node.prototype, 'free', function () {\n // Since we handle the memory allocation ourselves (via lib.Node.create),\n // we also need to handle the deallocation\n lib.Node.destroy(this);\n });\n patch(lib.Node.prototype, 'freeRecursive', function () {\n for (let t = 0, T = this.getChildCount(); t < T; ++t) {\n this.getChild(0).freeRecursive();\n }\n this.free();\n });\n patch(lib.Node.prototype, 'calculateLayout', function (original) {\n let width = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : NaN;\n let height = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : NaN;\n let direction = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Direction.LTR;\n // Just a small patch to add support for the function default parameters\n return original.call(this, width, height, direction);\n });\n return {\n Config: lib.Config,\n Node: lib.Node,\n ...YGEnums\n };\n}\n//# sourceMappingURL=wrapAssembly.js.map","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n */\n\n// @ts-ignore untyped from Emscripten\nimport loadYogaImpl from '../binaries/yoga-wasm-base64-esm.js';\nimport wrapAssembly from \"./wrapAssembly.js\";\nexport async function loadYoga() {\n return wrapAssembly(await loadYogaImpl());\n}\nexport * from \"./generated/YGEnums.js\";\n//# sourceMappingURL=load.js.map","let yoga;\nfunction getYoga() {\n return yoga;\n}\nfunction setYoga(newYoga) {\n yoga = newYoga;\n}\nlet yogaConfig;\nfunction setYogaConfig(config) {\n yogaConfig = config;\n}\nfunction getYogaConfig() {\n return yogaConfig;\n}\nexport {\n getYoga,\n getYogaConfig,\n setYoga,\n setYogaConfig\n};\n//# sourceMappingURL=yoga.mjs.map\n","function getNumberFromStyle(value, size) {\n if (!value) return 0;\n if (typeof value === \"number\") {\n return value;\n } else if (typeof value === \"string\" && value.endsWith(\"%\")) {\n size ?? (size = 1);\n return size * (parseFloat(value) / 100);\n } else if (!Number.isNaN(parseFloat(value))) {\n return parseFloat(value);\n }\n return 0;\n}\nfunction getTypeFromStyle(value) {\n if (typeof value === \"number\") return \"number\";\n if (value.endsWith(\"%\")) return \"percentage\";\n if (Number.isNaN(parseInt(value, 10))) return \"keyword\";\n return \"number\";\n}\nexport {\n getNumberFromStyle,\n getTypeFromStyle\n};\n//# sourceMappingURL=getNumberFromStyle.mjs.map\n","import { getTypeFromStyle, getNumberFromStyle } from \"../../../utils/getNumberFromStyle.mjs\";\nfunction calculateCenterPosition(dimension, computedLayout, visualBounds) {\n return (computedLayout[dimension] - visualBounds[dimension]) / 2;\n}\nfunction calculateNonKeywordPosition(value, valueType, dimension, computedLayout, visualBounds) {\n const multiple = valueType === \"percentage\" ? computedLayout[dimension] - visualBounds[dimension] : 1;\n return getNumberFromStyle(value) * multiple;\n}\nfunction calculateWithDoubleValue(tokens, computedLayout, visualBounds) {\n const [first, second] = tokens;\n const firstType = getTypeFromStyle(first);\n const secondType = getTypeFromStyle(second);\n const result = { x: void 0, y: void 0 };\n switch (first) {\n case \"top\":\n result.y = 0;\n break;\n case \"bottom\":\n result.y = computedLayout.height - visualBounds.height;\n break;\n case \"center\":\n if (second === \"left\" || second === \"right\") {\n result.y = calculateCenterPosition(\"height\", computedLayout, visualBounds);\n } else {\n result.x = calculateCenterPosition(\"width\", computedLayout, visualBounds);\n }\n break;\n case \"left\":\n result.x = 0;\n break;\n case \"right\":\n result.x = computedLayout.width - visualBounds.width;\n break;\n default: {\n const dimension = second === \"top\" || second === \"bottom\" || secondType !== \"keyword\" ? \"width\" : \"height\";\n const target = dimension === \"width\" ? \"x\" : \"y\";\n result[target] = calculateNonKeywordPosition(first, firstType, dimension, computedLayout, visualBounds);\n }\n }\n switch (second) {\n case \"top\":\n result.y = 0;\n break;\n case \"bottom\":\n result.y = computedLayout.height - visualBounds.height;\n break;\n case \"center\":\n if (result.y === void 0) {\n result.y = calculateCenterPosition(\"height\", computedLayout, visualBounds);\n } else {\n result.x = calculateCenterPosition(\"width\", computedLayout, visualBounds);\n }\n break;\n case \"left\":\n result.x = 0;\n break;\n case \"right\":\n result.x = computedLayout.width - visualBounds.width;\n break;\n default: {\n const target = result.y === void 0 ? \"y\" : \"x\";\n const dimension = target === \"y\" ? \"height\" : \"width\";\n result[target] = calculateNonKeywordPosition(second, secondType, dimension, computedLayout, visualBounds);\n }\n }\n return result;\n}\nexport {\n calculateWithDoubleValue\n};\n//# sourceMappingURL=calculateWithDoubleValue.mjs.map\n","import { getTypeFromStyle, getNumberFromStyle } from \"../../../utils/getNumberFromStyle.mjs\";\nimport { calculateWithDoubleValue } from \"./calculateWithDoubleValue.mjs\";\nfunction calculateAxisOffset(keyword, value, type, bounds) {\n const isNegativeOffset = keyword === \"right\" || keyword === \"bottom\";\n const offset = type === \"percentage\" ? value * bounds : value;\n return isNegativeOffset ? -offset : offset;\n}\nfunction calculateWithQuadValue(tokens, computedLayout, visualBounds) {\n const [first, second, third, fourth] = tokens;\n const firstType = getTypeFromStyle(first);\n const secondType = getTypeFromStyle(second);\n const thirdType = getTypeFromStyle(third);\n const fourthType = getTypeFromStyle(fourth);\n if (secondType === \"keyword\" || fourthType === \"keyword\") {\n throw new Error(\"Invalid objectPosition value: second and fourth values must be numbers or percentages\");\n }\n if (firstType !== \"keyword\" || thirdType !== \"keyword\") {\n throw new Error(\"Invalid objectPosition value: first and third values must be keywords\");\n }\n const basePosition = calculateWithDoubleValue([first, third], computedLayout, visualBounds);\n const result = { ...basePosition };\n const secondValue = getNumberFromStyle(second);\n const fourthValue = getNumberFromStyle(fourth);\n if (first === \"left\" || first === \"right\") {\n result.x = basePosition.x + calculateAxisOffset(first, secondValue, secondType, visualBounds.width);\n } else if (first === \"top\" || first === \"bottom\") {\n result.y = basePosition.y + calculateAxisOffset(first, secondValue, secondType, visualBounds.height);\n }\n if (third === \"left\" || third === \"right\") {\n result.x = basePosition.x + calculateAxisOffset(third, fourthValue, fourthType, visualBounds.width);\n } else if (third === \"top\" || third === \"bottom\") {\n result.y = basePosition.y + calculateAxisOffset(third, fourthValue, fourthType, visualBounds.height);\n }\n return result;\n}\nexport {\n calculateWithQuadValue\n};\n//# sourceMappingURL=calculateWithQuadValue.mjs.map\n","import { getTypeFromStyle, getNumberFromStyle } from \"../../../utils/getNumberFromStyle.mjs\";\nfunction calculateWithSingleValue(tokens, computedLayout, visualBounds) {\n const keyword = tokens[0];\n const result = { x: void 0, y: void 0 };\n switch (keyword) {\n case \"top\":\n result.y = 0;\n result.x = (computedLayout.width - visualBounds.width) / 2;\n break;\n case \"bottom\":\n result.y = computedLayout.height - visualBounds.height;\n result.x = (computedLayout.width - visualBounds.width) / 2;\n break;\n case \"left\":\n result.x = 0;\n result.y = (computedLayout.height - visualBounds.height) / 2;\n break;\n case \"right\":\n result.x = computedLayout.width - visualBounds.width;\n result.y = (computedLayout.height - visualBounds.height) / 2;\n break;\n case \"center\":\n result.x = (computedLayout.width - visualBounds.width) / 2;\n result.y = (computedLayout.height - visualBounds.height) / 2;\n break;\n default: {\n const isPercentage = getTypeFromStyle(keyword) === \"percentage\";\n const multiple = isPercentage ? computedLayout.width - visualBounds.width : 1;\n result.x = getNumberFromStyle(keyword) * multiple;\n result.y = (computedLayout.height - visualBounds.height) / 2;\n }\n }\n return result;\n}\nexport {\n calculateWithSingleValue\n};\n//# sourceMappingURL=calculateWithSingleValue.mjs.map\n","import { calculateWithDoubleValue } from \"./position/calculateWithDoubleValue.mjs\";\nimport { calculateWithQuadValue } from \"./position/calculateWithQuadValue.mjs\";\nimport { calculateWithSingleValue } from \"./position/calculateWithSingleValue.mjs\";\nfunction calculatePositionSpecifier(value, computedLayout, visualBounds) {\n if (!value) return { x: 0, y: 0 };\n const tokens = typeof value === \"string\" ? value.split(\" \") : [value];\n switch (tokens.length) {\n case 1:\n return calculateWithSingleValue(tokens, computedLayout, visualBounds);\n case 2:\n return calculateWithDoubleValue(tokens, computedLayout, visualBounds);\n case 4:\n return calculateWithQuadValue(tokens, computedLayout, visualBounds);\n default:\n throw new Error(\"Invalid objectPosition value: must have 1, 2, or 4 values\");\n }\n}\nexport {\n calculatePositionSpecifier\n};\n//# sourceMappingURL=calculatePositionSpecifier.mjs.map\n","const temp = { width: 0, height: 0 };\nfunction getPixiSize(layout) {\n const bounds = layout.target.getLocalBounds();\n const scale = layout.target.scale;\n temp.width = Math.abs(bounds.width * scale.x);\n temp.height = Math.abs(bounds.height * scale.y);\n return temp;\n}\nexport {\n getPixiSize\n};\n//# sourceMappingURL=getPixiSize.mjs.map\n","function nearlyEqual(a, b, EPSILON = 0.49) {\n return Math.abs(a - b) < EPSILON;\n}\nexport {\n nearlyEqual\n};\n//# sourceMappingURL=nearlyEqual.mjs.map\n","function debounce(func, wait = 0, options = {}) {\n let lastArgs;\n let lastThis;\n const maxWait = options.maxWait ? options.maxWait : wait;\n let result;\n let timerId;\n let lastCallTime;\n let lastInvokeTime = 0;\n const leading = !!options.leading;\n const maxing = \"maxWait\" in options;\n const trailing = options.trailing ?? true;\n const useRAF = wait !== 0 && typeof globalThis.requestAnimationFrame === \"function\";\n if (typeof func !== \"function\") {\n throw new TypeError(\"Expected a function\");\n }\n function invokeFunc(time) {\n const args = lastArgs;\n const thisArg = lastThis;\n lastArgs = lastThis = void 0;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n function startTimer(pendingFunc, milliseconds) {\n if (useRAF) {\n if (typeof timerId === \"number\") {\n globalThis.cancelAnimationFrame(timerId);\n }\n return globalThis.requestAnimationFrame(pendingFunc);\n }\n return setTimeout(pendingFunc, milliseconds);\n }\n function cancelTimer(id) {\n if (useRAF) {\n globalThis.cancelAnimationFrame(id);\n return;\n }\n clearTimeout(id);\n }\n function leadingEdge(time) {\n lastInvokeTime = time;\n timerId = startTimer(timerExpired, wait);\n return leading ? invokeFunc(time) : result;\n }\n function remainingWait(time) {\n const timeSinceLastCall = time - (lastCallTime || 0);\n const timeSinceLastInvoke = time - lastInvokeTime;\n const timeWaiting = wait - timeSinceLastCall;\n return maxing ? Math.min(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;\n }\n function shouldInvoke(time) {\n const timeSinceLastCall = time - (lastCallTime || 0);\n const timeSinceLastInvoke = time - lastInvokeTime;\n return lastCallTime === void 0 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;\n }\n function timerExpired() {\n const time = Date.now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n timerId = startTimer(timerExpired, remainingWait(time));\n return void 0;\n }\n function trailingEdge(time) {\n timerId = void 0;\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = void 0;\n return result;\n }\n function cancel() {\n if (timerId !== void 0) {\n cancelTimer(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = void 0;\n }\n function flush() {\n return timerId === void 0 ? result : trailingEdge(Date.now());\n }\n function pending() {\n return timerId !== void 0;\n }\n function debounced(...args) {\n const time = Date.now();\n const isInvoking = shouldInvoke(time);\n lastArgs = args;\n lastThis = this;\n lastCallTime = time;\n if (isInvoking) {\n if (timerId === void 0) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n timerId = startTimer(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === void 0) {\n timerId = startTimer(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n debounced.pending = pending;\n return debounced;\n}\nfunction throttle(func, wait, options = {}) {\n const leading = options.leading ?? true;\n const trailing = options.trailing ?? true;\n if (typeof func !== \"function\") {\n throw new TypeError(\"Expected a function\");\n }\n return debounce(func, wait, {\n leading,\n trailing,\n maxWait: wait\n });\n}\nexport {\n debounce,\n throttle\n};\n//# sourceMappingURL=throttle.mjs.map\n","var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nimport { ExtensionType } from \"pixi.js\";\nimport { loadYoga, Direction } from \"yoga-layout/load\";\nimport { setYoga, setYogaConfig, getYoga } from \"../yoga.mjs\";\nimport { calculatePositionSpecifier } from \"./mixins/utils/calculatePositionSpecifier.mjs\";\nimport { getPixiSize } from \"./utils/getPixiSize.mjs\";\nimport { nearlyEqual } from \"./utils/nearlyEqual.mjs\";\nimport { throttle } from \"./utils/throttle.mjs\";\nclass LayoutSystem {\n constructor() {\n /**\n * Whether the layout system should automatically update the layout when it detects changes\n * @default true\n */\n __publicField(this, \"autoUpdate\", true);\n __publicField(this, \"_debugEnabled\", false);\n __publicField(this, \"_debugRenderer\", null);\n __publicField(this, \"_throttledUpdateSize\");\n __publicField(this, \"_throttle\", 100);\n __publicField(this, \"_modificationCount\", 50);\n }\n /**\n * Initializes the layout system by loading the Yoga library asynchronously\n * @returns A promise that resolves when the system is ready\n */\n async init(options) {\n setYoga(await loadYoga());\n setYogaConfig(getYoga().Config.create());\n const { layout } = options ?? {};\n const { autoUpdate, enableDebug, throttle: throttle$1, debugModificationCount } = layout ?? {};\n if (enableDebug) {\n void this.enableDebug(true);\n }\n if (autoUpdate !== void 0) {\n this.autoUpdate = autoUpdate;\n }\n this._throttle = throttle$1 ?? this._throttle;\n this._throttledUpdateSize = throttle((container) => this._updateSize(container), this._throttle, {\n leading: true,\n trailing: true\n });\n this._modificationCount = debugModificationCount ?? this._modificationCount;\n }\n /**\n * Toggles the debug mode for the layout system\n * @param value - Whether to enable or disable debug mode\n */\n async enableDebug(value = !this._debugEnabled) {\n this._debugEnabled = value;\n if (!this._debugRenderer) {\n const res = await import(\"./debug/DebugRenderer.mjs\");\n this._debugRenderer = new res.DebugRenderer();\n }\n if (!this._debugEnabled) {\n this._debugRenderer.reset();\n }\n }\n /**\n * Updates the layout of the container and its children\n * @param container - The container to update the layout for\n */\n update(container) {\n if (this._debugEnabled && this._debugRenderer) {\n this._debugRenderer.reset();\n container.addChild(this._debugRenderer.holder);\n }\n this._throttle === 0 ? this._updateSize(container) : this._throttledUpdateSize(container);\n this.updateLayout(container);\n }\n prerender({ container }) {\n if (this.autoUpdate) {\n this.update(container);\n }\n }\n /**\n * Updates the size of the yoga nodes for the containers that use pixi size\n * @param container - The container to update the size for\n */\n _updateSize(container) {\n if (container.destroyed) return;\n const layout = container._layout;\n if (layout) {\n const layoutStyles = layout.style;\n if (layoutStyles.width === \"intrinsic\" || layoutStyles.height === \"intrinsic\") {\n const size = getPixiSize(layout);\n if (layoutStyles.width === \"intrinsic\") {\n const currentWidth = layout.yoga.getWidth().value;\n if (!nearlyEqual(currentWidth, size.width)) {\n layout.yoga.setWidth(size.width);\n layout.invalidateRoot();\n }\n }\n if (layoutStyles.height === \"intrinsic\") {\n const currentHeight = layout.yoga.getHeight().value;\n if (!nearlyEqual(currentHeight, size.height)) {\n layout.yoga.setHeight(size.height);\n layout.invalidateRoot();\n }\n }\n }\n if (!container.visible) {\n layout._onChildRemoved();\n return;\n }\n }\n for (let i = 0; i < container.children.length; i++) {\n this._updateSize(container.children[i]);\n }\n }\n /**\n * Updates the layout of the container and its children\n * @param container - The container to update the layout for\n */\n updateLayout(container) {\n var _a, _b, _c, _d;\n const layout = container._layout;\n if (!container.visible) {\n return;\n }\n if (layout) {\n const yogaNode = layout.yoga;\n const layoutStyles = layout.style;\n const isOverflowContainer = (_a = container.parent) == null ? void 0 : _a.isOverflowContainer;\n const hasParentLayout = (_b = container.parent) == null ? void 0 : _b._layout;\n if (!hasParentLayout && !isOverflowContainer) {\n if (layout._isDirty) {\n layout._isDirty = false;\n yogaNode.calculateLayout(\n layoutStyles.width,\n // TODO: if this is not a number, it will not work\n layoutStyles.height,\n yogaNode.getDirection() ?? Direction.LTR\n );\n }\n }\n if (yogaNode.hasNewLayout() || layout._forceUpdate) {\n yogaNode.markLayoutSeen();\n layout._forceUpdate = false;\n layout._computedLayout = yogaNode.getComputedLayout();\n const res = calculatePositionSpecifier(layoutStyles.transformOrigin, layout._computedLayout, {\n width: 0,\n height: 0\n });\n layout._computedPixiLayout = {\n ...container.computeLayoutData(layout._computedLayout),\n originX: res.x,\n originY: res.y\n };\n container.emit(\"layout\", layout);\n (_c = container.onLayout) == null ? void 0 : _c.call(container, layout);\n container._onUpdate();\n }\n if (this._debugEnabled) {\n if (layout._styles.custom.debug || layout._modificationCount > this._modificationCount && layout._styles.custom.debugHeat !== false) {\n (_d = this._debugRenderer) == null ? void 0 : _d.render(layout);\n }\n }\n }\n for (let i = 0; i < container.children.length; i++) {\n this.updateLayout(container.children[i]);\n }\n }\n /**\n * @ignore\n */\n destroy() {\n if (!this._debugEnabled && this._debugRenderer) {\n this._debugRenderer.destroy();\n }\n }\n}\n/** @ignore */\n__publicField(LayoutSystem, \"extension\", {\n type: [ExtensionType.WebGLSystem, ExtensionType.WebGPUSystem],\n name: \"layout\"\n});\nexport {\n LayoutSystem\n};\n//# sourceMappingURL=LayoutSystem.mjs.map\n","import { Align, BoxSizing, Direction, Display, FlexDirection, Wrap, Justify, Overflow, PositionType, Edge, Gutter } from \"yoga-layout/load\";\nconst ALIGN_CONTENT_MAP = {\n \"flex-start\": Align.FlexStart,\n \"flex-end\": Align.FlexEnd,\n center: Align.Center,\n stretch: Align.Stretch,\n \"space-between\": Align.SpaceBetween,\n \"space-around\": Align.SpaceAround,\n \"space-evenly\": Align.SpaceEvenly\n};\nconst ALIGN_ITEMS_MAP = {\n \"flex-start\": Align.FlexStart,\n \"flex-end\": Align.FlexEnd,\n center: Align.Center,\n stretch: Align.Stretch,\n baseline: Align.Baseline\n};\nconst ALIGN_SELF_MAP = {\n auto: Align.Auto,\n \"flex-start\": Align.FlexStart,\n \"flex-end\": Align.FlexEnd,\n center: Align.Center,\n stretch: Align.Stretch,\n baseline: Align.Baseline\n};\nconst BOX_SIZING_MAP = {\n \"border-box\": BoxSizing.BorderBox,\n \"content-box\": BoxSizing.ContentBox\n};\nconst DIRECTION_MAP = {\n ltr: Direction.LTR,\n rtl: Direction.RTL\n};\nconst DISPLAY_MAP = {\n none: Display.None,\n flex: Display.Flex,\n contents: Display.Contents\n};\nconst FLEX_DIRECTION_MAP = {\n row: FlexDirection.Row,\n column: FlexDirection.Column,\n \"row-reverse\": FlexDirection.RowReverse,\n \"column-reverse\": FlexDirection.ColumnReverse\n};\nconst FLEX_WRAP_MAP = {\n wrap: Wrap.Wrap,\n nowrap: Wrap.NoWrap,\n \"wrap-reverse\": Wrap.WrapReverse\n};\nconst JUSTIFY_CONTENT_MAP = {\n \"flex-start\": Justify.FlexStart,\n \"flex-end\": Justify.FlexEnd,\n center: Justify.Center,\n \"space-between\": Justify.SpaceBetween,\n \"space-around\": Justify.SpaceAround,\n \"space-evenly\": Justify.SpaceEvenly\n};\nconst OVERFLOW_MAP = {\n visible: Overflow.Visible,\n hidden: Overflow.Hidden,\n scroll: Overflow.Scroll\n};\nconst POSITION_MAP = {\n absolute: PositionType.Absolute,\n relative: PositionType.Relative,\n static: PositionType.Static\n};\nconst styleSetters = {\n alignContent: (node, value) => node.setAlignContent(alignContent(value)),\n alignItems: (node, value) => node.setAlignItems(alignItems(value)),\n alignSelf: (node, value) => node.setAlignSelf(alignSelf(value)),\n aspectRatio: (node, value) => node.setAspectRatio(value),\n borderBottomWidth: (node, value) => node.setBorder(Edge.Bottom, value),\n borderEndWidth: (node, value) => node.setBorder(Edge.End, value),\n borderLeftWidth: (node, value) => node.setBorder(Edge.Left, value),\n borderRightWidth: (node, value) => node.setBorder(Edge.Right, value),\n borderStartWidth: (node, value) => node.setBorder(Edge.Start, value),\n borderTopWidth: (node, value) => node.setBorder(Edge.Top, value),\n borderWidth: (node, value) => node.setBorder(Edge.All, value),\n borderInlineWidth: (node, value) => node.setBorder(Edge.Horizontal, value),\n borderBlockWidth: (node, value) => node.setBorder(Edge.Vertical, value),\n bottom: (node, value) => node.setPosition(Edge.Bottom, value),\n boxSizing: (node, value) => node.setBoxSizing(boxSizing(value)),\n direction: (node, value) => node.setDirection(direction(value)),\n display: (node, value) => node.setDisplay(display(value)),\n end: (node, value) => node.setPosition(Edge.End, value),\n flex: (node, value) => node.setFlex(value),\n flexBasis: (node, value) => node.setFlexBasis(value),\n flexDirection: (node, value) => node.setFlexDirection(flexDirection(value)),\n rowGap: (node, value) => node.setGap(Gutter.Row, value),\n gap: (node, value) => node.setGap(Gutter.All, value),\n columnGap: (node, value) => node.setGap(Gutter.Column, value),\n flexGrow: (node, value) => node.setFlexGrow(value),\n flexShrink: (node, value) => node.setFlexShrink(value),\n flexWrap: (node, value) => node.setFlexWrap(flexWrap(value)),\n height: (node, value) => node.setHeight(value),\n justifyContent: (node, value) => node.setJustifyContent(justifyContent(value)),\n left: (node, value) => node.setPosition(Edge.Left, value),\n margin: (node, value) => node.setMargin(Edge.All, value),\n marginBottom: (node, value) => node.setMargin(Edge.Bottom, value),\n marginEnd: (node, value) => node.setMargin(Edge.End, value),\n marginLeft: (node, value) => node.setMargin(Edge.Left, value),\n marginRight: (node, value) => node.setMargin(Edge.Right, value),\n marginStart: (node, value) => node.setMargin(Edge.Start, value),\n marginTop: (node, value) => node.setMargin(Edge.Top, value),\n marginInline: (node, value) => node.setMargin(Edge.Horizontal, value),\n marginBlock: (node, value) => node.setMargin(Edge.Vertical, value),\n maxHeight: (node, value) => node.setMaxHeight(value),\n maxWidth: (node, value) => node.setMaxWidth(value),\n minHeight: (node, value) => node.setMinHeight(value),\n minWidth: (node, value) => node.setMinWidth(value),\n overflow: (node, value) => node.setOverflow(overflow(value)),\n padding: (node, value) => node.setPadding(Edge.All, value),\n paddingBottom: (node, value) => node.setPadding(Edge.Bottom, value),\n paddingEnd: (node, value) => node.setPadding(Edge.End, value),\n paddingLeft: (node, value) => node.setPadding(Edge.Left, value),\n paddingRight: (node, value) => node.setPadding(Edge.Right, value),\n paddingStart: (node, value) => node.setPadding(Edge.Start, value),\n paddingTop: (node, value) => node.setPadding(Edge.Top, value),\n paddingInline: (node, value) => node.setPadding(Edge.Horizontal, value),\n paddingBlock: (node, value) => node.setPadding(Edge.Vertical, value),\n position: (node, value) => node.setPositionType(position(value)),\n right: (node, value) => node.setPosition(Edge.Right, value),\n start: (node, value) => node.setPosition(Edge.Start, value),\n top: (node, value) => node.setPosition(Edge.Top, value),\n insetInline: (node, value) => node.setPosition(Edge.Horizontal, value),\n insetBlock: (node, value) => node.setPosition(Edge.Vertical, value),\n inset: (node, value) => node.setPosition(Edge.All, value),\n width: (node, value) => node.setWidth(value)\n};\nfunction alignContent(str) {\n if (str in ALIGN_CONTENT_MAP) return ALIGN_CONTENT_MAP[str];\n throw new Error(`\"${str}\" is not a valid value for alignContent`);\n}\nfunction alignItems(str) {\n if (str in ALIGN_ITEMS_MAP) return ALIGN_ITEMS_MAP[str];\n throw new Error(`\"${str}\" is not a valid value for alignItems`);\n}\nfunction alignSelf(str) {\n if (str in ALIGN_SELF_MAP) return ALIGN_SELF_MAP[str];\n throw new Error(`\"${str}\" is not a valid value for alignSelf`);\n}\nfunction boxSizing(str) {\n if (str in BOX_SIZING_MAP) return BOX_SIZING_MAP[str];\n throw new Error(`\"${str}\" is not a valid value for boxSizing`);\n}\nfunction direction(str) {\n if (str in DIRECTION_MAP) return DIRECTION_MAP[str];\n throw new Error(`\"${str}\" is not a valid value for direction`);\n}\nfunction display(str) {\n if (str in DISPLAY_MAP) return DISPLAY_MAP[str];\n throw new Error(`\"${str}\" is not a valid value for display`);\n}\nfunction flexDirection(str) {\n if (str in FLEX_DIRECTION_MAP) return FLEX_DIRECTION_MAP[str];\n throw new Error(`\"${str}\" is not a valid value for flexDirection`);\n}\nfunction flexWrap(str) {\n if (str in FLEX_WRAP_MAP) return FLEX_WRAP_MAP[str];\n throw new Error(`\"${str}\" is not a valid value for flexWrap`);\n}\nfunction justifyContent(str) {\n if (str in JUSTIFY_CONTENT_MAP) return JUSTIFY_CONTENT_MAP[str];\n throw new Error(`\"${str}\" is not a valid value for justifyContent`);\n}\nfunction overflow(str) {\n if (str in OVERFLOW_MAP) return OVERFLOW_MAP[str];\n throw new Error(`\"${str}\" is not a valid value for overflow`);\n}\nfunction position(str) {\n if (str in POSITION_MAP) return POSITION_MAP[str];\n throw new Error(`\"${str}\" is not a valid value for position`);\n}\nfunction applyStyle(node, style = {}) {\n for (const [key, value] of Object.entries(style)) {\n try {\n const setter = styleSetters[key];\n if (setter) {\n setter(node, value);\n }\n } catch (_e) {\n }\n }\n if (style.width !== void 0) {\n const widthValue = style.left !== void 0 && style.right !== void 0 ? \"auto\" : style.width;\n node.setWidth(widthValue);\n }\n if (style.height !== void 0) {\n const heightValue = style.top !== void 0 && style.bottom !== void 0 ? \"auto\" : style.height;\n node.setHeight(heightValue);\n }\n}\nexport {\n applyStyle\n};\n//# sourceMappingURL=applyStyle.mjs.map\n","import { ViewContainer } from \"pixi.js\";\nimport { Layout } from \"../Layout.mjs\";\nimport { getPixiSize } from \"../utils/getPixiSize.mjs\";\nfunction formatStyles(layout, style) {\n const currentStyles = layout._styles;\n let customStyles = { ...currentStyles.custom, ...style };\n const defaultStyle = {\n ...Layout.defaultStyle.shared,\n ...layout.target instanceof ViewContainer || customStyles.isLeaf || Layout.defaultStyle.shared.isLeaf ? Layout.defaultStyle.leaf : Layout.defaultStyle.container\n };\n customStyles = { ...defaultStyle, ...customStyles };\n const yogaStyles = { ...customStyles };\n const widthIntrinsic = customStyles.width === \"intrinsic\";\n const heightIntrinsic = customStyles.height === \"intrinsic\";\n if (widthIntrinsic || heightIntrinsic) {\n const { width, height } = getPixiSize(layout);\n if (widthIntrinsic) {\n yogaStyles.width = width;\n }\n if (heightIntrinsic) {\n yogaStyles.height = height;\n }\n }\n return { custom: customStyles, yoga: yogaStyles };\n}\nexport {\n formatStyles\n};\n//# sourceMappingURL=formatStyles.mjs.map\n","function onChildAdded(layout, pixiParent) {\n var _a;\n let parentLayout = pixiParent.layout;\n let overflowContainer;\n if (!parentLayout && pixiParent.isOverflowContainer) {\n overflowContainer = pixiParent;\n parentLayout = (_a = overflowContainer.parent) == null ? void 0 : _a.layout;\n pixiParent = overflowContainer.parent;\n }\n if (!parentLayout) {\n return false;\n }\n const yogaParent = layout.yoga.getParent();\n if (yogaParent) {\n yogaParent.removeChild(layout.yoga);\n }\n const yogaIndex = computeYogaInsertionIndex(layout, pixiParent, overflowContainer);\n if (yogaIndex === -1) {\n return false;\n }\n if (yogaIndex === parentLayout.yoga.getChildCount()) {\n parentLayout.yoga.insertChild(layout.yoga, yogaIndex);\n return true;\n }\n parentLayout.yoga.insertChild(layout.yoga, yogaIndex);\n return true;\n}\nfunction computeYogaInsertionIndex(layout, parent, overflow) {\n const target = layout.target;\n let index = 0;\n if (overflow) {\n for (const child of parent.children) {\n if (child === overflow) {\n for (const inner of overflow.children) {\n if (!inner.layout || !inner.visible) continue;\n if (inner === target) return index;\n index++;\n }\n return -1;\n }\n if (child.layout && child.visible) {\n index++;\n }\n }\n return -1;\n }\n for (const child of parent.children) {\n if (!child.layout || !child.visible) continue;\n if (child === target) return index;\n index++;\n }\n return -1;\n}\nfunction onChildRemoved(layout) {\n const yogaParent = layout.yoga.getParent();\n if (yogaParent) {\n yogaParent.removeChild(layout.yoga);\n }\n}\nexport {\n onChildAdded,\n onChildRemoved\n};\n//# sourceMappingURL=sort-children.mjs.map\n","var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nimport { getYoga, getYogaConfig } from \"../yoga.mjs\";\nimport { applyStyle } from \"./style/applyStyle.mjs\";\nimport { formatStyles } from \"./style/formatStyles.mjs\";\nimport { onChildAdded, onChildRemoved } from \"./utils/sort-children.mjs\";\nclass Layout {\n constructor({ target }) {\n /** The Yoga node instance for this layout */\n __publicField(this, \"yoga\");\n /** The target PixiJS container */\n __publicField(this, \"target\");\n /**\n * Whether this object has been destroyed. If true, the object should no longer be used.\n * After an object is destroyed, all of its functionality is disabled and references are removed.\n */\n __publicField(this, \"destroyed\", false);\n /**\n * Flag indicating if layout needs recalculation\n * @ignore\n */\n __publicField(this, \"_isDirty\", false);\n /**\n * The computed pixi layout that is applied to the target container in the updateLocalTransform step\n * @ignore\n */\n __publicField(this, \"_computedPixiLayout\", {\n /** The left value of the view */\n x: 0,\n /** The top value of the view */\n y: 0,\n /** The offset x value of the view within its box */\n offsetX: 0,\n /** The offset y value of the view within its box */\n offsetY: 0,\n /** The scale x value of the view within its box */\n scaleX: 1,\n /** The scale y value of the view within its box */\n scaleY: 1,\n /** The x origin of the view */\n originX: 0,\n /** The y origin of the view */\n originY: 0\n });\n /**\n * The computed bounds of the yoga node\n * @ignore\n */\n __publicField(this, \"_computedLayout\", {\n /** The left value of the view */\n left: 0,\n /** The right value of the view */\n right: 0,\n /** The top value of the view */\n top: 0,\n /** The bottom value of the view */\n bottom: 0,\n /** The width of the view */\n width: 0,\n /** The height of the view */\n height: 0\n });\n /**\n * The styles used for layout calculation\n * @ignore\n */\n __publicField(this, \"_styles\", {\n custom: {},\n yoga: {}\n });\n /**\n * The number of times the layout has been modified\n * @ignore\n */\n __publicField(this, \"_modificationCount\", 0);\n /**\n * Flag indicating if the layout should be recalculated even if it hasn't changed the yoga node.\n * This is used to force an update when certain style properties change such as `objectFit`.\n * @ignore\n */\n __publicField(this, \"_forceUpdate\", false);\n /**\n * Flag indicating if the layout has a parent node\n */\n __publicField(this, \"hasParent\", false);\n /**\n * The keys to track for changes to force an update\n * @ignore\n */\n __publicField(this, \"_trackedStyleKeys\", [\n \"borderRadius\",\n \"borderColor\",\n \"backgroundColor\",\n \"objectFit\",\n \"objectPosition\",\n \"transformOrigin\",\n \"isLeaf\"\n ]);\n this.target = target;\n this.yoga = getYoga().Node.create(getYogaConfig());\n target.on(\"added\", this._onChildAdded, this);\n target.on(\"removed\", this._onChildRemoved, this);\n target.on(\"destroyed\", this.destroy, this);\n }\n /** Returns the layout style */\n get style() {\n return this._styles.custom;\n }\n /** Returns the computed layout of the yoga node */\n get computedLayout() {\n return this._computedLayout;\n }\n /** Returns the computed layout of the pixi node */\n get computedPixiLayout() {\n return this._computedPixiLayout;\n }\n /**\n * Returns the true x position of the target.\n *\n * When an element is in layout, the x/y position is an offset from where it is laid out.\n * This is the true x position of the element in the parent container.\n */\n get realX() {\n return this.target.localTransform.tx;\n }\n /**\n * Returns the true y position of the target.\n *\n * When an element is in layout, the x/y position is an offset from where it is laid out.\n * This is the true y position of the element in the parent container.\n */\n get realY() {\n return this.target.localTransform.ty;\n }\n /**\n * Returns the true x scale of the target.\n *\n * When an element is in layout, the scale is an offset from 1.\n * This is the true x scale of the element.\n */\n get realScaleX() {\n return this.target.localTransform.a;\n }\n /**\n * Returns the true y scale of the target.\n *\n * When an element is in layout, the scale is an offset from 1.\n * This is the true y scale of the element.\n */\n get realScaleY() {\n return this.target.localTransform.d;\n }\n /**\n * Updates the layout style and triggers recalculation\n * @param style - New layout style to apply\n */\n setStyle(style) {\n const styles = formatStyles(this, style);\n const differentCustom = JSON.stringify(this._styles.custom) !== JSON.stringify(styles.custom);\n const differentYoga = JSON.stringify(this._styles.yoga) !== JSON.stringify(styles.yoga);\n const different = differentCustom || differentYoga;\n const hasTrackedChanges = this._trackedStyleKeys.some((key) => styles.custom[key] !== this._styles.custom[key]);\n this._styles = styles;\n if (hasTrackedChanges) {\n this._forceUpdate = true;\n }\n if (different) {\n applyStyle(this.yoga, this._styles.yoga);\n this.target._onUpdate();\n this.invalidateRoot();\n }\n }\n /**\n * Marks the root layout as needing recalculation\n * @param start - Optional container to start searching for the root from\n */\n invalidateRoot(start) {\n const root = this.getRoot(start);\n if (root.destroyed) return;\n root._layout._isDirty = true;\n root._onUpdate();\n this._modificationCount++;\n }\n /**\n * Forces an update of the layout even if it hasn't changed the yoga node.\n * This is used to force an update when certain style properties change such as `objectFit`.\n * Or when you have changed something inside of Pixi that is not tracked by the layout system.\n */\n forceUpdate() {\n this._forceUpdate = true;\n }\n /**\n * Finds the root container by traversing up the layout tree\n * @param start - Optional container to start searching for the root from\n * @returns The root container\n */\n getRoot(start) {\n var _a, _b;\n let root = start || this.target;\n while (((_a = root.parent) == null ? void 0 : _a._layout) || ((_b = root.parent) == null ? void 0 : _b.isOverflowContainer)) {\n root = root.parent;\n if (root.isOverflowContainer) {\n root = root.parent;\n }\n }\n return root;\n }\n /**\n * @ignore\n */\n _onChildAdded(pixiParent) {\n if (this.hasParent) return;\n if (onChildAdded(this, pixiParent) === false) {\n return;\n }\n this.hasParent = true;\n this.invalidateRoot();\n }\n /**\n * @ignore\n */\n _onChildRemoved(parent) {\n if (!this.hasParent) return;\n this.hasParent = false;\n this.invalidateRoot(parent);\n onChildRemoved(this);\n }\n destroy() {\n if (this.destroyed) return;\n this.destroyed = true;\n this.invalidateRoot();\n this.yoga.free();\n this.target.off(\"added\", this._onChildAdded, this);\n this.target.off(\"removed\", this._onChildRemoved, this);\n this._styles = null;\n this._computedPixiLayout = null;\n this._computedLayout = null;\n this.target = null;\n this.hasParent = false;\n }\n}\n/** Default style values to apply to the layout */\n__publicField(Layout, \"defaultStyle\", {\n leaf: {\n width: \"intrinsic\",\n height: \"intrinsic\"\n },\n container: {\n width: \"auto\",\n height: \"auto\"\n },\n shared: {\n transformOrigin: \"50%\",\n objectPosition: \"center\",\n flexShrink: 1,\n flexDirection: \"row\",\n alignContent: \"stretch\",\n flexWrap: \"nowrap\",\n overflow: \"visible\"\n }\n});\nexport {\n Layout\n};\n//# sourceMappingURL=Layout.mjs.map\n","function calculateObjectFit(value, computedLayout, bounds) {\n let offsetScaleX = 1;\n let offsetScaleY = 1;\n switch (value) {\n case \"fill\":\n offsetScaleX = computedLayout.width / bounds.width;\n offsetScaleY = computedLayout.height / bounds.height;\n break;\n case \"contain\": {\n const scaleContain = Math.min(computedLayout.width / bounds.width, computedLayout.height / bounds.height);\n offsetScaleX = scaleContain;\n offsetScaleY = scaleContain;\n break;\n }\n case \"cover\": {\n const scaleCover = Math.max(computedLayout.width / bounds.width, computedLayout.height / bounds.height);\n offsetScaleX = scaleCover;\n offsetScaleY = scaleCover;\n break;\n }\n case \"none\":\n offsetScaleX = 1;\n offsetScaleY = 1;\n break;\n case \"scale-down\": {\n const scaleDown = Math.min(1, computedLayout.width / bounds.width, computedLayout.height / bounds.height);\n offsetScaleX = scaleDown;\n offsetScaleY = scaleDown;\n break;\n }\n }\n return {\n offsetScaleX,\n offsetScaleY\n };\n}\nexport {\n calculateObjectFit\n};\n//# sourceMappingURL=calculateObjectFit.mjs.map\n","import { TilingSprite as TilingSprite$1, NineSliceSprite as NineSliceSprite$1 } from \"pixi.js\";\nimport { calculateObjectFit } from \"./calculateObjectFit.mjs\";\nimport { calculatePositionSpecifier } from \"./calculatePositionSpecifier.mjs\";\nfunction baseComputeLayoutData(container, computedLayout, defaultObjectFit, anchor) {\n const bounds = container.getLocalBounds();\n const objectFit = container.layout.style.objectFit || defaultObjectFit;\n let { offsetScaleX, offsetScaleY } = calculateObjectFit(objectFit, computedLayout, bounds);\n const scaledBounds = {\n width: bounds.width * offsetScaleX,\n height: bounds.height * offsetScaleY\n };\n let { x: offsetX, y: offsetY } = calculatePositionSpecifier(\n container.layout.style.objectPosition,\n computedLayout,\n scaledBounds\n );\n if (anchor) {\n offsetX += bounds.width * offsetScaleX * anchor._x;\n offsetY += bounds.height * offsetScaleY * anchor._y;\n } else {\n offsetX -= bounds.minX * offsetScaleX;\n offsetY -= bounds.minY * offsetScaleY;\n }\n const applySizeDirectly = container.layout.style.applySizeDirectly;\n if (applySizeDirectly === true || // eslint-disable-next-line eqeqeq\n applySizeDirectly == void 0 && (container instanceof TilingSprite$1 || container instanceof NineSliceSprite$1)) {\n container.width = bounds.width * offsetScaleX;\n container.height = bounds.height * offsetScaleY;\n offsetScaleX = 1;\n offsetScaleY = 1;\n }\n return {\n x: computedLayout.left,\n y: computedLayout.top,\n offsetX,\n offsetY,\n scaleX: offsetScaleX,\n scaleY: offsetScaleY\n };\n}\nexport {\n baseComputeLayoutData\n};\n//# sourceMappingURL=baseComputeLayoutData.mjs.map\n","import { Container, extensions } from \"pixi.js\";\nimport { Layout } from \"../Layout.mjs\";\nimport { baseComputeLayoutData } from \"./utils/baseComputeLayoutData.mjs\";\nconst visibility = Object.getOwnPropertyDescriptor(Container.prototype, \"visible\");\nconst mixin = {\n // Internal reference to the layout object\n _layout: null,\n /**\n * Gets the current layout associated with this container\n * @returns The container's layout or null if no layout is attached\n */\n get layout() {\n return this._layout ?? null;\n },\n /**\n * Sets the layout for this container\n * @param value - Layout options to apply, or null to remove layout\n */\n set layout(value) {\n value = value === true ? {} : value;\n if (!value) {\n if (this._layout) {\n this._layout.destroy();\n this._layout = null;\n this.updateLocalTransform = Container.prototype.updateLocalTransform;\n Object.defineProperty(Container.prototype, \"visible\", visibility);\n }\n return;\n }\n if (!this._layout) {\n this._layout = new Layout({ target: this });\n Object.defineProperty(Container.prototype, \"visible\", {\n ...visibility,\n set(visibleValue) {\n visibility.set.call(this, visibleValue);\n if (this.layout) {\n if (visibleValue && this.parent) {\n this.layout._onChildAdded(this.parent);\n } else {\n this.layout._onChildRemoved();\n }\n }\n }\n });\n for (const child of this.children) {\n if (child.layout && child.visible) {\n child.layout._onChildRemoved();\n child.layout._onChildAdded(this);\n }\n }\n if (this.parent && this.visible) {\n this._layout._onChildAdded(this.parent);\n }\n }\n this._layout.setStyle(value);\n this.updateLocalTransform = this.updateLocalTransformWithLayout;\n this._onUpdate();\n },\n /**\n * This function overrides how we calculate the local transform of the container.\n * For the layout, we need to not only calculate the transform matrix, but also\n * take into account the yoga layout's position and scale.\n */\n updateLocalTransformWithLayout() {\n const localTransformChangeId = this._didContainerChangeTick;\n if (this._didLocalTransformChangeId === localTransformChangeId) return;\n this._didLocalTransformChangeId = localTransformChangeId;\n const layout = this._layout;\n const { x, y, offsetX, offsetY, scaleX, scaleY, originX, originY } = layout._computedPixiLayout;\n const lt = this.localTransform;\n const { rotation, skew, scale, position } = this;\n const xRotY = rotation + skew._y;\n const xRotX = rotation - skew._x;\n const a = Math.cos(xRotY) * scale._x;\n const b = Math.sin(xRotY) * scale._x;\n const c = -Math.sin(xRotX) * scale._y;\n const d = Math.cos(xRotX) * scale._y;\n const tx = position._x + x - originX * a - originY * c;\n const ty = position._y + y - originX * b - originY * d;\n lt.a = a * scaleX;\n lt.b = b * scaleX;\n lt.c = c * scaleY;\n lt.d = d * scaleY;\n lt.tx = tx + (offsetX * a + offsetY * c) + originX;\n lt.ty = ty + (offsetX * b + offsetY * d) + originY;\n },\n /**\n * Apply the computed layout to the container\n * Converts Yoga layout information into PixiJS positioning\n * @param computedLayout - Layout data from Yoga engine\n * @returns Transformed position and scale data for this container\n * @memberof scene.Container#\n */\n computeLayoutData(computedLayout) {\n const layout = this._layout;\n const { isLeaf } = layout._styles.custom;\n if (isLeaf) {\n return baseComputeLayoutData(this, computedLayout, \"fill\");\n }\n return {\n x: computedLayout.left,\n y: computedLayout.top,\n offsetX: 0,\n offsetY: 0,\n scaleX: 1,\n scaleY: 1\n };\n }\n};\nextensions.mixin(Container, mixin);\n//# sourceMappingURL=ContainerMixin.mjs.map\n","import { Point, extensions, AbstractText } from \"pixi.js\";\nimport { calculateObjectFit } from \"./utils/calculateObjectFit.mjs\";\nimport { calculatePositionSpecifier } from \"./utils/calculatePositionSpecifier.mjs\";\nconst tempScale = new Point(0, 0);\nconst mixin = {\n /**\n * Computes the layout data for the text element\n * @param computedLayout - The computed layout from Yoga\n * @returns The layout data for the text element\n */\n computeLayoutData(computedLayout) {\n const style = this._style;\n tempScale.copyFrom(this.scale);\n this.scale = 1;\n if (style.wordWrap) {\n style.wordWrapWidth = computedLayout.width;\n }\n let bounds = this.getLocalBounds();\n const objectFit = this.layout.style.objectFit || \"scale-down\";\n const { offsetScaleX, offsetScaleY } = calculateObjectFit(objectFit, computedLayout, bounds);\n if (style.wordWrap) {\n style.wordWrapWidth = computedLayout.width / Math.min(1, Math.max(offsetScaleX, offsetScaleY));\n }\n bounds = this.getLocalBounds();\n const scaledBounds = {\n width: bounds.width * offsetScaleX,\n height: bounds.height * offsetScaleY\n };\n let { x: offsetX, y: offsetY } = calculatePositionSpecifier(\n this.layout.style.objectPosition,\n computedLayout,\n scaledBounds\n );\n offsetX += bounds.width * offsetScaleX * this.anchor._x;\n offsetY += bounds.height * offsetScaleY * this.anchor._y;\n const applySizeDirectly = this.layout.style.applySizeDirectly;\n if (applySizeDirectly === true) {\n this.width = bounds.width * offsetScaleX;\n this.height = bounds.height * offsetScaleY;\n }\n this.scale.copyFrom(tempScale);\n return {\n x: computedLayout.left,\n y: computedLayout.top,\n offsetX,\n offsetY,\n scaleX: offsetScaleX,\n scaleY: offsetScaleY\n };\n }\n};\nextensions.mixin(AbstractText, mixin);\nconst text = Object.getOwnPropertyDescriptor(AbstractText.prototype, \"text\");\nObject.defineProperty(AbstractText.prototype, \"text\", {\n ...text,\n set(textString) {\n var _a;\n const currentText = text.get.call(this);\n text.set.call(this, textString);\n if (currentText === textString) return;\n (_a = this.layout) == null ? void 0 : _a.forceUpdate();\n }\n});\n//# sourceMappingURL=TextMixin.mjs.map\n","import { extensions, ViewContainer } from \"pixi.js\";\nimport { baseComputeLayoutData } from \"./utils/baseComputeLayoutData.mjs\";\nconst mixin = {\n /**\n * Computes the layout data for the container\n * @param computedLayout - The computed layout from Yoga\n * @returns The layout data for the container\n */\n computeLayoutData(computedLayout) {\n return baseComputeLayoutData(this, computedLayout, \"fill\", this._anchor);\n }\n};\nextensions.mixin(ViewContainer, mixin);\n//# sourceMappingURL=ViewContainerMixin.mjs.map\n","import { Bounds, Rectangle } from \"pixi.js\";\nimport { Edge, FlexDirection } from \"yoga-layout/load\";\nvar DebugRegionType = /* @__PURE__ */ ((DebugRegionType2) => {\n DebugRegionType2[\"Margin\"] = \"margin\";\n DebugRegionType2[\"Padding\"] = \"padding\";\n DebugRegionType2[\"Border\"] = \"border\";\n DebugRegionType2[\"Flex\"] = \"flex\";\n DebugRegionType2[\"Content\"] = \"content\";\n return DebugRegionType2;\n})(DebugRegionType || {});\nfunction getEdgeValues(layout, type) {\n const method = `getComputed${type.charAt(0).toUpperCase() + type.slice(1)}`;\n return {\n top: layout.yoga[method](Edge.Top),\n right: layout.yoga[method](Edge.Right),\n bottom: layout.yoga[method](Edge.Bottom),\n left: layout.yoga[method](Edge.Left)\n };\n}\nfunction calculateRegions(layout, regions) {\n const { width, height } = layout.computedLayout;\n const margin = getEdgeValues(layout, \"margin\");\n const border = getEdgeValues(layout, \"border\");\n const padding = getEdgeValues(layout, \"padding\");\n const marginRegion = regions.get(\n \"margin\"\n /* Margin */\n );\n marginRegion.outer.x = -margin.left;\n marginRegion.outer.y = -margin.top;\n marginRegion.outer.width = width + margin.left + margin.right;\n marginRegion.outer.height = height + margin.top + margin.bottom;\n marginRegion.inner.x = 0;\n marginRegion.inner.y = 0;\n marginRegion.inner.width = width;\n marginRegion.inner.height = height;\n const borderRegion = regions.get(\n \"border\"\n /* Border */\n );\n borderRegion.outer.x = 0;\n borderRegion.outer.y = 0;\n borderRegion.outer.width = width;\n borderRegion.outer.height = height;\n borderRegion.inner.x = border.left;\n borderRegion.inner.y = border.top;\n borderRegion.inner.width = width - border.left - border.right;\n borderRegion.inner.height = height - border.top - border.bottom;\n const paddingRegion = regions.get(\n \"padding\"\n /* Padding */\n );\n paddingRegion.outer.copyFrom(borderRegion.inner);\n paddingRegion.inner.x = padding.left + border.left;\n paddingRegion.inner.y = padding.top + border.top;\n paddingRegion.inner.width = width - padding.left - padding.right - border.left - border.right;\n paddingRegion.inner.height = height - padding.top - padding.bottom - border.top - border.bottom;\n calculateFlexRegion(layout, regions);\n}\nfunction calculateFlexRegion(layout, regions) {\n var _a;\n const flexRegion = regions.get(\n \"flex\"\n /* Flex */\n );\n const paddingRegion = regions.get(\n \"padding\"\n /* Padding */\n );\n flexRegion.outer.copyFrom(paddingRegion.inner);\n const bounds = new Bounds();\n const children = layout.yoga.getChildCount();\n for (let i = 0; i < children; i++) {\n const child = layout.yoga.getChild(i);\n const computedBounds = child.getComputedLayout();\n bounds.addRect(\n new Rectangle(computedBounds.left, computedBounds.top, computedBounds.width, computedBounds.height)\n );\n }\n const flexDir = layout.yoga.getFlexDirection();\n if (flexDir === FlexDirection.Column || flexDir === FlexDirection.ColumnReverse) {\n bounds.width = flexRegion.outer.width;\n bounds.x = flexRegion.outer.x;\n } else {\n bounds.height = flexRegion.outer.height;\n bounds.y = flexRegion.outer.y;\n }\n (_a = flexRegion.inner) == null ? void 0 : _a.copyFrom(bounds.rectangle);\n regions.get(\n \"content\"\n /* Content */\n ).outer.copyFrom(bounds.rectangle);\n}\nexport {\n DebugRegionType,\n calculateRegions\n};\n//# sourceMappingURL=calculateDebugRegions.mjs.map\n","var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nimport { Container, Graphics as Graphics$1 } from \"pixi.js\";\nimport { DebugRegionType } from \"./calculateDebugRegions.mjs\";\nfunction lerpColor(start, end, t) {\n const r = Math.round(start[0] + (end[0] - start[0]) * t);\n const g = Math.round(start[1] + (end[1] - start[1]) * t);\n const b = Math.round(start[2] + (end[2] - start[2]) * t);\n return `rgb(${r},${g},${b})`;\n}\nclass DebugNode extends Container {\n constructor() {\n super();\n /** Graphics objects for each region type */\n __publicField(this, \"graphics\");\n __publicField(this, \"heatGraphics\");\n this.graphics = /* @__PURE__ */ new Map();\n Object.values(DebugRegionType).forEach((type) => {\n const graphics = new Graphics$1();\n this.graphics.set(type, graphics);\n this.addChild(graphics);\n });\n this.heatGraphics = new Graphics$1();\n this.addChild(this.heatGraphics);\n }\n /**\n * Initialize the debug object with region data\n */\n init(regions) {\n const { target, alpha, heat } = regions;\n if (!regions.heatOnly) {\n Object.entries(regions).forEach(([type, region]) => {\n if (type === \"target\" || type === \"alpha\" || type === \"heat\" || type === \"heatOnly\") return;\n region = region;\n const graphics = this.graphics.get(type);\n if (!graphics || !region.draw) return;\n if (region.inner) {\n this.drawCutBox(graphics, region.outer, region.inner, region.color, alpha);\n } else {\n const { x, y, width, height } = region.outer;\n graphics.rect(x, y, width, Math.max(height, 1));\n graphics.fill({ color: region.color, alpha });\n }\n });\n }\n const { invalidationCount, draw } = heat;\n if (invalidationCount > 0 && draw) {\n const MAX_INVALIDATE_COUNT = 20;\n const normalizedAlpha = Math.min(invalidationCount / MAX_INVALIDATE_COUNT, 1);\n const marginRegion = regions[DebugRegionType.Margin];\n const startColor = [255, 255, 0];\n const endColor = [255, 0, 0];\n const color = lerpColor(startColor, endColor, normalizedAlpha);\n this.heatGraphics.rect(\n marginRegion.outer.x,\n marginRegion.outer.y,\n marginRegion.outer.width,\n marginRegion.outer.height\n );\n this.heatGraphics.fill({ color, alpha: Math.min(0.3, normalizedAlpha) });\n this.heatGraphics.stroke({ color, alpha: Math.max(0.3, normalizedAlpha), pixelLine: true });\n }\n this.position.set(target.x, target.y);\n }\n /**\n * Reset the debug object's state\n */\n reset() {\n this.graphics.forEach((graphics) => graphics.clear());\n this.heatGraphics.clear();\n this.removeFromParent();\n }\n /**\n * Draw a box with a cut-out center\n */\n drawCutBox(graphics, outer, inner, color, alpha) {\n const { x, y, width, height } = outer;\n const { x: innerX, y: innerY, width: innerWidth, height: innerHeight } = inner;\n graphics.rect(x, y, width, height);\n graphics.fill({ color, alpha });\n graphics.rect(innerX, innerY, innerWidth, innerHeight);\n graphics.cut();\n }\n}\nexport {\n DebugNode\n};\n//# sourceMappingURL=DebugNode.mjs.map\n","var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nimport { Container, Rectangle, BigPool } from \"pixi.js\";\nimport { DebugRegionType, calculateRegions } from \"./calculateDebugRegions.mjs\";\nimport { DebugNode } from \"./DebugNode.mjs\";\nclass DebugRenderer {\n constructor() {\n /** Container for all debug visuals */\n __publicField(this, \"holder\", new Container());\n /** Region data for each debug type */\n __publicField(this, \"regions\", /* @__PURE__ */ new Map());\n /** Color configuration for each region type */\n __publicField(this, \"colors\", {\n [DebugRegionType.Margin]: \"#B68655\",\n [DebugRegionType.Padding]: \"#BAC57F\",\n [DebugRegionType.Border]: \"#E7C583\",\n [DebugRegionType.Content]: \"#89B1BE\",\n [DebugRegionType.Flex]: \"#6E28D9\"\n });\n /** Global alpha value for all regions */\n __publicField(this, \"alpha\", 0.75);\n Object.values(DebugRegionType).forEach((type) => {\n this.regions.set(type, {\n outer: new Rectangle(),\n inner: new Rectangle()\n });\n });\n this.holder.__devtoolIgnore = true;\n this.holder.__devtoolIgnoreChildren = true;\n this.holder.eventMode = \"none\";\n this.holder.interactiveChildren = false;\n }\n /**\n * Clean up previous render state\n */\n reset() {\n for (let i = this.holder.children.length - 1; i >= 0; i--) {\n const child = this.holder.children[i];\n BigPool.return(child);\n }\n }\n /**\n * Render debug visuals for the given layout\n */\n render(layout) {\n calculateRegions(layout, this.regions);\n const regionData = Object.values(DebugRegionType).reduce(\n (acc, type) => {\n const region = this.regions.get(type);\n if (!region) return acc;\n const drawString = `debugDraw${type.charAt(0).toUpperCase()}${type.slice(1)}`;\n acc[type] = {\n ...region,\n color: this.colors[type],\n draw: layout._styles.custom[drawString] ?? true\n };\n return acc;\n },\n {}\n );\n const { left, top } = layout.computedLayout;\n const pos = layout.target.getGlobalPosition();\n const debugObject = BigPool.get(DebugNode, {\n ...regionData,\n target: { x: pos.x + left, y: pos.y + top },\n alpha: this.alpha,\n heat: {\n invalidationCount: layout._modificationCount,\n draw: layout._styles.custom.debugHeat !== false\n },\n heatOnly: !layout._styles.custom.debug\n });\n this.holder.addChildAt(debugObject, 0);\n }\n /**\n * Clean up the debug renderer\n */\n destroy() {\n this.reset();\n this.holder.destroy();\n this.regions.clear();\n }\n}\nexport {\n DebugRenderer\n};\n//# sourceMappingURL=DebugRenderer.mjs.map\n","import { extensions } from \"pixi.js\";\nimport { LayoutSystem } from \"./core/LayoutSystem.mjs\";\nimport \"./core/mixins/ContainerMixin.mjs\";\nimport \"./core/mixins/TextMixin.mjs\";\nimport \"./core/mixins/ViewContainerMixin.mjs\";\nimport { DebugRenderer } from \"./core/debug/DebugRenderer.mjs\";\nimport { Layout } from \"./core/Layout.mjs\";\nimport { applyStyle } from \"./core/style/applyStyle.mjs\";\nimport { formatStyles } from \"./core/style/formatStyles.mjs\";\nimport { getNumberFromStyle, getTypeFromStyle } from \"./core/utils/getNumberFromStyle.mjs\";\nimport { getPixiSize } from \"./core/utils/getPixiSize.mjs\";\nimport { nearlyEqual } from \"./core/utils/nearlyEqual.mjs\";\nimport { onChildAdded, onChildRemoved } from \"./core/utils/sort-children.mjs\";\nimport { getYoga, getYogaConfig, setYoga, setYogaConfig } from \"./yoga.mjs\";\nextensions.add(LayoutSystem);\nexport {\n DebugRenderer,\n Layout,\n LayoutSystem,\n applyStyle,\n formatStyles,\n getNumberFromStyle,\n getPixiSize,\n getTypeFromStyle,\n getYoga,\n getYogaConfig,\n nearlyEqual,\n onChildAdded,\n onChildRemoved,\n setYoga,\n setYogaConfig\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["loadYoga","_scriptDir","h","aa","ca","a","b","da","q","ea","v","w","x","fa","ha","z","c","d","e","f","g","ia","ja","A","C","ka","D","E","la","ma","na","oa","pa","qa","ra","sa","F","G","ua","H","va","wa","xa","ya","za","Aa","Ba","J","Ca","Da","K","L","M","Ea","Fa","Ga","N","O","Ha","P","Q","Ia","R","Ja","Ka","S","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","T","Va","Wa","Xa","U","Ya","V","k","m","W","Za","$a","X","ab","bb","cb","db","eb","fb","gb","hb","Y","ib","jb","mb","nb","ob","l","n","p","r","u","t","y","B","pb","qb","rb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","Eb","Fb","Gb","Hb","Jb","ba","I","kb","lb","Ib","Kb","Lb","Mb","Align","BoxSizing","Dimension","Direction","Display","Edge","Errata","ExperimentalFeature","FlexDirection","Gutter","Justify","LogLevel","MeasureMode","NodeType","Overflow","PositionType","Unit","Wrap","constants","wrapAssembly","lib","patch","prototype","name","fn","original","_len","args","_key","fnName","methods","_len2","_key2","value","unit","asNumber","wrapMeasureFunction","measureFunction","width","height","measureFunc","wrapDirtiedFunc","dirtiedFunction","dirtiedFunc","_","config","direction","YGEnums","loadYogaImpl","yoga","getYoga","setYoga","newYoga","yogaConfig","setYogaConfig","getYogaConfig","getNumberFromStyle","size","getTypeFromStyle","calculateCenterPosition","dimension","computedLayout","visualBounds","calculateNonKeywordPosition","valueType","multiple","calculateWithDoubleValue","tokens","first","second","firstType","secondType","result","target","calculateAxisOffset","keyword","type","bounds","isNegativeOffset","offset","calculateWithQuadValue","third","fourth","thirdType","fourthType","basePosition","secondValue","fourthValue","calculateWithSingleValue","calculatePositionSpecifier","temp","getPixiSize","layout","scale","nearlyEqual","EPSILON","debounce","func","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","useRAF","invokeFunc","time","thisArg","startTimer","pendingFunc","milliseconds","cancelTimer","id","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","cancel","flush","pending","debounced","isInvoking","throttle","__defProp","__defNormalProp","obj","key","__publicField","LayoutSystem","autoUpdate","enableDebug","throttle$1","debugModificationCount","container","res","DebugRenderer$1","layoutStyles","currentWidth","currentHeight","i","_a","_b","_c","_d","yogaNode","isOverflowContainer","ExtensionType","ALIGN_CONTENT_MAP","ALIGN_ITEMS_MAP","ALIGN_SELF_MAP","BOX_SIZING_MAP","DIRECTION_MAP","DISPLAY_MAP","FLEX_DIRECTION_MAP","FLEX_WRAP_MAP","JUSTIFY_CONTENT_MAP","OVERFLOW_MAP","POSITION_MAP","styleSetters","node","alignContent","alignItems","alignSelf","boxSizing","display","flexDirection","flexWrap","justifyContent","overflow","position","str","applyStyle","style","setter","widthValue","heightValue","formatStyles","customStyles","Layout","ViewContainer","yogaStyles","widthIntrinsic","heightIntrinsic","onChildAdded","pixiParent","parentLayout","overflowContainer","yogaParent","yogaIndex","computeYogaInsertionIndex","parent","index","child","inner","onChildRemoved","styles","differentCustom","differentYoga","different","hasTrackedChanges","start","root","calculateObjectFit","offsetScaleX","offsetScaleY","scaleContain","scaleCover","scaleDown","baseComputeLayoutData","defaultObjectFit","anchor","objectFit","scaledBounds","offsetX","offsetY","applySizeDirectly","TilingSprite$1","NineSliceSprite$1","visibility","Container","mixin","visibleValue","localTransformChangeId","scaleX","scaleY","originX","originY","lt","rotation","skew","xRotY","xRotX","tx","ty","isLeaf","extensions","tempScale","Point","AbstractText","text","textString","currentText","DebugRegionType","DebugRegionType2","getEdgeValues","method","calculateRegions","regions","margin","border","padding","marginRegion","borderRegion","paddingRegion","calculateFlexRegion","flexRegion","Bounds","children","computedBounds","Rectangle","flexDir","lerpColor","end","DebugNode","graphics","Graphics$1","alpha","heat","region","invalidationCount","draw","normalizedAlpha","color","outer","innerX","innerY","innerWidth","innerHeight","DebugRenderer","BigPool","regionData","acc","drawString","left","top","pos","debugObject"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]}