@mateuszjs/magic-render 0.1.0-next.4 → 0.1.0-next.41

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 (215) hide show
  1. package/lib/40dc20eab8f7c9f3.ttf +0 -0
  2. package/lib/index.mjs +1 -1
  3. package/lib/index.mjs.map +1 -1
  4. package/lib/types/WebGPU/canvasSizeObserver.d.ts.map +1 -0
  5. package/lib/types/WebGPU/generatePreview.d.ts +3 -0
  6. package/lib/types/WebGPU/generatePreview.d.ts.map +1 -0
  7. package/lib/types/WebGPU/getDevice.d.ts +6 -0
  8. package/lib/types/WebGPU/getDevice.d.ts.map +1 -0
  9. package/lib/types/WebGPU/getTexture/createCheckedImageData.d.ts.map +1 -0
  10. package/lib/types/WebGPU/getTexture/generateMimapsArray.d.ts.map +1 -0
  11. package/lib/types/{src/WebGPU → WebGPU}/getTexture/index.d.ts +3 -3
  12. package/lib/types/WebGPU/getTexture/index.d.ts.map +1 -0
  13. package/lib/types/WebGPU/m3.d.ts.map +1 -0
  14. package/lib/types/{src/WebGPU → WebGPU}/pick.d.ts +1 -2
  15. package/lib/types/WebGPU/pick.d.ts.map +1 -0
  16. package/lib/types/WebGPU/programs/blur/getProgram.d.ts +2 -0
  17. package/lib/types/WebGPU/programs/blur/getProgram.d.ts.map +1 -0
  18. package/lib/types/WebGPU/programs/clearComputeDepth/getProgram.d.ts +2 -0
  19. package/lib/types/WebGPU/programs/clearComputeDepth/getProgram.d.ts.map +1 -0
  20. package/lib/types/WebGPU/programs/clearSdf/getProgram.d.ts +2 -0
  21. package/lib/types/WebGPU/programs/clearSdf/getProgram.d.ts.map +1 -0
  22. package/lib/types/WebGPU/programs/combineSdf/getProgram.d.ts +2 -0
  23. package/lib/types/WebGPU/programs/combineSdf/getProgram.d.ts.map +1 -0
  24. package/lib/types/WebGPU/programs/computeShape/getProgram.d.ts +2 -0
  25. package/lib/types/WebGPU/programs/computeShape/getProgram.d.ts.map +1 -0
  26. package/lib/types/WebGPU/programs/drawShape/getProgram.d.ts +2 -0
  27. package/lib/types/WebGPU/programs/drawShape/getProgram.d.ts.map +1 -0
  28. package/lib/types/WebGPU/programs/drawTexture/getProgram.d.ts +2 -0
  29. package/lib/types/WebGPU/programs/drawTexture/getProgram.d.ts.map +1 -0
  30. package/lib/types/WebGPU/programs/drawTriangle/getProgram.d.ts +2 -0
  31. package/lib/types/WebGPU/programs/drawTriangle/getProgram.d.ts.map +1 -0
  32. package/lib/types/WebGPU/programs/initPrograms.d.ts +32 -0
  33. package/lib/types/WebGPU/programs/initPrograms.d.ts.map +1 -0
  34. package/lib/types/WebGPU/programs/pickShape/getProgram.d.ts +2 -0
  35. package/lib/types/WebGPU/programs/pickShape/getProgram.d.ts.map +1 -0
  36. package/lib/types/WebGPU/programs/pickTexture/getProgram.d.ts +2 -0
  37. package/lib/types/WebGPU/programs/pickTexture/getProgram.d.ts.map +1 -0
  38. package/lib/types/WebGPU/programs/pickTriangle/getProgram.d.ts +2 -0
  39. package/lib/types/WebGPU/programs/pickTriangle/getProgram.d.ts.map +1 -0
  40. package/lib/types/WebGPU/textureCache.d.ts +4 -0
  41. package/lib/types/WebGPU/textureCache.d.ts.map +1 -0
  42. package/lib/types/fonts.d.ts +5 -0
  43. package/lib/types/fonts.d.ts.map +1 -0
  44. package/lib/types/getCanvasMatrix.d.ts +2 -0
  45. package/lib/types/getCanvasMatrix.d.ts.map +1 -0
  46. package/lib/types/{src/getCanvasRenderDescriptor.d.ts → getCanvasRenderDescriptor.d.ts} +1 -0
  47. package/lib/types/getCanvasRenderDescriptor.d.ts.map +1 -0
  48. package/lib/types/{src/getDepthTexture.d.ts → getDepthTexture.d.ts} +1 -0
  49. package/lib/types/getDepthTexture.d.ts.map +1 -0
  50. package/lib/types/getMultisampleTexture.d.ts +2 -0
  51. package/lib/types/getMultisampleTexture.d.ts.map +1 -0
  52. package/lib/types/getRenderDescriptor.d.ts.map +1 -0
  53. package/lib/types/index.d.ts +15 -0
  54. package/lib/types/index.d.ts.map +1 -0
  55. package/lib/types/loadingTexture.d.ts +3 -0
  56. package/lib/types/loadingTexture.d.ts.map +1 -0
  57. package/lib/types/pointer.d.ts +15 -0
  58. package/lib/types/pointer.d.ts.map +1 -0
  59. package/lib/types/run.d.ts +6 -0
  60. package/lib/types/run.d.ts.map +1 -0
  61. package/lib/types/sanitizeFill.d.ts +3 -0
  62. package/lib/types/sanitizeFill.d.ts.map +1 -0
  63. package/lib/types/svgToShapes/addUiElement.d.ts +3 -0
  64. package/lib/types/svgToShapes/addUiElement.d.ts.map +1 -0
  65. package/lib/types/svgToShapes/arcToBezier.d.ts +11 -0
  66. package/lib/types/svgToShapes/arcToBezier.d.ts.map +1 -0
  67. package/lib/types/svgToShapes/boundingBox.d.ts +18 -0
  68. package/lib/types/svgToShapes/boundingBox.d.ts.map +1 -0
  69. package/lib/types/svgToShapes/collectShapesData.d.ts +11 -0
  70. package/lib/types/svgToShapes/collectShapesData.d.ts.map +1 -0
  71. package/lib/types/svgToShapes/const.d.ts +5 -0
  72. package/lib/types/svgToShapes/const.d.ts.map +1 -0
  73. package/lib/types/svgToShapes/definitions.d.ts +44 -0
  74. package/lib/types/svgToShapes/definitions.d.ts.map +1 -0
  75. package/lib/types/svgToShapes/getProps.d.ts +4 -0
  76. package/lib/types/svgToShapes/getProps.d.ts.map +1 -0
  77. package/lib/types/svgToShapes/getShapesZigAssets.d.ts +5 -0
  78. package/lib/types/svgToShapes/getShapesZigAssets.d.ts.map +1 -0
  79. package/lib/types/svgToShapes/parseEllipse.d.ts +3 -0
  80. package/lib/types/svgToShapes/parseEllipse.d.ts.map +1 -0
  81. package/lib/types/svgToShapes/parsePathData.d.ts +3 -0
  82. package/lib/types/svgToShapes/parsePathData.d.ts.map +1 -0
  83. package/lib/types/svgToShapes/parseRect.d.ts +3 -0
  84. package/lib/types/svgToShapes/parseRect.d.ts.map +1 -0
  85. package/lib/types/svgToShapes/radialGradient.d.ts +16 -0
  86. package/lib/types/svgToShapes/radialGradient.d.ts.map +1 -0
  87. package/lib/types/svgToShapes/utils.d.ts +10 -0
  88. package/lib/types/svgToShapes/utils.d.ts.map +1 -0
  89. package/lib/types/textures.d.ts +30 -0
  90. package/lib/types/textures.d.ts.map +1 -0
  91. package/lib/types/types.d.ts +128 -0
  92. package/lib/types/types.d.ts.map +1 -0
  93. package/lib/types/typing.d.ts +6 -0
  94. package/lib/types/typing.d.ts.map +1 -0
  95. package/lib/types/utils/atNormIndex.d.ts.map +1 -0
  96. package/lib/types/utils/captureCanvasStream.d.ts.map +1 -0
  97. package/lib/types/utils/captureCanvasStreamWasm.d.ts.map +1 -0
  98. package/lib/types/utils/clamp.d.ts.map +1 -0
  99. package/lib/types/utils/debounce.d.ts +2 -0
  100. package/lib/types/utils/debounce.d.ts.map +1 -0
  101. package/lib/types/{src/utils → utils}/distancePointToLine.d.ts +1 -0
  102. package/lib/types/utils/distancePointToLine.d.ts.map +1 -0
  103. package/lib/types/utils/fitCurve.d.ts.map +1 -0
  104. package/lib/types/utils/getAngle.d.ts +3 -0
  105. package/lib/types/utils/getAngle.d.ts.map +1 -0
  106. package/lib/types/utils/getAngleDiff.d.ts.map +1 -0
  107. package/lib/types/{src/utils → utils}/getBezierPos.d.ts +1 -0
  108. package/lib/types/utils/getBezierPos.d.ts.map +1 -0
  109. package/lib/types/{src/utils → utils}/getBezierTan.d.ts +1 -0
  110. package/lib/types/utils/getBezierTan.d.ts.map +1 -0
  111. package/lib/types/{src/utils → utils}/getCurveLength.d.ts +1 -0
  112. package/lib/types/utils/getCurveLength.d.ts.map +1 -0
  113. package/lib/types/utils/getDefaultPoints.d.ts +3 -0
  114. package/lib/types/utils/getDefaultPoints.d.ts.map +1 -0
  115. package/lib/types/utils/getDistance.d.ts +3 -0
  116. package/lib/types/utils/getDistance.d.ts.map +1 -0
  117. package/lib/types/utils/mat4.d.ts.map +1 -0
  118. package/lib/types/utils/normalizeVec2.d.ts +3 -0
  119. package/lib/types/utils/normalizeVec2.d.ts.map +1 -0
  120. package/lib/types/utils/resizeArray.d.ts.map +1 -0
  121. package/lib/types/utils/setCamera.d.ts +2 -0
  122. package/lib/types/utils/setCamera.d.ts.map +1 -0
  123. package/lib/types/utils/throttle.d.ts +2 -0
  124. package/lib/types/utils/throttle.d.ts.map +1 -0
  125. package/lib/types/utils/vec3.d.ts.map +1 -0
  126. package/package.json +13 -10
  127. package/lib/efb91b2d75cccaa6.png +0 -0
  128. package/lib/types/src/WebGPU/canvasSizeObserver.d.ts.map +0 -1
  129. package/lib/types/src/WebGPU/getDevice.d.ts +0 -2
  130. package/lib/types/src/WebGPU/getDevice.d.ts.map +0 -1
  131. package/lib/types/src/WebGPU/getTexture/createCheckedImageData.d.ts.map +0 -1
  132. package/lib/types/src/WebGPU/getTexture/generateMimapsArray.d.ts.map +0 -1
  133. package/lib/types/src/WebGPU/getTexture/index.d.ts.map +0 -1
  134. package/lib/types/src/WebGPU/m3.d.ts.map +0 -1
  135. package/lib/types/src/WebGPU/pick.d.ts.map +0 -1
  136. package/lib/types/src/WebGPU/pointer.d.ts +0 -6
  137. package/lib/types/src/WebGPU/pointer.d.ts.map +0 -1
  138. package/lib/types/src/WebGPU/programs/blur/getProgram.d.ts +0 -2
  139. package/lib/types/src/WebGPU/programs/blur/getProgram.d.ts.map +0 -1
  140. package/lib/types/src/WebGPU/programs/draw/getProgram.d.ts +0 -2
  141. package/lib/types/src/WebGPU/programs/draw/getProgram.d.ts.map +0 -1
  142. package/lib/types/src/WebGPU/programs/draw3dModel/getProgram.d.ts +0 -2
  143. package/lib/types/src/WebGPU/programs/draw3dModel/getProgram.d.ts.map +0 -1
  144. package/lib/types/src/WebGPU/programs/draw3dModelLight/getProgram.d.ts +0 -9
  145. package/lib/types/src/WebGPU/programs/draw3dModelLight/getProgram.d.ts.map +0 -1
  146. package/lib/types/src/WebGPU/programs/draw3dModelTexture/getProgram.d.ts +0 -2
  147. package/lib/types/src/WebGPU/programs/draw3dModelTexture/getProgram.d.ts.map +0 -1
  148. package/lib/types/src/WebGPU/programs/drawBezier/getProgram.d.ts +0 -2
  149. package/lib/types/src/WebGPU/programs/drawBezier/getProgram.d.ts.map +0 -1
  150. package/lib/types/src/WebGPU/programs/drawMSDF/getProgram.d.ts +0 -2
  151. package/lib/types/src/WebGPU/programs/drawMSDF/getProgram.d.ts.map +0 -1
  152. package/lib/types/src/WebGPU/programs/drawTexture/getProgram.d.ts +0 -2
  153. package/lib/types/src/WebGPU/programs/drawTexture/getProgram.d.ts.map +0 -1
  154. package/lib/types/src/WebGPU/programs/drawTriangle/getProgram.d.ts +0 -2
  155. package/lib/types/src/WebGPU/programs/drawTriangle/getProgram.d.ts.map +0 -1
  156. package/lib/types/src/WebGPU/programs/initPrograms.d.ts +0 -22
  157. package/lib/types/src/WebGPU/programs/initPrograms.d.ts.map +0 -1
  158. package/lib/types/src/WebGPU/programs/pickTexture/getProgram.d.ts +0 -2
  159. package/lib/types/src/WebGPU/programs/pickTexture/getProgram.d.ts.map +0 -1
  160. package/lib/types/src/WebGPU/programs/pickTriangle/getProgram.d.ts +0 -2
  161. package/lib/types/src/WebGPU/programs/pickTriangle/getProgram.d.ts.map +0 -1
  162. package/lib/types/src/__test__/index.test.d.ts +0 -1
  163. package/lib/types/src/__test__/index.test.d.ts.map +0 -1
  164. package/lib/types/src/consts.d.ts +0 -16
  165. package/lib/types/src/consts.d.ts.map +0 -1
  166. package/lib/types/src/getCanvasMatrix.d.ts +0 -2
  167. package/lib/types/src/getCanvasMatrix.d.ts.map +0 -1
  168. package/lib/types/src/getCanvasRenderDescriptor.d.ts.map +0 -1
  169. package/lib/types/src/getDepthTexture.d.ts.map +0 -1
  170. package/lib/types/src/getRenderDescriptor.d.ts.map +0 -1
  171. package/lib/types/src/index.d.ts +0 -14
  172. package/lib/types/src/index.d.ts.map +0 -1
  173. package/lib/types/src/models/Video/MiniatureVideo.d.ts +0 -30
  174. package/lib/types/src/models/Video/MiniatureVideo.d.ts.map +0 -1
  175. package/lib/types/src/run.d.ts +0 -5
  176. package/lib/types/src/run.d.ts.map +0 -1
  177. package/lib/types/src/types.d.ts +0 -4
  178. package/lib/types/src/types.d.ts.map +0 -1
  179. package/lib/types/src/utils/atNormIndex.d.ts.map +0 -1
  180. package/lib/types/src/utils/captureCanvasStream.d.ts.map +0 -1
  181. package/lib/types/src/utils/captureCanvasStreamWasm.d.ts.map +0 -1
  182. package/lib/types/src/utils/clamp.d.ts.map +0 -1
  183. package/lib/types/src/utils/distancePointToLine.d.ts.map +0 -1
  184. package/lib/types/src/utils/fitCurve.d.ts.map +0 -1
  185. package/lib/types/src/utils/getAngle.d.ts +0 -2
  186. package/lib/types/src/utils/getAngle.d.ts.map +0 -1
  187. package/lib/types/src/utils/getAngleDiff.d.ts.map +0 -1
  188. package/lib/types/src/utils/getBezierPos.d.ts.map +0 -1
  189. package/lib/types/src/utils/getBezierTan.d.ts.map +0 -1
  190. package/lib/types/src/utils/getCurveLength.d.ts.map +0 -1
  191. package/lib/types/src/utils/getDefaultPoints.d.ts +0 -2
  192. package/lib/types/src/utils/getDefaultPoints.d.ts.map +0 -1
  193. package/lib/types/src/utils/getDistance.d.ts +0 -2
  194. package/lib/types/src/utils/getDistance.d.ts.map +0 -1
  195. package/lib/types/src/utils/getSvgSource.d.ts +0 -2
  196. package/lib/types/src/utils/getSvgSource.d.ts.map +0 -1
  197. package/lib/types/src/utils/mat4.d.ts.map +0 -1
  198. package/lib/types/src/utils/normalizeVec2.d.ts +0 -2
  199. package/lib/types/src/utils/normalizeVec2.d.ts.map +0 -1
  200. package/lib/types/src/utils/resizeArray.d.ts.map +0 -1
  201. package/lib/types/src/utils/vec3.d.ts.map +0 -1
  202. /package/lib/types/{src/WebGPU → WebGPU}/canvasSizeObserver.d.ts +0 -0
  203. /package/lib/types/{src/WebGPU → WebGPU}/getTexture/createCheckedImageData.d.ts +0 -0
  204. /package/lib/types/{src/WebGPU → WebGPU}/getTexture/generateMimapsArray.d.ts +0 -0
  205. /package/lib/types/{src/WebGPU → WebGPU}/m3.d.ts +0 -0
  206. /package/lib/types/{src/getRenderDescriptor.d.ts → getRenderDescriptor.d.ts} +0 -0
  207. /package/lib/types/{src/utils → utils}/atNormIndex.d.ts +0 -0
  208. /package/lib/types/{src/utils → utils}/captureCanvasStream.d.ts +0 -0
  209. /package/lib/types/{src/utils → utils}/captureCanvasStreamWasm.d.ts +0 -0
  210. /package/lib/types/{src/utils → utils}/clamp.d.ts +0 -0
  211. /package/lib/types/{src/utils → utils}/fitCurve.d.ts +0 -0
  212. /package/lib/types/{src/utils → utils}/getAngleDiff.d.ts +0 -0
  213. /package/lib/types/{src/utils → utils}/mat4.d.ts +0 -0
  214. /package/lib/types/{src/utils → utils}/resizeArray.d.ts +0 -0
  215. /package/lib/types/{src/utils → utils}/vec3.d.ts +0 -0
package/lib/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- var A,e,t,g,i={214:(A,e,t)=>{function g(A,e,t,g){A.width=Math.max(1,Math.min(e,g.limits.maxTextureDimension2D)),A.height=Math.max(1,Math.min(t,g.limits.maxTextureDimension2D))}function i(A,e,t){new ResizeObserver((A=>{for(const i of A)g(i.target,0|i.contentBoxSize[0].inlineSize,0|i.contentBoxSize[0].blockSize,e),t()})).observe(A),g(A,A.clientWidth,A.clientHeight,e)}t.d(e,{A:()=>i})},1911:(A,e,t)=>{t.d(e,{A:()=>i});var g=function(A,e,t,g){return new(t||(t=Promise))((function(i,I){function Q(A){try{n(g.next(A))}catch(A){I(A)}}function r(A){try{n(g.throw(A))}catch(A){I(A)}}function n(A){var e;A.done?i(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(Q,r)}n((g=g.apply(A,e||[])).next())}))};function i(){return g(this,void 0,void 0,(function*(){if(!navigator.gpu)throw Error("this browser does not support WebGPU");const A=yield navigator.gpu.requestAdapter();if(!A)throw Error("this browser supports webgpu but it appears disabled");const e=yield A.requestDevice();return e.lost.then((A=>{console.error(`WebGPU device was lost: ${A.message}`),A.reason})),e}))}},1549:(A,e,t)=>{t.d(e,{Be:()=>i});const g=(...A)=>{const e=Math.max(...A);return 1+Math.log2(e)|0};function i(A,e,t={}){const i=A.createTexture({format:"rgba8unorm",mipLevelCount:t.mips?g(e.width,e.height):1,size:[e.width,e.height],usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});return function(A,e,t,{flipY:g,depthOrArrayLayers:i}={}){A.queue.copyExternalImageToTexture({source:t,flipY:g},{texture:e},{width:t.width,height:t.height,depthOrArrayLayers:i})}(A,i,e,t),i}},2872:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{A:()=>B});var i=t(2842),I=t(9200),Q=t(3979),r=A([I,Q]);[I,Q]=r.then?(await r)():r;const n=1;class B{constructor(A){this.isPreviousPickDone=!0,this.pickBuffer=A.createBuffer({size:4*n,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.pickTexture=A.createTexture({size:[1,1],format:"r32uint",usage:GPUTextureUsage.COPY_SRC|GPUTextureUsage.RENDER_ATTACHMENT}),this.pickDepthTexture=A.createTexture({size:[1,1],format:"depth24plus",usage:GPUTextureUsage.RENDER_ATTACHMENT})}startPicking(A){const e={label:"our render to canvas renderPass",colorAttachments:[{view:this.pickTexture.createView(),loadOp:"clear",clearValue:[0,0,0,1],storeOp:"store"}]},t=A.beginRenderPass(e);return t.setViewport(0,0,1,1,0,1),t.setScissorRect(0,0,1,1),{pass:t,end:()=>{t.end(),this.isPreviousPickDone&&A.copyTextureToBuffer({texture:this.pickTexture,origin:{x:0,y:0}},{buffer:this.pickBuffer},{width:n})}}}createMatrix(A,e){const{clientWidth:t,clientHeight:g}=A,Q=-(I.W.x/t*2-1),r=I.W.y/g*2-1;return[i.A.scaling([t,g,0]),i.A.translation([Q,r,0]),e].reduce(((A,e)=>i.A.multiply(A,e)),i.A.translation([-1,1,0]))}asyncPick(){return A=this,e=void 0,g=function*(){if(this.isPreviousPickDone){this.isPreviousPickDone=!1;try{yield this.pickBuffer.mapAsync(GPUMapMode.READ,0,4*n);const[A]=new Uint32Array(this.pickBuffer.getMappedRange(0,4*n));(0,Q.OI)(A),this.pickBuffer.unmap()}catch(A){}this.isPreviousPickDone=!0}},new((t=void 0)||(t=Promise))((function(i,I){function Q(A){try{n(g.next(A))}catch(A){I(A)}}function r(A){try{n(g.throw(A))}catch(A){I(A)}}function n(A){var e;A.done?i(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(Q,r)}n((g=g.apply(A,e||[])).next())}));var A,e,t,g}}g()}catch(A){g(A)}}))},9200:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{A:()=>r,W:()=>Q});var i=t(3979),I=A([i]);i=(I.then?(await I)():I)[0];const Q={x:0,y:0};function r(A){Q.x=0,Q.y=0,A.addEventListener("mouseleave",(()=>{})),A.addEventListener("mousemove",(e=>{!function(e){const t=A.getBoundingClientRect();Q.x=e.clientX-t.left,Q.y=e.clientY-t.top}(e),(0,i.wU)(Q.x,A.height-Q.y)})),A.addEventListener("mousedown",(()=>{(0,i.Dk)(Q.x,A.height-Q.y)})),A.addEventListener("mouseup",(()=>{(0,i._R)()})),A.addEventListener("wheel",(A=>{console.log(A.deltaY)}))}g()}catch(n){g(n)}}))},5695:(A,e,t)=>{t.d(e,{Ay:()=>k,hk:()=>b,_J:()=>m,D4:()=>w,Fh:()=>F,Q3:()=>U});const g="const PI = 3.14159265358979323846;\nconst EPSILON = 1.1920929e-7;\n\nstruct Vertex {\n @location(0) p0: vec4f,\n @location(1) p1: vec4f,\n @location(2) p2: vec4f,\n @location(3) color: vec4f,\n @location(4) radius_list: vec3f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) @interpolate(flat) p0: vec4f,\n @location(1) @interpolate(flat) p1: vec4f,\n @location(2) @interpolate(flat) p2: vec4f,\n @location(3) @interpolate(flat) color: vec4f,\n @location(4) pixel: vec2f,\n @location(5) @interpolate(flat) radius_list: vec3f,\n @location(6) @interpolate(flat) threshold_list: vec3f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertexIndex : u32\n) -> VertexOutput {\n let normVertexIndex = vertexIndex % 3;\n\n var out: VertexOutput;\n if (normVertexIndex == 0) {\n out.position = vec4f(vert.p0.xy, 0, 1);\n } else if (normVertexIndex == 1) {\n out.position = vec4f(vert.p1.xy, 0, 1);\n } else {\n out.position = vec4f(vert.p2.xy, 0, 1);\n }\n\n out.pixel = vec2f(out.position.x, out.position.y);\n\n out.position = u.worldViewProjection * out.position;\n\n out.p0 = vert.p0;\n out.p1 = vert.p1;\n out.p2 = vert.p2;\n out.color = vert.color;\n out.radius_list = vert.radius_list;\n\n let p0_circle_dist = distance(vert.p0.xy, vert.p0.zw);\n let p1_circle_dist = distance(vert.p1.xy, vert.p1.zw);\n let p2_circle_dist = distance(vert.p2.xy, vert.p2.zw);\n\n out.threshold_list = vec3f(\n sqrt(pow(p0_circle_dist, 2) - pow(vert.radius_list.x, 2)),\n sqrt(pow(p1_circle_dist, 2) - pow(vert.radius_list.y, 2)),\n sqrt(pow(p2_circle_dist, 2) - pow(vert.radius_list.z, 2)),\n ); // behind this value is roudned corner\n\n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n let p0_circle_dist = distance(in.p0.xy, in.pixel) - in.threshold_list.x;\n let p1_circle_dist = distance(in.p1.xy, in.pixel) - in.threshold_list.y;\n let p2_circle_dist = distance(in.p2.xy, in.pixel) - in.threshold_list.z;\n \n let min_circle_dist = min(\n p0_circle_dist,\n min(p1_circle_dist, p2_circle_dist)\n );\n\n var p: vec2f; // closest corner\n var p_circle: vec2f; // closest corner's circle position\n var radius: f32;\n var threshold: f32;\n\n if (abs(min_circle_dist - p0_circle_dist) <= EPSILON) {\n p = in.p0.xy;\n p_circle = in.p0.zw;\n radius = in.radius_list.x;\n threshold = in.threshold_list.x;\n } else if (abs(min_circle_dist - p1_circle_dist) <= EPSILON) {\n p = in.p1.xy;\n p_circle = in.p1.zw;\n radius = in.radius_list.y;\n threshold = in.threshold_list.y;\n } else {\n p = in.p2.xy;\n p_circle = in.p2.zw;\n radius = in.radius_list.z;\n threshold = in.threshold_list.z;\n }\n\n let dist = distance(p, in.pixel);\n\n if (dist < threshold) {\n let circle_distance = distance(p_circle, in.pixel);\n return in.color * (1.0 - step(radius, circle_distance));\n } else {\n return in.color;\n }\n}\n",i=19,I="struct Uniforms {\n matrix: mat4x4f,\n zoom: f32,\n};\n\nstruct Vertex {\n @location(0) t: f32,\n @location(1) dir: f32,\n @location(2) segmentIndex: u32,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\n@group(0) @binding(1) var<storage> points: array<vec2f>;\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n};\n\n@vertex fn vs(vert: Vertex) -> VSOutput {\n var vsOut: VSOutput;\n \n let p1 = points[vert.segmentIndex * 4 + 0];\n let p2 = points[vert.segmentIndex * 4 + 1];\n let p3 = points[vert.segmentIndex * 4 + 2];\n let p4 = points[vert.segmentIndex * 4 + 3];\n\n let t2 = vert.t * vert.t;\n let one_minus_t = 1.0 - vert.t;\n let one_minus_t2 = one_minus_t * one_minus_t;\n let pos = p1 * one_minus_t2 * one_minus_t + p2 * 3.0 * vert.t * one_minus_t2 + p3 * 3.0 * t2 * one_minus_t + p4 * t2 * vert.t;\n\n let angle = one_minus_t2 * (p2 - p1) + 2.0 * vert.t * one_minus_t * (p3 - p2) + t2 * (p4 - p3);\n let angleNorm = normalize(angle) * 5 / u.zoom;\n let transPos = vec2(pos.x - angleNorm.y * vert.dir, pos.y + angleNorm.x * vert.dir);\n let clipSpace = (u.matrix * vec4f(transPos, 1, 1));\n vsOut.position = clipSpace;\n vsOut.color = vec4f(f32(vert.segmentIndex) % 3, (f32(vert.segmentIndex) + 1) % 3, (f32(vert.segmentIndex) + 2) % 3, 1);\n\n return vsOut;\n}\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n return vsOut.color;\n}\n",Q="struct Uniforms {\n matrix: mat4x4f,\n};\n\nstruct Vertex {\n @location(0) position: vec4f,\n @location(1) texcoord: vec2f,\n};\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) texcoord: vec2f,\n};\n\n@group(0) @binding(0) var<uniform> uni: Uniforms;\n\n@vertex fn vs(vert: Vertex) -> VSOutput {\n var vsOut: VSOutput;\n vsOut.position = uni.matrix * vert.position;\n vsOut.texcoord = vert.texcoord;\n return vsOut;\n}\n\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n return textureSample(ourTexture, ourSampler, vsOut.texcoord);\n}\n",r="struct Uniforms {\n matrix: mat4x4f,\n};\n\nstruct Vertex {\n @location(0) position: vec4f,\n};\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n};\n\n@group(0) @binding(0) var<uniform> uni: Uniforms;\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertexIndex : u32,\n // @builtin(instance_index) instanceIndex: u32\n ) -> VSOutput {\n var vsOut: VSOutput;\n vsOut.position = uni.matrix * vert.position;\n vsOut.color = vec4f(f32(vertexIndex) % 3, (f32(vertexIndex) + 1) % 3, (f32(vertexIndex) + 2) % 3, 1);\n return vsOut;\n}\n\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n return vsOut.color;\n}\n",n="struct Uniforms {\n normalMatrix: mat3x3f,\n worldViewProjection: mat4x4f,\n lightColor: vec4f,\n lightDirection: vec3f,\n};\n\nstruct Vertex {\n @location(0) position: vec4f,\n @location(1) normal: vec3f,\n};\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n @location(1) normal: vec3f,\n};\n\n@group(0) @binding(0) var<uniform> uni: Uniforms;\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertexIndex : u32,\n // @builtin(instance_index) instanceIndex: u32\n ) -> VSOutput {\n var vsOut: VSOutput;\n vsOut.position = uni.worldViewProjection * vert.position;\n vsOut.normal = uni.normalMatrix * vert.normal;\n vsOut.color = vec4f(f32(vertexIndex) % 3, (f32(vertexIndex) + 1) % 3, (f32(vertexIndex) + 2) % 3, 1);\n\n return vsOut;\n}\n\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n // Because vsOut.normal is an inter-stage variable \n // it's interpolated so it will not be a unit vector.\n // Normalizing it will make it a unit vector again\n let normal = normalize(vsOut.normal);\n \n // Compute the light by taking the dot product\n // of the normal to the light's reverse direction\n let light = dot(normal, -uni.lightDirection);\n \n // Lets multiply just the color portion (not the alpha)\n // by the light\n let color = vec3f(0.23) + uni.lightColor.rgb * light;\n // let color = vsOut.color.rgb * 0.5 + uni.lightColor.rgb * light;\n return vec4f(color, vsOut.color.a);\n}\n",B="struct Params {\n filterDim : i32,\n blockDim : u32,\n}\n\n@group(0) @binding(0) var samp : sampler;\n@group(0) @binding(1) var<uniform> params : Params;\n@group(1) @binding(1) var inputTex : texture_2d<f32>;\n@group(1) @binding(2) var outputTex : texture_storage_2d<rgba8unorm, write>;\n\nstruct Flip {\n value : u32,\n}\n@group(1) @binding(3) var<uniform> flip : Flip;\n\n// This shader blurs the input texture in one direction, depending on whether\n// |flip.value| is 0 or 1.\n// It does so by running (128 / 4) threads per workgroup to load 128\n// texels into 4 rows of shared memory. Each thread loads a\n// 4 x 4 block of texels to take advantage of the texture sampling\n// hardware.\n// Then, each thread computes the blur result by averaging the adjacent texel values\n// in shared memory.\n// Because we're operating on a subset of the texture, we cannot compute all of the\n// results since not all of the neighbors are available in shared memory.\n// Specifically, with 128 x 128 tiles, we can only compute and write out\n// square blocks of size 128 - (filterSize - 1). We compute the number of blocks\n// needed in Javascript and dispatch that amount.\n\n// 128/4 = 32 -> number of threads per working group\n// does it in 4x4 block of texels(takes advantage of texture sampling hardware)\n// with this beign said, we don't have all the neighbours, only this block\n// That's why we can only compute & write out blocks of size 128 - (filterSize - 1)\nvar<workgroup> tile : array<array<vec3<f32>, 128>, 4>;\n\n@compute @workgroup_size(32, 1, 1)\nfn main(\n @builtin(workgroup_id) WorkGroupID : vec3<u32>,\n @builtin(local_invocation_id) LocalInvocationID : vec3<u32>\n) {\n let filterOffset = (params.filterDim - 1) / 2;\n let dims = vec2<i32>(textureDimensions(inputTex, 0));\n let baseIndex = vec2<i32>(WorkGroupID.xy * vec2(params.blockDim, 4) + // it's just the index of the first texel in a group\n LocalInvocationID.xy * vec2(4, 1)) // <0, 128>\n - vec2(filterOffset, 0);\n // baseIndex = xy of first texel of group\n for (var r = 0; r < 4; r++) {\n for (var c = 0; c < 4; c++) {\n var loadIndex = baseIndex + vec2(c, r);\n if (flip.value != 0) {\n loadIndex = loadIndex.yx;\n }\n\n tile[r][4 * LocalInvocationID.x + u32(c)] = textureSampleLevel(\n inputTex,\n samp,\n (vec2<f32>(loadIndex) + vec2<f32>(0.25, 0.25)) / vec2<f32>(dims),\n 0.0\n ).rgb;\n }\n }\n\n workgroupBarrier();\n // helps coordinate access to read-write memory\n // so all threads(32) will wait to hit this barrer, and then start form here together\n\n for (var r = 0; r < 4; r++) {\n for (var c = 0; c < 4; c++) {\n var writeIndex = baseIndex + vec2(c, r);\n if (flip.value != 0) {\n writeIndex = writeIndex.yx;\n }\n\n let center = i32(4 * LocalInvocationID.x) + c;\n if (center >= filterOffset &&\n center < 128 - filterOffset &&\n all(writeIndex < dims)) {\n var acc = vec3(0.0, 0.0, 0.0);\n for (var f = 0; f < params.filterDim; f++) {\n var i = center + f - filterOffset;\n acc = acc + (1.0 / f32(params.filterDim)) * tile[r][i];\n }\n textureStore(outputTex, writeIndex, vec4(acc, 1.0));\n }\n }\n }\n}\n",C=128,o=[4,4],s="struct Vertex {\n @location(0) position: vec4f,\n @location(1) uv: vec2f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texCoord: vec2f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@vertex fn vs(vert: Vertex) -> VertexOutput {\n var out: VertexOutput;\n // maybe we should pass offsets from the position instead of... position?\n out.position = u.worldViewProjection * vert.position;\n out.texCoord = vert.uv;\n \n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n return textureSample(ourTexture, ourSampler, in.texCoord);\n}\n",E=6,a="struct Vertex {\n @location(0) position: vec4f,\n @location(1) uv: vec2f,\n @location(2) id: f32,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texCoord: vec2f,\n @location(1) @interpolate(flat) id: f32\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@vertex fn vs(vert: Vertex) -> VertexOutput {\n var out: VertexOutput;\n // maybe we should pass offsets from the position instead of... position?\n out.position = u.worldViewProjection * vert.position;\n out.texCoord = vert.uv;\n out.id = vert.id;\n\n return out;\n}\n\n\n@fragment fn fs(in: VertexOutput) -> @location(0) u32 {\n let alpha = textureSample(ourTexture, ourSampler, in.texCoord).a;\n\n if (alpha < 0.1) {\n discard; // r32uint doesn't support blending so only skipping pixels lefts\n }\n\n return u32(in.id);\n}\n",c=7,u="struct Vertex {\n @location(0) position: vec4f,\n @location(1) id: f32,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) @interpolate(flat) id: f32\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\n@vertex fn vs(vert: Vertex) -> VertexOutput {\n var out: VertexOutput;\n out.position = u.worldViewProjection * vert.position;\n out.id = vert.id;\n \n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) u32 {\n return u32(in.id);\n}\n\n",l=5,f="struct Vertex {\n @location(0) p0_position: vec4f,\n @location(1) p0_uv: vec2f,\n @location(2) p1_position: vec4f,\n @location(3) p1_uv: vec2f,\n @location(4) p2_position: vec4f,\n @location(5) p2_uv: vec2f,\n @location(6) color: vec4f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n screenPxDistance: f32,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texCoord: vec2f,\n @location(1) @interpolate(flat) color: vec4f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@vertex fn vs(vert: Vertex, @builtin(vertex_index) vertexIndex : u32) -> VertexOutput {\n let normVertexIndex = vertexIndex % 3;\n\n var out: VertexOutput;\n if (normVertexIndex == 0) {\n out.position = u.worldViewProjection * vert.p0_position;\n out.texCoord = vert.p0_uv;\n } else if (normVertexIndex == 1) {\n out.position = u.worldViewProjection * vert.p1_position;\n out.texCoord = vert.p1_uv;\n } else {\n out.position = u.worldViewProjection * vert.p2_position;\n out.texCoord = vert.p2_uv;\n }\n\n out.color = vert.color;\n \n return out;\n}\n\nfn median(r: f32, g: f32, b: f32) -> f32 {\n return max(min(r, g), min(max(r, g), b));\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n let msdf = textureSample(ourTexture, ourSampler, in.texCoord);\n let sd = median(msdf.r, msdf.g, msdf.b);\n\n let screenPxDistance = u.screenPxDistance * (sd - 0.5);\n let opacity = clamp(screenPxDistance + 0.5, 0.0, 1.0);\n return in.color * opacity;\n}\n",h=22;let w,D,y,p,d,S,m,F,U,b;function k(A,e){w=function(A,e){const t=A.createShaderModule({label:"draw triangle module",code:g}),I=A.createRenderPipeline({label:"draw triangle pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4*i,stepMode:"instance",attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x4"},{shaderLocation:2,offset:32,format:"float32x4"},{shaderLocation:3,offset:48,format:"float32x4"},{shaderLocation:4,offset:64,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]}}),Q=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),r=new Float32Array(16),n=r.subarray(0,16);return function(e,t,g){const B=g.length/i,C=A.createBuffer({label:"vertex buffer vertices",size:g.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(C,0,g);const o=A.createBindGroup({layout:I.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:Q}}]});e.setPipeline(I),e.setVertexBuffer(0,C),n.set(t),A.queue.writeBuffer(Q,0,r),e.setBindGroup(0,o),e.draw(3,B)}}(A,e),D=function(A,e){const t=A.createShaderModule({label:"bezier shader module",code:I}),g=A.createRenderPipeline({label:"bezier pipline",layout:"auto",primitive:{topology:"triangle-strip"},vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4,attributes:[{shaderLocation:0,offset:0,format:"float32"}]},{arrayStride:4,attributes:[{shaderLocation:1,offset:0,format:"float32"}]},{arrayStride:4,attributes:[{shaderLocation:2,offset:0,format:"uint32"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},depthStencil:{depthWriteEnabled:!1,depthCompare:"always",format:"depth24plus"}});return function(e,t,i,I,Q,r,n){const B=4*i.length,C=A.createBuffer({label:"storage points",size:B,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),o=A.createBuffer({label:"uniforms",size:80,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),s=new Float32Array(20),E=s.subarray(0,16),a=s.subarray(16,17),c=A.createBindGroup({label:"bezier bind group for object",layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:o}},{binding:1,resource:{buffer:C}}]}),u=A.createBuffer({label:"bezier vertex buffer vertices",size:I.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(u,0,I);const l=A.createBuffer({label:"bezier vertex buffer vertices",size:Q.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(l,0,Q);const f=A.createBuffer({label:"bezier vertex buffer vertices",size:r.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(f,0,r),e.setPipeline(g),e.setVertexBuffer(0,u),e.setVertexBuffer(1,l),e.setVertexBuffer(2,f),E.set(t),a.set(new Float32Array([n])),A.queue.writeBuffer(o,0,s),A.queue.writeBuffer(C,0,i),e.setBindGroup(0,c),e.draw(I.length)}}(A,e),p=function(A,e){const t=A.createShaderModule({label:"3d model texture shader module",code:Q}),g=A.createRenderPipeline({label:"3d model texture pipline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:20,attributes:[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x2"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},depthStencil:{depthWriteEnabled:!1,depthCompare:"always",format:"depth24plus"}});return function(e,t,i,I,Q){const r=A.createSampler({magFilter:"linear",minFilter:"linear"}),n=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),B=new Float32Array(16),C=B.subarray(0,16),o=Q.length,s=A.createBuffer({label:"3d model texture vertex buffer vertices",size:I.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(s,0,I);const E=A.createBuffer({label:"3d model texture index buffer",size:Q.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(E,0,Q);const a=A.createBindGroup({label:"3d model texture bind group for object",layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:n}},{binding:1,resource:r},{binding:2,resource:i.createView()}]});e.setPipeline(g),e.setVertexBuffer(0,s),e.setIndexBuffer(E,"uint32"),C.set(t),A.queue.writeBuffer(n,0,B),e.setBindGroup(0,a),e.drawIndexed(o)}}(A,e),y=function(A,e){const t=A.createShaderModule({label:"3d model shader module",code:r}),g=A.createRenderPipeline({label:"3d model pipline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:12,attributes:[{shaderLocation:0,offset:0,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},primitive:{cullMode:"back"},depthStencil:{depthWriteEnabled:!0,depthCompare:"less",format:"depth24plus"}});return function(e,t,i,I){const Q=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),r=new Float32Array(16),n=r.subarray(0,16),B=I.length,C=A.createBuffer({label:"vertex buffer vertices",size:i.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(C,0,i);const o=A.createBuffer({label:"index buffer",size:I.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(o,0,I);const s=A.createBindGroup({label:"bind group for object",layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:Q}}]});e.setPipeline(g),e.setVertexBuffer(0,C),e.setIndexBuffer(o,"uint32"),n.set(t),A.queue.writeBuffer(Q,0,r),e.setBindGroup(0,s),e.drawIndexed(B)}}(A,e),d=function(A,e){const t=A.createShaderModule({label:"3d model light shader module",code:n}),g=A.createRenderPipeline({label:"3d model light pipline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:24,attributes:[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},primitive:{cullMode:"back"},depthStencil:{depthWriteEnabled:!0,depthCompare:"less",format:"depth24plus"}});return function(e,t,i,I){const{worldViewProjection:Q,normalMatrix:r,lightColor:n,lightDirection:B}=t,C=A.createBuffer({label:"uniforms",size:144,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),o=new Float32Array(36),s=o.subarray(0,12),E=o.subarray(12,28),a=o.subarray(28,32),c=o.subarray(32,35),u=A.createBindGroup({label:"bind group for object",layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:C}}]}),l=I.length,f=A.createBuffer({label:"vertex buffer vertices",size:i.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(f,0,i);const h=A.createBuffer({label:"index buffer",size:I.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(h,0,I),e.setPipeline(g),e.setVertexBuffer(0,f),e.setIndexBuffer(h,"uint32"),s.set(r),E.set(Q),a.set(n),c.set(B),A.queue.writeBuffer(C,0,o),e.setBindGroup(0,u),e.drawIndexed(l)}}(A,e),S=function(A){const e=A.createShaderModule({label:"blur shader module",code:B}),t=A.createComputePipeline({layout:"auto",compute:{module:e,entryPoint:"main"}});return function(e,g){const i=[0,1].map((()=>A.createTexture({size:{width:e.width,height:e.height},format:"rgba8unorm",usage:GPUTextureUsage.COPY_DST|GPUTextureUsage.STORAGE_BINDING|GPUTextureUsage.TEXTURE_BINDING}))),I=(()=>{const e=A.createBuffer({size:4,mappedAtCreation:!0,usage:GPUBufferUsage.UNIFORM});return new Uint32Array(e.getMappedRange())[0]=0,e.unmap(),e})(),Q=(()=>{const e=A.createBuffer({size:4,mappedAtCreation:!0,usage:GPUBufferUsage.UNIFORM});return new Uint32Array(e.getMappedRange())[0]=1,e.unmap(),e})(),r=A.createBuffer({size:8,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM}),n=A.createSampler({magFilter:"linear",minFilter:"linear"}),B=A.createBindGroup({layout:t.getBindGroupLayout(0),entries:[{binding:0,resource:n},{binding:1,resource:{buffer:r}}]}),s=A.createBindGroup({layout:t.getBindGroupLayout(1),entries:[{binding:1,resource:e.createView()},{binding:2,resource:i[0].createView()},{binding:3,resource:{buffer:I}}]}),E=A.createBindGroup({layout:t.getBindGroupLayout(1),entries:[{binding:1,resource:i[0].createView()},{binding:2,resource:i[1].createView()},{binding:3,resource:{buffer:Q}}]}),a=A.createBindGroup({layout:t.getBindGroupLayout(1),entries:[{binding:1,resource:i[1].createView()},{binding:2,resource:i[0].createView()},{binding:3,resource:{buffer:I}}]}),c=C-14;A.queue.writeBuffer(r,0,new Uint32Array([15,c]));const u=g.beginComputePass();u.setPipeline(t),u.setBindGroup(0,B),u.setBindGroup(1,s),u.dispatchWorkgroups(Math.ceil(e.width/c),Math.ceil(e.height/o[1])),u.setBindGroup(1,E),u.dispatchWorkgroups(Math.ceil(e.height/c),Math.ceil(e.width/o[1]));for(let A=0;A<1;++A)u.setBindGroup(1,a),u.dispatchWorkgroups(Math.ceil(e.width/c),Math.ceil(e.height/o[1])),u.setBindGroup(1,E),u.dispatchWorkgroups(Math.ceil(e.height/c),Math.ceil(e.width/o[1]));return u.end(),i[1]}}(A),m=function(A,e){const t=A.createShaderModule({label:"texture module",code:s}),g=A.createSampler({minFilter:"linear",magFilter:"linear"}),i=A.createRenderPipeline({label:"texture pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4*E,attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x2"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]}}),I=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),Q=new Float32Array(16),r=Q.subarray(0,16);return function(e,t,n,B){const C=n.length/E|0,o=A.createBuffer({label:"vertex buffer vertices",size:n.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(o,0,n);const s=A.createBindGroup({layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:I}},{binding:1,resource:g},{binding:2,resource:B.createView()}]});e.setPipeline(i),e.setVertexBuffer(0,o),r.set(t),A.queue.writeBuffer(I,0,Q),e.setBindGroup(0,s),e.draw(C)}}(A,e),F=function(A){const e=A.createShaderModule({label:"pick texture module",code:a}),t=A.createSampler({minFilter:"linear",magFilter:"linear"}),g=A.createRenderPipeline({label:"pick texture pipeline",layout:"auto",vertex:{module:e,entryPoint:"vs",buffers:[{arrayStride:4*c,attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x2"},{shaderLocation:2,offset:24,format:"float32"}]}]},fragment:{module:e,entryPoint:"fs",targets:[{format:"r32uint"}]}}),i=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),I=new Float32Array(16),Q=I.subarray(0,16);return function(e,r,n,B){const C=n.length/c|0,o=A.createBuffer({label:"pic texture vertex buffer vertices",size:n.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(o,0,n);const s=A.createBindGroup({layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:i}},{binding:1,resource:t},{binding:2,resource:B.createView()}]});e.setPipeline(g),e.setVertexBuffer(0,o),Q.set(r),A.queue.writeBuffer(i,0,I),e.setBindGroup(0,s),e.draw(C)}}(A),U=function(A){const e=A.createShaderModule({label:"pick triangle module",code:u}),t=A.createRenderPipeline({label:"pick triangle pipeline",layout:"auto",vertex:{module:e,entryPoint:"vs",buffers:[{arrayStride:4*l,attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32"}]}]},fragment:{module:e,entryPoint:"fs",targets:[{format:"r32uint"}]}}),g=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),i=new Float32Array(16),I=i.subarray(0,16);return function(e,Q,r){const n=r.length/l|0,B=A.createBuffer({label:"pick triangle vertex buffer vertices",size:r.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(B,0,r);const C=A.createBindGroup({layout:t.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:g}}]});e.setPipeline(t),e.setVertexBuffer(0,B),I.set(Q),A.queue.writeBuffer(g,0,i),e.setBindGroup(0,C),e.draw(n)}}(A),b=function(A,e){const t=A.createShaderModule({label:"draw msdf module",code:f}),g=A.createSampler({minFilter:"linear",magFilter:"linear"}),i=A.createRenderPipeline({label:"draw msdf pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4*h,stepMode:"instance",attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x2"},{shaderLocation:2,offset:24,format:"float32x4"},{shaderLocation:3,offset:40,format:"float32x2"},{shaderLocation:4,offset:48,format:"float32x4"},{shaderLocation:5,offset:64,format:"float32x2"},{shaderLocation:6,offset:72,format:"float32x4"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]}}),I=A.createBuffer({label:"draw msdf uniforms",size:80,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),Q=new Float32Array(20),r=Q.subarray(0,16),n=Q.subarray(16,17);return function(e,t,B,C){const o=B.length/h,s=A.createBuffer({label:"draw msdf - vertex buffer",size:B.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(s,0,B);const E=A.createBindGroup({layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:I}},{binding:1,resource:g},{binding:2,resource:C.createView()}]});e.setPipeline(i),e.setVertexBuffer(0,s),r.set(t),n.set([16]),A.queue.writeBuffer(I,0,Q),e.setBindGroup(0,E),e.draw(3,o)}}(A,e)}},4461:(A,e,t)=>{t.d(e,{A:()=>i});var g=t(2842);function i(A){return g.A.ortho(0,A.clientWidth,0,A.clientHeight,1,-1)}},4304:(A,e,t)=>{let g;function i(A,e){const t=A.getCurrentTexture();return function(A,e,t){g&&g.width===e&&g.height===t||(null==g||g.destroy(),g=A.createTexture({size:[e,t],format:"depth24plus",usage:GPUTextureUsage.RENDER_ATTACHMENT}))}(e,t.width,t.height),{label:"our render to canvas renderPass",colorAttachments:[{view:t.createView(),clearValue:[0,0,0,1],loadOp:"clear",storeOp:"store"}]}}t.d(e,{A:()=>i})},8156:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{A:()=>u});var i=t(214),I=t(1911),Q=t(5695),r=t(2633),n=t(1549),B=t(3979),C=t(9200),o=t(4559),s=t(6561),E=t(1369),a=A([r,B,C]);[r,B,C]=a.then?(await a)():a;var c=function(A,e,t,g){return new(t||(t=Promise))((function(i,I){function Q(A){try{n(g.next(A))}catch(A){I(A)}}function r(A){try{n(g.throw(A))}catch(A){I(A)}}function n(A){var e;A.done?i(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(Q,r)}n((g=g.apply(A,e||[])).next())}))};function u(A,e,t){return c(this,void 0,void 0,(function*(){const g=yield(0,I.A)();(0,B.vH)(A.clientWidth,A.clientHeight);const a=A.getContext("webgpu");if(!a)throw Error("WebGPU from canvas needs to be always provided");const c=navigator.gpu.getPreferredCanvasFormat();a.configure({device:g,format:c}),(0,i.A)(A,g,(()=>{})),(0,Q.Ay)(g,c),(0,C.A)(A);const u=[{}];function l(e,t){const i=u.length;u.push({url:e.src,texture:(0,n.Be)(g,e,{flipY:!0})}),(0,B.VD)(t||(0,o.A)(e,A),i)}(0,B.kO)((A=>{const e=[...A].map((A=>({points:[...A.points].map((A=>({x:A.x,y:A.y,u:A.u,v:A.v}))),url:u[A.texture_id].url})));t(e)})),e.forEach((A=>{const e=new Image;e.src=A.url,e.onload=()=>{l(e,A.points)}}));const f=new Image;f.src=s,f.onload=()=>{u[0].texture=(0,n.Be)(g,f,{flipY:!0}),(0,B.dU)(E.Wn.flatMap((A=>[A.id,A.x/f.width,A.y/f.height,A.width/f.width,A.height/f.height,A.width,A.height])))};const h=(0,r.Ay)(A,a,g,c,u);return{addImage:l,removeAsset:function(){(0,B.MW)()},destroy:()=>{h(),(0,B.Nl)(),a.unconfigure(),g.destroy()}}}))}g()}catch(l){g(l)}}))},2633:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{Ay:()=>C});var i=t(4304),I=t(5695),Q=t(4461),r=t(2872),n=t(3979),B=A([r,n]);function C(A,e,t,g,B){const C=(0,Q.A)(A);let o;const s=new r.A(t);let E,a;(0,n.Vh)({draw_texture:(A,e)=>(0,I._J)(o,C,A.typedArray,B[e].texture),draw_msdf:(A,e)=>{B[e].texture&&(0,I.hk)(o,C,A.typedArray,B[e].texture)},draw_triangle:A=>(0,I.D4)(o,C,A.typedArray),pick_texture:(A,e)=>(0,I.Fh)(a,E,A.typedArray,B[e].texture),pick_triangle:A=>(0,I.Q3)(a,E,A.typedArray)});let c=0;return c=requestAnimationFrame((function g(I){const Q=t.createCommandEncoder(),r=(0,i.A)(e,t);o=Q.beginRenderPass(r),(0,n.Gp)(),o.end(),E=s.createMatrix(A,C);const B=s.startPicking(Q);a=B.pass,(0,n.A4)(),B.end();const u=Q.finish();t.queue.submit([u]),s.asyncPick(),c=requestAnimationFrame(g)})),()=>{cancelAnimationFrame(c)}}[r,n]=B.then?(await B)():B,new Float32Array,g()}catch(o){g(o)}}))},4559:(A,e,t)=>{function g(A,e,t){return Math.min(t,Math.max(e,A))}function i(A,e){const t=function(A,e){if(e.height-A.height<e.width-A.width)return g(A.height,.2*e.height,.8*e.height)/A.height;return g(A.width,.2*e.width,.8*e.width)/A.width}(A,e),i=A.width*t,I=A.height*t,Q=.5*(e.width-i),r=.5*(e.height-I);return[{x:Q,y:r+I,u:0,v:1},{x:Q+i,y:r+I,u:1,v:1},{x:Q+i,y:r,u:1,v:0},{x:Q,y:r,u:0,v:0}]}t.d(e,{A:()=>i})},2842:(A,e,t)=>{t.d(e,{A:()=>I});const g={cross(A,e,t=new Float32Array(3)){const g=A[1]*e[2]-A[2]*e[1],i=A[2]*e[0]-A[0]*e[2],I=A[0]*e[1]-A[1]*e[0];return t[0]=g,t[1]=i,t[2]=I,t},subtract:(A,e,t=new Float32Array(3))=>(t[0]=A[0]-e[0],t[1]=A[1]-e[1],t[2]=A[2]-e[2],t),normalize(A,e=new Float32Array(3)){const t=Math.sqrt(A[0]*A[0]+A[1]*A[1]+A[2]*A[2]);return t>1e-5?(e[0]=A[0]/t,e[1]=A[1]/t,e[2]=A[2]/t):(e[0]=0,e[1]=0,e[2]=0),e}},i={projection:(A,e,t,g)=>i.ortho(0,A,e,0,t,-t,g),perspective(A,e,t,g,i=new Float32Array(16)){const I=Math.tan(.5*Math.PI-.5*A),Q=1/(t-g);return i[0]=I/e,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=I,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=g*Q,i[11]=-1,i[12]=0,i[13]=0,i[14]=t*g*Q,i[15]=0,i},ortho:(A,e,t,g,i,I,Q=new Float32Array(16))=>(Q[0]=2/(e-A),Q[1]=0,Q[2]=0,Q[3]=0,Q[4]=0,Q[5]=2/(g-t),Q[6]=0,Q[7]=0,Q[8]=0,Q[9]=0,Q[10]=1/(i-I),Q[11]=0,Q[12]=(e+A)/(A-e),Q[13]=(g+t)/(t-g),Q[14]=i/(i-I),Q[15]=1,Q),identity:(A=new Float32Array(16))=>(A[0]=1,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=1,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=1,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A),multiply(A,e,t=new Float32Array(16)){const g=e[0],i=e[1],I=e[2],Q=e[3],r=e[4],n=e[5],B=e[6],C=e[7],o=e[8],s=e[9],E=e[10],a=e[11],c=e[12],u=e[13],l=e[14],f=e[15],h=A[0],w=A[1],D=A[2],y=A[3],p=A[4],d=A[5],S=A[6],m=A[7],F=A[8],U=A[9],b=A[10],k=A[11],N=A[12],G=A[13],K=A[14],v=A[15];return t[0]=g*h+i*p+I*F+Q*N,t[1]=g*w+i*d+I*U+Q*G,t[2]=g*D+i*S+I*b+Q*K,t[3]=g*y+i*m+I*k+Q*v,t[4]=r*h+n*p+B*F+C*N,t[5]=r*w+n*d+B*U+C*G,t[6]=r*D+n*S+B*b+C*K,t[7]=r*y+n*m+B*k+C*v,t[8]=o*h+s*p+E*F+a*N,t[9]=o*w+s*d+E*U+a*G,t[10]=o*D+s*S+E*b+a*K,t[11]=o*y+s*m+E*k+a*v,t[12]=c*h+u*p+l*F+f*N,t[13]=c*w+u*d+l*U+f*G,t[14]=c*D+u*S+l*b+f*K,t[15]=c*y+u*m+l*k+f*v,t},cameraAim(A,e,t,i=new Float32Array(16)){const I=g.normalize(g.subtract(A,e)),Q=g.normalize(g.cross(t,I)),r=g.normalize(g.cross(I,Q));return i[0]=Q[0],i[1]=Q[1],i[2]=Q[2],i[3]=0,i[4]=r[0],i[5]=r[1],i[6]=r[2],i[7]=0,i[8]=I[0],i[9]=I[1],i[10]=I[2],i[11]=0,i[12]=A[0],i[13]=A[1],i[14]=A[2],i[15]=1,i},inverse(A,e=new Float32Array(16)){const t=A[0],g=A[1],i=A[2],I=A[3],Q=A[4],r=A[5],n=A[6],B=A[7],C=A[8],o=A[9],s=A[10],E=A[11],a=A[12],c=A[13],u=A[14],l=A[15],f=s*l,h=u*E,w=n*l,D=u*B,y=n*E,p=s*B,d=i*l,S=u*I,m=i*E,F=s*I,U=i*B,b=n*I,k=C*c,N=a*o,G=Q*c,K=a*r,v=Q*o,J=C*r,M=t*c,L=a*g,x=t*o,R=C*g,q=t*r,Y=Q*g,H=f*r+D*o+y*c-(h*r+w*o+p*c),O=h*g+d*o+F*c-(f*g+S*o+m*c),V=w*g+S*r+U*c-(D*g+d*r+b*c),P=p*g+m*r+b*o-(y*g+F*r+U*o),T=1/(t*H+Q*O+C*V+a*P);return e[0]=T*H,e[1]=T*O,e[2]=T*V,e[3]=T*P,e[4]=T*(h*Q+w*C+p*a-(f*Q+D*C+y*a)),e[5]=T*(f*t+S*C+m*a-(h*t+d*C+F*a)),e[6]=T*(D*t+d*Q+b*a-(w*t+S*Q+U*a)),e[7]=T*(y*t+F*Q+U*C-(p*t+m*Q+b*C)),e[8]=T*(k*B+K*E+v*l-(N*B+G*E+J*l)),e[9]=T*(N*I+M*E+R*l-(k*I+L*E+x*l)),e[10]=T*(G*I+L*B+q*l-(K*I+M*B+Y*l)),e[11]=T*(J*I+x*B+Y*E-(v*I+R*B+q*E)),e[12]=T*(G*s+J*u+N*n-(v*u+k*n+K*s)),e[13]=T*(x*u+k*i+L*s-(M*s+R*u+N*i)),e[14]=T*(M*n+Y*u+K*i-(q*u+G*i+L*n)),e[15]=T*(q*s+v*i+R*n-(x*n+Y*s+J*i)),e},transpose:(A,e=new Float32Array(16))=>(e[0]=A[0],e[1]=A[4],e[2]=A[8],e[3]=A[12],e[4]=A[1],e[5]=A[5],e[6]=A[9],e[7]=A[13],e[8]=A[2],e[9]=A[6],e[10]=A[10],e[11]=A[14],e[12]=A[3],e[13]=A[7],e[14]=A[11],e[15]=A[15],e),aim(A,e,t,i=new Float32Array(16)){const I=g.normalize(g.subtract(e,A)),Q=g.normalize(g.cross(t,I)),r=g.normalize(g.cross(I,Q));return i[0]=Q[0],i[1]=Q[1],i[2]=Q[2],i[3]=0,i[4]=r[0],i[5]=r[1],i[6]=r[2],i[7]=0,i[8]=I[0],i[9]=I[1],i[10]=I[2],i[11]=0,i[12]=A[0],i[13]=A[1],i[14]=A[2],i[15]=1,i},lookAt:(A,e,t,g)=>i.inverse(i.cameraAim(A,e,t,g),g),translation:([A,e,t],g=new Float32Array(16))=>(g[0]=1,g[1]=0,g[2]=0,g[3]=0,g[4]=0,g[5]=1,g[6]=0,g[7]=0,g[8]=0,g[9]=0,g[10]=1,g[11]=0,g[12]=A,g[13]=e,g[14]=t,g[15]=1,g),rotationX(A,e=new Float32Array(16)){const t=Math.cos(A),g=Math.sin(A);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t,e[6]=g,e[7]=0,e[8]=0,e[9]=-g,e[10]=t,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},rotationY(A,e=new Float32Array(16)){const t=Math.cos(A),g=Math.sin(A);return e[0]=t,e[1]=0,e[2]=-g,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=g,e[9]=0,e[10]=t,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},rotationZ(A,e=new Float32Array(16)){const t=Math.cos(A),g=Math.sin(A);return e[0]=t,e[1]=g,e[2]=0,e[3]=0,e[4]=-g,e[5]=t,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},scaling:([A,e,t],g=new Float32Array(16))=>(g[0]=A,g[1]=0,g[2]=0,g[3]=0,g[4]=0,g[5]=e,g[6]=0,g[7]=0,g[8]=0,g[9]=0,g[10]=t,g[11]=0,g[12]=0,g[13]=0,g[14]=0,g[15]=1,g),translate:(A,e,t)=>i.multiply(A,i.translation(e),t),rotateX:(A,e,t)=>i.multiply(A,i.rotationX(e),t),rotateY:(A,e,t)=>i.multiply(A,i.rotationY(e),t),rotateZ:(A,e,t)=>i.multiply(A,i.rotationZ(e),t),scale:(A,e,t)=>i.multiply(A,i.scaling(e),t)},I=i},3979:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{A4:()=>le,Dk:()=>Ee,Gp:()=>ue,MW:()=>Ce,Nl:()=>fe,OI:()=>se,VD:()=>Be,Vh:()=>Ie,_R:()=>ae,dU:()=>he,kO:()=>Qe,vH:()=>ne,wU:()=>ce});var i=t(4773);t(1285),t(4828),t(6973),t(2427),t(1669),t(6929),t(4936),t(8738),t(1432),t(1454),t(6402),t(9098),t(9494),t(7431),t(7591),t(6717),t(2164),t(6135),t(3793),t(8305),t(3456),t(8539),t(7679),t(2244),t(3509),t(9433),t(7382),t(1425),t(8773),t(3086),t(8771),t(8991),t(8502),t(9025),t(5558),t(4358),t(2436),t(7409),t(9268),t(5239);const A={constructor:null,type:0,flags:0,signature:void 0,name:void 0,byteSize:0,align:0,instance:{members:[],template:null},static:{members:[],template:null}},I={type:0,flags:0},Q={},r={},n={},B={},C={},o={},s={},E={},a={},c={},u={},l={},f={},h={},w={},D={},y={},p={},d={},S={},m={},F={},U={},b={},k={},N={},G={},K={},v={},J={},M={},L={},x={},R={},q={},Y={},H={},O={},V={},P={},T={},z={},Z={},j={},W={},X={},_={},$={},AA={},eA={},tA={},gA={},iA={},IA={},QA={},rA={},nA={},BA={},CA={},oA={},sA={},EA={},aA={},cA={},uA={},lA={},fA={},hA={},wA={},DA={},yA={},pA={},dA={},SA={},mA={},FA={},UA={},bA={},kA={},NA={},GA={},KA={},vA={},JA={},MA={},LA={},xA={},RA={},qA={},YA={},HA={},OA={},VA=A=>new Uint8Array(A),PA=VA(0),TA=VA(20),zA=VA(8),ZA=VA(16),jA=VA(68),WA=VA([232,3,0,0]),XA=Object.assign;XA(j,{memory:{array:PA},handle:27}),XA(W,{memory:{array:PA},handle:28}),XA(X,{memory:{array:PA},handle:25}),XA(_,{memory:{array:PA},handle:26}),XA($,{memory:{array:TA},handle:263092,slots:{0:AA,1:tA,2:iA,3:IA,4:QA}}),XA(AA,{structure:E,memory:{array:TA,offset:0,length:4},slots:{0:eA}}),XA(eA,{structure:s,memory:{array:PA}}),XA(tA,{structure:u,memory:{array:TA,offset:4,length:4},slots:{0:gA}}),XA(gA,{structure:c,memory:{array:PA}}),XA(iA,{structure:E,memory:{array:TA,offset:8,length:4},slots:{0:eA}}),XA(IA,{structure:E,memory:{array:TA,offset:12,length:4},slots:{0:eA}}),XA(QA,{structure:u,memory:{array:TA,offset:16,length:4},slots:{0:gA}}),XA(rA,{memory:{array:PA},handle:16}),XA(nA,{memory:{array:PA},handle:82}),XA(BA,{memory:{array:zA}}),XA(CA,{slots:{0:oA}}),XA(oA,{structure:y,memory:{array:PA},handle:61}),XA(sA,{memory:{array:PA},handle:64}),XA(EA,{memory:{array:PA},handle:65}),XA(aA,{memory:{array:ZA}}),XA(cA,{slots:{0:uA,1:lA,2:fA}}),XA(uA,{structure:S,memory:{array:PA},handle:61}),XA(lA,{structure:F,memory:{array:PA},handle:62}),XA(fA,{structure:F,memory:{array:PA},handle:63}),XA(hA,{memory:{array:jA}}),XA(wA,{memory:{array:PA},handle:17}),XA(DA,{memory:{array:PA},handle:18}),XA(yA,{memory:{array:PA},handle:19}),XA(pA,{memory:{array:PA},handle:20}),XA(dA,{memory:{array:PA},handle:21}),XA(SA,{memory:{array:PA},handle:22}),XA(mA,{memory:{array:PA},handle:23}),XA(FA,{memory:{array:PA},handle:24}),XA(UA,{slots:{0:bA,1:kA,2:NA,3:GA,4:KA,5:vA,6:JA,7:MA,8:LA,9:xA,10:RA,11:qA,12:YA,13:HA,14:OA}}),XA(bA,{structure:w,memory:{array:PA},handle:2}),XA(kA,{structure:L,memory:{array:PA},handle:3}),XA(NA,{structure:C,memory:{array:WA},const:!0}),XA(GA,{structure:R,memory:{array:PA},handle:4}),XA(KA,{structure:Y,memory:{array:PA},handle:5}),XA(vA,{structure:O,memory:{array:PA},handle:6}),XA(JA,{structure:P,memory:{array:PA},handle:7}),XA(MA,{structure:z,memory:{array:PA},handle:8}),XA(LA,{structure:R,memory:{array:PA},handle:9}),XA(xA,{structure:O,memory:{array:PA},handle:10}),XA(RA,{structure:R,memory:{array:PA},handle:11}),XA(qA,{structure:O,memory:{array:PA},handle:12}),XA(YA,{structure:O,memory:{array:PA},handle:13}),XA(HA,{structure:O,memory:{array:PA},handle:14}),XA(OA,{structure:c,memory:{array:PA},handle:15}),XA(Q,{...A,flags:1,signature:0xa310b7d01f11b8can,name:"void",align:1,instance:{members:[{...I,bitOffset:0,bitSize:0,byteSize:0,structure:Q}]}}),XA(r,{...A,flags:1,signature:0x61e77abe97c52d51n,name:"f32",byteSize:4,align:4,instance:{members:[{...I,type:4,bitOffset:0,bitSize:32,byteSize:4,structure:r}]}}),XA(n,{...A,type:9,flags:64,signature:0x9212e6749825a514n,name:"[_]f32",byteSize:4,align:4,instance:{members:[{...I,type:4,bitSize:32,byteSize:4,structure:r}]}}),XA(B,{...A,type:8,flags:188,signature:0xfc4e3831fa228a2en,name:"[]const f32",byteSize:8,align:4,instance:{members:[{...I,type:5,bitSize:64,byteSize:8,slot:0,structure:n}]}}),XA(C,{...A,flags:1,signature:0x68598db431a811a3n,name:"u32",byteSize:4,align:4,instance:{members:[{...I,type:3,bitOffset:0,bitSize:32,byteSize:4,structure:C}]}}),XA(o,{...A,type:12,flags:14,signature:0x09675e7a1ffd5485n,name:"Arg(fn ([]const f32, u32) void)",length:2,byteSize:12,align:4,instance:{members:[{...I,flags:1,bitOffset:96,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:B},{...I,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:C}]}}),XA(s,{...A,type:14,signature:0xe1a5d27f9960e020n,name:"fn ([]const f32, u32) void",length:2,instance:{members:[{...I,type:5,bitSize:96,byteSize:12,structure:o}],template:j},static:{members:[],template:W}}),XA(E,{...A,type:8,flags:204,signature:0x4d3813c518971895n,name:"*const fn ([]const f32, u32) void",byteSize:4,align:4,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,slot:0,structure:s}]}}),XA(a,{...A,type:12,flags:14,signature:0x0292a02ab8f8020cn,name:"Arg(fn ([]const f32) void)",length:1,byteSize:8,align:4,instance:{members:[{...I,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:B}]}}),XA(c,{...A,type:14,signature:0x47389ea7e1d3d337n,name:"fn ([]const f32) void",length:1,instance:{members:[{...I,type:5,bitSize:64,byteSize:8,structure:a}],template:X},static:{members:[],template:_}}),XA(u,{...A,type:8,flags:204,signature:0x4224bff88f0203f5n,name:"*const fn ([]const f32) void",byteSize:4,align:4,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,slot:0,structure:c}]}}),XA(l,{...A,type:2,flags:14,signature:0xe3bd70be86a1c0e7n,name:"WebGpuPrograms",byteSize:20,align:4,instance:{members:[{...I,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"draw_texture",structure:E},{...I,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"draw_triangle",structure:u},{...I,type:5,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"draw_msdf",structure:E},{...I,type:5,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"pick_texture",structure:E},{...I,type:5,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:4,name:"pick_triangle",structure:u}],template:$}}),XA(f,{...A,type:8,flags:204,signature:0x55f6507b4f6d4f28n,name:"*const WebGpuPrograms",byteSize:4,align:4,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,slot:0,structure:l}]}}),XA(h,{...A,type:12,flags:14,signature:0xeb0499d78c5f06c3n,name:"Arg(fn (*const WebGpuPrograms) void)",length:1,byteSize:4,align:4,instance:{members:[{...I,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:f}]}}),XA(w,{...A,type:14,signature:0xe04ead767a55cf67n,name:"fn (*const WebGpuPrograms) void",length:1,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,structure:h}],template:rA}}),XA(D,{...A,type:12,flags:10,signature:0x6d671df4e9418a6dn,name:"Arg(fn (Point, Point) Point)",length:2,byteSize:24,align:4,instance:{members:[{...I,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:p},{...I,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:1,name:"0",structure:p},{...I,type:5,flags:1,bitOffset:128,bitSize:64,byteSize:8,slot:2,name:"1",structure:p}]}}),XA(y,{...A,type:14,signature:0xd634f75c7a6c5553n,name:"fn (Point, Point) Point",length:2,instance:{members:[{...I,type:5,bitSize:192,byteSize:24,structure:D}],template:nA}}),XA(p,{...A,type:2,signature:0x3c18d236acd7668dn,name:"Point",byteSize:8,align:4,instance:{members:[{...I,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"x",structure:r},{...I,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"y",structure:r}],template:BA},static:{members:[{...I,type:5,flags:18,slot:0,name:"mid",structure:y}],template:CA}}),XA(d,{...A,type:12,flags:10,signature:0xd1d7035b6147a5d4n,name:"Arg(fn (PointUV, PointUV) Point)",length:2,byteSize:40,align:4,instance:{members:[{...I,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:p},{...I,type:5,flags:1,bitOffset:64,bitSize:128,byteSize:16,slot:1,name:"0",structure:U},{...I,type:5,flags:1,bitOffset:192,bitSize:128,byteSize:16,slot:2,name:"1",structure:U}]}}),XA(S,{...A,type:14,signature:0xbb0f8218864060e9n,name:"fn (PointUV, PointUV) Point",length:2,instance:{members:[{...I,type:5,bitSize:320,byteSize:40,structure:d}],template:sA}}),XA(m,{...A,type:12,flags:10,signature:0x0fa3968ee7482ac2n,name:"Arg(fn (PointUV, PointUV) f32)",length:2,byteSize:36,align:4,instance:{members:[{...I,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:r},{...I,type:5,flags:1,bitOffset:32,bitSize:128,byteSize:16,slot:1,name:"0",structure:U},{...I,type:5,flags:1,bitOffset:160,bitSize:128,byteSize:16,slot:2,name:"1",structure:U}]}}),XA(F,{...A,type:14,signature:0x3170ee9a1e36ef3an,name:"fn (PointUV, PointUV) f32",length:2,instance:{members:[{...I,type:5,bitSize:288,byteSize:36,structure:m}],template:EA}}),XA(U,{...A,type:2,signature:0x9d77c3c6a1a73d02n,name:"PointUV",byteSize:16,align:4,instance:{members:[{...I,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"x",structure:r},{...I,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"y",structure:r},{...I,type:4,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"u",structure:r},{...I,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"v",structure:r}],template:aA},static:{members:[{...I,type:5,flags:18,slot:0,name:"mid",structure:S},{...I,type:5,flags:18,slot:1,name:"angle_to",structure:F},{...I,type:5,flags:18,slot:2,name:"distance",structure:F}],template:cA}}),XA(b,{...A,type:1,flags:10,signature:0x4aba6e79b2a51d1dn,name:"[4]PointUV",length:4,byteSize:64,align:4,instance:{members:[{...I,type:5,bitSize:128,byteSize:16,structure:U}]}}),XA(k,{...A,type:2,flags:10,signature:0xa0d33217006c82a9n,name:"AssetZig",byteSize:68,align:4,instance:{members:[{...I,type:5,flags:1,bitOffset:0,bitSize:512,byteSize:64,slot:0,name:"points",structure:b},{...I,type:3,flags:1,bitOffset:512,bitSize:32,byteSize:4,slot:1,name:"texture_id",structure:C}],template:hA}}),XA(N,{...A,type:9,flags:10,signature:0x11c865473620af61n,name:"[_]AssetZig",byteSize:68,align:4,instance:{members:[{...I,type:5,bitSize:544,byteSize:68,structure:k}]}}),XA(G,{...A,type:8,flags:60,signature:0xcae982de4df134f9n,name:"[]AssetZig",byteSize:8,align:4,instance:{members:[{...I,type:5,bitSize:64,byteSize:8,slot:0,structure:N}]}}),XA(K,{...A,type:12,flags:14,signature:0x5a346ed510be0421n,name:"Arg(fn ([]AssetZig) void)",length:1,byteSize:8,align:4,instance:{members:[{...I,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:G}]}}),XA(v,{...A,type:14,signature:0xe4b315df8532c4cdn,name:"fn ([]AssetZig) void",length:1,instance:{members:[{...I,type:5,bitSize:64,byteSize:8,structure:K}],template:wA},static:{members:[],template:DA}}),XA(J,{...A,type:8,flags:204,signature:0x5f373919b4d68f19n,name:"*const fn ([]AssetZig) void",byteSize:4,align:4,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,slot:0,structure:v}]}}),XA(M,{...A,type:12,flags:14,signature:0xbc781ae065eb0cf9n,name:"Arg(fn (*const fn ([]AssetZig) void) void)",length:1,byteSize:4,align:4,instance:{members:[{...I,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:J}]}}),XA(L,{...A,type:14,signature:0x4dc72d4c2f1365ebn,name:"fn (*const fn ([]AssetZig) void) void",length:1,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,structure:M}],template:yA}}),XA(x,{...A,type:12,signature:0xb1afac27f34003f4n,name:"Arg(fn (f32, f32) void)",length:2,byteSize:8,align:4,instance:{members:[{...I,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:r},{...I,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:r}]}}),XA(R,{...A,type:14,signature:0x63bac1760494db20n,name:"fn (f32, f32) void",length:2,instance:{members:[{...I,type:5,bitSize:64,byteSize:8,structure:x}],template:pA}}),XA(q,{...A,type:12,flags:10,signature:0xc762e73c81793f51n,name:"Arg(fn ([4]PointUV, u32) void)",length:2,byteSize:68,align:4,instance:{members:[{...I,flags:1,bitOffset:544,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:5,flags:1,bitOffset:0,bitSize:512,byteSize:64,slot:1,name:"0",structure:b},{...I,type:3,flags:1,bitOffset:512,bitSize:32,byteSize:4,slot:2,name:"1",structure:C}]}}),XA(Y,{...A,type:14,signature:0x0e773631f1483b71n,name:"fn ([4]PointUV, u32) void",length:2,instance:{members:[{...I,type:5,bitSize:544,byteSize:68,structure:q}],template:dA}}),XA(H,{...A,type:12,signature:0xfa22378c989ae19dn,name:"Arg(fn () void)",length:0,align:1,instance:{members:[{...I,flags:1,bitOffset:0,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q}]}}),XA(O,{...A,type:14,signature:0xe3c3b022a28cd076n,name:"fn () void",length:0,instance:{members:[{...I,type:5,bitSize:0,byteSize:0,structure:H}],template:SA}}),XA(V,{...A,type:12,flags:10,signature:0xebd988516fdd5651n,name:"Arg(fn (u32, [4]PointUV) void)",length:2,byteSize:68,align:4,instance:{members:[{...I,flags:1,bitOffset:544,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:C},{...I,type:5,flags:1,bitOffset:32,bitSize:512,byteSize:64,slot:2,name:"1",structure:b}]}}),XA(P,{...A,type:14,signature:0xb6b0d32aa9cdf62cn,name:"fn (u32, [4]PointUV) void",length:2,instance:{members:[{...I,type:5,bitSize:544,byteSize:68,structure:V}],template:mA}}),XA(T,{...A,type:12,signature:0x6364608841bf263en,name:"Arg(fn (u32) void)",length:1,byteSize:4,align:4,instance:{members:[{...I,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:C}]}}),XA(z,{...A,type:14,signature:0x956e45a1c96ff5e6n,name:"fn (u32) void",length:1,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,structure:T}],template:FA}}),XA(Z,{...A,type:2,flags:4096,signature:0x239ab4f327f6ac1bn,name:"index",align:1,static:{members:[{...I,type:5,flags:2,slot:0,name:"connect_web_gpu_programs",structure:w},{...I,type:5,flags:2,slot:1,name:"connect_on_asset_update_callback",structure:L},{...I,type:5,flags:2,slot:2,name:"ASSET_ID_TRESHOLD",structure:C},{...I,type:5,flags:2,slot:3,name:"init_state",structure:R},{...I,type:5,flags:2,slot:4,name:"add_asset",structure:Y},{...I,type:5,flags:2,slot:5,name:"remove_asset",structure:O},{...I,type:5,flags:2,slot:6,name:"update_points",structure:P},{...I,type:5,flags:2,slot:7,name:"on_update_pick",structure:z},{...I,type:5,flags:2,slot:8,name:"on_pointer_down",structure:R},{...I,type:5,flags:2,slot:9,name:"on_pointer_up",structure:O},{...I,type:5,flags:2,slot:10,name:"on_pointer_move",structure:R},{...I,type:5,flags:2,slot:11,name:"canvas_render",structure:O},{...I,type:5,flags:2,slot:12,name:"picks_render",structure:O},{...I,type:5,flags:2,slot:13,name:"destroy_state",structure:O},{...I,type:5,flags:2,slot:14,name:"import_icons",structure:c}],template:UA}});const _A=[Q,r,n,B,C,o,s,E,a,c,u,l,f,h,w,D,y,p,d,S,m,F,U,b,k,N,G,K,v,J,M,L,x,R,q,Y,H,O,V,P,T,z,Z],$A=Z,Ae={runtimeSafety:!1,littleEndian:!0,libc:!1},ee=(0,i.M)();ee.recreateStructures(_A,Ae);const te=(async()=>{const A=atob("AGFzbQEAAAABmwEYYAR/f39/AX9gAn9/AGADf39/AGAFf39/f38AYAZ/f39/f38Bf2ABfwBgAn19AGAAAGACf38BfWACf38Bf2AEf39/fwBgAX8Bf2AAAX9gBH9/fn8AYAN/f38Bf2ACfX0BfWABfQF9YAZ/f399f30AYAV/f39/fwF/YAV/fn5+fgBgAnx/AXxgAn1/AX9gA3x8fAF8YAN8fH8BfALJAxYDZW52Bm1lbW9yeQIABQNlbnYZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQFwAFsDZW52CV9yZWFkU2xvdAAJA2Vudgpfd3JpdGVTbG90AAIDZW52EF9kZWZpbmVTdHJ1Y3R1cmUACwNlbnYJX2Nhc3RWaWV3AAADZW52D19jcmVhdGVUZW1wbGF0ZQALA2Vudg9fYXR0YWNoVGVtcGxhdGUAAgNlbnYNX2VuZFN0cnVjdHVyZQAFA2VudhBfYmVnaW5EZWZpbml0aW9uAAwDZW52Dl9jYXB0dXJlU3RyaW5nAAkDZW52DV9pbnNlcnRTdHJpbmcAAgNlbnYOX2luc2VydEludGVnZXIACgNlbnYRX2luc2VydEJpZ0ludGVnZXIADQNlbnYPX2JlZ2luU3RydWN0dXJlAAsDZW52DV9pbnNlcnRPYmplY3QAAgNlbnYNX2F0dGFjaE1lbWJlcgACA2VudgxfY2FwdHVyZVZpZXcADgNlbnYNX2hhbmRsZUpzQ2FsbAAAA2Vudg1fZGlzcGxheVBhbmljAAEDZW52EF9hbGxvY2F0ZUpzVGh1bmsACQNlbnYMX2ZyZWVKc1RodW5rAAkDlQGTAQcMCQEFDgUFBQUFBgUBBQcFAQUFBgcGBwcHBQECCA8QCAsBCg4CEQsFBQUJBQkKCQUJCQkJCQUJCgEBAQEBAQEBAQEBAQEBAQEFAgUFAQkKAQEBAQEBAQEBAQEBAQEBAQUJCQECAQICAgICAgICAgICAgICAgIFCgkHCQAEBAMCDhIJCQcMAAQEAxMUEBUSFhcPEAYIAX8BQYCAEAsHuAEKD2dldEZhY3RvcnlUaHVuawAVCmluaXRpYWxpemUAjQEVYWxsb2NhdGVTY3JhdGNoTWVtb3J5AI4BEWZyZWVTY3JhdGNoTWVtb3J5AJMBCHJ1blRodW5rAJQBEHJ1blZhcmlhZGljVGh1bmsA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ahBAIAEvAdgHIgINCCABIAEoAtQHNgKMCCABQoCAgIAQNwKECCABQsCAgIAQNwL8ByABQoCEgIAQNwL0ByABQoCAgIAQNwLsByABQQE2AugHIAFChoCAgNAANwLgByABQdWAEDYC3AcgCiABQdwHakEAEBkiAkH//wNxDQggAUGQCGoQHSABLwGUCCICDQggASABKAKQCDYCyAggAUKBgICAEDcCwAggAUKEgICAEDcCuAggAUKggICAEDcCsAggAUKAhICAEDcCqAggAUEBNgKkCCABQoqAgIAwNwKcCCABQdmDEDYCmAggCiABQZgIakEAEBkiAkH//wNxDQgCQEHwiBBBxABBARAPIgINACAAQQw7AQQMDAsgAhAEIgJFDQcgCiACQQAQBQJAAkAgChACIgINAEHshBAhAgwBCyABIAI2ApgIIAFBADsBnAggAUGYCGohAgsgAi8BBCICDQggChAGCyABIAo2ApQHIAFCADcCjAcgAULEgICAEDcChAcgAUKghICAEDcC/AYgAUIANwL0BiABQgU3AuwGIAFCADcC5AYgCSABQeQGakEAEBkiAkH//wNxDQcCQAJAIAkQAiICDQBB7IQQIQIMAQsgASACNgKYCCABQQA7AZwIIAFBmAhqIQILIAIvAQQiAg0HIAkQBgsgASAJNgKkBiABQoCAgIAQNwKcBiABQoiAgIAQNwKUBiABQsCAgIAQNwKMBiABQgA3AoQGIAFCBTcC/AUgAUIANwL0BSAIIAFB9AVqQQAQGSICQf//A3ENBgJAAkAgCBACIgINAEHshBAhAgwBCyABIAI2ApgIIAFBADsBnAggAUGYCGohAgsgAi8BBCICDQYgCBAGCyABIAg2ArQFIAFCgYCAgBA3AqwFIAFCiICAgBA3AqQFIAFCwICAgBA3ApwFIAFCgICAgBA3ApQFIAFBATYCkAUgAUKBgICA0AA3AogFIAFB34QQNgKEBSAHIAFBhAVqQQAQGSICQf//A3ENBQJAAkAgBxACIgINAEHshBAhAgwBCyABIAI2ApgIIAFBADsBnAggAUGYCGohAgsgAi8BBCICDQUgBxAGCyABIAc2AowEIAFCADcChAQgAUKIgICAEDcC/AMgAULAgICAEDcC9AMgAUIANwLsAyABQgU3AuQDIAFCADcC3AMgBiABQdwDakEAEBkiAkH/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aCABQgU3AmAgAUIANwJYIAIgAUHYAGpBABAZIgNB//8DcUUNAQsgACADOwEEDAILAkACQCACEAIiAw0AQeyEECEDDAELIAEgAzYCWCABQQA7AVwgAUHYAGohAwsCQCADLwEEIgNFDQAgACADOwEEDAILIAIQBiABIAI2AkggAUEAOwFMIAFByABqIQILIAAgAikDADcCAAsgAUGQAWokAAsOACABKAIAIAARBQBBAAuNAwEDfyMAQZABayIBJAACQAJAAkBBAEE2EAAiAkUNACABIAI2AgggAUEAOwEMIAFBCGohAgwBCyABQoGAgICgATcDICABQgA3AxggAUGEgAQ2AjggAULAgICAEDcDMCABQoSAgIAQNwMoIAFCnbqUlZvPm93KADcDECABQcAAaiABQRBqEBcCQCABLwFEIgJFDQAgACACOwEEDAILQQBBNiABKAJAIgIQASABQdAAahBdAkACQCABLwFUIgMNACABIAEoAlA2AogBIAFCADcCgAEgAUKQgICAEDcCeCABQoCBgIAQNwJwIAFCADcCaCABQgU3AmAgAUIANwJYIAIgAUHYAGpBABAZIgNB//8DcUUNAQsgACADOwEEDAILAkACQCACEAIiAw0AQeyEECEDDAELIAEgAzYCWCABQQA7AVwgAUHYAGohAwsCQCADLwEEIgNFDQAgACADOwEEDAILIAIQBiABIAI2AkggAUEAOwFMIAFByABqIQILIAAgAikDADcCAAsgAUGQAWokAAsTACABKAIAIAEoAgQgABEBAEEAC4sGAQJ/IwBBEGsiBCQAAkACQAJAIAINAAJAQQAoAqyhEA0AQayhECECQQAhBQwCCwJAQQAoArChEA0AQbChECECQQEhBQwCCwJAQQAoArShEA0AQbShECECQQIhBQwCCwJAQQAoArihEA0AQbihECECQQMhBQwCCwJAQQAoAryhEA0AQbyhECECQQQhBQwCCwJAQQAoAsChEA0AQcChECECQQUhBQwCCwJAQQAoAsShEA0AQcShECECQQYhBQwCCwJAQQAoAsihEA0AQcihECECQQchBQwCCwJAQQAoAsyhEA0AQcyhECECQQghBQwCCwJAQQAoAtChEA0AQdChECECQQkhBQwCCwJAQQAoAtShEA0AQdShECECQQohBQwCCwJAQQAoAtihEA0AQdihECECQQshBQwCCwJAQQAoAtyhEA0AQdyhECECQQwhBQwCCwJAQQAoAuChEA0AQeChECECQQ0hBQwCCwJAQQAoAuShEA0AQeShECECQQ4hBQwCCwJAQQAoAuihEEUNAEHYiBAhAwwDC0HooRAhAkEPIQUMAQtBACECAkAgA0EdRg0AAkAgA0EeRw0AQQEhAgwBCwJAIANBH0cNAEECIQIMAQsCQCADQSBHDQBBAyECDAELAkAgA0EhRw0AQQQhAgwBCwJAIANBIkcNAEEFIQIMAQsCQCADQSNHDQBBBiECDAELAkAgA0EkRw0AQQchAgwBCwJAIANBJUcNAEEIIQIMAQsCQCADQSZHDQBBCSECDAELAkAgA0EnRw0AQQohAgwBCwJAIANBKEcNAEELIQIMAQsCQCADQSlHDQBBDCECDAELAkAgA0EqRw0AQQ0hAgwBCwJAIANBK0cNAEEOIQIMAQsCQCADQSxGDQBB4IgQIQMMAwtBDyECCyACQQJ0QayhEGoiAygCACECIANBADYCACAEQQA7AQwgBCACNgIIIARBCGohAwwBCyACIAM2AgAgBEEAOwEEIAQgBUECdEHYhxBqKAIANgIAIAQhAwsgACADKQIANwIAIARBEGokAAsOACABKAIAIAARBQBBAAuMAwEDfyMAQZABayIBJAACQAJAAkBBAEElEAAiAkUNACABIAI2AgggAUEAOwEMIAFBCGohAgwBCyABQoCAgIAQNwMgIAFCADcDGCABQYSABDYCOCABQoSAgIAQNwMwIAFCADcDKCABQtHalL7p197z4QA3AxAgAUHAAGogAUEQahAXAkAgAS8BRCICRQ0AIAAgAjsBBAwCC0EAQSUgASgCQCICEAEgAUHQAGoQRAJAAkAgAS8BVCIDDQAgASABKAJQNgKIASABQgA3AoABIAFChICAgBA3AnggAUKggICAEDcCcCABQoCAgIAQNwJoIAFCBDcCYCABQgA3AlggAiABQdgAakEAEBkiA0H//wNxRQ0BCyAAIAM7AQQMAgsCQAJAIAIQAiIDDQBB7IQQIQMMAQsgASADNgJYIAFBADsBXCABQdgAaiEDCwJAIAMvAQQiA0UNACAAIAM7AQQMAgsgAhAGIAEgAjYCSCABQQA7AUwgAUHIAGohAgsgACACKQMANwIACyABQZABaiQACxMAIAEqAgAgASoCBCAAEQYAQQALvwEBAX8jAEHQAGsiAiQAIAJBCGpBOGogAUE4aikCADcDACACQQhqQTBqIAFBMGopAgA3AwAgAkEIakEoaiABQShqKQIANwMAIAJBCGpBIGogAUEgaikCADcDACACQQhqQRhqIAFBGGopAgA3AwAgAkEIakEQaiABQRBqKQIANwMAIAJBCGpBCGogAUEIaikCADcDACACIAEpAgA3AwggAiABKAJAIgE2AkggAkEIaiABIAARAQAgAkHQAGokAEEACwkAIAARBwBBAAu/AQECfyMAQdAAayICJAAgAkEMakEMaiABQQxqKQIANwIAIAJBDGpBFGogAUEUaikCADcCACACQQxqQRxqIAFBHGopAgA3AgAgAkEMakEkaiABQSRqKQIANwIAIAJBDGpBLGogAUEsaikCADcCACACQQxqQTRqIAFBNGopAgA3AgAgAkEMakE8aiABQTxqKQIANwIAIAIgASgCACIDNgIMIAIgASkCBDcCECADIAJBEGogABEBACACQdAAaiQAQQALDgAgASgCACAAEQUAQQALlgUBBH8jAEGAAmsiASQAAkACQAJAQQBBJBAAIgJFDQAgASACNgIIIAFBADsBDCABQQhqIQIMAQsgAUKIgICAwBc3AyAgAUIANwMYIAFBhIAENgI4IAFCiICAgBA3AzAgAUIANwMoIAFCrpSK0Z+Gjqd8NwMQIAFBwABqIAFBEGoQFwJAIAEvAUQiAkUNACAAIAI7AQQMAgtBAEEkIAEoAkAiAhABAkACQAJAQQBBJhAAIgMNACABQomAgICACDcDmAEgAUIANwOQASABQYSABDYCsAEgAUKEgICAEDcDqAEgAUIANwOgASABQpTKlsHJzrmJkn83A4gBIAFBuAFqIAFBiAFqEBcgAS8BvAEiBA0BQQBBJiABKAK4ASIDEAEgAUHAAWoQRCABLwHEASIEDQEgASABKALAATYC+AEgAUIANwLwASABQoSAgIAQNwLoASABQqCAgIAQNwLgASABQgA3AtgBIAFCBDcC0AEgAUIANwLIASADIAFByAFqQQAQGSIEQf//A3ENAQJAAkAgAxACIgQNAEHshBAhBAwBCyABIAQ2AsgBIAFBADsBzAEgAUHIAWohBAsgBC8BBCIEDQEgAxAGCyABIAM2AoQBIAFCgICAgBA3AnwgAUKIgICA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TQ0CDAELIAAoAgAgASACIAMgBCAFIAAoAgQoAgQRBAAhAQsgAQ8LIAAgBjYCCEEBC5ABAQJ/AkACQCAAQQxqKAIAIgYgAUsNACAAQRBqKAIAIgcgBmogAU0NAAJAAkAgASACaiAGIAAoAggiBWpHDQAgBSAEIAJraiEGIAQgAk0NASAGIAdNDQFBAA8LIAQgAk0NAkEADwsgACAGNgIIIAEPCyAAKAIAIAEgAiADIAQgBSAAKAIEKAIIEQQAIQELIAELXgEBfwJAAkAgAEEMaigCACIFIAFLDQAgAEEQaigCACAFaiABTQ0AIAEgAmogBSAAKAIIIgFqRw0BIAAgASACazYCCA8LIAAoAgAgASACIAMgBCAAKAIEKAIMEQMACwu5AQMBfwF+AX8jAEEQayIDJAACQEEALQC4ohANAEEAKQO4iRAiBKdBgIAEQQBBACAEQiCIpygCABEAACEFQQBBAToA1KIQQQBBgIAENgLQohBBACAFNgLMohBBACAENwPAohBBAEEBOgC4ohBBAEHAiRA2ArSiEEEAQcCiEDYCsKIQQQBBADYCyKIQC0EAKQOwohAiBKcgACABIAJBASACQQFLG2hBACAEQiCIpygCDBEDACADQRBqJAALGgAgASACQarVqtV6IAIbIAARCQBB//8DcUULJwAgASACQarVqtV6IAIbIANBqtWq1XogAhsgBCAAEQAAQf//A3FFC84EAgh/AX4jAEEQayICJABBACEDQQAtAOyhECEEIAJBAEEAIAEgABEKAAJAAkACQCACLwEEDQAgAigCACEDDAELIARBAXFFDQEgACABEBIhAwtBAC0A7KEQRQ0AIANFDQACQAJAAkACQEEAKALEoBAiBUEAKALAoBAiBksNACAFIQADQEF/IABBAXYgAGpBCGoiBCAEIABJGyIAIAZNDQALQQAhBEEAKAK8oBAhByAFDQFBACEGDAILQQAoArygECEEDAILQQAoAsygECEGQQAoAsigECEIIAIgAEH/////AUs6AAgCQCAAQYCAgIACSQ0AQQAhBEEAIQYMAQtBACEEAkAgCCAHIAVBA3RBAiAAQQN0IglBACAGKAIIEQQAIgYNAEEAIQYMAQsgBkGq1arVeiAJGyEEIABB/////wFxQQAgCRshBgsCQCAERQ0AQQAgBDYCvKAQQQAgBjYCxKAQDAELQQApAsigECEKIAIgAEH/////AUs6AAwgAEGAgICAAk8NAQJAAkAgAEEDdCIEDQBBfCEEDAELIAqnIARBAkEAIApCIIinKAIAEQAAIgRFDQILAkBBACgCwKAQIgZFDQAgBEEAKAK8oBAgBkEDdPwKAAALAkAgBUEDdCIGRQ0AQQApAsigECIKpyAHQarVqtV6IAUbIAZBAkEAIApCIIinKAIMEQMAC0EAIAA2AsSgEEEAIAQ2ArygEAtBAEEAKALAoBAiAEEBajYCwKAQIAQgAEEDdGogA61CIIYgAa2ENwIACyACQRBqJAAgAwvqAQIFfwF+IwBBEGsiAiQAQQAhA0EALQDsoRAhBCACQQhqQQBBASABIAARCgACQAJAAkAgAi8BDA0AIAIoAgghAwwBCyAEQQFxRQ0BIAAgARATIQMLQQAtAOyhEEUNACADRQ0AQQAhBEEAKALAoBAiBUUNAEEAKAK8oBAiBiEAA0ACQCAAQQRqKAIAIAFHDQACQCAFQX9qIgEgBEcNAEEAIAQ2AsCgEAwDCyAGIAVBA3RqQXhqKQIAIQdBACABNgLAoBAgACAHNwIADAILIABBCGohACAFIARBAWoiBEcNAAsLIAJBEGokACADCwIACwQAQQEL6AIBA38jAEEQayIEJAAgBCACQR9xOgAPAkACQEF/IAFBBGoiBSAFIAFJGyIBQQEgAnQiAiABIAJLGyIBQX9qZyICDQBBACECDAELAkBCAUEgIAJrrUL//wODhqciBWhBfWoiAkENSQ0AAkBCAUEgIAFBg4AEakEQdkF/amdrrUL//wODhqciAWhBAnRBwKMQaiIFKAIAIgJFDQAgBSABQRB0IAJqQXxqKAIANgIADAILQQAgAUAAIgJBEHQgAkF/RhshAgwBCwJAIAJBAnQiBkHYohBqIgEoAgAiAkUNACABIAUgAmpBfGooAgA2AgAMAQsCQCAGQYyjEGoiASgCACICQf//A3ENAEEAIQICQAJAQQAoAsCjECIGRQ0AQQAgBigC/P8DNgLAoxAgBiECDAELQQFAACIGQQFqQQJJDQIgBkEQdCECCyABIAIgBWo2AgAMAQsgASACIAVqNgIACyAEQRBqJAAgAgvVAQECfyMAQRBrIgYkACAGIANBH3E6AA9BfyAEQQRqIgcgByAESRsiBEEBIAN0IgMgBCADSxshBAJAAkACQEIBQSAgAkEEaiICIAMgAiADSxsiA0F/amdrrUL//wODhqciAmhBfWpBDEsNACAEQX9qZyIDDQFBACEDDAILQgFBICADQYOABGpBEHZBf2pna61C//8Dg4anQgFBICAEQYOABGpBEHZBf2pna61C//8Dg4anRiEDDAELIAJCAUEgIANrrUL//wODhqdGIQMLIAZBEGokACADC9QBAQJ/IwBBEGsiBiQAIAYgA0EfcToAD0F/IARBBGoiByAHIARJGyIEQQEgA3QiAyAEIANLGyEEAkACQAJAQgFBICACQQRqIgIgAyACIANLGyIDQX9qZ2utQv//A4OGpyICaEF9akEMSw0AIARBf2pnIgNFDQEgAkIBQSAgA2utQv//A4OGp0cNAQwCC0IBQSAgA0GDgARqQRB2QX9qZ2utQv//A4OGp0IBQSAgBEGDgARqQRB2QX9qZ2utQv//A4OGp0YNAQtBACEBCyAGQRBqJAAgAQu2AQECfyMAQRBrIgUkACAFIANBH3E6AA8CQAJAQgFBICACQQRqIgJBASADdCIDIAIgA0sbIgNBf2pna61C//8Dg4anIgJoQX1qIgZBDU8NACAGQQJ0QdiiEGohAyABIAJqQXxqIQIMAQtCAUEgIANBg4AEakEQdkF/amdrrUL//wODhqciAmhBAnRBwKMQaiEDIAEgAkEQdGpBfGohAgsgAiADKAIANgIAIAMgATYCACAFQRBqJAALdQEBfiAAIAQgAX4gAiADfnwgA0IgiCICIAFCIIgiBH58IANC/////w+DIgMgAUL/////D4MiAX4iBUIgiCADIAR+fCIDQiCIfCADQv////8PgyACIAF+fCIBQiCIfDcDCCAAIAFCIIYgBUL/////D4OENwMAC9QCAgN+An8CQAJAAkAgACAAYg0AIAC9IgJC////////////AINCgICAgICAgPj/AFoNACACQoCAgICAgICAgH+DIQNBCyACQgGGIgR5p2sgBEI1iKcgBEKAgICAgICAEFQbIQUCQCABQQBIDQBB/g8gBWsgAUgNAgJAIAUgAWoiBkEBTg0AIAIgAUE/ca2GIAOEvw8LAkAgBUEASg0AIAJBASAFa62GQv////////8HgyAGrUI0hoQgA4S/DwsgAa1CNIYgAny/DwtBACABayEGQQAgBWsgAUgNAgJAQUwgBWsg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IBGaIBEgExs5AwALIAVBsARqJAAgH0EHcQvmCAMDfgV/AnwCQAJAAkAgAL0iA0L///////////8Ag0L/////////9/8AVg0AIAG9IgRC////////////AINCgICAgICAgPj/AFQNAQsgACABoiACoCECDAELIAK9IgVC////////////AINC//////////f/AFYNAAJAAkAgAEQAAAAAAAAAAGENACABRAAAAAAAAAAAYg0BCyAAIAGiIAKgDwsCQCACRAAAAAAAAAAAYg0AIAAgAaIPC0EAIQYCQAJAIANCNIinIgdB/w9xIghB/w9HDQBBACEHDAELAkACQCAIDQAgA0L/////////B4NQRQ0BQQAhBwwCCyADQv////////+HgH+DQoCAgICAgIDwP4QhAyAHQf8PcUGCeGohBwwBCyADQoCAgICAgICAgH+DQgAgAyADQgyGeaciCEEBaq2GQv////////8HgyAIQT9xQTJLG4RCgICAgICAgPA/hCEDQYJ4IAhrIQcLAkAgBEI0iKciCUH/D3EiCEH/D0YNAAJAIAgNACAEQv////////8Hg1ANASAEQoCAgICAgICAgH+DQgAgBCAEQgyGeaciBkEBaq2GQv////////8HgyAGQT9xQTJLG4RCgICAgICAgPA/hCEEQYJ4IAZrIQYMAQsgBEL/////////h4B/g0KAgICAgICA8D+EIQQgCUH/D3FBgnhqIQYLQQAhCAJAIAVCNIinIgpB/w9xIglB/w9GDQACQCAJDQAgBUL/////////B4NQDQEgBUKAgICAgICAgIB/g0IAIAUgBUIMhnmnIghBAWqthkL/////////B4MgCEE/cUEySxuEQoCAgICAgIDwP4QhBUGCeCAIayEIDAELIAVC/////////4eAf4NCgICAgICAgPA/hCEFIApB/w9xQYJ4aiEICyADvyECIAS/IQACQAJAIAYgB2oiBiAIayIIQesATg0AIAW/QQAgCGsQnwEhCwwBCyAFQoCAgICAgICAgH+DQoCAgICAgIAIhL8hCwsgAiACRAAAAAIAAKBBoiIBIAIgAaGgIgGhIgwgACAARAAAAAIAAKBBoiICIAAgAqGgIgKhIgCiIAwgAqIgASAAoqAiACABIAKiIgIgAiAAoCIAoaCgIQECQCAAIAugIgJEAAAAAAAAAABi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"),e=new Uint8Array(A.length);for(let t=0;t<A.length;t++)e[t]=A.charCodeAt(t);return await new Promise((A=>setTimeout(A,0))),e.buffer})();ee.loadModule(te,{memoryInitial:5,tableInitial:91,multithreaded:!1}),ee.linkVariables(!1);const{constructor:ge}=$A,ie=ee.getSpecialExports(),{connect_web_gpu_programs:Ie,connect_on_asset_update_callback:Qe,ASSET_ID_TRESHOLD:re,init_state:ne,add_asset:Be,remove_asset:Ce,update_points:oe,on_update_pick:se,on_pointer_down:Ee,on_pointer_up:ae,on_pointer_move:ce,canvas_render:ue,picks_render:le,destroy_state:fe,import_icons:he}=ge;await ie.init(),g()}catch(A){g(A)}}),1)},6561:(A,e,t)=>{A.exports=t.p+"efb91b2d75cccaa6.png"},1285:(A,e,t)=>{var g=t(1388),i=t(6560),I=(t(4540),t(8e3));(0,i.co)({init(){this.accessorCache=new Map},getAccessor(A,e){const{type:t,bitSize:i,bitOffset:Q,byteSize:r}=e,n=[],B=void 0===r&&(7&i||7&Q);B&&n.push("Unaligned");let C=g.hQ[t];i>32&&(t===g.Z9.Int||t===g.Z9.Uint)&&(C=i<=64?`Big${C}`:`Jumbo${C}`),n.push(C,`${t===g.Z9.Bool&&r?8*r:i}`),B&&n.push(`@${Q}`);const o=A+n.join("");let s=DataView.prototype[o];if(s)return s;if(s=this.accessorCache.get(o),s)return s;for(;n.length>0;){const t=`getAccessor${n.join("")}`;if(s=this[t]?.(A,e))break;n.pop()}if(!s)throw new Error(`No accessor available: ${o}`);return(0,I.n8)(s,"name",(0,I.vQ)(o)),this.accessorCache.set(o,s),s}})},5239:(A,e,t)=>{var g=t(1388);(0,t(6560).co)({getAccessorInt(A,e){const{bitSize:t,byteSize:i}=e;if(i){const e=this.getAccessor(A,{type:g.Z9.Uint,bitSize:8*i,byteSize:i}),I=2**(t-1),Q=I-1;return"get"===A?function(A,t){const g=e.call(this,A,t);return(g&Q)-(g&I)}:function(A,t,g){const i=t<0?I|t&Q:t&Q;e.call(this,A,i,g)}}}})},1388:(A,e,t)=>{t.d(e,{AD:()=>Q,EK:()=>i,F7:()=>u,Q9:()=>c,UT:()=>B,Z9:()=>s,e2:()=>o,ev:()=>g,hQ:()=>E,pK:()=>a,sU:()=>n,tv:()=>C,uE:()=>r,yi:()=>I});const g={Primitive:0,Array:1,Struct:2,Union:3,ErrorUnion:4,ErrorSet:5,Enum:6,Optional:7,Pointer:8,Slice:9,Vector:10,Opaque:11,ArgStruct:12,VariadicStruct:13,Function:14},i=Object.keys(g),I={HasValue:1,HasObject:2,HasPointer:4,HasSlot:8},Q={IsSize:16},r={HasSentinel:16,IsString:32,IsTypedArray:64,IsClampedArray:128},n={IsExtern:16,IsPacked:32,IsIterator:64,IsTuple:128,IsAllocator:256,IsPromise:512,IsGenerator:1024,IsAbortSignal:2048,IsOptional:4096},B={HasLength:16,IsMultiple:32,IsSingle:64,IsConst:128,IsNullable:256},C={HasSentinel:16,IsString:32,IsTypedArray:64,IsClampedArray:128,IsOpaque:256},o={HasOptions:16,IsThrowing:32,IsAsync:64},s={Void:0,Bool:1,Int:2,Uint:3,Float:4,Object:5,Type:6,Literal:7,Null:8,Undefined:9,Unsupported:10},E=Object.keys(s),a={IsRequired:1,IsReadOnly:2,IsPartOfSet:4,IsSelector:8,IsMethod:16,IsSentinel:32,IsBackingInt:64},c={OK:0,Failure:1,Deadlock:2,Disabled:3},u={IsInactive:1,IsImmutable:2,IgnoreUncreated:4,IgnoreInactive:8,IgnoreArguments:16,IgnoreRetval:32}},6560:(A,e,t)=>{t.d(e,{NP:()=>Q,co:()=>I});var g=t(8e3);const i={name:"",mixins:[],constructor:null};function I(A){return i.constructor||i.mixins.push(A),A}function Q(){return i.constructor||(i.constructor=function(A,e){const t=[],i=function(){for(const A of t)A.call(this)},{prototype:I}=i;(0,g.n8)(i,"name",(0,g.vQ)(A));for(const A of e)for(let[e,i]of Object.entries(A))if("init"===e)t.push(i);else{if("function"==typeof i);else{let A=I[e];if(void 0!==A)if(A?.constructor===Object)i=Object.assign({...A},i);else if(A!==i)throw new Error(`Duplicate property: ${e}`)}(0,g.n8)(I,e,(0,g.vQ)(i))}return i}(i.name,i.mixins),i.name="",i.mixins=[]),i.constructor}},4762:(A,e,t)=>{t.d(e,{BC:()=>Q,BY:()=>d,G9:()=>D,Jc:()=>J,L2:()=>s,O0:()=>r,Pd:()=>p,QB:()=>m,Qm:()=>w,SB:()=>c,UQ:()=>b,Uv:()=>y,V0:()=>R,Vp:()=>k,Y8:()=>E,Zb:()=>C,_L:()=>a,_l:()=>U,ci:()=>n,ck:()=>G,d_:()=>M,is:()=>o,nz:()=>l,qG:()=>f,qx:()=>x,t7:()=>B,v2:()=>K,vp:()=>v,x1:()=>F,xH:()=>u,xp:()=>S,zy:()=>h});var g=t(1388),i=t(4540),I=t(8e3);Error;class Q extends SyntaxError{constructor(A){super(`Cannot convert ${A} to an Int`)}}class r extends TypeError{constructor(){super("Unsupported")}}class n extends TypeError{constructor(A){const{name:e}=A;super(`An initializer must be provided to the constructor of ${e}, even when the intended value is undefined`)}}class B extends TypeError{constructor(A,e,t=null){const{name:i,type:I,byteSize:Q}=A,r=e.byteLength,n=1!==Q?"s":"";let B;B=I!==g.ev.Slice||t?`${i} has ${I===g.ev.Slice?t.length*Q:Q} byte${n}, received ${r}`:`${i} has elements that are ${Q} byte${n} in length, received ${r}`,super(B)}}class C extends TypeError{constructor(A){const{type:e,byteSize:t,typedArray:i}=A,I=1!==t?"s":"",Q=["ArrayBuffer","DataView"].map(Y);let r;i&&Q.push(Y(i.name)),r=e===g.ev.Slice?`Expecting ${O(Q)} that can accommodate items ${t} byte${I} in length`:`Expecting ${O(Q)} that is ${t} byte${I} in length`,super(r)}}TypeError,TypeError,TypeError,TypeError,TypeError,TypeError,TypeError;class o extends TypeError{constructor(A,e,t){const{name:g}=A,i=[];if(Array.isArray(e))for(const A of e)i.push(Y(A));else i.push(Y(e));const I=q(t);super(`${g} expects ${O(i)} as argument, received ${I}`)}}class s extends o{constructor(A,e,t=!1){const{instance:{members:[Q]},type:r,constructor:n}=A,B=[],C=(0,I.BF)(Q);if(C){let A;switch(Q.structure?.type){case g.ev.Enum:A="enum item";break;case g.ev.ErrorSet:A="error";break;default:A=C}B.push(`array of ${A}s`)}else B.push("array of objects");n[i.pM]&&B.push(n[i.pM].name),r===g.ev.Slice&&t&&B.push("length"),super(A,B.join(" or "),e)}}class E extends TypeError{constructor(A,e,t){const{name:g,length:i,instance:{members:[I]}}=A,{structure:{constructor:Q}}=I,{length:r,constructor:n}=t,B=e?.length??i,C=1!==B?"s":"";let o;o=n===Q?"only a single one":n.child===Q?`a slice/array that has ${r}`:`${r} initializer${r>1?"s":""}`,super(`${g} has ${B} element${C}, received ${o}`)}}class a extends TypeError{constructor(A,e){super(A<0?"Length of slice cannot be negative":`Length of slice can be ${e} or less, received ${A}`)}}class c extends TypeError{constructor(A,e){const{name:t}=A;super(`Missing initializers for ${t}: ${e.join(", ")}`)}}class u extends TypeError{constructor(A,e){const{name:t,instance:{members:g}}=A;let i;i=g.find((A=>A.name===e))?`Comptime value cannot be changed: ${e}`:`${t} does not have a property with that name: ${e}`,super(i)}}class l extends Error{constructor(A,e,t=!1){super();const g=g=>{e-=g;const i=1!=(A-=g)?"s":"",I=t?"at least ":"";this.message=`Expecting ${I}${A} argument${i}, received ${e}`,this.stack=L(this.stack,"new Arg(")};g(0),(0,I.n8)(this,i.q6,{value:g,enumerable:!1})}}class f extends Error{constructor(){super("Undefined argument")}}class h extends TypeError{constructor(){super("Non-slice pointers can only be created with the help of the new operator")}}class w extends TypeError{constructor(){super("Casting to function is not allowed")}}class D extends TypeError{constructor(A,e){const{name:t}=A,{constructor:{name:g}}=e;super(`Conversion of ${g} to ${t} requires an explicit cast`)}}TypeError,TypeError;class y extends TypeError{constructor(A,e){super(`Unable to simultaneously align memory to ${e}-byte and ${A}-byte boundary`)}}TypeError;class p extends TypeError{constructor(A,e){const t=q(e);super(`Expected ${Y(A)}, received ${t}`)}}TypeError;class d extends TypeError{constructor(){super("Null pointer")}}class S extends TypeError{constructor(A){super(`Object has been freed already: ${A.constructor.name}`)}}class m extends TypeError{constructor(A,e){const{name:t}=A;let g;if(null!=e){const A=e instanceof Object&&e.constructor!==Object?`${e.constructor.name} object`:typeof e;g=`${H(A)} ${A}`}else g=e+"";super(`${t} cannot point to ${g}`)}}class F extends TypeError{constructor(){super("Pointers in Zig memory cannot point to garbage-collected object")}}TypeError;class U extends RangeError{constructor(A,e){const{name:t}=A;super(`Index exceeds the size of ${t??"array"}: ${e}`)}}class b extends TypeError{constructor(A){const{name:e}=A;super((void 0!==e?`Property ${e}`:"Element")+" can only be undefined")}}class k extends TypeError{constructor(A){const{name:e,structure:{name:t}}=A;super(`Unable to create ${t} as it is not situated on a byte boundary: ${e}`)}}class N extends TypeError{constructor(){super("Unable to modify read-only object")}}class G extends TypeError{constructor(A){const{name:e}=A;super(`${e} cannot point to a read-only object`)}}TypeError,TypeError,TypeError;class K extends TypeError{constructor(){super("Unexpected async generator")}}class v extends Error{constructor(A,e=0){if(A instanceof Error)return super(A.message),A.stack=L(this.stack,e),A;super(A??"Error encountered in Zig code")}}class J extends v{constructor(A){super("Program exited"),this.code=A}}function M(A,e){const t=t=>{e-=t,A.message=`args[${e}]: ${A.message}`,A.stack=L(A.stack,"new Arg(")};return t(0),(0,I.n8)(A,i.q6,{value:t,enumerable:!1}),A}function L(A,e){if("string"==typeof A){const t=A.split("\n"),g=t.findIndex((A=>A.includes(e)));-1!==g&&(t.splice(1,g),A=t.join("\n"))}return A}function x(A,e,t){return t instanceof RangeError&&!(t instanceof U)&&(t=new U(A,e)),t}function R(){throw new N}function q(A){const e=typeof A;let t;return t="object"===e?A?Object.prototype.toString.call(A):"null":e,Y(t)}function Y(A){return`${H(A)} ${A}`}function H(A){return/^\W*[aeiou]/i.test(A)?"an":"a"}function O(A,e="or"){const t=` ${e} `;return A.length>2?A.slice(0,-1).join(", ")+t+A[A.length-1]:A.join(t)}},4358:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4540);(0,i.co)({init(){this.variables=[]},getSpecialExports(){const A=A=>{if(void 0===A)throw new Error("Not a Zig type");return A};return{init:(...A)=>this.initialize?.(...A),abandon:()=>this.abandonModule?.(),connect:A=>this.consoleObject=A,sizeOf:e=>A(e?.[I.SK]),alignOf:e=>A(e?.[I.Ec]),typeOf:e=>Q[A(e?.[I.ZE])]}},recreateStructures(A,e){Object.assign(this,e);const t=(A,e)=>{for(const[t,g]of Object.entries(e))A[t]=i(g);return A},g=A=>A.length?A.buffer:new ArrayBuffer(0),i=A=>{const{memory:e,structure:i,actual:Q}=A;if(e){if(Q)return Q;{const{array:Q,offset:r,length:n}=e,B=this.obtainView(g(Q),r,n),{handle:C,const:o}=A,s=i?.constructor,E=A.actual=s.call(I.M0,B);return o&&this.makeReadOnly(E),A.slots&&t(E[I._f],A.slots),C&&this.variables.push({handle:C,object:E}),E}}return i};this.resetGlobalErrorSet?.();const Q=new Map;for(const e of A){for(const A of[e.instance,e.static])if(A.template){const{slots:e,memory:t,handle:i}=A.template,r=A.template={};if(t){const{array:A,offset:e,length:Q}=t;r[I.Qy]=this.obtainView(g(A),e,Q),i&&this.variables.push({handle:i,object:r})}if(e){const A=r[I._f]={};Q.set(A,e)}}this.defineStructure(e)}for(const[A,e]of Q)t(A,e);for(const e of A)this.finalizeStructure(e)}});const Q=g.EK.map((A=>A.replace(/([a-z])([A-Z])/g,"$1 $2").toLowerCase()))},4828:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540);(0,i.co)({init(){this.jsFunctionThunkMap=new Map,this.jsFunctionCallerMap=new Map,this.jsFunctionControllerMap=new Map,this.jsFunctionIdMap=new WeakMap,this.jsFunctionNextId=1},getFunctionId(A){let e=this.jsFunctionIdMap.get(A);return void 0===e&&(e=this.jsFunctionNextId++,this.jsFunctionIdMap.set(A,e)),e},getFunctionThunk(A,e){const t=this.getFunctionId(A);let g=this.jsFunctionThunkMap.get(t);if(void 0===g){const A=this.getViewAddress(e[Q.Qy]),i=this.createJsThunk(A,t);if(!i)throw new Error("Unable to create function thunk");g=this.obtainZigView(i,0),this.jsFunctionThunkMap.set(t,g),this.jsFunctionControllerMap.set(t,e)}return g},createInboundCaller(A,e){const t=this.getFunctionId(A);return this.jsFunctionCallerMap.set(t,((t,i)=>{let r=g.Q9.OK,n=!1;try{const B=e(t);if(Q.g9 in B){B[Q.g9]("reset");const A=this.startContext();this.updatePointerTargets(A,B,!0),this.updateShadowTargets(A),this.endContext()}const C=function(A){try{if(!(e[Q.du]&&A instanceof Error))throw A;B[Q.zg](A)}catch(e){r=g.Q9.Failure,console.error(A)}},o=function(A){try{B[Q.zg](A)}catch(A){r=g.Q9.Failure,console.error(A)}};try{const e=A(...B),t=B.hasOwnProperty(Q.zg);if("Promise"===e?.[Symbol.toStringTag])if(i||t){const A=e.then(o,C);i&&A.then((()=>this.finalizeAsyncCall(i,r))),n=!0,r=g.Q9.OK}else r=g.Q9.Deadlock;else if(e?.[Symbol.asyncIterator]){if(!B.hasOwnProperty(Q.wg))throw new I.v2;this.pipeContents(e,B),r=g.Q9.OK}else null==e&&t||o(e)}catch(A){C(A)}}catch(A){console.error(A),r=g.Q9.Failure}return i&&!n&&this.finalizeAsyncCall(i,r),r})),function(...e){return A(...e)}},defineArgIterator(A){const e=this,t=A.filter((({structure:A})=>A.type===g.ev.Struct&&A.flags&g.sU.IsAllocator)).length;return{value(){let i,I=0,r=0,n=0;const B=[];for(const[C,{structure:o,type:s}]of A.entries())try{let A,E,a=this[C];s===g.Z9.Object&&a?.[Q.Qy]?.[Q.Dr]&&(a=new a.constructor(a)),o.type===g.ev.Struct&&(o.flags&g.sU.IsAllocator?(A=1===t?"allocator":"allocator"+ ++I,E=this[Q.Gz]=a):o.flags&g.sU.IsPromise?(A="callback",1==++r&&(E=e.createPromiseCallback(this,a))):o.flags&g.sU.IsGenerator?(A="callback",1==++r&&(E=e.createGeneratorCallback(this,a))):o.flags&g.sU.IsAbortSignal&&(A="signal",1==++n&&(E=e.createInboundSignal(a)))),void 0!==A?void 0!==E&&(i||={},i[A]=E):B.push(a)}catch(A){B.push(A)}return i&&B.push(i),B[Symbol.iterator]()}}},handleJsCall(A,e,t,i=0){const I=this.obtainZigView(e,t,!1),Q=this.jsFunctionCallerMap.get(A);return Q?Q(I,i):g.Q9.Failure},releaseFunction(A){const e=this.jsFunctionThunkMap.get(A),t=this.jsFunctionControllerMap.get(A);if(e&&t){const g=this.getViewAddress(t[Q.Qy]),i=this.getViewAddress(e);this.destroyJsThunk(g,i),this.releaseZigView(e),A&&(this.jsFunctionThunkMap.delete(A),this.jsFunctionCallerMap.delete(A),this.jsFunctionControllerMap.delete(A))}},exports:{handleJsCall:{argType:"iiii",returnType:"i"},releaseFunction:{argType:"i"}},imports:{createJsThunk:{argType:"ii",returnType:"i"},destroyJsThunk:{argType:"ii",returnType:"i"},finalizeAsyncCall:{argType:"ii"}}})},6973:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540);(0,i.co)({createOutboundCaller(A,e){const t=this,g=function(...i){if(!t.runThunk)return t.initPromise.then((()=>g(...i)));const r=new e(i,this?.[Q.Gz]);try{return t.invokeThunk(A,g,r)}catch(A){if(A instanceof I.Jc&&0===A.code)return;throw A}};return g},copyArguments(A,e,t,i,r){let n=0,B=0,C=0;const o=A[Q.Bl];for(const{type:Q,structure:s}of t){let t,E,a,c;if(s.type===g.ev.Struct&&(s.flags&g.sU.IsAllocator?t=(1==++C?i?.allocator??i?.allocator1:i?.[`allocator${C}`])??this.createDefaultAllocator(A,s):s.flags&g.sU.IsPromise?(E||=this.createPromise(A,i?.callback),t=E):s.flags&g.sU.IsGenerator?(a||=this.createGenerator(A,i?.callback),t=a):s.flags&g.sU.IsAbortSignal&&(c||=this.createSignal(s,i?.signal),t=c)),void 0===t&&(t=e[B++],void 0===t&&Q!==g.Z9.Void))throw new I.qG;try{o[n++].call(A,t,r)}catch(A){throw(0,I.d_)(A,n-1)}}},invokeThunk(A,e,t){const g=this.startContext(),i=t[Q.iw],r=this.getViewAddress(A[Q.Qy]),n=this.getViewAddress(e[Q.Qy]),B=Q.vm in t,C=Q.g9 in t;C&&this.updatePointerAddresses(g,t);const o=this.getShadowAddress(g,t,null,!1),s=i?this.getShadowAddress(g,i):0;this.updateShadows(g);const E=()=>{this.updateShadowTargets(g),C&&this.updatePointerTargets(g,t),this.libc&&this.flushStdout?.(),this.flushConsole?.(),this.endContext()};if(B&&(t[Q.vm]=E),!(i?this.runVariadicThunk(r,n,o,s,i.length):this.runThunk(r,n,o)))throw E(),new I.vp;if(t[Q.sF]?.(this.findShadowView(t[Q.Qy])),B){let A=null;try{A=t.retval}catch(e){A=new I.vp(e,1)}return null!=A&&t[Q.zg](A),t[Q.eR]??t[Q._d]}E();try{return t.retval}catch(A){throw new I.vp(A,1)}},imports:{runThunk:{argType:"iii",returnType:"b"},runVariadicThunk:{argType:"iiiii",returnType:"b"}}})},2427:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4540),Q=t(8e3);(0,i.co)({init(){const A={type:g.Z9.Int,bitSize:8,byteSize:1},e={type:g.Z9.Int,bitSize:16,byteSize:2},t={type:g.Z9.Int,bitSize:32,byteSize:4},i=this.getAccessor("get",A),I=this.getAccessor("set",A),r=this.getAccessor("get",e),n=this.getAccessor("set",e),B=this.getAccessor("get",t),C=this.getAccessor("set",t);this.copiers={0:Q.Ie,1:function(A,e){I.call(A,0,i.call(e,0))},2:function(A,e){n.call(A,0,r.call(e,0,!0),!0)},4:function(A,e){C.call(A,0,B.call(e,0,!0),!0)},8:function(A,e){C.call(A,0,B.call(e,0,!0),!0),C.call(A,4,B.call(e,4,!0),!0)},16:function(A,e){C.call(A,0,B.call(e,0,!0),!0),C.call(A,4,B.call(e,4,!0),!0),C.call(A,8,B.call(e,8,!0),!0),C.call(A,12,B.call(e,12,!0),!0)},any:function(A,e){let t=0,g=A.byteLength;for(;t+4<=g;)C.call(A,t,B.call(e,t,!0),!0),t+=4;for(;t+1<=g;)I.call(A,t,i.call(e,t)),t++}},this.resetters={0:Q.Ie,1:function(A,e){I.call(A,e,0)},2:function(A,e){n.call(A,e,0,!0)},4:function(A,e){C.call(A,e,0,!0)},8:function(A,e){C.call(A,e+0,0,!0),C.call(A,e+4,0,!0)},16:function(A,e){C.call(A,e+0,0,!0),C.call(A,e+4,0,!0),C.call(A,e+8,0,!0),C.call(A,e+12,0,!0)},any:function(A,e,t){let g=e;for(;g+4<=t;)C.call(A,g,0,!0),g+=4;for(;g+1<=t;)I.call(A,g,0),g++}}},defineCopier(A,e){const t=this.getCopyFunction(A,e);return{value(A){this[I.zN]?.(),A[I.zN]?.();const e=A[I.Qy],g=this[I.Qy];t(g,e)}}},defineResetter(A,e){const t=this.getResetFunction(e);return{value(){this[I.zN]?.();const g=this[I.Qy];t(g,A,e)}}},getCopyFunction(A,e=!1){return(e?void 0:this.copiers[A])??this.copiers.any},getResetFunction(A){return this.resetters[A]??this.resetters.any},...{defineRetvalCopier({byteSize:A,bitOffset:e}){if(A>0){const t=this,g=e>>3,i=this.getCopyFunction(A);return{value(e){const Q=this[I.Qy],{address:r}=e[I.Dr],n=new DataView(t.memory.buffer,r+g,A),B=new DataView(Q.buffer,Q.byteOffset+g,A);i(B,n)}}}},copyExternBytes(A,e,t){const{memory:g}=this,i=new DataView(g.buffer,e,t);this.getCopyFunction(t)(A,i)}}})},1669:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762);(0,i.co)({addIntConversion:A=>function(e,t){const i=A.call(this,e,t),{flags:Q,bitSize:r}=t;if("set"===e)return r>32?function(A,e,t){i.call(this,A,BigInt(e),t)}:function(A,e,t){const g=Number(e);if(!isFinite(g))throw new I.BC(e);i.call(this,A,g,t)};{const{flags:A}=t.structure;if(A&g.AD.IsSize&&r>32){const A=BigInt(Number.MAX_SAFE_INTEGER),e=BigInt(Number.MIN_SAFE_INTEGER);return function(t,g){const I=i.call(this,t,g);return e<=I&&I<=A?Number(I):I}}}return i}})},6929:(A,e,t)=>{var g=t(6560),i=t(4762),I=t(4540),Q=t(8e3);function r(A,e){return(0,Q.ZG)(A,e,(A=>A.address))}(0,g.co)({init(){this.isMemoryMapping=!0,this.memoryList=[],this.contextCount=0},startContext(){return++this.contextCount,{shadowList:[]}},endContext(){if(0==--this.contextCount){for(const{shadowDV:A}of this.memoryList)A&&this.freeShadowMemory(A);this.memoryList.splice(0)}},getShadowAddress(A,e,t,g){const r=e[I.Qy];if(t){if(void 0===t.address){const{start:e,end:B,targets:C}=t;let o,s=0;for(const A of C){const e=A[I.Qy],t=e.byteOffset,g=A.constructor[I.Ec]??e[I.Ec];(void 0===s||g>s)&&(s=g,o=t)}const E=B-e,a=this.allocateShadowMemory(E+s,1),c=this.getViewAddress(a),u=(0,Q.hJ)((0,Q.Au)(c,o-e),s),l=(0,Q.Au)(u,e-o);for(const A of C){const t=A[I.Qy],g=t.byteOffset;if(g!==o){const r=A.constructor[I.Ec]??t[I.Ec];if((0,Q.on)((0,Q.Au)(l,g-e),r))throw new i.Uv(r,s)}}const f=a.byteOffset+Number(l-c),h=new DataView(a.buffer,f,E);h[I.Dr]={address:l,len:E,align:1,unalignedAddress:c,type:n.Scratch};const w=new DataView(r.buffer,Number(e),E),D=this.registerMemory(l,E,1,g,w,h);A.shadowList.push(D),t.address=l}return(0,Q.Au)(t.address,r.byteOffset-t.start)}{const t=e.constructor[I.Ec]??r[I.Ec],i=r.byteLength,Q=this.allocateShadowMemory(i,t),n=this.getViewAddress(Q),B=this.registerMemory(n,i,1,g,r,Q);return A.shadowList.push(B),n}},updateShadows(A){const e=this.getCopyFunction();for(let{targetDV:t,shadowDV:g}of A.shadowList)g=this.restoreView(g),e(g,t)},updateShadowTargets(A){const e=this.getCopyFunction();for(let{targetDV:t,shadowDV:g,writable:i}of A.shadowList)i&&(g=this.restoreView(g),e(t,g))},registerMemory(A,e,t,g,i,I){const Q=r(this.memoryList,A);let n=this.memoryList[Q-1];return n?.address===A&&n.len===e?n.writable||=g:(n={address:A,len:e,align:t,writable:g,targetDV:i,shadowDV:I},this.memoryList.splice(Q,0,n)),n},unregisterMemory(A,e){const t=r(this.memoryList,A),g=this.memoryList[t-1];if(g?.address===A&&g.len===e)return this.memoryList.splice(t-1,1),g},findMemory(A,e,t,g){let i=t*(g??0);const n=r(this.memoryList,e),B=this.memoryList[n-1];let C;if(B?.address===e&&B.len===i)C=B.targetDV;else if(B?.address<=e&&(0,Q.Au)(e,i)<=(0,Q.Au)(B.address,B.len)){const A=Number(e-B.address),t=void 0===g,{targetDV:Q}=B;t&&(i=Q.byteLength-A),C=this.obtainView(Q.buffer,Q.byteOffset+A,i),t&&(C[I.Ec]=B.align)}if(C){let{targetDV:e,shadowDV:t}=B;t&&A&&!A.shadowList.includes(B)&&(t=this.restoreView(t),this.getCopyFunction()(e,t))}else C=this.obtainZigView(e,i);return C},findShadowView(A){for(const{shadowDV:e,targetDV:t}of this.memoryList)if(t===A)return e},releaseZigView(A){const e=A[I.Dr],t=e?.address;t&&t!==Q.Y$&&(e.address=Q.Y$)},getViewAddress(A){const e=A[I.Dr];if(e)return e.address;{const e=this.getBufferAddress(A.buffer);return(0,Q.Au)(e,A.byteOffset)}},...{imports:{allocateScratchMemory:{argType:"ii",returnType:"i"},freeScratchMemory:{argType:"iii"}},exports:{getViewAddress:{argType:"v",returnType:"i"}},usizeMaxBuffer:new ArrayBuffer(0),allocateShadowMemory(A,e){const t=A?this.allocateScratchMemory(A,e):0;if(!t&&A)throw new Error("Out of memory");const g=this.obtainZigView(t,A),i=g?.[I.Dr];return i&&(i.align=e),g},freeShadowMemory(A){const{address:e,unalignedAddress:t,len:g,align:i}=A[I.Dr];g&&this.freeScratchMemory(t??e,g,i),this.releaseZigView(A)},obtainZigView(A,e,t=!0){if((0,Q.cv)(A)&&(A=e>0?0:Q.Fy),!A&&e)return null;let{buffer:g}=this.memory;return A===Q.Fy&&(g=this.usizeMaxBuffer,A=Q.$k,e=0),t?this.obtainView(g,A,e):new DataView(g,A,e)},getTargetAddress(A,e,t,g){const i=e[I.Qy];return i[I.Dr]?this.getViewAddress(i):0===i.byteLength?0:this.getShadowAddress(A,e,t,g)},getBufferAddress:A=>0}});const n={Normal:0,Scratch:1}},4936:(A,e,t)=>{var g=t(6560),i=t(8e3);(0,g.co)({init(){this.abandoned=!1,this.nextValueIndex=1,this.valueMap=new Map,this.valueIndices=new Map,this.options=null,this.executable=null,this.memory=null,this.table=null,this.initialTableLength=0,this.exportedFunctions=null},releaseFunctions(){const A=()=>{throw new Error("Module was abandoned")};for(const e of Object.keys(this.imports))this[e]&&(this[e]=A)},abandonModule(){this.abandoned||(this.releaseFunctions(),this.unlinkVariables?.(),this.abandoned=!0)},...{imports:{initialize:{argType:""}},exports:{displayPanic:{argType:"ii"}},async initialize(A){this.setCustomWASI?.(A),await this.initPromise},getObjectIndex(A){if(null!=A){let e=this.valueIndices.get(A);return void 0===e&&(e=this.nextValueIndex++,this.valueIndices.set(A,e),this.valueMap.set(e,A)),e}return 0},fromWebAssembly(A,e){switch(A){case"v":case"s":return this.valueMap.get(e);case"i":return e;case"b":return!!e}},toWebAssembly(A,e){switch(A){case"v":case"s":return this.getObjectIndex(e);case"i":return e;case"b":return e?1:0}},exportFunction(A,e="",t="",g){return A?(...g)=>{g=g.map(((A,t)=>this.fromWebAssembly(e.charAt(t),A)));const i=A.apply(this,g);return this.toWebAssembly(t,i)}:()=>{}},importFunction(A,e="",t=""){return(...g)=>{g=g.map(((A,t)=>this.toWebAssembly(e.charAt(t),A)));const i=A.apply(this,g);return this.fromWebAssembly(t,i)}},exportFunctions(){const A={};for(const[e,{argType:t,returnType:g,alias:i}]of Object.entries(this.exports)){const I=this[i??e];I&&(A[`_${e}`]=this.exportFunction(I,t,g,e))}return A},importFunctions(A){for(const[e,{argType:t,returnType:g}]of Object.entries(this.imports)){const I=A[e];I&&(0,i.n8)(this,e,{value:this.importFunction(I,t,g)})}},async instantiateWebAssembly(A,e){const{memoryInitial:t,memoryMax:g,tableInitial:I,multithreaded:Q}=this.options=e,r=await A,n="Response"===r[Symbol.toStringTag]?"Streaming":"",B=WebAssembly,C=B["compile"+n],o=this.executable=await C(r),s=this.exportFunctions(),E={},a={},c={},u=this.exportedModules={env:E,wasi:a,wasi_snapshot_preview1:c};for(const{module:A,name:e,kind:t}of B.Module.imports(o))"function"===t&&("env"===A?E[e]=s[e]??i.Ie:"wasi_snapshot_preview1"===A?c[e]=this.getWASIHandler(e):"wasi"===A&&(a[e]=this.getThreadHandler?.(e)??i.Ie));return this.memory=E.memory=new B.Memory({initial:t,maximum:g,shared:Q}),this.table=E.__indirect_function_table=new B.Table({initial:I,element:"anyfunc",shared:Q}),this.initialTableLength=I,new B.Instance(o,u)},loadModule(A,e){return this.initPromise=(async()=>{const t=await this.instantiateWebAssembly(A,e),{exports:g}=t;if(this.importFunctions(g),this.customWASI){const A={...g,memory:this.memory},e=new Proxy(t,{get:(e,t)=>"exports"===t?A:e[t]});this.customWASI.initialize?.(e)}this.initialize()})()},displayPanic(A,e){const t=new Uint8Array(this.memory.buffer,A,e),g=(0,i.g7)(t);console.error(`Zig panic: ${g}`)}}})},9268:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4540);(0,i.co)({linkVariables(A){if(!this.memory)return void(this.initPromise=this.initPromise.then((()=>this.linkVariables(A))));const e=this.getCopyFunction();for(const{object:t,handle:i}of this.variables){const Q=t[I.Qy],r=i,n=t[I.Qy]=this.obtainZigView(r,Q.byteLength);A&&e(n,Q),t.constructor[I.fV]?.save?.(n,t);const B=A=>{const e=A[I._f];if(e){const A=n.byteOffset;for(const t of Object.values(e))if(t){const e=t[I.Qy];if(e.buffer===Q.buffer){const g=A+e.byteOffset-Q.byteOffset;t[I.Qy]=this.obtainView(n.buffer,g,e.byteLength),t.constructor[I.fV]?.save?.(n,t),B(t)}}}};B(t),t[I.g9]?.((function(){this[I.q6]()}),g.F7.IgnoreInactive)}},unlinkVariables(){const A=this.getCopyFunction();for(const{object:e}of this.variables){const t=this.restoreView(e[I.Qy]),g=t[I.Dr];g&&A(e[I.Qy]=this.allocateMemory(g.len),t)}},imports:{recreateAddress:{argType:"i",returnType:"i"}}})},7409:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4540),Q=t(8e3);(0,i.co)({updatePointerAddresses(A,e){const t=new Map,i=new Map,r=[],n=function(A){const e=this[I.C7];if(void 0===t.get(e)){const A=e[I._f][0];if(A){const g={target:A,writable:!e.constructor.const},B=A[I.Qy];if(B[I.Dr])t.set(e,null);else{t.set(e,A);const C=i.get(B.buffer);if(C){const A=Array.isArray(C)?C:[C],e=(0,Q.ZG)(A,B.byteOffset,(A=>A.target[I.Qy].byteOffset));A.splice(e,0,g),Array.isArray(C)||(i.set(B.buffer,A),r.push(A))}else i.set(B.buffer,g);A[I.g9]?.(n,0)}}}},B=g.F7.IgnoreRetval|g.F7.IgnoreInactive;e[I.g9](n,B);const C=this.findTargetClusters(r),o=new Map;for(const A of C)for(const e of A.targets)o.set(e,A);for(const[e,g]of t)if(g){const t=o.get(g),i=t?.writable??!e.constructor.const;e[I.BD]=this.getTargetAddress(A,g,t,i),I.pi in e&&(e[I.pi]=g.length)}},updatePointerTargets(A,e,t=!1){const i=new Map,Q=function(e){const t=this[I.C7];if(!i.get(t)){i.set(t,!0);const r=t[I._f][0],n=r&&e&g.F7.IsImmutable?r:t[I.q6](A,!0,!(e&g.F7.IsInactive)),B=t.constructor.const?g.F7.IsImmutable:0;B&g.F7.IsImmutable||r&&!r[I.Qy][I.Dr]&&r[I.g9]?.(Q,B),n!==r&&n&&!n[I.Qy][I.Dr]&&n?.[I.g9]?.(Q,B)}},r=t?g.F7.IgnoreRetval:0;e[I.g9](Q,r)},findTargetClusters(A){const e=[];for(const t of A){let A=null,g=0,i=0,Q=null;for(const{target:r,writable:n}of t){const t=r[I.Qy],{byteOffset:B,byteLength:C}=t,o=B+C;let s=!0;A&&(i>B?(Q?Q.writable||=n:(Q={targets:[A],start:g,end:i,address:void 0,misaligned:void 0,writable:n},e.push(Q)),Q.targets.push(r),o>i?Q.end=o:s=!1):Q=null),s&&(A=r,g=B,i=o)}}return e}})},2436:(A,e,t)=>{var g=t(6560),i=t(8e3);(0,g.co)({...{exports:{allocateJsThunk:{argType:"ii",returnType:"i"},freeJsThunk:{argType:"ii",returnType:"i"}},init(){this.thunkSources=[],this.thunkMap=new Map},addJsThunkSource(){const{memoryInitial:A,memoryMax:e,tableInitial:t,multithreaded:g}=this.options,I=WebAssembly,Q={},r={},n={env:Q,wasi:{},wasi_snapshot_preview1:r};for(const{module:A,name:e,kind:t}of I.Module.imports(this.executable))"function"===t&&("env"===A?Q[e]=i.Ie:"wasi_snapshot_preview1"===A&&(r[e]=i.Ie));Q.memory=new I.Memory({initial:A,maximum:e,shared:g});const B=Q.__indirect_function_table=new I.Table({initial:t,element:"anyfunc"}),{exports:C}=new I.Instance(this.executable,n),{createJsThunk:o,destroyJsThunk:s}=C,E={thunkCount:0,createJsThunk:o,destroyJsThunk:s,table:B};return this.thunkSources.unshift(E),E},allocateJsThunk(A,e){let t,g=0;for(t of this.thunkSources){g=t.createJsThunk(A,e);break}g||(t=this.addJsThunkSource(),g=t.createJsThunk(A,e));const i=t.table.get(g);let I=0;for(let A=this.table.length-1;A>=this.initialTableLength;A--)if(!this.table.get(A)){I=A;break}return I||(I=this.table.length,this.table.grow(8)),this.table.set(I,i),t.thunkCount++,this.thunkMap.set(i,{source:t,sourceAddress:g}),I},freeJsThunk(A,e){let t=0;const g=this.table.get(e);this.table.set(e,null);const i=this.thunkMap.get(g);if(i){const{source:e,sourceAddress:I}=i;if(t=e.destroyJsThunk(A,I),0==--e.thunkCount){const A=this.thunkSources.indexOf(e);-1!==A&&this.thunkSources.splice(A,1)}this.thunkMap.delete(g)}return t}}})},8738:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),r=t(8e3);function n(A,e){const{byteSize:t,type:i}=e;if(!(i===g.ev.Slice?A.byteLength%t==0:A.byteLength===t))throw new I.t7(e,A)}function B(A){throw new I.Zb(A)}(0,i.co)({init(){this.viewMap=new WeakMap},extractView(A,e,t=B){const{type:i,byteSize:C,constructor:o}=A;let s;const E=e?.[Symbol.toStringTag];if(E&&("DataView"===E?s=this.registerView(e):"ArrayBuffer"===E?s=this.obtainView(e,0,e.byteLength):(E&&E===o[Q.pM]?.name||"Uint8ClampedArray"===E&&o[Q.pM]===Uint8Array)&&(s=this.obtainView(e.buffer,e.byteOffset,e.byteLength))),!s){const t=e?.[Q.Qy];if(t){const{constructor:Q,instance:{members:[n]}}=A;if((0,r.pU)(e,Q))return t;if(function(A){return A===g.ev.Array||A===g.ev.Vector||A===g.ev.Slice}(i)){const{byteSize:Q,structure:{constructor:B}}=n,o=(0,r.be)(e,B);if(void 0!==o){if(i===g.ev.Slice||o*Q===C)return t;throw new I.Y8(A,null,e)}}}}return s?void 0!==C&&n(s,A):t?.(A,e),s},assignView(A,e,t,i,r){const{byteSize:B,type:C}=t,o=B??1;if(A[Q.Qy]){const i=C===g.ev.Slice?o*A.length:o;if(e.byteLength!==i)throw new I.t7(t,e,A);const r={[Q.Qy]:e};A.constructor[Q.fd]?.validateData?.(r,A.length),A[Q.sF](r)}else{void 0!==B&&n(e,t);const g=e.byteLength/o,I={[Q.Qy]:e};A.constructor[Q.fd]?.validateData?.(I,g),r&&(i=!0),A[Q.IW](i?null:e,g,r),i&&A[Q.sF](I)}},findViewAt(A,e,t){let g,i=this.viewMap.get(A);if(i)if(i instanceof DataView)if(i.byteOffset===e&&i.byteLength===t)g=i,i=null;else{const e=i,t=`${e.byteOffset}:${e.byteLength}`;i=new Map([[t,e]]),this.viewMap.set(A,i)}else g=i.get(`${e}:${t}`);return g?.[Q.Dr]?.address===r.Y$&&(g=null),{existing:g,entry:i}},obtainView(A,e,t){const{existing:g,entry:i}=this.findViewAt(A,e,t);let I;return g||(I=new DataView(A,e,t),i?i.set(`${e}:${t}`,I):this.viewMap.set(A,I),A!==this.memory?.buffer&&A!==this.usizeMaxBuffer||(I[Q.Dr]={address:e,len:t}),I)},registerView(A){if(!A[Q.Dr]){const{buffer:e,byteOffset:t,byteLength:g}=A,{existing:i,entry:I}=this.findViewAt(e,t,g);if(i)return i;I?I.set(`${t}:${g}`,A):this.viewMap.set(e,A)}return A},allocateMemory(A,e=0,t=null){return t?.alloc?.(A,e)??this.allocateJSMemory(A,e)},...{allocateJSMemory(A,e){return this.obtainView(new ArrayBuffer(A),0,A)},restoreView(A){const e=A?.[Q.Dr];return e?.len>0&&0===A.buffer.byteLength&&(A=this.obtainZigView(e.address,e.len),e.align&&(A[Q.Dr].align=e.align)),A},defineRestorer(){const A=this;return{value(){const e=this[Q.Qy],t=A.restoreView(e);if(e!==t){const A=this[Q.KK]??this;return A[Q.Qy]=t,A.constructor[Q.fV]?.save?.(t,A[Q.rG]??A),!0}return!1}}}}})},1432:(A,e,t)=>{var g=t(6560),i=t(4762),I=t(4540);(0,g.co)({makeReadOnly(A){n(A)}});const Q=Object.getOwnPropertyDescriptors,r=Object.defineProperty;function n(A){const e=A[I.C7];if(e)B(e,["length"]);else{const e=A[I.sO];e?(B(e),function(A){r(A,"set",{value:i.V0});const e=A.get;r(A,"get",{value:function(A){const t=e.call(this,A);return null===t?.[I.KK]&&n(t),t}})}(e)):B(A)}}function B(A,e=[]){const t=Q(A.constructor.prototype);for(const[g,I]of Object.entries(t))I.set&&!e.includes(g)&&(I.set=i.V0,r(A,g,I));r(A,I.KK,{value:A})}},4773:(A,e,t)=>{t.d(e,{M:()=>i});var g=t(6560);function i(){return new((0,g.NP)())}},1454:(A,e,t)=>{var g=t(6560),i=t(4540),I=t(8e3);function Q(){const A=this[i.sO]??this,e=this.length;let t=0;return{next(){let g,i;if(t<e){const e=t++;g=A.get(e),i=!1}else i=!0;return{value:g,done:i}}}}function r(A){const e=(0,I.L9)(A),t=this[i.sO]??this,g=this.length;let Q=0;return{next(){let A,i;if(Q<g){const g=Q++;A=[g,e((()=>t.get(g)))],i=!1}else i=!0;return{value:A,done:i}}}}function n(A){return{[Symbol.iterator]:r.bind(this,A),length:this.length}}(0,g.co)({defineArrayEntries:()=>(0,I.vQ)(n),defineArrayIterator:()=>(0,I.vQ)(Q)})},6402:(A,e,t)=>{var g=t(6560),i=t(4540),I=t(8e3);function Q(A){return{[Symbol.iterator]:n.bind(this,A),length:this[i.n5].length}}function r(A){return Q.call(this,A)[Symbol.iterator]()}function n(A){const e=(0,I.L9)(A),t=this,g=this[i.n5];let Q=0;return{next(){let A,i;if(Q<g.length){const I=g[Q++];A=[I,e((()=>t[I]))],i=!1}else i=!0;return{value:A,done:i}}}}(0,g.co)({defineStructEntries:()=>(0,I.vQ)(Q),defineStructIterator:()=>(0,I.vQ)(r)})},9098:(A,e,t)=>{t.d(e,{E:()=>i});var g=t(1388);function i(A,{get:e,set:t}){return void 0!==A?{get:function(){return e.call(this,A)},set:t?function(e,g){return t.call(this,A,e,g)}:void 0}:{get:e,set:t}}(0,t(6560).co)({defineMember(A,e=!0){if(!A)return{};const{type:t,structure:i}=A,I=this[`defineMember${g.hQ[t]}`].call(this,A);if(e&&i){const{type:e}=i,t=this[`transformDescriptor${g.EK[e]}`];if(t)return t.call(this,I,A)}return I}})},9494:(A,e,t)=>{var g=t(6560),i=t(4762),I=t(8e3);(0,g.co)({defineBase64(A){const e=this;return(0,I.NV)({get(){return(0,I.WG)(this.dataView)},set(t,g){if("string"!=typeof t)throw new i.Pd("string",t);const Q=(0,I.y4)(t);e.assignView(this,Q,A,!1,g)}})}})},7431:(A,e,t)=>{var g=t(6560),i=t(4762),I=t(4540),Q=t(8e3);(0,g.co)({defineDataView(A){const e=this;return(0,Q.NV)({get(){return this[I.zN]?.(),this[I.Qy]},set(t,g){if("DataView"!==t?.[Symbol.toStringTag])throw new i.Pd("DataView",t);e.assignView(this,t,A,!0,g)}})}})},7591:(A,e,t)=>{(0,t(6560).co)({defineMemberFloat(A){return this.defineMemberUsing(A,this.getAccessor)}})},6717:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),r=t(9098);function n(A){return(this[Q._f][A]??this[Q.tZ](A)).$}function B(A){return this[Q._f][A]??this[Q.tZ](A)}function C(A,e,t){(this[Q._f][A]??this[Q.tZ](A))[Q.Zv](e,t)}(0,i.co)({defineMemberObject:A=>(0,r.E)(A.slot,{get:A.structure.flags&g.yi.HasValue?n:B,set:A.flags&g.pK.IsReadOnly?I.V0:C})})},2164:(A,e,t)=>{var g=t(6560),i=t(4762),I=t(4540);(0,g.co)({...{defineMemberUsing(A,e){const{littleEndian:t}=this,{bitOffset:g,byteSize:Q}=A,r=e.call(this,"get",A),n=e.call(this,"set",A);if(void 0!==g){const A=g>>3;return{get:function(){try{return r.call(this[I.Qy],A,t)}catch(e){if(e instanceof TypeError&&this[I.zN]?.())return r.call(this[I.Qy],A,t);throw e}},set:function(e){try{return n.call(this[I.Qy],A,e,t)}catch(g){if(g instanceof TypeError&&this[I.zN]?.())return n.call(this[I.Qy],A,e,t);throw g}}}}return{get:function(e){try{return r.call(this[I.Qy],e*Q,t)}catch(g){if(g instanceof TypeError&&this[I.zN]?.())return r.call(this[I.Qy],e*Q,t);throw(0,i.qx)(A,e,g)}},set:function(e,g){try{return n.call(this[I.Qy],e*Q,g,t)}catch(r){if(r instanceof TypeError&&this[I.zN]?.())return n.call(this[I.Qy],e*Q,g,t);throw(0,i.qx)(A,e,r)}}}}}})},6135:(A,e,t)=>{var g=t(6560),i=t(3456);(0,g.co)({defineToJSON:()=>({value(){return(0,i.F)(this,!0)}})})},3793:(A,e,t)=>{var g=t(6560),i=t(4762),I=t(8e3);(0,g.co)({defineTypedArray(A){const e=this,t=this.getTypedArray(A);return(0,I.NV)({get(){const A=this.dataView,e=A.byteLength/t.BYTES_PER_ELEMENT;return new t(A.buffer,A.byteOffset,e)},set(g,I){if(g?.[Symbol.toStringTag]!==t.name)throw new i.Pd(t.name,g);const Q=new DataView(g.buffer,g.byteOffset,g.byteLength);e.assignView(this,Q,A,!0,I)}})}})},8305:(A,e,t)=>{(0,t(6560).co)({defineMemberUint(A){let e=this.getAccessor;return this.runtimeSafety&&(e=this.addRuntimeCheck(e)),e=this.addIntConversion(e),this.defineMemberUsing(A,e)}})},3456:(A,e,t)=>{t.d(e,{F:()=>B});var g=t(1388),i=t(6560),I=t(4540),Q=t(8e3);(0,i.co)({defineValueOf:()=>({value(){return B(this,!1)}})});const r=BigInt(Number.MAX_SAFE_INTEGER),n=BigInt(Number.MIN_SAFE_INTEGER);function B(A,e){const t={error:e?"return":"throw"},i=(0,Q.L9)(t),B=new Map,C=function(A){const Q="function"==typeof A?g.ev.Struct:A?.constructor?.[I.ZE];if(void 0===Q){if(e){if("bigint"==typeof A&&n<=A&&A<=r)return Number(A);if(A instanceof Error)return{error:A.message}}return A}let o=B.get(A);if(void 0===o){let e;switch(Q){case g.ev.Struct:e=A[I.lf](t),o=A.constructor[I.Wg]&g.sU.IsTuple?[]:{};break;case g.ev.Union:e=A[I.lf](t),o={};break;case g.ev.Array:case g.ev.Vector:case g.ev.Slice:e=A[I.lf](),o=[];break;case g.ev.Pointer:try{o=A["*"]}catch(A){o=Symbol.for("inaccessible")}break;case g.ev.Enum:o=i((()=>String(A)));break;case g.ev.Opaque:o={};break;default:o=i((()=>A.$))}if(o=C(o),B.set(A,o),e)for(const[A,t]of e)o[A]=C(t)}return o};return C(A)}},8539:(A,e,t)=>{var g=t(6560),i=t(4762);(0,g.co)({defineMemberVoid(A,e){const{bitOffset:t}=A;return{get(){},set:void 0!==t?function(e){if(void 0!==e)throw new i.UQ(A)}:function(e,t){if(void 0!==t)throw new i.UQ(A);if(e<0||e>=this.length)throw new i._l(A,e)}}}})},7679:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),r=t(8e3);(0,i.co)({defineStructure(A){const{type:e,byteSize:t}=A,i=this[`define${g.EK[e]}`],I=[],n={},B={dataView:this.defineDataView(A),base64:this.defineBase64(A),toJSON:this.defineToJSON(),valueOf:this.defineValueOf(),[Q.KK]:{value:null},[Q.Bl]:(0,r.vQ)(n),[Q.Rk]:(0,r.vQ)(I),[Q.sF]:this.defineCopier(t),[Q.zN]:this.defineRestorer()},C=A.constructor=i.call(this,A,B);for(const[A,e]of Object.entries(B)){const t=e?.set;t&&!n[A]&&"$"!==A&&(n[A]=t,I.push(A))}return(0,r.ny)(C.prototype,B),C},finalizeStructure(A){const{name:e,type:t,constructor:i,align:I,byteSize:n,flags:B,signature:C,static:{members:o,template:s}}=A,E=[],a={name:(0,r.vQ)(e),toJSON:this.defineToJSON(),valueOf:this.defineValueOf(),[Q.J2]:(0,r.vQ)(C),[Q.M0]:(0,r.vQ)(this),[Q.Ec]:(0,r.vQ)(I),[Q.SK]:(0,r.vQ)(n),[Q.ZE]:(0,r.vQ)(t),[Q.Wg]:(0,r.vQ)(B),[Q.n5]:(0,r.vQ)(E),[Q.pM]:(0,r.vQ)(this.getTypedArray(A)),[Symbol.iterator]:this.defineStructIterator(),[Q.lf]:this.defineStructEntries(),[Q.n5]:(0,r.vQ)(E)},c={[Symbol.toStringTag]:(0,r.vQ)(e)};for(const A of o){const{name:e,slot:t}=A;if(A.structure.type===g.ev.Function){const i=s[Q._f][t];a[e]=(0,r.vQ)(i),i.name||(0,r.n8)(i,"name",(0,r.vQ)(e));const[I,n]=/^(get|set)\s+([\s\S]+)/.exec(e)?.slice(1)??[],B="get"===I?0:1;if(I&&i.length===B&&(a[n]||={},a[n][I]=i),A.flags&g.pK.IsMethod){const A=function(...A){try{return i(this,...A)}catch(A){throw A[Q.q6]?.(1),A}};(0,r.ny)(A,{name:(0,r.vQ)(e),length:(0,r.vQ)(i.length-1)}),c[e]=(0,r.vQ)(A),I&&A.length===B&&((c[n]||={})[I]=A)}}else a[e]=this.defineMember(A),E.push(e)}a[Q._f]=E.length>0&&(0,r.vQ)(s[Q._f]);const u=this[`finalize${g.EK[t]}`];!1!==u?.call(this,A,a,c)&&((0,r.ny)(i.prototype,c),(0,r.ny)(i,a))},createConstructor(A,e={}){const{type:t,byteSize:i,align:n,flags:B,instance:{members:C,template:o}}=A,{onCastError:s}=e;let E;if(o?.[Q._f]){const A=C.filter((A=>A.flags&g.pK.IsReadOnly));A.length>0&&(E=A.map((A=>A.slot)))}const a=new r.UF,c=this,u=function(e,r={}){const{allocator:C}=r,l=this instanceof u;let f,h;if(l){if(0===arguments.length)throw new I.ci(A);if(f=this,B&g.yi.HasSlot&&(f[Q._f]={}),Q.IW in f)f[Q.Zv](e,C),h=f[Q.Qy];else{const A=t!==g.ev.Pointer?C:null;f[Q.Qy]=h=c.allocateMemory(i,n,A)}}else{if(Q.mL in u&&(f=u[Q.mL].call(this,e,r),!1!==f))return f;if(h=c.extractView(A,e,s),f=a.find(h))return f;f=Object.create(u.prototype),Q.IW in f?c.assignView(f,h,A,!1,!1):f[Q.Qy]=h,B&g.yi.HasSlot&&(f[Q._f]={})}if(E)for(const A of E)f[Q._f][A]=o[Q._f][A];return f[Q.f$]?.(),l&&(Q.IW in f||f[Q.Zv](e,C)),Q.vm in f&&(f=f[Q.vm]()),a.save(h,f)};return(0,r.n8)(u,Q.fV,(0,r.vQ)(a)),o?.[Q.Qy]&&(0,r.n8)(o,Q.zN,this.defineRestorer()),u},createApplier(A){const{instance:{template:e}}=A;return function(t,g){const i=Object.keys(t),r=this[Q.Rk],n=this[Q.Bl];for(const e of i)if(!(e in n))throw new I.xH(A,e);let B=0,C=0,o=0,s=0;for(const A of r){const e=n[A];e.special?A in t&&s++:(B++,A in t?C++:e.required&&o++)}if(0!==o&&0===s){const e=r.filter((A=>n[A].required&&!(A in t)));throw new I.SB(A,e)}if(s+C>i.length)for(const A of r)A in t&&(i.includes(A)||i.push(A));C<B&&0===s&&e&&e[Q.Qy]&&this[Q.sF](e);for(const A of i)n[A].call(this,t[A],g);return i.length}},getTypedArray(A){const{type:e,instance:t}=A;if(void 0!==e&&t){const[A]=t.members;switch(e){case g.ev.Enum:case g.ev.ErrorSet:case g.ev.Primitive:{const{byteSize:e,type:t}=A,i=t===g.Z9.Float?"Float":t===g.Z9.Int?"Int":"Uint",I=e>4&&t!==g.Z9.Float?"Big":"";return globalThis[I+i+8*e+"Array"]}case g.ev.Array:case g.ev.Slice:case g.ev.Vector:return this.getTypedArray(A.structure)}}}})},2244:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),r=t(8e3);(0,i.co)({defineArgStruct(A,e){const{flags:t,byteSize:i,align:n,length:B,instance:{members:C}}=A,o=this,s=C.slice(1),E=function(A,e){const r=this instanceof E;let C,a;if(r?(C=this,a=o.allocateMemory(i,n)):(C=Object.create(E.prototype),a=A),C[Q.Qy]=a,t&g.yi.HasSlot&&(C[Q._f]={}),!r)return C;{let i;if(t&g.e2.HasOptions&&A.length===B+1&&(i=A.pop()),A.length!==B)throw new I.nz(B,A.length);t&g.e2.IsAsync&&(C[Q.vm]=null),o.copyArguments(C,A,s,i,e)}};for(const A of C)e[A.name]=this.defineMember(A);const a=e.retval.set;return e.length=(0,r.vQ)(s.length),e[Q.tZ]=t&g.yi.HasObject&&this.defineVivificatorStruct(A),e[Q.g9]=t&g.yi.HasPointer&&this.defineVisitorArgStruct(C),e[Q.zg]=(0,r.vQ)((function(A){a.call(this,A,this[Q.Gz])})),e[Symbol.iterator]=this.defineArgIterator?.(s),e[Q.sF]=this.defineRetvalCopier(C[0]),E},finalizeArgStruct(A,e){const{flags:t}=A;e[Q.du]=(0,r.vQ)(!!(t&g.e2.IsThrowing))}})},9433:(A,e,t)=>{var g=t(6560),i=t(4540),I=t(8e3);(0,g.co)({defineFinalizerArray:({get:A,set:e})=>({value(){const t=new Proxy(this,Q);return(0,I.ny)(this,{[i.rG]:{value:t},get:{value:A.bind(this)},set:e&&{value:e.bind(this)}}),t}}),defineVivificatorArray(A){const{instance:{members:[e]}}=A,{byteSize:t,structure:g}=e,I=this;return{value:function(A){const{constructor:e}=g;this[i.zN]?.();const Q=this[i.Qy],r=Q.byteOffset+t*A,n=I.obtainView(Q.buffer,r,t);return this[i._f][A]=e.call(i.f7,n)}}}});const Q={get(A,e){const t="symbol"==typeof e?0:0|e;return 0!==t||t==e?A.get(t):e===i.sO?A:A[e]},set(A,e,t){const g="symbol"==typeof e?0:0|e;return 0!==g||g==e?A.set(g,t):A[e]=t,!0},deleteProperty(A,e){const t="symbol"==typeof e?0:0|e;return 0===t&&t!=e&&(delete A[e],!0)},has(A,e){const t="symbol"==typeof e?0:0|e;return 0!==t||t==e?t>=0&&t<A.length:A[e]},ownKeys(A){const e=[];for(let t=0,g=A.length;t<g;t++)e.push(`${t}`);return e.push("length",i.rG),e},getOwnPropertyDescriptor(A,e){const t="symbol"==typeof e?0:0|e;return 0===t&&t!=e?Object.getOwnPropertyDescriptor(A,e):t>=0&&t<A.length?{value:A.get(t),enumerable:!0,writable:!0,configurable:!0}:void 0}}},3509:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),r=t(8e3);(0,i.co)({defineArray(A,e){const{length:t,instance:{members:[i]},flags:n}=A,B=this.createApplier(A),C=this.defineMember(i),{set:o}=C,s=this.createConstructor(A),E=function(e,i){if((0,r.pU)(e,s))this[Q.sF](e),n&g.yi.HasPointer&&this[Q.g9]("copy",g.F7.Vivificate,e);else if("string"==typeof e&&n&g.uE.IsString&&(e={string:e}),e?.[Symbol.iterator]){if((e=(0,r.FU)(e)).length!==t)throw new I.Y8(A,this,e);let g=0;for(const A of e)o.call(this,g++,A,i)}else if(e&&"object"==typeof e){if(0===B.call(this,e))throw new I.L2(A,e)}else if(void 0!==e)throw new I.L2(A,e)};return e.$={get:r.V_,set:E},e.length=(0,r.vQ)(t),e.entries=e[Q.lf]=this.defineArrayEntries(),n&g.uE.IsTypedArray&&(e.typedArray=this.defineTypedArray(A),n&g.uE.IsString&&(e.string=this.defineString(A)),n&g.uE.IsClampedArray&&(e.clampedArray=this.defineClampedArray(A))),e[Symbol.iterator]=this.defineArrayIterator(),e[Q.Zv]=(0,r.vQ)(E),e[Q.vm]=this.defineFinalizerArray(C),e[Q.tZ]=n&g.yi.HasObject&&this.defineVivificatorArray(A),e[Q.g9]=n&g.yi.HasPointer&&this.defineVisitorArray(),s},finalizeArray(A,e){const{flags:t,instance:{members:[i]}}=A;e.child=(0,r.vQ)(i.structure.constructor),e[Q.fd]=t&g.uE.HasSentinel&&this.defineSentinel(A)}})},7382:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),r=t(8e3);(0,i.co)({defineFunction(A,e){const{instance:{members:[t],template:i},static:{template:n}}=A,B=new r.UF,{structure:{constructor:C}}=t,o=this,s=function(e){const t=this instanceof s;let E,a;if(t){if(0===arguments.length)throw new I.ci(A);if("function"!=typeof e)throw new I.Pd("function",e);if(C[Q.ZE]===g.ev.VariadicStruct||!n)throw new I.O0;E=o.getFunctionThunk(e,n)}else{if(this!==Q.M0)throw new I.Qm;E=e}if(a=B.find(E))return a;const c=C.prototype.length,u=t?o.createInboundCaller(e,C):o.createOutboundCaller(i,C);return(0,r.ny)(u,{length:(0,r.vQ)(c),name:(0,r.vQ)(t?e.name:"")}),Object.setPrototypeOf(u,s.prototype),u[Q.Qy]=E,B.save(E,u),u};return Object.setPrototypeOf(s.prototype,Function.prototype),e.valueOf=e.toJSON=(0,r.vQ)(r.Ng),s},finalizeFunction(A,e,t){t[Symbol.toStringTag]=void 0}})},1425:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),r=t(8e3);function n(A,e){return(0,r.xN)(A?.constructor?.child,e)&&A["*"]}function B(A,e,t){if(t&g.UT.IsMultiple){if(A?.constructor?.child?.child===e.child&&A["*"])return!0;if(t&g.UT.IsSingle&&n(A,e.child))return!0}return!1}(0,i.co)({definePointer(A,e){const{flags:t,byteSize:i,instance:{members:[C]}}=A,{structure:E}=C,{type:a,flags:c,byteSize:u=1}=E,l=t&g.UT.HasLength?i/2:i,{get:f,set:h}=this.defineMember({type:g.Z9.Uint,bitOffset:0,bitSize:8*l,byteSize:l,structure:{byteSize:l}}),{get:w,set:D}=t&g.UT.HasLength?this.defineMember({type:g.Z9.Uint,bitOffset:8*l,bitSize:8*l,byteSize:l,structure:{flags:g.AD.IsSize,byteSize:l}}):{},y=function(A,e=!0,i=!0){if(e||this[Q.Qy][Q.Dr]){if(!i)return this[Q._f][0]=void 0;{const e=N.child,i=f.call(this),I=t&g.UT.HasLength?w.call(this):a===g.ev.Slice&&c&g.tv.HasSentinel?b.findSentinel(i,e[Q.fd].bytes)+1:1;if(i!==this[Q.c6]||I!==this[Q.uL]){const r=b.findMemory(A,i,I,e[Q.SK]),n=r?e.call(Q.M0,r):null;return this[Q._f][0]=n,this[Q.c6]=i,this[Q.uL]=I,t&g.UT.HasLength&&(this[Q.E2]=null),n}}}return this[Q._f][0]},p=function(A){h.call(this,A),this[Q.c6]=A},d=c&g.tv.HasSentinel?1:0,S=t&g.UT.HasLength||c&g.tv.HasSentinel?function(A){D?.call?.(this,A-d),this[Q.uL]=A}:null,m=function(){const A=this[Q.C7]??this,e=!A[Q._f][0],i=y.call(A,null,e);if(!i){if(t&g.UT.IsNullable)return null;throw new I.BY}return t&g.UT.IsConst?o(i):i},F=c&g.yi.HasValue?function(){return m.call(this).$}:m,U=t&g.UT.IsConst?I.V0:function(A){return m.call(this).$=A},b=this,k=function(e,i){const C=E.constructor;if(n(e,C)){if(!(t&g.UT.IsConst)&&e.constructor.const)throw new I.G9(A,e);e=e[Q._f][0]}else if(t&g.UT.IsMultiple)B(e,C,t)&&(e=C(e[Q._f][0][Q.Qy]));else if(a===g.ev.Slice&&c&g.tv.IsOpaque&&e)if(e.constructor[Q.ZE]===g.ev.Pointer)e=e[Q.Qn]?.[Q.Qy];else if(e[Q.Qy])e=e[Q.Qy];else if(e?.buffer instanceof ArrayBuffer&&!(e instanceof Uint8Array||e instanceof DataView)){const{byteOffset:A,byteLength:t}=e;void 0!==A&&void 0!==t&&(e=new DataView(e.buffer,A,t))}if(e instanceof C){e[Q.zN]?.();const i=e[Q.KK];if(i){if(!(t&g.UT.IsConst))throw new I.ck(A);e=i}}else if((0,r.pU)(e,C))e=C.call(Q.M0,e[Q.Qy]);else if(t&g.UT.IsSingle&&t&g.UT.IsMultiple&&e instanceof C.child)e=C(e[Q.Qy]);else if(function(A,e){const t=A?.[Symbol.toStringTag];if(t){const g=e[Q.pM];if(g)switch(t){case g.name:case"DataView":return!0;case"ArrayBuffer":return g===Uint8Array||g===Int8Array;case"Uint8ClampedArray":return g===Uint8Array}if(e.child&&void 0!==(0,r.be)(A,e.child))return!0}return!1}(e,C))e=C(b.extractView(E,e));else if(null==e||e[Q.Qy]){if(!(void 0===e||t&g.UT.IsNullable&&null===e))throw new I.QB(A,e)}else{if(t&g.UT.IsSingle&&t&g.UT.IsMultiple&&"object"==typeof e&&!e[Symbol.iterator]){let A=!0;const t=C.prototype[Q.Bl];for(const g of Object.keys(e)){const e=t[g];if(e?.special){A=!1;break}}A&&(e=[e])}if(Q.pM in C&&e?.buffer&&e[Symbol.iterator])throw new I.QB(A,e);e=new C(e,{allocator:i})}const o=e?.[Q.Qy]?.[Q.Dr];if(o?.address===r.Y$)throw new I.xp(e);this[Q.Qn]=e},N=this.createConstructor(A);return e["*"]={get:F,set:U},e.$={get:r.V_,set:k},e.length={get:function(){const A=m.call(this);return A?A.length:0},set:function(A){A|=0;const e=m.call(this);if(!e){if(0!==A)throw new I._L(A,0);return}if(e.length===A)return;e[Q.zN]?.();const i=e[Q.Qy],r=i[Q.Dr];let n;if(r||(t&g.UT.HasLength?(this[Q.E2]||=e.length,n=this[Q.E2]):n=(i.buffer.byteLength-i.byteOffset)/u|0),A<0||A>n)throw new I._L(A,n);const B=A*u,C=r?b.obtainZigView(r.address,B):b.obtainView(i.buffer,i.byteOffset,B),o=E.constructor;this[Q._f][0]=o.call(Q.M0,C),S?.call?.(this,A)}},e.slice=a===g.ev.Slice&&{value(A,e){const t=this[Q.Qn].slice(A,e);return new N(t)}},e.subarray=a===g.ev.Slice&&{value(A,e,t){const g=this[Q.Qn].subarray(A,e,t);return new N(g)}},e[Symbol.toPrimitive]=a===g.ev.Primitive&&{value(A){return this[Q.Qn][Symbol.toPrimitive](A)}},e[Q.Zv]=(0,r.vQ)(k),e[Q.vm]={value(){const A=a!==g.ev.Pointer?s:{};let e;a===g.ev.Function?(e=function(){},e[Q.Qy]=this[Q.Qy],e[Q._f]=this[Q._f],Object.setPrototypeOf(e,N.prototype)):e=this;const t=new Proxy(e,A);return Object.defineProperty(e,Q.rG,{value:t}),t}},e[Q.Qn]={get:m,set:function(A){if(void 0===A)return;const e=this[Q.C7]??this;if(A){const t=A[Q.Qy][Q.Dr];if(t){const{address:e,js:g}=t;p.call(this,e),S?.call?.(this,A.length),g&&(A[Q.Qy][Q.Dr]=void 0)}else if(e[Q.Qy][Q.Dr])throw new I.x1}else e[Q.Qy][Q.Dr]&&(p.call(this,0),S?.call?.(this,0));e[Q._f][0]=A??null,t&g.UT.HasLength&&(e[Q.E2]=null)}},e[Q.q6]=(0,r.vQ)(y),e[Q.BD]={set:p},e[Q.pi]={set:S},e[Q.g9]=this.defineVisitor(),e[Q.c6]=(0,r.vQ)(0),e[Q.uL]=(0,r.vQ)(0),e[Q.E2]=t&g.UT.HasLength&&(0,r.vQ)(null),e.dataView=e.base64=void 0,N},finalizePointer(A,e){const{flags:t,constructor:i,instance:{members:[C]}}=A,{structure:o}=C,{type:s,constructor:E}=o;e.child=E?(0,r.vQ)(E):{get:()=>o.constructor},e.const=(0,r.vQ)(!!(t&g.UT.IsConst)),e[Q.mL]={value(e,r){if(this===Q.M0||this===Q.f7||e instanceof i)return!1;if(n(e,E))return new i(E(e["*"]),r);if(B(e,E,t))return new i(e);if(s===g.ev.Slice)return new i(E(e),r);throw new I.zy(A)}}}});const C=new WeakMap;function o(A){let e=C.get(A);if(!e){const t=A[Q.C7];e=t?new Proxy(t,E):new Proxy(A,a),C.set(A,e)}return e}const s={get:(A,e)=>e===Q.C7?A:e in A?A[e]:A[Q.Qn][e],set:(A,e,t)=>(e in A?A[e]=t:A[Q.Qn][e]=t,!0),deleteProperty:(A,e)=>(e in A?delete A[e]:delete A[Q.Qn][e],!0),has:(A,e)=>e in A||e in A[Q.Qn],apply:(A,e,t)=>A["*"].apply(e,t)},E={...s,set:(A,e,t)=>(e in A?(0,I.V0)():A[Q.Qn][e]=t,!0)},a={get(A,e){if(e===Q.KK)return A;{const t=A[e];return t?.[Q.Qy]?o(t):t}},set(A,e,t){(0,I.V0)()}}},8773:(A,e,t)=>{var g=t(6560),i=t(4762),I=t(4540),Q=t(8e3);(0,g.co)({definePrimitive(A,e){const{instance:{members:[t]}}=A,g=this.createApplier(A),{get:r,set:n}=this.defineMember(t),B=function(e){if((0,Q.pU)(e,C))this[I.sF](e);else if(e&&"object"==typeof e){if(0===g.call(this,e)){const g=(0,Q.BF)(t);throw new i.is(A,g,e)}}else void 0!==e&&n.call(this,e)},C=this.createConstructor(A);return e.$={get:r,set:B},e[I.Zv]=(0,Q.vQ)(B),e[Symbol.toPrimitive]=(0,Q.vQ)(r),C},finalizePrimitive(A,e){const{instance:{members:[t]}}=A;e[I.Qt]=(0,Q.vQ)(t.bitSize),e[I.uT]=(0,Q.vQ)(t.type)}})},3086:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),r=t(8e3);function n(){return this[Q.pi]}function B(A,e){return(A|=0)<0?(A=e+A)<0&&(A=0):A>e&&(A=e),A}(0,i.co)({defineSlice(A,e){const{align:t,flags:i,byteSize:C,name:o,instance:{members:[s]}}=A,{byteSize:E,structure:a}=s,c=this,u=function(A,e,g){A||(A=c.allocateMemory(e*E,t,g)),this[Q.Qy]=A,this[Q.pi]=e},l=function(e,t){if(t!==this[Q.pi])throw new I.Y8(A,this,e)},f=this.defineMember(s),{set:h}=f,w=this.createApplier(A),D=function(e,t){if((0,r.pU)(e,p))this[Q.Qy]?l.call(this,e,e.length):u.call(this,null,e.length,t),this[Q.sF](e),i&g.yi.HasPointer&&this[Q.g9]("copy",g.F7.Vivificate,e);else if("string"==typeof e&&i&g.tv.IsString)D.call(this,{string:e},t);else if(e?.[Symbol.iterator]){e=(0,r.FU)(e),this[Q.Qy]?l.call(this,e,e.length):u.call(this,null,e.length,t);let A=0;for(const g of e)p[Q.fd]?.validateValue(g,A,e.length),h.call(this,A++,g,t)}else if("number"==typeof e){if(!(!this[Q.Qy]&&e>=0&&isFinite(e)))throw new I.L2(A,e,!this[Q.Qy]);u.call(this,null,e,t)}else if(e&&"object"==typeof e){if(0===w.call(this,e,t))throw new I.L2(A,e)}else if(void 0!==e)throw new I.L2(A,e)},y=function(A,e){const t=this[Q.pi],g=this[Q.Qy];A=void 0===A?0:B(A,t),e=void 0===e?t:B(e,t);const i=A*E,I=e*E-i;return c.obtainView(g.buffer,g.byteOffset+i,I)},p=this.createConstructor(A);return e.$={get:r.V_,set:D},e.length={get:n},i&g.tv.IsTypedArray&&(e.typedArray=this.defineTypedArray(A),i&g.tv.IsString&&(e.string=this.defineString(A)),i&g.tv.IsClampedArray&&(e.clampedArray=this.defineClampedArray(A))),e.entries=e[Q.lf]=this.defineArrayEntries(),e.subarray={value(A,e){const t=y.call(this,A,e);return p(t)}},e.slice={value(A,e,g={}){const{zig:i=!1}=g,I=y.call(this,A,e),r=c.allocateMemory(I.byteLength,t,i),n=p(r);return n[Q.sF]({[Q.Qy]:I}),n}},e[Symbol.iterator]=this.defineArrayIterator(),e[Q.IW]=(0,r.vQ)(u),e[Q.sF]=this.defineCopier(C,!0),e[Q.Zv]=(0,r.vQ)(D),e[Q.vm]=this.defineFinalizerArray(f),e[Q.tZ]=i&g.yi.HasObject&&this.defineVivificatorArray(A),e[Q.g9]=i&g.yi.HasPointer&&this.defineVisitorArray(),p},finalizeSlice(A,e){const{flags:t,instance:{members:[i]}}=A;e.child=(0,r.vQ)(i.structure.constructor),e[Q.fd]=t&g.tv.HasSentinel&&this.defineSentinel(A)}})},8991:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540);(0,i.co)({defineVivificatorStruct(A){const{instance:{members:e}}=A,t={};for(const A of e.filter((A=>A.type===g.Z9.Object)))t[A.slot]=A;const i=this;return{value(A){const e=t[A],{bitOffset:g,byteSize:r,structure:{constructor:n}}=e;this[Q.zN]?.();const B=this[Q.Qy],C=B.byteOffset+(g>>3);let o=r;if(void 0===o){if(7&g)throw new I.Vp(e);o=e.bitSize>>3}const s=i.obtainView(B.buffer,C,o);return this[Q._f][A]=n.call(Q.f7,s)}}}})},8771:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),r=t(8e3);(0,i.co)({defineStruct(A,e){const{flags:t,length:i,instance:{members:n}}=A,B=n.find((A=>A.flags&g.pK.IsBackingInt)),C=B&&this.defineMember(B),o=this.createApplier(A),s=function(e,i){if((0,r.pU)(e,E))this[Q.sF](e),t&g.yi.HasPointer&&this[Q.g9]("copy",0,e);else if(e&&"object"==typeof e)o.call(this,e,i);else if("number"!=typeof e&&"bigint"!=typeof e||!C){if(void 0!==e)throw new I.is(A,"object",e)}else C.set.call(this,e)},E=this.createConstructor(A),a=e[Q.Bl].value,c=e[Q.Rk].value,u=[];for(const A of n.filter((A=>!!A.name))){const{name:t,flags:i}=A,{set:I}=e[t]=this.defineMember(A);I&&(i&g.pK.IsRequired&&(I.required=!0),a[t]=I,c.push(t)),u.push(t)}return e.$={get:r.Ng,set:s},e.length=(0,r.vQ)(i),e.entries=t&g.sU.IsTuple&&this.defineVectorEntries(),e[Symbol.toPrimitive]=C&&{value(A){return"string"===A?Object.prototype.toString.call(this):C.get.call(this)}},e[Symbol.iterator]=t&g.sU.IsIterator?this.defineZigIterator():t&g.sU.IsTuple?this.defineVectorIterator():this.defineStructIterator(),e[Q.Zv]=(0,r.vQ)(s),e[Q.tZ]=t&g.yi.HasObject&&this.defineVivificatorStruct(A),e[Q.g9]=t&g.yi.HasPointer&&this.defineVisitorStruct(n),e[Q.lf]=t&g.sU.IsTuple?this.defineVectorEntries():this.defineStructEntries(),e[Q.n5]=(0,r.vQ)(u),t&g.sU.IsAllocator&&(e.alloc=this.defineAlloc(),e.free=this.defineFree(),e.dupe=this.defineDupe()),E}})},4540:(A,e,t)=>{t.d(e,{BD:()=>w,Bl:()=>K,C7:()=>E,Dr:()=>B,E2:()=>f,Ec:()=>U,Gz:()=>x,IW:()=>P,J2:()=>R,KK:()=>b,M0:()=>k,Qn:()=>u,Qt:()=>F,Qy:()=>Q,Rk:()=>h,SK:()=>m,Wg:()=>o,ZE:()=>C,Zv:()=>T,_d:()=>L,_f:()=>r,c6:()=>y,du:()=>J,eR:()=>M,f$:()=>z,f7:()=>n,fV:()=>S,fd:()=>a,g9:()=>O,iw:()=>N,lf:()=>l,mL:()=>j,n5:()=>s,pM:()=>v,pi:()=>D,q6:()=>q,rG:()=>d,sF:()=>V,sO:()=>c,tZ:()=>H,uL:()=>p,uT:()=>G,vm:()=>Z,wg:()=>X,zN:()=>Y,zg:()=>W});const g=globalThis[Symbol.for("ZIGAR")]||={};function i(A){return g[A]||=Symbol(A)}function I(A){return i(A)}const Q=I("memory"),r=I("slots"),n=I("parent"),B=I("zig"),C=(I("name"),I("type")),o=I("flags"),s=(I("class"),I("tag"),I("props")),E=I("pointer"),a=I("sentinel"),c=I("array"),u=(I("items"),I("target")),l=I("entries"),f=I("max length"),h=I("keys"),w=I("address"),D=I("length"),y=I("last address"),p=I("last length"),d=I("proxy"),S=I("cache"),m=I("size"),F=I("bit size"),U=I("align"),b=I("const target"),k=I("environment"),N=I("attributes"),G=I("primitive"),K=(I("getters"),I("setters")),v=I("typed array"),J=I("throwing"),M=I("promise"),L=I("generator"),x=I("allocator"),R=(I("fallback"),I("signature")),q=I("update"),Y=I("restore"),H=(I("reset"),I("vivificate")),O=I("visit"),V=I("copy"),P=I("shape"),T=I("initialize"),z=I("restrict"),Z=I("finalize"),j=I("cast"),W=I("return"),X=I("yield")},8e3:(A,e,t)=>{t.d(e,{$k:()=>l,Au:()=>D,BF:()=>B,FU:()=>y,Fy:()=>f,Ie:()=>b,L9:()=>n,NV:()=>m,Ng:()=>F,UF:()=>k,V_:()=>U,WG:()=>o,Y$:()=>h,ZG:()=>a,be:()=>p,cv:()=>w,g7:()=>C,hJ:()=>u,n8:()=>I,ny:()=>Q,on:()=>c,pU:()=>S,vQ:()=>r,xN:()=>d,y4:()=>s});var g=t(1388),i=t(4540);function I(A,e,t){if(t){const{set:g,get:i,value:I,enumerable:Q,configurable:r=!0,writable:n=!0}=t;Object.defineProperty(A,e,i||g?{get:i,set:g,configurable:r,enumerable:Q}:{value:I,configurable:r,enumerable:Q,writable:n})}return A}function Q(A,e){for(const[t,g]of Object.entries(e))I(A,t,g);for(const t of Object.getOwnPropertySymbols(e))I(A,t,e[t]);return A}function r(A){return void 0!==A?{value:A}:void 0}function n(A){return"return"===A?.error?A=>{try{return A()}catch(A){return A}}:A=>A()}function B({type:A,bitSize:e}){switch(A){case g.Z9.Bool:return"boolean";case g.Z9.Int:case g.Z9.Uint:if(e>32)return"bigint";case g.Z9.Float:return"number"}}function C(A,e="utf-8"){const t=E[e]||=new TextDecoder(e);let g;if(Array.isArray(A))if(1===A.length)g=A[0];else{let e=0;for(const t of A)e+=t.length;const{constructor:t}=A[0];g=new t(e);let i=0;for(const e of A)g.set(e,i),i+=e.length}else g=A;return"SharedArrayBuffer"===g.buffer[Symbol.toStringTag]&&(g=new g.constructor(g)),t.decode(g)}function o(A){const e=new Uint8Array(A.buffer,A.byteOffset,A.byteLength),t=String.fromCharCode.apply(null,e);return btoa(t)}function s(A){const e=atob(A),t=new Uint8Array(e.length);for(let A=0;A<t.byteLength;A++)t[A]=e.charCodeAt(A);return new DataView(t.buffer)}const E={};function a(A,e,t){let g=0,i=A.length;if(0===i)return 0;for(;g<i;){const I=Math.floor((g+i)/2);t(A[I])<=e?g=I+1:i=I}return i}const c=function(A,e){return!!e&&!!(A&e-1)},u=function(A,e){return A+(e-1)&~(e-1)},l=0,f=4294967295,h=-1,w=function(A){return 2863311530===A||-1431655766===A},D=function(A,e){return A+e};function y(A){if("number"==typeof A.length)return A;const e=A[Symbol.iterator](),t=e.next(),g=t.value?.length;if("number"==typeof g&&"length"===Object.keys(t.value).join())return Object.assign(function*(){let A;for(;!(A=e.next()).done;)yield A.value}(),{length:g});{const A=[];let g=t;for(;!g.done;)A.push(g.value),g=e.next();return A}}function p(A,e){const{constructor:t}=A;return t===e?1:t.child===e?A.length:void 0}function d(A,e){return A===e||A?.[i.J2]===e[i.J2]&&A?.[i.M0]!==e?.[i.M0]}function S(A,e){return A instanceof e||d(A?.constructor,e)}function m({get:A,set:e}){return A.special=e.special=!0,{get:A,set:e}}function F(){return this}function U(){return this[i.rG]}function b(){}class k{map=new WeakMap;find(A){return this.map.get(A)}save(A,e){return this.map.set(A,e),e}}},8502:(A,e,t)=>{t.d(e,{k:()=>r});var g=t(1388),i=t(6560),I=t(4762),Q=t(4540);function r(A,e,t,i){let I,r=this[Q._f][A];if(!r){if(t&g.F7.IgnoreUncreated)return;r=this[Q.tZ](A)}i&&(I=i[Q._f][A],!I)||r[Q.g9](e,t,I)}(0,i.co)({defineVisitor:()=>({value(A,e,t){let g;g="string"==typeof A?n[A]:A,g.call(this,e,t)}})});const n={copy(A,e){const t=e[Q._f][0];if(this[Q.Qy][Q.Dr]&&t&&!t[Q.Qy][Q.Dr])throw new I.x1;this[Q._f][0]=t},clear(A){A&g.F7.IsInactive&&(this[Q._f][0]=void 0)},reset(){this[Q._f][0]=void 0,this[Q.c6]=void 0}}},9025:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(8502);(0,i.co)({defineVisitorArgStruct(A){const e=[];let t;for(const[i,{slot:I,structure:Q}]of A.entries())Q.flags&g.yi.HasPointer&&(0===i?t=I:e.push(I));return{value(A,i,Q){if(!(i&g.F7.IgnoreArguments)&&e.length>0)for(const t of e)I.k.call(this,t,A,i|g.F7.IsImmutable,Q);i&g.F7.IgnoreRetval||void 0===t||I.k.call(this,t,A,i,Q)}}}})},5558:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(8502);(0,i.co)({defineVisitorStruct(A){const e=A.filter((A=>A.structure?.flags&g.yi.HasPointer)).map((A=>A.slot));return{value(A,t,g){for(const i of e)I.k.call(this,i,A,t,g)}}}})},1369:A=>{A.exports=JSON.parse('{"Wn":[{"id":57346,"index":2,"char":"","width":43,"height":46,"xoffset":-1,"yoffset":2,"xadvance":42,"chnl":15,"x":0,"y":0,"page":0},{"id":57345,"index":1,"char":"","width":45,"height":40,"xoffset":-2,"yoffset":6,"xadvance":42,"chnl":15,"x":44,"y":0,"page":0}]}')}},I={};function Q(A){var e=I[A];if(void 0!==e)return e.exports;var t=I[A]={exports:{}};return i[A](t,t.exports,Q),t.exports}A="function"==typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",e="function"==typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",t="function"==typeof Symbol?Symbol("webpack error"):"__webpack_error__",g=A=>{A&&A.d<1&&(A.d=1,A.forEach((A=>A.r--)),A.forEach((A=>A.r--?A.r++:A())))},Q.a=(i,I,Q)=>{var r;Q&&((r=[]).d=-1);var n,B,C,o=new Set,s=i.exports,E=new Promise(((A,e)=>{C=e,B=A}));E[e]=s,E[A]=A=>(r&&A(r),o.forEach(A),E.catch((A=>{}))),i.exports=E,I((i=>{var I;n=(i=>i.map((i=>{if(null!==i&&"object"==typeof i){if(i[A])return i;if(i.then){var I=[];I.d=0,i.then((A=>{Q[e]=A,g(I)}),(A=>{Q[t]=A,g(I)}));var Q={};return Q[A]=A=>A(I),Q}}var r={};return r[A]=A=>{},r[e]=i,r})))(i);var Q=()=>n.map((A=>{if(A[t])throw A[t];return A[e]})),B=new Promise((e=>{(I=()=>e(Q)).r=0;var t=A=>A!==r&&!o.has(A)&&(o.add(A),A&&!A.d&&(I.r++,A.push(I)));n.map((e=>e[A](t)))}));return I.r?B:Q()}),(A=>(A?C(E[t]=A):B(s),g(r)))),r&&r.d<0&&(r.d=0)},Q.d=(A,e)=>{for(var t in e)Q.o(e,t)&&!Q.o(A,t)&&Object.defineProperty(A,t,{enumerable:!0,get:e[t]})},Q.o=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),(()=>{var A;if("string"==typeof import.meta.url&&(A=import.meta.url),!A)throw new Error("Automatic publicPath is not supported in this browser");A=A.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),Q.p=A})();var r=Q(8156),n=(r=await r).A;export{n as default};
1
+ var A,e,t,i,n={945:(A,e,t)=>{var i,n;t.d(e,{Ay:()=>Mi}),String.prototype.codePointAt||(i=function(){try{var A={},e=Object.defineProperty,t=e(A,A,A)&&e}catch(A){}return t}(),n=function(A){if(null==this)throw TypeError();var e=String(this),t=e.length,i=A?Number(A):0;if(i!=i&&(i=0),!(i<0||i>=t)){var n,r=e.charCodeAt(i);return r>=55296&&r<=56319&&t>i+1&&(n=e.charCodeAt(i+1))>=56320&&n<=57343?1024*(r-55296)+n-56320+65536:r}},i?i(String.prototype,"codePointAt",{value:n,configurable:!0,writable:!0}):String.prototype.codePointAt=n);function r(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function s(A,e){this.source=A,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=e,this.destLen=0,this.ltree=new r,this.dtree=new r}var a=new r,o=new r,g=new Uint8Array(30),I=new Uint16Array(30),C=new Uint8Array(30),Q=new Uint16Array(30),c=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),B=new r,l=new Uint8Array(320);function E(A,e,t,i){var n,r;for(n=0;n<t;++n)A[n]=0;for(n=0;n<30-t;++n)A[n+t]=n/t|0;for(r=i,n=0;n<30;++n)e[n]=r,r+=1<<A[n]}var u=new Uint16Array(16);function f(A,e,t,i){var n,r;for(n=0;n<16;++n)A.table[n]=0;for(n=0;n<i;++n)A.table[e[t+n]]++;for(A.table[0]=0,r=0,n=0;n<16;++n)u[n]=r,r+=A.table[n];for(n=0;n<i;++n)e[t+n]&&(A.trans[u[e[t+n]]++]=n)}function h(A){A.bitcount--||(A.tag=A.source[A.sourceIndex++],A.bitcount=7);var e=1&A.tag;return A.tag>>>=1,e}function p(A,e,t){if(!e)return t;for(;A.bitcount<24;)A.tag|=A.source[A.sourceIndex++]<<A.bitcount,A.bitcount+=8;var i=A.tag&65535>>>16-e;return A.tag>>>=e,A.bitcount-=e,i+t}function y(A,e){for(;A.bitcount<24;)A.tag|=A.source[A.sourceIndex++]<<A.bitcount,A.bitcount+=8;var t=0,i=0,n=0,r=A.tag;do{i=2*i+(1&r),r>>>=1,++n,t+=e.table[n],i-=e.table[n]}while(i>=0);return A.tag=r,A.bitcount-=n,e.trans[t+i]}function d(A,e,t){var i,n,r,s,a,o;for(i=p(A,5,257),n=p(A,5,1),r=p(A,4,4),s=0;s<19;++s)l[s]=0;for(s=0;s<r;++s){var g=p(A,3,0);l[c[s]]=g}for(f(B,l,0,19),a=0;a<i+n;){var I=y(A,B);switch(I){case 16:var C=l[a-1];for(o=p(A,2,3);o;--o)l[a++]=C;break;case 17:for(o=p(A,3,3);o;--o)l[a++]=0;break;case 18:for(o=p(A,7,11);o;--o)l[a++]=0;break;default:l[a++]=I}}f(e,l,0,i),f(t,l,i,n)}function m(A,e,t){for(;;){var i,n,r,s,a=y(A,e);if(256===a)return 0;if(a<256)A.dest[A.destLen++]=a;else for(i=p(A,g[a-=257],I[a]),n=y(A,t),s=r=A.destLen-p(A,C[n],Q[n]);s<r+i;++s)A.dest[A.destLen++]=A.dest[s]}}function b(A){for(var e,t;A.bitcount>8;)A.sourceIndex--,A.bitcount-=8;if((e=256*(e=A.source[A.sourceIndex+1])+A.source[A.sourceIndex])!==(65535&~(256*A.source[A.sourceIndex+3]+A.source[A.sourceIndex+2])))return-3;for(A.sourceIndex+=4,t=e;t;--t)A.dest[A.destLen++]=A.source[A.sourceIndex++];return A.bitcount=0,0}!function(A,e){var t;for(t=0;t<7;++t)A.table[t]=0;for(A.table[7]=24,A.table[8]=152,A.table[9]=112,t=0;t<24;++t)A.trans[t]=256+t;for(t=0;t<144;++t)A.trans[24+t]=t;for(t=0;t<8;++t)A.trans[168+t]=280+t;for(t=0;t<112;++t)A.trans[176+t]=144+t;for(t=0;t<5;++t)e.table[t]=0;for(e.table[5]=32,t=0;t<32;++t)e.trans[t]=t}(a,o),E(g,I,4,3),E(C,Q,2,1),g[28]=0,I[28]=258;var D=function(A,e){var t,i,n=new s(A,e);do{switch(t=h(n),p(n,2,0)){case 0:i=b(n);break;case 1:i=m(n,a,o);break;case 2:d(n,n.ltree,n.dtree),i=m(n,n.ltree,n.dtree);break;default:i=-3}if(0!==i)throw new Error("Data error")}while(!t);return n.destLen<n.dest.length?"function"==typeof n.dest.slice?n.dest.slice(0,n.destLen):n.dest.subarray(0,n.destLen):n.dest};function S(A,e,t,i,n){return Math.pow(1-n,3)*A+3*Math.pow(1-n,2)*n*e+3*(1-n)*Math.pow(n,2)*t+Math.pow(n,3)*i}function w(){this.x1=Number.NaN,this.y1=Number.NaN,this.x2=Number.NaN,this.y2=Number.NaN}function v(){this.commands=[],this.fill="black",this.stroke=null,this.strokeWidth=1}function k(A){throw new Error(A)}function x(A,e){A||k(e)}w.prototype.isEmpty=function(){return isNaN(this.x1)||isNaN(this.y1)||isNaN(this.x2)||isNaN(this.y2)},w.prototype.addPoint=function(A,e){"number"==typeof A&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=A,this.x2=A),A<this.x1&&(this.x1=A),A>this.x2&&(this.x2=A)),"number"==typeof e&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=e,this.y2=e),e<this.y1&&(this.y1=e),e>this.y2&&(this.y2=e))},w.prototype.addX=function(A){this.addPoint(A,null)},w.prototype.addY=function(A){this.addPoint(null,A)},w.prototype.addBezier=function(A,e,t,i,n,r,s,a){var o=[A,e],g=[t,i],I=[n,r],C=[s,a];this.addPoint(A,e),this.addPoint(s,a);for(var Q=0;Q<=1;Q++){var c=6*o[Q]-12*g[Q]+6*I[Q],B=-3*o[Q]+9*g[Q]-9*I[Q]+3*C[Q],l=3*g[Q]-3*o[Q];if(0!==B){var E=Math.pow(c,2)-4*l*B;if(!(E<0)){var u=(-c+Math.sqrt(E))/(2*B);0<u&&u<1&&(0===Q&&this.addX(S(o[Q],g[Q],I[Q],C[Q],u)),1===Q&&this.addY(S(o[Q],g[Q],I[Q],C[Q],u)));var f=(-c-Math.sqrt(E))/(2*B);0<f&&f<1&&(0===Q&&this.addX(S(o[Q],g[Q],I[Q],C[Q],f)),1===Q&&this.addY(S(o[Q],g[Q],I[Q],C[Q],f)))}}else{if(0===c)continue;var h=-l/c;0<h&&h<1&&(0===Q&&this.addX(S(o[Q],g[Q],I[Q],C[Q],h)),1===Q&&this.addY(S(o[Q],g[Q],I[Q],C[Q],h)))}}},w.prototype.addQuad=function(A,e,t,i,n,r){var s=A+2/3*(t-A),a=e+2/3*(i-e),o=s+1/3*(n-A),g=a+1/3*(r-e);this.addBezier(A,e,s,a,o,g,n,r)},v.prototype.moveTo=function(A,e){this.commands.push({type:"M",x:A,y:e})},v.prototype.lineTo=function(A,e){this.commands.push({type:"L",x:A,y:e})},v.prototype.curveTo=v.prototype.bezierCurveTo=function(A,e,t,i,n,r){this.commands.push({type:"C",x1:A,y1:e,x2:t,y2:i,x:n,y:r})},v.prototype.quadTo=v.prototype.quadraticCurveTo=function(A,e,t,i){this.commands.push({type:"Q",x1:A,y1:e,x:t,y:i})},v.prototype.close=v.prototype.closePath=function(){this.commands.push({type:"Z"})},v.prototype.extend=function(A){if(A.commands)A=A.commands;else if(A instanceof w){var e=A;return this.moveTo(e.x1,e.y1),this.lineTo(e.x2,e.y1),this.lineTo(e.x2,e.y2),this.lineTo(e.x1,e.y2),void this.close()}Array.prototype.push.apply(this.commands,A)},v.prototype.getBoundingBox=function(){for(var A=new w,e=0,t=0,i=0,n=0,r=0;r<this.commands.length;r++){var s=this.commands[r];switch(s.type){case"M":A.addPoint(s.x,s.y),e=i=s.x,t=n=s.y;break;case"L":A.addPoint(s.x,s.y),i=s.x,n=s.y;break;case"Q":A.addQuad(i,n,s.x1,s.y1,s.x,s.y),i=s.x,n=s.y;break;case"C":A.addBezier(i,n,s.x1,s.y1,s.x2,s.y2,s.x,s.y),i=s.x,n=s.y;break;case"Z":i=e,n=t;break;default:throw new Error("Unexpected path command "+s.type)}}return A.isEmpty()&&A.addPoint(0,0),A},v.prototype.draw=function(A){A.beginPath();for(var e=0;e<this.commands.length;e+=1){var t=this.commands[e];"M"===t.type?A.moveTo(t.x,t.y):"L"===t.type?A.lineTo(t.x,t.y):"C"===t.type?A.bezierCurveTo(t.x1,t.y1,t.x2,t.y2,t.x,t.y):"Q"===t.type?A.quadraticCurveTo(t.x1,t.y1,t.x,t.y):"Z"===t.type&&A.closePath()}this.fill&&(A.fillStyle=this.fill,A.fill()),this.stroke&&(A.strokeStyle=this.stroke,A.lineWidth=this.strokeWidth,A.stroke())},v.prototype.toPathData=function(A){function e(e){return Math.round(e)===e?""+Math.round(e):e.toFixed(A)}function t(){for(var A=arguments,t="",i=0;i<arguments.length;i+=1){var n=A[i];n>=0&&i>0&&(t+=" "),t+=e(n)}return t}A=void 0!==A?A:2;for(var i="",n=0;n<this.commands.length;n+=1){var r=this.commands[n];"M"===r.type?i+="M"+t(r.x,r.y):"L"===r.type?i+="L"+t(r.x,r.y):"C"===r.type?i+="C"+t(r.x1,r.y1,r.x2,r.y2,r.x,r.y):"Q"===r.type?i+="Q"+t(r.x1,r.y1,r.x,r.y):"Z"===r.type&&(i+="Z")}return i},v.prototype.toSVG=function(A){var e='<path d="';return e+=this.toPathData(A),e+='"',this.fill&&"black"!==this.fill&&(null===this.fill?e+=' fill="none"':e+=' fill="'+this.fill+'"'),this.stroke&&(e+=' stroke="'+this.stroke+'" stroke-width="'+this.strokeWidth+'"'),e+="/>"},v.prototype.toDOMElement=function(A){var e=this.toPathData(A),t=document.createElementNS("http://www.w3.org/2000/svg","path");return t.setAttribute("d",e),t};var U={fail:k,argument:x,assert:x},N=2147483648,G={},F={},M={};function R(A){return function(){return A}}F.BYTE=function(A){return U.argument(A>=0&&A<=255,"Byte value should be between 0 and 255."),[A]},M.BYTE=R(1),F.CHAR=function(A){return[A.charCodeAt(0)]},M.CHAR=R(1),F.CHARARRAY=function(A){void 0===A&&(A="",console.warn("Undefined CHARARRAY encountered and treated as an empty string. This is probably caused by a missing glyph name."));for(var e=[],t=0;t<A.length;t+=1)e[t]=A.charCodeAt(t);return e},M.CHARARRAY=function(A){return void 0===A?0:A.length},F.USHORT=function(A){return[A>>8&255,255&A]},M.USHORT=R(2),F.SHORT=function(A){return A>=32768&&(A=-(65536-A)),[A>>8&255,255&A]},M.SHORT=R(2),F.UINT24=function(A){return[A>>16&255,A>>8&255,255&A]},M.UINT24=R(3),F.ULONG=function(A){return[A>>24&255,A>>16&255,A>>8&255,255&A]},M.ULONG=R(4),F.LONG=function(A){return A>=N&&(A=-(2*N-A)),[A>>24&255,A>>16&255,A>>8&255,255&A]},M.LONG=R(4),F.FIXED=F.ULONG,M.FIXED=M.ULONG,F.FWORD=F.SHORT,M.FWORD=M.SHORT,F.UFWORD=F.USHORT,M.UFWORD=M.USHORT,F.LONGDATETIME=function(A){return[0,0,0,0,A>>24&255,A>>16&255,A>>8&255,255&A]},M.LONGDATETIME=R(8),F.TAG=function(A){return U.argument(4===A.length,"Tag should be exactly 4 ASCII characters."),[A.charCodeAt(0),A.charCodeAt(1),A.charCodeAt(2),A.charCodeAt(3)]},M.TAG=R(4),F.Card8=F.BYTE,M.Card8=M.BYTE,F.Card16=F.USHORT,M.Card16=M.USHORT,F.OffSize=F.BYTE,M.OffSize=M.BYTE,F.SID=F.USHORT,M.SID=M.USHORT,F.NUMBER=function(A){return A>=-107&&A<=107?[A+139]:A>=108&&A<=1131?[247+((A-=108)>>8),255&A]:A>=-1131&&A<=-108?[251+((A=-A-108)>>8),255&A]:A>=-32768&&A<=32767?F.NUMBER16(A):F.NUMBER32(A)},M.NUMBER=function(A){return F.NUMBER(A).length},F.NUMBER16=function(A){return[28,A>>8&255,255&A]},M.NUMBER16=R(3),F.NUMBER32=function(A){return[29,A>>24&255,A>>16&255,A>>8&255,255&A]},M.NUMBER32=R(5),F.REAL=function(A){var e=A.toString(),t=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(e);if(t){var i=parseFloat("1e"+((t[2]?+t[2]:0)+t[1].length));e=(Math.round(A*i)/i).toString()}for(var n="",r=0,s=e.length;r<s;r+=1){var a=e[r];n+="e"===a?"-"===e[++r]?"c":"b":"."===a?"a":"-"===a?"e":a}for(var o=[30],g=0,I=(n+=1&n.length?"f":"ff").length;g<I;g+=2)o.push(parseInt(n.substr(g,2),16));return o},M.REAL=function(A){return F.REAL(A).length},F.NAME=F.CHARARRAY,M.NAME=M.CHARARRAY,F.STRING=F.CHARARRAY,M.STRING=M.CHARARRAY,G.UTF8=function(A,e,t){for(var i=[],n=t,r=0;r<n;r++,e+=1)i[r]=A.getUint8(e);return String.fromCharCode.apply(null,i)},G.UTF16=function(A,e,t){for(var i=[],n=t/2,r=0;r<n;r++,e+=2)i[r]=A.getUint16(e);return String.fromCharCode.apply(null,i)},F.UTF16=function(A){for(var e=[],t=0;t<A.length;t+=1){var i=A.charCodeAt(t);e[e.length]=i>>8&255,e[e.length]=255&i}return e},M.UTF16=function(A){return 2*A.length};var L={"x-mac-croatian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈ƫȅ ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ","x-mac-cyrillic":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю","x-mac-gaelic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ","x-mac-greek":"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ­","x-mac-icelandic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",macintosh:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-romanian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-turkish":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"};G.MACSTRING=function(A,e,t,i){var n=L[i];if(void 0!==n){for(var r="",s=0;s<t;s++){var a=A.getUint8(e+s);r+=a<=127?String.fromCharCode(a):n[127&a]}return r}};var z,q="function"==typeof WeakMap&&new WeakMap;function J(A){return A>=-128&&A<=127}function O(A,e,t){for(var i=0,n=A.length;e<n&&i<64&&0===A[e];)++e,++i;return t.push(128|i-1),e}function K(A,e,t){for(var i=0,n=A.length,r=e;r<n&&i<64;){var s=A[r];if(!J(s))break;if(0===s&&r+1<n&&0===A[r+1])break;++r,++i}t.push(i-1);for(var a=e;a<r;++a)t.push(A[a]+256&255);return r}function T(A,e,t){for(var i=0,n=A.length,r=e;r<n&&i<64;){var s=A[r];if(0===s)break;if(J(s)&&r+1<n&&J(A[r+1]))break;++r,++i}t.push(64|i-1);for(var a=e;a<r;++a){var o=A[a];t.push(o+65536>>8&255,o+256&255)}return r}F.MACSTRING=function(A,e){var t=function(A){if(!z)for(var e in z={},L)z[e]=new String(e);var t=z[A];if(void 0!==t){if(q){var i=q.get(t);if(void 0!==i)return i}var n=L[A];if(void 0!==n){for(var r={},s=0;s<n.length;s++)r[n.charCodeAt(s)]=s+128;return q&&q.set(t,r),r}}}(e);if(void 0!==t){for(var i=[],n=0;n<A.length;n++){var r=A.charCodeAt(n);if(r>=128&&void 0===(r=t[r]))return;i[n]=r}return i}},M.MACSTRING=function(A,e){var t=F.MACSTRING(A,e);return void 0!==t?t.length:0},F.VARDELTAS=function(A){for(var e=0,t=[];e<A.length;){var i=A[e];e=0===i?O(A,e,t):i>=-128&&i<=127?K(A,e,t):T(A,e,t)}return t},F.INDEX=function(A){for(var e=1,t=[e],i=[],n=0;n<A.length;n+=1){var r=F.OBJECT(A[n]);Array.prototype.push.apply(i,r),e+=r.length,t.push(e)}if(0===i.length)return[0,0];for(var s=[],a=1+Math.floor(Math.log(e)/Math.log(2))/8|0,o=[void 0,F.BYTE,F.USHORT,F.UINT24,F.ULONG][a],g=0;g<t.length;g+=1){var I=o(t[g]);Array.prototype.push.apply(s,I)}return Array.prototype.concat(F.Card16(A.length),F.OffSize(a),s,i)},M.INDEX=function(A){return F.INDEX(A).length},F.DICT=function(A){for(var e=[],t=Object.keys(A),i=t.length,n=0;n<i;n+=1){var r=parseInt(t[n],0),s=A[r];e=(e=e.concat(F.OPERAND(s.value,s.type))).concat(F.OPERATOR(r))}return e},M.DICT=function(A){return F.DICT(A).length},F.OPERATOR=function(A){return A<1200?[A]:[12,A-1200]},F.OPERAND=function(A,e){var t=[];if(Array.isArray(e))for(var i=0;i<e.length;i+=1)U.argument(A.length===e.length,"Not enough arguments given for type"+e),t=t.concat(F.OPERAND(A[i],e[i]));else if("SID"===e)t=t.concat(F.NUMBER(A));else if("offset"===e)t=t.concat(F.NUMBER32(A));else if("number"===e)t=t.concat(F.NUMBER(A));else{if("real"!==e)throw new Error("Unknown operand type "+e);t=t.concat(F.REAL(A))}return t},F.OP=F.BYTE,M.OP=M.BYTE;var Y="function"==typeof WeakMap&&new WeakMap;function H(A,e,t){if(e.length&&("coverageFormat"!==e[0].name||1===e[0].value))for(var i=0;i<e.length;i+=1){var n=e[i];this[n.name]=n.value}if(this.tableName=A,this.fields=e,t)for(var r=Object.keys(t),s=0;s<r.length;s+=1){var a=r[s],o=t[a];void 0!==this[a]&&(this[a]=o)}}function P(A,e,t){void 0===t&&(t=e.length);var i=new Array(e.length+1);i[0]={name:A+"Count",type:"USHORT",value:t};for(var n=0;n<e.length;n++)i[n+1]={name:A+n,type:"USHORT",value:e[n]};return i}function V(A,e,t){var i=e.length,n=new Array(i+1);n[0]={name:A+"Count",type:"USHORT",value:i};for(var r=0;r<i;r++)n[r+1]={name:A+r,type:"TABLE",value:t(e[r],r)};return n}function _(A,e,t){var i=e.length,n=[];n[0]={name:A+"Count",type:"USHORT",value:i};for(var r=0;r<i;r++)n=n.concat(t(e[r],r));return n}function W(A){1===A.format?H.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:1}].concat(P("glyph",A.glyphs))):2===A.format?H.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:2}].concat(_("rangeRecord",A.ranges,(function(A){return[{name:"startGlyphID",type:"USHORT",value:A.start},{name:"endGlyphID",type:"USHORT",value:A.end},{name:"startCoverageIndex",type:"USHORT",value:A.index}]})))):U.assert(!1,"Coverage format must be 1 or 2.")}function X(A){H.call(this,"scriptListTable",_("scriptRecord",A,(function(A,e){var t=A.script,i=t.defaultLangSys;return U.assert(!!i,"Unable to write GSUB: script "+A.tag+" has no default language system."),[{name:"scriptTag"+e,type:"TAG",value:A.tag},{name:"script"+e,type:"TABLE",value:new H("scriptTable",[{name:"defaultLangSys",type:"TABLE",value:new H("defaultLangSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:i.reqFeatureIndex}].concat(P("featureIndex",i.featureIndexes)))}].concat(_("langSys",t.langSysRecords,(function(A,e){var t=A.langSys;return[{name:"langSysTag"+e,type:"TAG",value:A.tag},{name:"langSys"+e,type:"TABLE",value:new H("langSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:t.reqFeatureIndex}].concat(P("featureIndex",t.featureIndexes)))}]}))))}]})))}function j(A){H.call(this,"featureListTable",_("featureRecord",A,(function(A,e){var t=A.feature;return[{name:"featureTag"+e,type:"TAG",value:A.tag},{name:"feature"+e,type:"TABLE",value:new H("featureTable",[{name:"featureParams",type:"USHORT",value:t.featureParams}].concat(P("lookupListIndex",t.lookupListIndexes)))}]})))}function Z(A,e){H.call(this,"lookupListTable",V("lookup",A,(function(A){var t=e[A.lookupType];return U.assert(!!t,"Unable to write GSUB lookup type "+A.lookupType+" tables."),new H("lookupTable",[{name:"lookupType",type:"USHORT",value:A.lookupType},{name:"lookupFlag",type:"USHORT",value:A.lookupFlag}].concat(V("subtable",A.subtables,t)))})))}F.CHARSTRING=function(A){if(Y){var e=Y.get(A);if(void 0!==e)return e}for(var t=[],i=A.length,n=0;n<i;n+=1){var r=A[n];t=t.concat(F[r.type](r.value))}return Y&&Y.set(A,t),t},M.CHARSTRING=function(A){return F.CHARSTRING(A).length},F.OBJECT=function(A){var e=F[A.type];return U.argument(void 0!==e,"No encoding function for type "+A.type),e(A.value)},M.OBJECT=function(A){var e=M[A.type];return U.argument(void 0!==e,"No sizeOf function for type "+A.type),e(A.value)},F.TABLE=function(A){for(var e=[],t=A.fields.length,i=[],n=[],r=0;r<t;r+=1){var s=A.fields[r],a=F[s.type];U.argument(void 0!==a,"No encoding function for field type "+s.type+" ("+s.name+")");var o=A[s.name];void 0===o&&(o=s.value);var g=a(o);"TABLE"===s.type?(n.push(e.length),e=e.concat([0,0]),i.push(g)):e=e.concat(g)}for(var I=0;I<i.length;I+=1){var C=n[I],Q=e.length;U.argument(Q<65536,"Table "+A.tableName+" too big."),e[C]=Q>>8,e[C+1]=255&Q,e=e.concat(i[I])}return e},M.TABLE=function(A){for(var e=0,t=A.fields.length,i=0;i<t;i+=1){var n=A.fields[i],r=M[n.type];U.argument(void 0!==r,"No sizeOf function for field type "+n.type+" ("+n.name+")");var s=A[n.name];void 0===s&&(s=n.value),e+=r(s),"TABLE"===n.type&&(e+=2)}return e},F.RECORD=F.TABLE,M.RECORD=M.TABLE,F.LITERAL=function(A){return A},M.LITERAL=function(A){return A.length},H.prototype.encode=function(){return F.TABLE(this)},H.prototype.sizeOf=function(){return M.TABLE(this)},W.prototype=Object.create(H.prototype),W.prototype.constructor=W,X.prototype=Object.create(H.prototype),X.prototype.constructor=X,j.prototype=Object.create(H.prototype),j.prototype.constructor=j,Z.prototype=Object.create(H.prototype),Z.prototype.constructor=Z;var $={Table:H,Record:H,Coverage:W,ScriptList:X,FeatureList:j,LookupList:Z,ushortList:P,tableList:V,recordList:_};function AA(A,e){return A.getUint8(e)}function eA(A,e){return A.getUint16(e,!1)}function tA(A,e){return A.getUint32(e,!1)}function iA(A,e){return A.getInt16(e,!1)+A.getUint16(e+2,!1)/65535}var nA={byte:1,uShort:2,short:2,uLong:4,fixed:4,longDateTime:8,tag:4};function rA(A,e){this.data=A,this.offset=e,this.relativeOffset=0}rA.prototype.parseByte=function(){var A=this.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+=1,A},rA.prototype.parseChar=function(){var A=this.data.getInt8(this.offset+this.relativeOffset);return this.relativeOffset+=1,A},rA.prototype.parseCard8=rA.prototype.parseByte,rA.prototype.parseUShort=function(){var A=this.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+=2,A},rA.prototype.parseCard16=rA.prototype.parseUShort,rA.prototype.parseSID=rA.prototype.parseUShort,rA.prototype.parseOffset16=rA.prototype.parseUShort,rA.prototype.parseShort=function(){var A=this.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+=2,A},rA.prototype.parseF2Dot14=function(){var A=this.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+=2,A},rA.prototype.parseULong=function(){var A=tA(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,A},rA.prototype.parseOffset32=rA.prototype.parseULong,rA.prototype.parseFixed=function(){var A=iA(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,A},rA.prototype.parseString=function(A){var e=this.data,t=this.offset+this.relativeOffset,i="";this.relativeOffset+=A;for(var n=0;n<A;n++)i+=String.fromCharCode(e.getUint8(t+n));return i},rA.prototype.parseTag=function(){return this.parseString(4)},rA.prototype.parseLongDateTime=function(){var A=tA(this.data,this.offset+this.relativeOffset+4);return A-=2082844800,this.relativeOffset+=8,A},rA.prototype.parseVersion=function(A){var e=eA(this.data,this.offset+this.relativeOffset),t=eA(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+=4,void 0===A&&(A=4096),e+t/A/10},rA.prototype.skip=function(A,e){void 0===e&&(e=1),this.relativeOffset+=nA[A]*e},rA.prototype.parseULongList=function(A){void 0===A&&(A=this.parseULong());for(var e=new Array(A),t=this.data,i=this.offset+this.relativeOffset,n=0;n<A;n++)e[n]=t.getUint32(i),i+=4;return this.relativeOffset+=4*A,e},rA.prototype.parseOffset16List=rA.prototype.parseUShortList=function(A){void 0===A&&(A=this.parseUShort());for(var e=new Array(A),t=this.data,i=this.offset+this.relativeOffset,n=0;n<A;n++)e[n]=t.getUint16(i),i+=2;return this.relativeOffset+=2*A,e},rA.prototype.parseShortList=function(A){for(var e=new Array(A),t=this.data,i=this.offset+this.relativeOffset,n=0;n<A;n++)e[n]=t.getInt16(i),i+=2;return this.relativeOffset+=2*A,e},rA.prototype.parseByteList=function(A){for(var e=new Array(A),t=this.data,i=this.offset+this.relativeOffset,n=0;n<A;n++)e[n]=t.getUint8(i++);return this.relativeOffset+=A,e},rA.prototype.parseList=function(A,e){e||(e=A,A=this.parseUShort());for(var t=new Array(A),i=0;i<A;i++)t[i]=e.call(this);return t},rA.prototype.parseList32=function(A,e){e||(e=A,A=this.parseULong());for(var t=new Array(A),i=0;i<A;i++)t[i]=e.call(this);return t},rA.prototype.parseRecordList=function(A,e){e||(e=A,A=this.parseUShort());for(var t=new Array(A),i=Object.keys(e),n=0;n<A;n++){for(var r={},s=0;s<i.length;s++){var a=i[s],o=e[a];r[a]=o.call(this)}t[n]=r}return t},rA.prototype.parseRecordList32=function(A,e){e||(e=A,A=this.parseULong());for(var t=new Array(A),i=Object.keys(e),n=0;n<A;n++){for(var r={},s=0;s<i.length;s++){var a=i[s],o=e[a];r[a]=o.call(this)}t[n]=r}return t},rA.prototype.parseStruct=function(A){if("function"==typeof A)return A.call(this);for(var e=Object.keys(A),t={},i=0;i<e.length;i++){var n=e[i],r=A[n];t[n]=r.call(this)}return t},rA.prototype.parseValueRecord=function(A){if(void 0===A&&(A=this.parseUShort()),0!==A){var e={};return 1&A&&(e.xPlacement=this.parseShort()),2&A&&(e.yPlacement=this.parseShort()),4&A&&(e.xAdvance=this.parseShort()),8&A&&(e.yAdvance=this.parseShort()),16&A&&(e.xPlaDevice=void 0,this.parseShort()),32&A&&(e.yPlaDevice=void 0,this.parseShort()),64&A&&(e.xAdvDevice=void 0,this.parseShort()),128&A&&(e.yAdvDevice=void 0,this.parseShort()),e}},rA.prototype.parseValueRecordList=function(){for(var A=this.parseUShort(),e=this.parseUShort(),t=new Array(e),i=0;i<e;i++)t[i]=this.parseValueRecord(A);return t},rA.prototype.parsePointer=function(A){var e=this.parseOffset16();if(e>0)return new rA(this.data,this.offset+e).parseStruct(A)},rA.prototype.parsePointer32=function(A){var e=this.parseOffset32();if(e>0)return new rA(this.data,this.offset+e).parseStruct(A)},rA.prototype.parseListOfLists=function(A){for(var e=this.parseOffset16List(),t=e.length,i=this.relativeOffset,n=new Array(t),r=0;r<t;r++){var s=e[r];if(0!==s)if(this.relativeOffset=s,A){for(var a=this.parseOffset16List(),o=new Array(a.length),g=0;g<a.length;g++)this.relativeOffset=s+a[g],o[g]=A.call(this);n[r]=o}else n[r]=this.parseUShortList();else n[r]=void 0}return this.relativeOffset=i,n},rA.prototype.parseCoverage=function(){var A=this.offset+this.relativeOffset,e=this.parseUShort(),t=this.parseUShort();if(1===e)return{format:1,glyphs:this.parseUShortList(t)};if(2===e){for(var i=new Array(t),n=0;n<t;n++)i[n]={start:this.parseUShort(),end:this.parseUShort(),index:this.parseUShort()};return{format:2,ranges:i}}throw new Error("0x"+A.toString(16)+": Coverage format must be 1 or 2.")},rA.prototype.parseClassDef=function(){var A=this.offset+this.relativeOffset,e=this.parseUShort();if(1===e)return{format:1,startGlyph:this.parseUShort(),classes:this.parseUShortList()};if(2===e)return{format:2,ranges:this.parseRecordList({start:rA.uShort,end:rA.uShort,classId:rA.uShort})};throw new Error("0x"+A.toString(16)+": ClassDef format must be 1 or 2.")},rA.list=function(A,e){return function(){return this.parseList(A,e)}},rA.list32=function(A,e){return function(){return this.parseList32(A,e)}},rA.recordList=function(A,e){return function(){return this.parseRecordList(A,e)}},rA.recordList32=function(A,e){return function(){return this.parseRecordList32(A,e)}},rA.pointer=function(A){return function(){return this.parsePointer(A)}},rA.pointer32=function(A){return function(){return this.parsePointer32(A)}},rA.tag=rA.prototype.parseTag,rA.byte=rA.prototype.parseByte,rA.uShort=rA.offset16=rA.prototype.parseUShort,rA.uShortList=rA.prototype.parseUShortList,rA.uLong=rA.offset32=rA.prototype.parseULong,rA.uLongList=rA.prototype.parseULongList,rA.struct=rA.prototype.parseStruct,rA.coverage=rA.prototype.parseCoverage,rA.classDef=rA.prototype.parseClassDef;var sA={reserved:rA.uShort,reqFeatureIndex:rA.uShort,featureIndexes:rA.uShortList};rA.prototype.parseScriptList=function(){return this.parsePointer(rA.recordList({tag:rA.tag,script:rA.pointer({defaultLangSys:rA.pointer(sA),langSysRecords:rA.recordList({tag:rA.tag,langSys:rA.pointer(sA)})})}))||[]},rA.prototype.parseFeatureList=function(){return this.parsePointer(rA.recordList({tag:rA.tag,feature:rA.pointer({featureParams:rA.offset16,lookupListIndexes:rA.uShortList})}))||[]},rA.prototype.parseLookupList=function(A){return this.parsePointer(rA.list(rA.pointer((function(){var e=this.parseUShort();U.argument(1<=e&&e<=9,"GPOS/GSUB lookup type "+e+" unknown.");var t=this.parseUShort(),i=16&t;return{lookupType:e,lookupFlag:t,subtables:this.parseList(rA.pointer(A[e])),markFilteringSet:i?this.parseUShort():void 0}}))))||[]},rA.prototype.parseFeatureVariationsList=function(){return this.parsePointer32((function(){var A=this.parseUShort(),e=this.parseUShort();return U.argument(1===A&&e<1,"GPOS/GSUB feature variations table unknown."),this.parseRecordList32({conditionSetOffset:rA.offset32,featureTableSubstitutionOffset:rA.offset32})}))||[]};var aA={getByte:AA,getCard8:AA,getUShort:eA,getCard16:eA,getShort:function(A,e){return A.getInt16(e,!1)},getULong:tA,getFixed:iA,getTag:function(A,e){for(var t="",i=e;i<e+4;i+=1)t+=String.fromCharCode(A.getInt8(i));return t},getOffset:function(A,e,t){for(var i=0,n=0;n<t;n+=1)i<<=8,i+=A.getUint8(e+n);return i},getBytes:function(A,e,t){for(var i=[],n=e;n<t;n+=1)i.push(A.getUint8(n));return i},bytesToString:function(A){for(var e="",t=0;t<A.length;t+=1)e+=String.fromCharCode(A[t]);return e},Parser:rA};function oA(A,e,t){A.segments.push({end:e,start:e,delta:-(e-t),offset:0,glyphIndex:t})}var gA={parse:function(A,e){var t={};t.version=aA.getUShort(A,e),U.argument(0===t.version,"cmap table version should be 0."),t.numTables=aA.getUShort(A,e+2);for(var i=-1,n=t.numTables-1;n>=0;n-=1){var r=aA.getUShort(A,e+4+8*n),s=aA.getUShort(A,e+4+8*n+2);if(3===r&&(0===s||1===s||10===s)||0===r&&(0===s||1===s||2===s||3===s||4===s)){i=aA.getULong(A,e+4+8*n+4);break}}if(-1===i)throw new Error("No valid cmap sub-tables found.");var a=new aA.Parser(A,e+i);if(t.format=a.parseUShort(),12===t.format)!function(A,e){var t;e.parseUShort(),A.length=e.parseULong(),A.language=e.parseULong(),A.groupCount=t=e.parseULong(),A.glyphIndexMap={};for(var i=0;i<t;i+=1)for(var n=e.parseULong(),r=e.parseULong(),s=e.parseULong(),a=n;a<=r;a+=1)A.glyphIndexMap[a]=s,s++}(t,a);else{if(4!==t.format)throw new Error("Only format 4 and 12 cmap tables are supported (found format "+t.format+").");!function(A,e,t,i,n){var r;A.length=e.parseUShort(),A.language=e.parseUShort(),A.segCount=r=e.parseUShort()>>1,e.skip("uShort",3),A.glyphIndexMap={};for(var s=new aA.Parser(t,i+n+14),a=new aA.Parser(t,i+n+16+2*r),o=new aA.Parser(t,i+n+16+4*r),g=new aA.Parser(t,i+n+16+6*r),I=i+n+16+8*r,C=0;C<r-1;C+=1)for(var Q=void 0,c=s.parseUShort(),B=a.parseUShort(),l=o.parseShort(),E=g.parseUShort(),u=B;u<=c;u+=1)0!==E?(I=g.offset+g.relativeOffset-2,I+=E,I+=2*(u-B),0!==(Q=aA.getUShort(t,I))&&(Q=Q+l&65535)):Q=u+l&65535,A.glyphIndexMap[u]=Q}(t,a,A,e,i)}return t},make:function(A){var e,t=!0;for(e=A.length-1;e>0;e-=1){if(A.get(e).unicode>65535){console.log("Adding CMAP format 12 (needed!)"),t=!1;break}}var i=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:t?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:t?12:20}];t||(i=i.concat([{name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}])),i=i.concat([{name:"format",type:"USHORT",value:4},{name:"cmap4Length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);var n=new $.Table("cmap",i);for(n.segments=[],e=0;e<A.length;e+=1){for(var r=A.get(e),s=0;s<r.unicodes.length;s+=1)oA(n,r.unicodes[s],e);n.segments=n.segments.sort((function(A,e){return A.start-e.start}))}!function(A){A.segments.push({end:65535,start:65535,delta:1,offset:0})}(n);var a=n.segments.length,o=0,g=[],I=[],C=[],Q=[],c=[],B=[];for(e=0;e<a;e+=1){var l=n.segments[e];l.end<=65535&&l.start<=65535?(g=g.concat({name:"end_"+e,type:"USHORT",value:l.end}),I=I.concat({name:"start_"+e,type:"USHORT",value:l.start}),C=C.concat({name:"idDelta_"+e,type:"SHORT",value:l.delta}),Q=Q.concat({name:"idRangeOffset_"+e,type:"USHORT",value:l.offset}),void 0!==l.glyphId&&(c=c.concat({name:"glyph_"+e,type:"USHORT",value:l.glyphId}))):o+=1,t||void 0===l.glyphIndex||(B=(B=(B=B.concat({name:"cmap12Start_"+e,type:"ULONG",value:l.start})).concat({name:"cmap12End_"+e,type:"ULONG",value:l.end})).concat({name:"cmap12Glyph_"+e,type:"ULONG",value:l.glyphIndex}))}if(n.segCountX2=2*(a-o),n.searchRange=2*Math.pow(2,Math.floor(Math.log(a-o)/Math.log(2))),n.entrySelector=Math.log(n.searchRange/2)/Math.log(2),n.rangeShift=n.segCountX2-n.searchRange,n.fields=n.fields.concat(g),n.fields.push({name:"reservedPad",type:"USHORT",value:0}),n.fields=n.fields.concat(I),n.fields=n.fields.concat(C),n.fields=n.fields.concat(Q),n.fields=n.fields.concat(c),n.cmap4Length=14+2*g.length+2+2*I.length+2*C.length+2*Q.length+2*c.length,!t){var E=16+4*B.length;n.cmap12Offset=20+n.cmap4Length,n.fields=n.fields.concat([{name:"cmap12Format",type:"USHORT",value:12},{name:"cmap12Reserved",type:"USHORT",value:0},{name:"cmap12Length",type:"ULONG",value:E},{name:"cmap12Language",type:"ULONG",value:0},{name:"cmap12nGroups",type:"ULONG",value:B.length/3}]),n.fields=n.fields.concat(B)}return n}},IA=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","266 ff","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],CA=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],QA=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],cA=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function BA(A){this.font=A}function lA(A){this.cmap=A}function EA(A,e){this.encoding=A,this.charset=e}function uA(A){switch(A.version){case 1:this.names=cA.slice();break;case 2:this.names=new Array(A.numberOfGlyphs);for(var e=0;e<A.numberOfGlyphs;e++)A.glyphNameIndex[e]<cA.length?this.names[e]=cA[A.glyphNameIndex[e]]:this.names[e]=A.names[A.glyphNameIndex[e]-cA.length];break;case 2.5:this.names=new Array(A.numberOfGlyphs);for(var t=0;t<A.numberOfGlyphs;t++)this.names[t]=cA[t+A.glyphNameIndex[t]];break;default:this.names=[]}}function fA(A,e){e.lowMemory?function(A){A._IndexToUnicodeMap={};for(var e=A.tables.cmap.glyphIndexMap,t=Object.keys(e),i=0;i<t.length;i+=1){var n=t[i],r=e[n];void 0===A._IndexToUnicodeMap[r]?A._IndexToUnicodeMap[r]={unicodes:[parseInt(n)]}:A._IndexToUnicodeMap[r].unicodes.push(parseInt(n))}}(A):function(A){for(var e,t=A.tables.cmap.glyphIndexMap,i=Object.keys(t),n=0;n<i.length;n+=1){var r=i[n],s=t[r];(e=A.glyphs.get(s)).addUnicode(parseInt(r))}for(var a=0;a<A.glyphs.length;a+=1)e=A.glyphs.get(a),A.cffEncoding?A.isCIDFont?e.name="gid"+a:e.name=A.cffEncoding.charset[a]:A.glyphNames.names&&(e.name=A.glyphNames.glyphIndexToName(a))}(A)}BA.prototype.charToGlyphIndex=function(A){var e=A.codePointAt(0),t=this.font.glyphs;if(t)for(var i=0;i<t.length;i+=1)for(var n=t.get(i),r=0;r<n.unicodes.length;r+=1)if(n.unicodes[r]===e)return i;return null},lA.prototype.charToGlyphIndex=function(A){return this.cmap.glyphIndexMap[A.codePointAt(0)]||0},EA.prototype.charToGlyphIndex=function(A){var e=A.codePointAt(0),t=this.encoding[e];return this.charset.indexOf(t)},uA.prototype.nameToGlyphIndex=function(A){return this.names.indexOf(A)},uA.prototype.glyphIndexToName=function(A){return this.names[A]};var hA={line:function(A,e,t,i,n){A.beginPath(),A.moveTo(e,t),A.lineTo(i,n),A.stroke()}};function pA(A){this.bindConstructorValues(A)}function yA(A,e,t){Object.defineProperty(A,e,{get:function(){return A.path,A[t]},set:function(e){A[t]=e},enumerable:!0,configurable:!0})}function dA(A,e){if(this.font=A,this.glyphs={},Array.isArray(e))for(var t=0;t<e.length;t++){var i=e[t];i.path.unitsPerEm=A.unitsPerEm,this.glyphs[t]=i}this.length=e&&e.length||0}pA.prototype.bindConstructorValues=function(A){var e,t;this.index=A.index||0,this.name=A.name||null,this.unicode=A.unicode||void 0,this.unicodes=A.unicodes||void 0!==A.unicode?[A.unicode]:[],"xMin"in A&&(this.xMin=A.xMin),"yMin"in A&&(this.yMin=A.yMin),"xMax"in A&&(this.xMax=A.xMax),"yMax"in A&&(this.yMax=A.yMax),"advanceWidth"in A&&(this.advanceWidth=A.advanceWidth),Object.defineProperty(this,"path",(e=A.path,t=e||new v,{configurable:!0,get:function(){return"function"==typeof t&&(t=t()),t},set:function(A){t=A}}))},pA.prototype.addUnicode=function(A){0===this.unicodes.length&&(this.unicode=A),this.unicodes.push(A)},pA.prototype.getBoundingBox=function(){return this.path.getBoundingBox()},pA.prototype.getPath=function(A,e,t,i,n){var r,s;A=void 0!==A?A:0,e=void 0!==e?e:0,t=void 0!==t?t:72,i||(i={});var a=i.xScale,o=i.yScale;if(i.hinting&&n&&n.hinting&&(s=this.path&&n.hinting.exec(this,t)),s)r=n.hinting.getCommands(s),A=Math.round(A),e=Math.round(e),a=o=1;else{r=this.path.commands;var g=1/(this.path.unitsPerEm||1e3)*t;void 0===a&&(a=g),void 0===o&&(o=g)}for(var I=new v,C=0;C<r.length;C+=1){var Q=r[C];"M"===Q.type?I.moveTo(A+Q.x*a,e+-Q.y*o):"L"===Q.type?I.lineTo(A+Q.x*a,e+-Q.y*o):"Q"===Q.type?I.quadraticCurveTo(A+Q.x1*a,e+-Q.y1*o,A+Q.x*a,e+-Q.y*o):"C"===Q.type?I.curveTo(A+Q.x1*a,e+-Q.y1*o,A+Q.x2*a,e+-Q.y2*o,A+Q.x*a,e+-Q.y*o):"Z"===Q.type&&I.closePath()}return I},pA.prototype.getContours=function(){if(void 0===this.points)return[];for(var A=[],e=[],t=0;t<this.points.length;t+=1){var i=this.points[t];e.push(i),i.lastPointOfContour&&(A.push(e),e=[])}return U.argument(0===e.length,"There are still points left in the current contour."),A},pA.prototype.getMetrics=function(){for(var A=this.path.commands,e=[],t=[],i=0;i<A.length;i+=1){var n=A[i];"Z"!==n.type&&(e.push(n.x),t.push(n.y)),"Q"!==n.type&&"C"!==n.type||(e.push(n.x1),t.push(n.y1)),"C"===n.type&&(e.push(n.x2),t.push(n.y2))}var r={xMin:Math.min.apply(null,e),yMin:Math.min.apply(null,t),xMax:Math.max.apply(null,e),yMax:Math.max.apply(null,t),leftSideBearing:this.leftSideBearing};return isFinite(r.xMin)||(r.xMin=0),isFinite(r.xMax)||(r.xMax=this.advanceWidth),isFinite(r.yMin)||(r.yMin=0),isFinite(r.yMax)||(r.yMax=0),r.rightSideBearing=this.advanceWidth-r.leftSideBearing-(r.xMax-r.xMin),r},pA.prototype.draw=function(A,e,t,i,n){this.getPath(e,t,i,n).draw(A)},pA.prototype.drawPoints=function(A,e,t,i){function n(e,t,i,n){A.beginPath();for(var r=0;r<e.length;r+=1)A.moveTo(t+e[r].x*n,i+e[r].y*n),A.arc(t+e[r].x*n,i+e[r].y*n,2,0,2*Math.PI,!1);A.closePath(),A.fill()}e=void 0!==e?e:0,t=void 0!==t?t:0,i=void 0!==i?i:24;for(var r=1/this.path.unitsPerEm*i,s=[],a=[],o=this.path,g=0;g<o.commands.length;g+=1){var I=o.commands[g];void 0!==I.x&&s.push({x:I.x,y:-I.y}),void 0!==I.x1&&a.push({x:I.x1,y:-I.y1}),void 0!==I.x2&&a.push({x:I.x2,y:-I.y2})}A.fillStyle="blue",n(s,e,t,r),A.fillStyle="red",n(a,e,t,r)},pA.prototype.drawMetrics=function(A,e,t,i){var n;e=void 0!==e?e:0,t=void 0!==t?t:0,i=void 0!==i?i:24,n=1/this.path.unitsPerEm*i,A.lineWidth=1,A.strokeStyle="black",hA.line(A,e,-1e4,e,1e4),hA.line(A,-1e4,t,1e4,t);var r=this.xMin||0,s=this.yMin||0,a=this.xMax||0,o=this.yMax||0,g=this.advanceWidth||0;A.strokeStyle="blue",hA.line(A,e+r*n,-1e4,e+r*n,1e4),hA.line(A,e+a*n,-1e4,e+a*n,1e4),hA.line(A,-1e4,t+-s*n,1e4,t+-s*n),hA.line(A,-1e4,t+-o*n,1e4,t+-o*n),A.strokeStyle="green",hA.line(A,e+g*n,-1e4,e+g*n,1e4)},dA.prototype.get=function(A){if(void 0===this.glyphs[A]){this.font._push(A),"function"==typeof this.glyphs[A]&&(this.glyphs[A]=this.glyphs[A]());var e=this.glyphs[A],t=this.font._IndexToUnicodeMap[A];if(t)for(var i=0;i<t.unicodes.length;i++)e.addUnicode(t.unicodes[i]);this.font.cffEncoding?this.font.isCIDFont?e.name="gid"+A:e.name=this.font.cffEncoding.charset[A]:this.font.glyphNames.names&&(e.name=this.font.glyphNames.glyphIndexToName(A)),this.glyphs[A].advanceWidth=this.font._hmtxTableData[A].advanceWidth,this.glyphs[A].leftSideBearing=this.font._hmtxTableData[A].leftSideBearing}else"function"==typeof this.glyphs[A]&&(this.glyphs[A]=this.glyphs[A]());return this.glyphs[A]},dA.prototype.push=function(A,e){this.glyphs[A]=e,this.length++};var mA={GlyphSet:dA,glyphLoader:function(A,e){return new pA({index:e,font:A})},ttfGlyphLoader:function(A,e,t,i,n,r){return function(){var s=new pA({index:e,font:A});return s.path=function(){t(s,i,n);var e=r(A.glyphs,s);return e.unitsPerEm=A.unitsPerEm,e},yA(s,"xMin","_xMin"),yA(s,"xMax","_xMax"),yA(s,"yMin","_yMin"),yA(s,"yMax","_yMax"),s}},cffGlyphLoader:function(A,e,t,i){return function(){var n=new pA({index:e,font:A});return n.path=function(){var e=t(A,n,i);return e.unitsPerEm=A.unitsPerEm,e},n}}};function bA(A,e){if(A===e)return!0;if(Array.isArray(A)&&Array.isArray(e)){if(A.length!==e.length)return!1;for(var t=0;t<A.length;t+=1)if(!bA(A[t],e[t]))return!1;return!0}return!1}function DA(A){return A.length<1240?107:A.length<33900?1131:32768}function SA(A,e,t){var i,n,r=[],s=[],a=aA.getCard16(A,e);if(0!==a){var o=aA.getByte(A,e+2);i=e+(a+1)*o+2;for(var g=e+3,I=0;I<a+1;I+=1)r.push(aA.getOffset(A,g,o)),g+=o;n=i+r[a]}else n=e+2;for(var C=0;C<r.length-1;C+=1){var Q=aA.getBytes(A,i+r[C],i+r[C+1]);t&&(Q=t(Q)),s.push(Q)}return{objects:s,startOffset:e,endOffset:n}}function wA(A,e){if(28===e)return A.parseByte()<<8|A.parseByte();if(29===e)return A.parseByte()<<24|A.parseByte()<<16|A.parseByte()<<8|A.parseByte();if(30===e)return function(A){for(var e="",t=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];;){var i=A.parseByte(),n=i>>4,r=15&i;if(15===n)break;if(e+=t[n],15===r)break;e+=t[r]}return parseFloat(e)}(A);if(e>=32&&e<=246)return e-139;if(e>=247&&e<=250)return 256*(e-247)+A.parseByte()+108;if(e>=251&&e<=254)return 256*-(e-251)-A.parseByte()-108;throw new Error("Invalid b0 "+e)}function vA(A,e,t){e=void 0!==e?e:0;var i=new aA.Parser(A,e),n=[],r=[];for(t=void 0!==t?t:A.length;i.relativeOffset<t;){var s=i.parseByte();s<=21?(12===s&&(s=1200+i.parseByte()),n.push([s,r]),r=[]):r.push(wA(i,s))}return function(A){for(var e={},t=0;t<A.length;t+=1){var i=A[t][0],n=A[t][1],r=void 0;if(r=1===n.length?n[0]:n,e.hasOwnProperty(i)&&!isNaN(e[i]))throw new Error("Object "+e+" already has key "+i);e[i]=r}return e}(n)}function kA(A,e){return e=e<=390?IA[e]:A[e-391]}function xA(A,e,t){for(var i,n={},r=0;r<e.length;r+=1){var s=e[r];if(Array.isArray(s.type)){var a=[];a.length=s.type.length;for(var o=0;o<s.type.length;o++)void 0===(i=void 0!==A[s.op]?A[s.op][o]:void 0)&&(i=void 0!==s.value&&void 0!==s.value[o]?s.value[o]:null),"SID"===s.type[o]&&(i=kA(t,i)),a[o]=i;n[s.name]=a}else void 0===(i=A[s.op])&&(i=void 0!==s.value?s.value:null),"SID"===s.type&&(i=kA(t,i)),n[s.name]=i}return n}var UA=[{name:"version",op:0,type:"SID"},{name:"notice",op:1,type:"SID"},{name:"copyright",op:1200,type:"SID"},{name:"fullName",op:2,type:"SID"},{name:"familyName",op:3,type:"SID"},{name:"weight",op:4,type:"SID"},{name:"isFixedPitch",op:1201,type:"number",value:0},{name:"italicAngle",op:1202,type:"number",value:0},{name:"underlinePosition",op:1203,type:"number",value:-100},{name:"underlineThickness",op:1204,type:"number",value:50},{name:"paintType",op:1205,type:"number",value:0},{name:"charstringType",op:1206,type:"number",value:2},{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"uniqueId",op:13,type:"number"},{name:"fontBBox",op:5,type:["number","number","number","number"],value:[0,0,0,0]},{name:"strokeWidth",op:1208,type:"number",value:0},{name:"xuid",op:14,type:[],value:null},{name:"charset",op:15,type:"offset",value:0},{name:"encoding",op:16,type:"offset",value:0},{name:"charStrings",op:17,type:"offset",value:0},{name:"private",op:18,type:["number","offset"],value:[0,0]},{name:"ros",op:1230,type:["SID","SID","number"]},{name:"cidFontVersion",op:1231,type:"number",value:0},{name:"cidFontRevision",op:1232,type:"number",value:0},{name:"cidFontType",op:1233,type:"number",value:0},{name:"cidCount",op:1234,type:"number",value:8720},{name:"uidBase",op:1235,type:"number"},{name:"fdArray",op:1236,type:"offset"},{name:"fdSelect",op:1237,type:"offset"},{name:"fontName",op:1238,type:"SID"}],NA=[{name:"subrs",op:19,type:"offset",value:0},{name:"defaultWidthX",op:20,type:"number",value:0},{name:"nominalWidthX",op:21,type:"number",value:0}];function GA(A,e){return xA(vA(A,0,A.byteLength),UA,e)}function FA(A,e,t,i){return xA(vA(A,e,t),NA,i)}function MA(A,e,t,i){for(var n=[],r=0;r<t.length;r+=1){var s=GA(new DataView(new Uint8Array(t[r]).buffer),i);s._subrs=[],s._subrsBias=0,s._defaultWidthX=0,s._nominalWidthX=0;var a=s.private[0],o=s.private[1];if(0!==a&&0!==o){var g=FA(A,o+e,a,i);if(s._defaultWidthX=g.defaultWidthX,s._nominalWidthX=g.nominalWidthX,0!==g.subrs){var I=SA(A,o+g.subrs+e);s._subrs=I.objects,s._subrsBias=DA(s._subrs)}s._privateDict=g}n.push(s)}return n}function RA(A,e,t){var i,n,r,s,a,o,g,I,C=new v,Q=[],c=0,B=!1,l=!1,E=0,u=0;if(A.isCIDFont){var f=A.tables.cff.topDict._fdSelect[e.index],h=A.tables.cff.topDict._fdArray[f];a=h._subrs,o=h._subrsBias,g=h._defaultWidthX,I=h._nominalWidthX}else a=A.tables.cff.topDict._subrs,o=A.tables.cff.topDict._subrsBias,g=A.tables.cff.topDict._defaultWidthX,I=A.tables.cff.topDict._nominalWidthX;var p=g;function y(A,e){l&&C.closePath(),C.moveTo(A,e),l=!0}function d(){Q.length%2!=0&&!B&&(p=Q.shift()+I),c+=Q.length>>1,Q.length=0,B=!0}return function t(g){for(var f,h,m,b,D,S,w,v,k,x,U,N,G=0;G<g.length;){var F=g[G];switch(G+=1,F){case 1:case 3:case 18:case 23:d();break;case 4:Q.length>1&&!B&&(p=Q.shift()+I,B=!0),u+=Q.pop(),y(E,u);break;case 5:for(;Q.length>0;)E+=Q.shift(),u+=Q.shift(),C.lineTo(E,u);break;case 6:for(;Q.length>0&&(E+=Q.shift(),C.lineTo(E,u),0!==Q.length);)u+=Q.shift(),C.lineTo(E,u);break;case 7:for(;Q.length>0&&(u+=Q.shift(),C.lineTo(E,u),0!==Q.length);)E+=Q.shift(),C.lineTo(E,u);break;case 8:for(;Q.length>0;)i=E+Q.shift(),n=u+Q.shift(),r=i+Q.shift(),s=n+Q.shift(),E=r+Q.shift(),u=s+Q.shift(),C.curveTo(i,n,r,s,E,u);break;case 10:D=Q.pop()+o,(S=a[D])&&t(S);break;case 11:return;case 12:switch(F=g[G],G+=1,F){case 35:i=E+Q.shift(),n=u+Q.shift(),r=i+Q.shift(),s=n+Q.shift(),w=r+Q.shift(),v=s+Q.shift(),k=w+Q.shift(),x=v+Q.shift(),U=k+Q.shift(),N=x+Q.shift(),E=U+Q.shift(),u=N+Q.shift(),Q.shift(),C.curveTo(i,n,r,s,w,v),C.curveTo(k,x,U,N,E,u);break;case 34:i=E+Q.shift(),n=u,r=i+Q.shift(),s=n+Q.shift(),w=r+Q.shift(),v=s,k=w+Q.shift(),x=s,U=k+Q.shift(),N=u,E=U+Q.shift(),C.curveTo(i,n,r,s,w,v),C.curveTo(k,x,U,N,E,u);break;case 36:i=E+Q.shift(),n=u+Q.shift(),r=i+Q.shift(),s=n+Q.shift(),w=r+Q.shift(),v=s,k=w+Q.shift(),x=s,U=k+Q.shift(),N=x+Q.shift(),E=U+Q.shift(),C.curveTo(i,n,r,s,w,v),C.curveTo(k,x,U,N,E,u);break;case 37:i=E+Q.shift(),n=u+Q.shift(),r=i+Q.shift(),s=n+Q.shift(),w=r+Q.shift(),v=s+Q.shift(),k=w+Q.shift(),x=v+Q.shift(),U=k+Q.shift(),N=x+Q.shift(),Math.abs(U-E)>Math.abs(N-u)?E=U+Q.shift():u=N+Q.shift(),C.curveTo(i,n,r,s,w,v),C.curveTo(k,x,U,N,E,u);break;default:console.log("Glyph "+e.index+": unknown operator 1200"+F),Q.length=0}break;case 14:Q.length>0&&!B&&(p=Q.shift()+I,B=!0),l&&(C.closePath(),l=!1);break;case 19:case 20:d(),G+=c+7>>3;break;case 21:Q.length>2&&!B&&(p=Q.shift()+I,B=!0),u+=Q.pop(),y(E+=Q.pop(),u);break;case 22:Q.length>1&&!B&&(p=Q.shift()+I,B=!0),y(E+=Q.pop(),u);break;case 24:for(;Q.length>2;)i=E+Q.shift(),n=u+Q.shift(),r=i+Q.shift(),s=n+Q.shift(),E=r+Q.shift(),u=s+Q.shift(),C.curveTo(i,n,r,s,E,u);E+=Q.shift(),u+=Q.shift(),C.lineTo(E,u);break;case 25:for(;Q.length>6;)E+=Q.shift(),u+=Q.shift(),C.lineTo(E,u);i=E+Q.shift(),n=u+Q.shift(),r=i+Q.shift(),s=n+Q.shift(),E=r+Q.shift(),u=s+Q.shift(),C.curveTo(i,n,r,s,E,u);break;case 26:for(Q.length%2&&(E+=Q.shift());Q.length>0;)i=E,n=u+Q.shift(),r=i+Q.shift(),s=n+Q.shift(),E=r,u=s+Q.shift(),C.curveTo(i,n,r,s,E,u);break;case 27:for(Q.length%2&&(u+=Q.shift());Q.length>0;)i=E+Q.shift(),n=u,r=i+Q.shift(),s=n+Q.shift(),E=r+Q.shift(),u=s,C.curveTo(i,n,r,s,E,u);break;case 28:f=g[G],h=g[G+1],Q.push((f<<24|h<<16)>>16),G+=2;break;case 29:D=Q.pop()+A.gsubrsBias,(S=A.gsubrs[D])&&t(S);break;case 30:for(;Q.length>0&&(i=E,n=u+Q.shift(),r=i+Q.shift(),s=n+Q.shift(),E=r+Q.shift(),u=s+(1===Q.length?Q.shift():0),C.curveTo(i,n,r,s,E,u),0!==Q.length);)i=E+Q.shift(),n=u,r=i+Q.shift(),s=n+Q.shift(),u=s+Q.shift(),E=r+(1===Q.length?Q.shift():0),C.curveTo(i,n,r,s,E,u);break;case 31:for(;Q.length>0&&(i=E+Q.shift(),n=u,r=i+Q.shift(),s=n+Q.shift(),u=s+Q.shift(),E=r+(1===Q.length?Q.shift():0),C.curveTo(i,n,r,s,E,u),0!==Q.length);)i=E,n=u+Q.shift(),r=i+Q.shift(),s=n+Q.shift(),E=r+Q.shift(),u=s+(1===Q.length?Q.shift():0),C.curveTo(i,n,r,s,E,u);break;default:F<32?console.log("Glyph "+e.index+": unknown operator "+F):F<247?Q.push(F-139):F<251?(f=g[G],G+=1,Q.push(256*(F-247)+f+108)):F<255?(f=g[G],G+=1,Q.push(256*-(F-251)-f-108)):(f=g[G],h=g[G+1],m=g[G+2],b=g[G+3],G+=4,Q.push((f<<24|h<<16|m<<8|b)/65536))}}}(t),e.advanceWidth=p,C}function LA(A,e){var t,i=IA.indexOf(A);return i>=0&&(t=i),(i=e.indexOf(A))>=0?t=i+IA.length:(t=IA.length+e.length,e.push(A)),t}function zA(A,e,t){for(var i={},n=0;n<A.length;n+=1){var r=A[n],s=e[r.name];void 0===s||bA(s,r.value)||("SID"===r.type&&(s=LA(s,t)),i[r.op]={name:r.name,type:r.type,value:s})}return i}function qA(A,e){var t=new $.Record("Top DICT",[{name:"dict",type:"DICT",value:{}}]);return t.dict=zA(UA,A,e),t}function JA(A){var e=new $.Record("Top DICT INDEX",[{name:"topDicts",type:"INDEX",value:[]}]);return e.topDicts=[{name:"topDict_0",type:"TABLE",value:A}],e}function OA(A){var e=[],t=A.path;e.push({name:"width",type:"NUMBER",value:A.advanceWidth});for(var i=0,n=0,r=0;r<t.commands.length;r+=1){var s=void 0,a=void 0,o=t.commands[r];if("Q"===o.type){var g=1/3,I=2/3;o={type:"C",x:o.x,y:o.y,x1:Math.round(g*i+I*o.x1),y1:Math.round(g*n+I*o.y1),x2:Math.round(g*o.x+I*o.x1),y2:Math.round(g*o.y+I*o.y1)}}if("M"===o.type)s=Math.round(o.x-i),a=Math.round(o.y-n),e.push({name:"dx",type:"NUMBER",value:s}),e.push({name:"dy",type:"NUMBER",value:a}),e.push({name:"rmoveto",type:"OP",value:21}),i=Math.round(o.x),n=Math.round(o.y);else if("L"===o.type)s=Math.round(o.x-i),a=Math.round(o.y-n),e.push({name:"dx",type:"NUMBER",value:s}),e.push({name:"dy",type:"NUMBER",value:a}),e.push({name:"rlineto",type:"OP",value:5}),i=Math.round(o.x),n=Math.round(o.y);else if("C"===o.type){var C=Math.round(o.x1-i),Q=Math.round(o.y1-n),c=Math.round(o.x2-o.x1),B=Math.round(o.y2-o.y1);s=Math.round(o.x-o.x2),a=Math.round(o.y-o.y2),e.push({name:"dx1",type:"NUMBER",value:C}),e.push({name:"dy1",type:"NUMBER",value:Q}),e.push({name:"dx2",type:"NUMBER",value:c}),e.push({name:"dy2",type:"NUMBER",value:B}),e.push({name:"dx",type:"NUMBER",value:s}),e.push({name:"dy",type:"NUMBER",value:a}),e.push({name:"rrcurveto",type:"OP",value:8}),i=Math.round(o.x),n=Math.round(o.y)}}return e.push({name:"endchar",type:"OP",value:14}),e}var KA={parse:function(A,e,t,i){t.tables.cff={};var n=function(A,e){var t={};return t.formatMajor=aA.getCard8(A,e),t.formatMinor=aA.getCard8(A,e+1),t.size=aA.getCard8(A,e+2),t.offsetSize=aA.getCard8(A,e+3),t.startOffset=e,t.endOffset=e+4,t}(A,e),r=SA(A,n.endOffset,aA.bytesToString),s=SA(A,r.endOffset),a=SA(A,s.endOffset,aA.bytesToString),o=SA(A,a.endOffset);t.gsubrs=o.objects,t.gsubrsBias=DA(t.gsubrs);var g=MA(A,e,s.objects,a.objects);if(1!==g.length)throw new Error("CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = "+g.length);var I=g[0];if(t.tables.cff.topDict=I,I._privateDict&&(t.defaultWidthX=I._privateDict.defaultWidthX,t.nominalWidthX=I._privateDict.nominalWidthX),void 0!==I.ros[0]&&void 0!==I.ros[1]&&(t.isCIDFont=!0),t.isCIDFont){var C=I.fdArray,Q=I.fdSelect;if(0===C||0===Q)throw new Error("Font is marked as a CID font, but FDArray and/or FDSelect information is missing");var c=SA(A,C+=e),B=MA(A,e,c.objects,a.objects);I._fdArray=B,Q+=e,I._fdSelect=function(A,e,t,i){var n,r=[],s=new aA.Parser(A,e),a=s.parseCard8();if(0===a)for(var o=0;o<t;o++){if((n=s.parseCard8())>=i)throw new Error("CFF table CID Font FDSelect has bad FD index value "+n+" (FD count "+i+")");r.push(n)}else{if(3!==a)throw new Error("CFF Table CID Font FDSelect table has unsupported format "+a);var g,I=s.parseCard16(),C=s.parseCard16();if(0!==C)throw new Error("CFF Table CID Font FDSelect format 3 range has bad initial GID "+C);for(var Q=0;Q<I;Q++){if(n=s.parseCard8(),g=s.parseCard16(),n>=i)throw new Error("CFF table CID Font FDSelect has bad FD index value "+n+" (FD count "+i+")");if(g>t)throw new Error("CFF Table CID Font FDSelect format 3 range has bad GID "+g);for(;C<g;C++)r.push(n);C=g}if(g!==t)throw new Error("CFF Table CID Font FDSelect format 3 range has bad final GID "+g)}return r}(A,Q,t.numGlyphs,B.length)}var l,E=e+I.private[1],u=FA(A,E,I.private[0],a.objects);if(t.defaultWidthX=u.defaultWidthX,t.nominalWidthX=u.nominalWidthX,0!==u.subrs){var f=E+u.subrs,h=SA(A,f);t.subrs=h.objects,t.subrsBias=DA(t.subrs)}else t.subrs=[],t.subrsBias=0;i.lowMemory?(l=function(A,e){var t,i,n=[],r=aA.getCard16(A,e);if(0!==r){var s=aA.getByte(A,e+2);t=e+(r+1)*s+2;for(var a=e+3,o=0;o<r+1;o+=1)n.push(aA.getOffset(A,a,s)),a+=s;i=t+n[r]}else i=e+2;return{offsets:n,startOffset:e,endOffset:i}}(A,e+I.charStrings),t.nGlyphs=l.offsets.length):(l=SA(A,e+I.charStrings),t.nGlyphs=l.objects.length);var p=function(A,e,t,i){var n,r,s=new aA.Parser(A,e);t-=1;var a=[".notdef"],o=s.parseCard8();if(0===o)for(var g=0;g<t;g+=1)n=s.parseSID(),a.push(kA(i,n));else if(1===o)for(;a.length<=t;){n=s.parseSID(),r=s.parseCard8();for(var I=0;I<=r;I+=1)a.push(kA(i,n)),n+=1}else{if(2!==o)throw new Error("Unknown charset format "+o);for(;a.length<=t;){n=s.parseSID(),r=s.parseCard16();for(var C=0;C<=r;C+=1)a.push(kA(i,n)),n+=1}}return a}(A,e+I.charset,t.nGlyphs,a.objects);if(0===I.encoding?t.cffEncoding=new EA(CA,p):1===I.encoding?t.cffEncoding=new EA(QA,p):t.cffEncoding=function(A,e,t){var i,n={},r=new aA.Parser(A,e),s=r.parseCard8();if(0===s)for(var a=r.parseCard8(),o=0;o<a;o+=1)n[i=r.parseCard8()]=o;else{if(1!==s)throw new Error("Unknown encoding format "+s);var g=r.parseCard8();i=1;for(var I=0;I<g;I+=1)for(var C=r.parseCard8(),Q=r.parseCard8(),c=C;c<=C+Q;c+=1)n[c]=i,i+=1}return new EA(n,t)}(A,e+I.encoding,p),t.encoding=t.encoding||t.cffEncoding,t.glyphs=new mA.GlyphSet(t),i.lowMemory)t._push=function(i){var n=function(A,e,t,i,n){var r=aA.getCard16(t,i),s=0;0!==r&&(s=i+(r+1)*aA.getByte(t,i+2)+2);var a=aA.getBytes(t,s+e[A],s+e[A+1]);return n&&(a=n(a)),a}(i,l.offsets,A,e+I.charStrings);t.glyphs.push(i,mA.cffGlyphLoader(t,i,RA,n))};else for(var y=0;y<t.nGlyphs;y+=1){var d=l.objects[y];t.glyphs.push(y,mA.cffGlyphLoader(t,y,RA,d))}},make:function(A,e){for(var t,i=new $.Table("CFF ",[{name:"header",type:"RECORD"},{name:"nameIndex",type:"RECORD"},{name:"topDictIndex",type:"RECORD"},{name:"stringIndex",type:"RECORD"},{name:"globalSubrIndex",type:"RECORD"},{name:"charsets",type:"RECORD"},{name:"charStringsIndex",type:"RECORD"},{name:"privateDict",type:"RECORD"}]),n=1/e.unitsPerEm,r={version:e.version,fullName:e.fullName,familyName:e.familyName,weight:e.weightName,fontBBox:e.fontBBox||[0,0,0,0],fontMatrix:[n,0,0,n,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]},s=[],a=1;a<A.length;a+=1)t=A.get(a),s.push(t.name);var o=[];i.header=new $.Record("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}]),i.nameIndex=function(A){var e=new $.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);e.names=[];for(var t=0;t<A.length;t+=1)e.names.push({name:"name_"+t,type:"NAME",value:A[t]});return e}([e.postScriptName]);var g=qA(r,o);i.topDictIndex=JA(g),i.globalSubrIndex=new $.Record("Global Subr INDEX",[{name:"subrs",type:"INDEX",value:[]}]),i.charsets=function(A,e){for(var t=new $.Record("Charsets",[{name:"format",type:"Card8",value:0}]),i=0;i<A.length;i+=1){var n=LA(A[i],e);t.fields.push({name:"glyph_"+i,type:"SID",value:n})}return t}(s,o),i.charStringsIndex=function(A){for(var e=new $.Record("CharStrings INDEX",[{name:"charStrings",type:"INDEX",value:[]}]),t=0;t<A.length;t+=1){var i=A.get(t),n=OA(i);e.charStrings.push({name:i.name,type:"CHARSTRING",value:n})}return e}(A),i.privateDict=function(A,e){var t=new $.Record("Private DICT",[{name:"dict",type:"DICT",value:{}}]);return t.dict=zA(NA,A,e),t}({},o),i.stringIndex=function(A){var e=new $.Record("String INDEX",[{name:"strings",type:"INDEX",value:[]}]);e.strings=[];for(var t=0;t<A.length;t+=1)e.strings.push({name:"string_"+t,type:"STRING",value:A[t]});return e}(o);var I=i.header.sizeOf()+i.nameIndex.sizeOf()+i.topDictIndex.sizeOf()+i.stringIndex.sizeOf()+i.globalSubrIndex.sizeOf();return r.charset=I,r.encoding=0,r.charStrings=r.charset+i.charsets.sizeOf(),r.private[1]=r.charStrings+i.charStringsIndex.sizeOf(),g=qA(r,o),i.topDictIndex=JA(g),i}};var TA={parse:function(A,e){var t={},i=new aA.Parser(A,e);return t.version=i.parseVersion(),t.fontRevision=Math.round(1e3*i.parseFixed())/1e3,t.checkSumAdjustment=i.parseULong(),t.magicNumber=i.parseULong(),U.argument(1594834165===t.magicNumber,"Font header has wrong magic number."),t.flags=i.parseUShort(),t.unitsPerEm=i.parseUShort(),t.created=i.parseLongDateTime(),t.modified=i.parseLongDateTime(),t.xMin=i.parseShort(),t.yMin=i.parseShort(),t.xMax=i.parseShort(),t.yMax=i.parseShort(),t.macStyle=i.parseUShort(),t.lowestRecPPEM=i.parseUShort(),t.fontDirectionHint=i.parseShort(),t.indexToLocFormat=i.parseShort(),t.glyphDataFormat=i.parseShort(),t},make:function(A){var e=Math.round((new Date).getTime()/1e3)+2082844800,t=e;return A.createdTimestamp&&(t=A.createdTimestamp+2082844800),new $.Table("head",[{name:"version",type:"FIXED",value:65536},{name:"fontRevision",type:"FIXED",value:65536},{name:"checkSumAdjustment",type:"ULONG",value:0},{name:"magicNumber",type:"ULONG",value:1594834165},{name:"flags",type:"USHORT",value:0},{name:"unitsPerEm",type:"USHORT",value:1e3},{name:"created",type:"LONGDATETIME",value:t},{name:"modified",type:"LONGDATETIME",value:e},{name:"xMin",type:"SHORT",value:0},{name:"yMin",type:"SHORT",value:0},{name:"xMax",type:"SHORT",value:0},{name:"yMax",type:"SHORT",value:0},{name:"macStyle",type:"USHORT",value:0},{name:"lowestRecPPEM",type:"USHORT",value:0},{name:"fontDirectionHint",type:"SHORT",value:2},{name:"indexToLocFormat",type:"SHORT",value:0},{name:"glyphDataFormat",type:"SHORT",value:0}],A)}};var YA={parse:function(A,e){var t={},i=new aA.Parser(A,e);return t.version=i.parseVersion(),t.ascender=i.parseShort(),t.descender=i.parseShort(),t.lineGap=i.parseShort(),t.advanceWidthMax=i.parseUShort(),t.minLeftSideBearing=i.parseShort(),t.minRightSideBearing=i.parseShort(),t.xMaxExtent=i.parseShort(),t.caretSlopeRise=i.parseShort(),t.caretSlopeRun=i.parseShort(),t.caretOffset=i.parseShort(),i.relativeOffset+=8,t.metricDataFormat=i.parseShort(),t.numberOfHMetrics=i.parseUShort(),t},make:function(A){return new $.Table("hhea",[{name:"version",type:"FIXED",value:65536},{name:"ascender",type:"FWORD",value:0},{name:"descender",type:"FWORD",value:0},{name:"lineGap",type:"FWORD",value:0},{name:"advanceWidthMax",type:"UFWORD",value:0},{name:"minLeftSideBearing",type:"FWORD",value:0},{name:"minRightSideBearing",type:"FWORD",value:0},{name:"xMaxExtent",type:"FWORD",value:0},{name:"caretSlopeRise",type:"SHORT",value:1},{name:"caretSlopeRun",type:"SHORT",value:0},{name:"caretOffset",type:"SHORT",value:0},{name:"reserved1",type:"SHORT",value:0},{name:"reserved2",type:"SHORT",value:0},{name:"reserved3",type:"SHORT",value:0},{name:"reserved4",type:"SHORT",value:0},{name:"metricDataFormat",type:"SHORT",value:0},{name:"numberOfHMetrics",type:"USHORT",value:0}],A)}};var HA={parse:function(A,e,t,i,n,r,s){s.lowMemory?function(A,e,t,i,n){var r,s;A._hmtxTableData={};for(var a=new aA.Parser(e,t),o=0;o<n;o+=1)o<i&&(r=a.parseUShort(),s=a.parseShort()),A._hmtxTableData[o]={advanceWidth:r,leftSideBearing:s}}(A,e,t,i,n):function(A,e,t,i,n){for(var r,s,a=new aA.Parser(A,e),o=0;o<i;o+=1){o<t&&(r=a.parseUShort(),s=a.parseShort());var g=n.get(o);g.advanceWidth=r,g.leftSideBearing=s}}(e,t,i,n,r)},make:function(A){for(var e=new $.Table("hmtx",[]),t=0;t<A.length;t+=1){var i=A.get(t),n=i.advanceWidth||0,r=i.leftSideBearing||0;e.fields.push({name:"advanceWidth_"+t,type:"USHORT",value:n}),e.fields.push({name:"leftSideBearing_"+t,type:"SHORT",value:r})}return e}};var PA={make:function(A){for(var e=new $.Table("ltag",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"numTags",type:"ULONG",value:A.length}]),t="",i=12+4*A.length,n=0;n<A.length;++n){var r=t.indexOf(A[n]);r<0&&(r=t.length,t+=A[n]),e.fields.push({name:"offset "+n,type:"USHORT",value:i+r}),e.fields.push({name:"length "+n,type:"USHORT",value:A[n].length})}return e.fields.push({name:"stringPool",type:"CHARARRAY",value:t}),e},parse:function(A,e){var t=new aA.Parser(A,e),i=t.parseULong();U.argument(1===i,"Unsupported ltag table version."),t.skip("uLong",1);for(var n=t.parseULong(),r=[],s=0;s<n;s++){for(var a="",o=e+t.parseUShort(),g=t.parseUShort(),I=o;I<o+g;++I)a+=String.fromCharCode(A.getInt8(I));r.push(a)}return r}};var VA={parse:function(A,e){var t={},i=new aA.Parser(A,e);return t.version=i.parseVersion(),t.numGlyphs=i.parseUShort(),1===t.version&&(t.maxPoints=i.parseUShort(),t.maxContours=i.parseUShort(),t.maxCompositePoints=i.parseUShort(),t.maxCompositeContours=i.parseUShort(),t.maxZones=i.parseUShort(),t.maxTwilightPoints=i.parseUShort(),t.maxStorage=i.parseUShort(),t.maxFunctionDefs=i.parseUShort(),t.maxInstructionDefs=i.parseUShort(),t.maxStackElements=i.parseUShort(),t.maxSizeOfInstructions=i.parseUShort(),t.maxComponentElements=i.parseUShort(),t.maxComponentDepth=i.parseUShort()),t},make:function(A){return new $.Table("maxp",[{name:"version",type:"FIXED",value:20480},{name:"numGlyphs",type:"USHORT",value:A}])}},_A=["copyright","fontFamily","fontSubfamily","uniqueID","fullName","version","postScriptName","trademark","manufacturer","designer","description","manufacturerURL","designerURL","license","licenseURL","reserved","preferredFamily","preferredSubfamily","compatibleFullName","sampleText","postScriptFindFontName","wwsFamily","wwsSubfamily"],WA={0:"en",1:"fr",2:"de",3:"it",4:"nl",5:"sv",6:"es",7:"da",8:"pt",9:"no",10:"he",11:"ja",12:"ar",13:"fi",14:"el",15:"is",16:"mt",17:"tr",18:"hr",19:"zh-Hant",20:"ur",21:"hi",22:"th",23:"ko",24:"lt",25:"pl",26:"hu",27:"es",28:"lv",29:"se",30:"fo",31:"fa",32:"ru",33:"zh",34:"nl-BE",35:"ga",36:"sq",37:"ro",38:"cz",39:"sk",40:"si",41:"yi",42:"sr",43:"mk",44:"bg",45:"uk",46:"be",47:"uz",48:"kk",49:"az-Cyrl",50:"az-Arab",51:"hy",52:"ka",53:"mo",54:"ky",55:"tg",56:"tk",57:"mn-CN",58:"mn",59:"ps",60:"ks",61:"ku",62:"sd",63:"bo",64:"ne",65:"sa",66:"mr",67:"bn",68:"as",69:"gu",70:"pa",71:"or",72:"ml",73:"kn",74:"ta",75:"te",76:"si",77:"my",78:"km",79:"lo",80:"vi",81:"id",82:"tl",83:"ms",84:"ms-Arab",85:"am",86:"ti",87:"om",88:"so",89:"sw",90:"rw",91:"rn",92:"ny",93:"mg",94:"eo",128:"cy",129:"eu",130:"ca",131:"la",132:"qu",133:"gn",134:"ay",135:"tt",136:"ug",137:"dz",138:"jv",139:"su",140:"gl",141:"af",142:"br",143:"iu",144:"gd",145:"gv",146:"ga",147:"to",148:"el-polyton",149:"kl",150:"az",151:"nn"},XA={0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:5,11:1,12:4,13:0,14:6,15:0,16:0,17:0,18:0,19:2,20:4,21:9,22:21,23:3,24:29,25:29,26:29,27:29,28:29,29:0,30:0,31:4,32:7,33:25,34:0,35:0,36:0,37:0,38:29,39:29,40:0,41:5,42:7,43:7,44:7,45:7,46:7,47:7,48:7,49:7,50:4,51:24,52:23,53:7,54:7,55:7,56:7,57:27,58:7,59:4,60:4,61:4,62:4,63:26,64:9,65:9,66:9,67:13,68:13,69:11,70:10,71:12,72:17,73:16,74:14,75:15,76:18,77:19,78:20,79:22,80:30,81:0,82:0,83:0,84:4,85:28,86:28,87:28,88:0,89:0,90:0,91:0,92:0,93:0,94:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:7,136:4,137:26,138:0,139:0,140:0,141:0,142:0,143:28,144:0,145:0,146:0,147:0,148:6,149:0,150:0,151:0},jA={1078:"af",1052:"sq",1156:"gsw",1118:"am",5121:"ar-DZ",15361:"ar-BH",3073:"ar",2049:"ar-IQ",11265:"ar-JO",13313:"ar-KW",12289:"ar-LB",4097:"ar-LY",6145:"ary",8193:"ar-OM",16385:"ar-QA",1025:"ar-SA",10241:"ar-SY",7169:"aeb",14337:"ar-AE",9217:"ar-YE",1067:"hy",1101:"as",2092:"az-Cyrl",1068:"az",1133:"ba",1069:"eu",1059:"be",2117:"bn",1093:"bn-IN",8218:"bs-Cyrl",5146:"bs",1150:"br",1026:"bg",1027:"ca",3076:"zh-HK",5124:"zh-MO",2052:"zh",4100:"zh-SG",1028:"zh-TW",1155:"co",1050:"hr",4122:"hr-BA",1029:"cs",1030:"da",1164:"prs",1125:"dv",2067:"nl-BE",1043:"nl",3081:"en-AU",10249:"en-BZ",4105:"en-CA",9225:"en-029",16393:"en-IN",6153:"en-IE",8201:"en-JM",17417:"en-MY",5129:"en-NZ",13321:"en-PH",18441:"en-SG",7177:"en-ZA",11273:"en-TT",2057:"en-GB",1033:"en",12297:"en-ZW",1061:"et",1080:"fo",1124:"fil",1035:"fi",2060:"fr-BE",3084:"fr-CA",1036:"fr",5132:"fr-LU",6156:"fr-MC",4108:"fr-CH",1122:"fy",1110:"gl",1079:"ka",3079:"de-AT",1031:"de",5127:"de-LI",4103:"de-LU",2055:"de-CH",1032:"el",1135:"kl",1095:"gu",1128:"ha",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig",1057:"id",1117:"iu",2141:"iu-Latn",2108:"ga",1076:"xh",1077:"zu",1040:"it",2064:"it-CH",1041:"ja",1099:"kn",1087:"kk",1107:"km",1158:"quc",1159:"rw",1089:"sw",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1062:"lv",1063:"lt",2094:"dsb",1134:"lb",1071:"mk",2110:"ms-BN",1086:"ms",1100:"ml",1082:"mt",1153:"mi",1146:"arn",1102:"mr",1148:"moh",1104:"mn",2128:"mn-CN",1121:"ne",1044:"nb",2068:"nn",1154:"oc",1096:"or",1123:"ps",1045:"pl",1046:"pt",2070:"pt-PT",1094:"pa",1131:"qu-BO",2155:"qu-EC",3179:"qu",1048:"ro",1047:"rm",1049:"ru",9275:"smn",4155:"smj-NO",5179:"smj",3131:"se-FI",1083:"se",2107:"se-SE",8251:"sms",6203:"sma-NO",7227:"sms",1103:"sa",7194:"sr-Cyrl-BA",3098:"sr",6170:"sr-Latn-BA",2074:"sr-Latn",1132:"nso",1074:"tn",1115:"si",1051:"sk",1060:"sl",11274:"es-AR",16394:"es-BO",13322:"es-CL",9226:"es-CO",5130:"es-CR",7178:"es-DO",12298:"es-EC",17418:"es-SV",4106:"es-GT",18442:"es-HN",2058:"es-MX",19466:"es-NI",6154:"es-PA",15370:"es-PY",10250:"es-PE",20490:"es-PR",3082:"es",1034:"es",21514:"es-US",14346:"es-UY",8202:"es-VE",2077:"sv-FI",1053:"sv",1114:"syr",1064:"tg",2143:"tzm",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1055:"tr",1090:"tk",1152:"ug",1058:"uk",1070:"hsb",1056:"ur",2115:"uz-Cyrl",1091:"uz",1066:"vi",1106:"cy",1160:"wo",1157:"sah",1144:"ii",1130:"yo"};function ZA(A,e,t){switch(A){case 0:if(65535===e)return"und";if(t)return t[e];break;case 1:return WA[e];case 3:return jA[e]}}var $A="utf-16",Ae={0:"macintosh",1:"x-mac-japanese",2:"x-mac-chinesetrad",3:"x-mac-korean",6:"x-mac-greek",7:"x-mac-cyrillic",9:"x-mac-devanagai",10:"x-mac-gurmukhi",11:"x-mac-gujarati",12:"x-mac-oriya",13:"x-mac-bengali",14:"x-mac-tamil",15:"x-mac-telugu",16:"x-mac-kannada",17:"x-mac-malayalam",18:"x-mac-sinhalese",19:"x-mac-burmese",20:"x-mac-khmer",21:"x-mac-thai",22:"x-mac-lao",23:"x-mac-georgian",24:"x-mac-armenian",25:"x-mac-chinesesimp",26:"x-mac-tibetan",27:"x-mac-mongolian",28:"x-mac-ethiopic",29:"x-mac-ce",30:"x-mac-vietnamese",31:"x-mac-extarabic"},ee={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"};function te(A,e,t){switch(A){case 0:return $A;case 1:return ee[t]||Ae[e];case 3:if(1===e||10===e)return $A}}function ie(A){var e={};for(var t in A)e[A[t]]=parseInt(t);return e}function ne(A,e,t,i,n,r){return new $.Record("NameRecord",[{name:"platformID",type:"USHORT",value:A},{name:"encodingID",type:"USHORT",value:e},{name:"languageID",type:"USHORT",value:t},{name:"nameID",type:"USHORT",value:i},{name:"length",type:"USHORT",value:n},{name:"offset",type:"USHORT",value:r}])}function re(A,e){var t=function(A,e){var t=A.length,i=e.length-t+1;A:for(var n=0;n<i;n++)for(;n<i;n++){for(var r=0;r<t;r++)if(e[n+r]!==A[r])continue A;return n}return-1}(A,e);if(t<0){t=e.length;for(var i=0,n=A.length;i<n;++i)e.push(A[i])}return t}var se={parse:function(A,e,t){for(var i={},n=new aA.Parser(A,e),r=n.parseUShort(),s=n.parseUShort(),a=n.offset+n.parseUShort(),o=0;o<s;o++){var g=n.parseUShort(),I=n.parseUShort(),C=n.parseUShort(),Q=n.parseUShort(),c=_A[Q]||Q,B=n.parseUShort(),l=n.parseUShort(),E=ZA(g,C,t),u=te(g,I,C);if(void 0!==u&&void 0!==E){var f=void 0;if(f=u===$A?G.UTF16(A,a+l,B):G.MACSTRING(A,a+l,B,u)){var h=i[c];void 0===h&&(h=i[c]={}),h[E]=f}}}return 1===r&&n.parseUShort(),i},make:function(A,e){var t,i=[],n={},r=ie(_A);for(var s in A){var a=r[s];if(void 0===a&&(a=s),t=parseInt(a),isNaN(t))throw new Error('Name table entry "'+s+'" does not exist, see nameTableNames for complete list.');n[t]=A[s],i.push(t)}for(var o=ie(WA),g=ie(jA),I=[],C=[],Q=0;Q<i.length;Q++){var c=n[t=i[Q]];for(var B in c){var l=c[B],E=1,u=o[B],f=XA[u],h=te(E,f,u),p=F.MACSTRING(l,h);void 0===p&&(E=0,(u=e.indexOf(B))<0&&(u=e.length,e.push(B)),f=4,p=F.UTF16(l));var y=re(p,C);I.push(ne(E,f,u,t,p.length,y));var d=g[B];if(void 0!==d){var m=F.UTF16(l),b=re(m,C);I.push(ne(3,1,d,t,m.length,b))}}}I.sort((function(A,e){return A.platformID-e.platformID||A.encodingID-e.encodingID||A.languageID-e.languageID||A.nameID-e.nameID}));for(var D=new $.Table("name",[{name:"format",type:"USHORT",value:0},{name:"count",type:"USHORT",value:I.length},{name:"stringOffset",type:"USHORT",value:6+12*I.length}]),S=0;S<I.length;S++)D.fields.push({name:"record_"+S,type:"RECORD",value:I[S]});return D.fields.push({name:"strings",type:"LITERAL",value:C}),D}},ae=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}];var oe={parse:function(A,e){var t={},i=new aA.Parser(A,e);t.version=i.parseUShort(),t.xAvgCharWidth=i.parseShort(),t.usWeightClass=i.parseUShort(),t.usWidthClass=i.parseUShort(),t.fsType=i.parseUShort(),t.ySubscriptXSize=i.parseShort(),t.ySubscriptYSize=i.parseShort(),t.ySubscriptXOffset=i.parseShort(),t.ySubscriptYOffset=i.parseShort(),t.ySuperscriptXSize=i.parseShort(),t.ySuperscriptYSize=i.parseShort(),t.ySuperscriptXOffset=i.parseShort(),t.ySuperscriptYOffset=i.parseShort(),t.yStrikeoutSize=i.parseShort(),t.yStrikeoutPosition=i.parseShort(),t.sFamilyClass=i.parseShort(),t.panose=[];for(var n=0;n<10;n++)t.panose[n]=i.parseByte();return t.ulUnicodeRange1=i.parseULong(),t.ulUnicodeRange2=i.parseULong(),t.ulUnicodeRange3=i.parseULong(),t.ulUnicodeRange4=i.parseULong(),t.achVendID=String.fromCharCode(i.parseByte(),i.parseByte(),i.parseByte(),i.parseByte()),t.fsSelection=i.parseUShort(),t.usFirstCharIndex=i.parseUShort(),t.usLastCharIndex=i.parseUShort(),t.sTypoAscender=i.parseShort(),t.sTypoDescender=i.parseShort(),t.sTypoLineGap=i.parseShort(),t.usWinAscent=i.parseUShort(),t.usWinDescent=i.parseUShort(),t.version>=1&&(t.ulCodePageRange1=i.parseULong(),t.ulCodePageRange2=i.parseULong()),t.version>=2&&(t.sxHeight=i.parseShort(),t.sCapHeight=i.parseShort(),t.usDefaultChar=i.parseUShort(),t.usBreakChar=i.parseUShort(),t.usMaxContent=i.parseUShort()),t},make:function(A){return new $.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],A)},unicodeRanges:ae,getUnicodeRange:function(A){for(var e=0;e<ae.length;e+=1){var t=ae[e];if(A>=t.begin&&A<t.end)return e}return-1}};var ge={parse:function(A,e){var t={},i=new aA.Parser(A,e);switch(t.version=i.parseVersion(),t.italicAngle=i.parseFixed(),t.underlinePosition=i.parseShort(),t.underlineThickness=i.parseShort(),t.isFixedPitch=i.parseULong(),t.minMemType42=i.parseULong(),t.maxMemType42=i.parseULong(),t.minMemType1=i.parseULong(),t.maxMemType1=i.parseULong(),t.version){case 1:t.names=cA.slice();break;case 2:t.numberOfGlyphs=i.parseUShort(),t.glyphNameIndex=new Array(t.numberOfGlyphs);for(var n=0;n<t.numberOfGlyphs;n++)t.glyphNameIndex[n]=i.parseUShort();t.names=[];for(var r=0;r<t.numberOfGlyphs;r++)if(t.glyphNameIndex[r]>=cA.length){var s=i.parseChar();t.names.push(i.parseString(s))}break;case 2.5:t.numberOfGlyphs=i.parseUShort(),t.offset=new Array(t.numberOfGlyphs);for(var a=0;a<t.numberOfGlyphs;a++)t.offset[a]=i.parseChar()}return t},make:function(){return new $.Table("post",[{name:"version",type:"FIXED",value:196608},{name:"italicAngle",type:"FIXED",value:0},{name:"underlinePosition",type:"FWORD",value:0},{name:"underlineThickness",type:"FWORD",value:0},{name:"isFixedPitch",type:"ULONG",value:0},{name:"minMemType42",type:"ULONG",value:0},{name:"maxMemType42",type:"ULONG",value:0},{name:"minMemType1",type:"ULONG",value:0},{name:"maxMemType1",type:"ULONG",value:0}])}},Ie=new Array(9);Ie[1]=function(){var A=this.offset+this.relativeOffset,e=this.parseUShort();return 1===e?{substFormat:1,coverage:this.parsePointer(rA.coverage),deltaGlyphId:this.parseUShort()}:2===e?{substFormat:2,coverage:this.parsePointer(rA.coverage),substitute:this.parseOffset16List()}:void U.assert(!1,"0x"+A.toString(16)+": lookup type 1 format must be 1 or 2.")},Ie[2]=function(){var A=this.parseUShort();return U.argument(1===A,"GSUB Multiple Substitution Subtable identifier-format must be 1"),{substFormat:A,coverage:this.parsePointer(rA.coverage),sequences:this.parseListOfLists()}},Ie[3]=function(){var A=this.parseUShort();return U.argument(1===A,"GSUB Alternate Substitution Subtable identifier-format must be 1"),{substFormat:A,coverage:this.parsePointer(rA.coverage),alternateSets:this.parseListOfLists()}},Ie[4]=function(){var A=this.parseUShort();return U.argument(1===A,"GSUB ligature table identifier-format must be 1"),{substFormat:A,coverage:this.parsePointer(rA.coverage),ligatureSets:this.parseListOfLists((function(){return{ligGlyph:this.parseUShort(),components:this.parseUShortList(this.parseUShort()-1)}}))}};var Ce={sequenceIndex:rA.uShort,lookupListIndex:rA.uShort};Ie[5]=function(){var A=this.offset+this.relativeOffset,e=this.parseUShort();if(1===e)return{substFormat:e,coverage:this.parsePointer(rA.coverage),ruleSets:this.parseListOfLists((function(){var A=this.parseUShort(),e=this.parseUShort();return{input:this.parseUShortList(A-1),lookupRecords:this.parseRecordList(e,Ce)}}))};if(2===e)return{substFormat:e,coverage:this.parsePointer(rA.coverage),classDef:this.parsePointer(rA.classDef),classSets:this.parseListOfLists((function(){var A=this.parseUShort(),e=this.parseUShort();return{classes:this.parseUShortList(A-1),lookupRecords:this.parseRecordList(e,Ce)}}))};if(3===e){var t=this.parseUShort(),i=this.parseUShort();return{substFormat:e,coverages:this.parseList(t,rA.pointer(rA.coverage)),lookupRecords:this.parseRecordList(i,Ce)}}U.assert(!1,"0x"+A.toString(16)+": lookup type 5 format must be 1, 2 or 3.")},Ie[6]=function(){var A=this.offset+this.relativeOffset,e=this.parseUShort();return 1===e?{substFormat:1,coverage:this.parsePointer(rA.coverage),chainRuleSets:this.parseListOfLists((function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(Ce)}}))}:2===e?{substFormat:2,coverage:this.parsePointer(rA.coverage),backtrackClassDef:this.parsePointer(rA.classDef),inputClassDef:this.parsePointer(rA.classDef),lookaheadClassDef:this.parsePointer(rA.classDef),chainClassSet:this.parseListOfLists((function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(Ce)}}))}:3===e?{substFormat:3,backtrackCoverage:this.parseList(rA.pointer(rA.coverage)),inputCoverage:this.parseList(rA.pointer(rA.coverage)),lookaheadCoverage:this.parseList(rA.pointer(rA.coverage)),lookupRecords:this.parseRecordList(Ce)}:void U.assert(!1,"0x"+A.toString(16)+": lookup type 6 format must be 1, 2 or 3.")},Ie[7]=function(){var A=this.parseUShort();U.argument(1===A,"GSUB Extension Substitution subtable identifier-format must be 1");var e=this.parseUShort(),t=new rA(this.data,this.offset+this.parseULong());return{substFormat:1,lookupType:e,extension:Ie[e].call(t)}},Ie[8]=function(){var A=this.parseUShort();return U.argument(1===A,"GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1"),{substFormat:A,coverage:this.parsePointer(rA.coverage),backtrackCoverage:this.parseList(rA.pointer(rA.coverage)),lookaheadCoverage:this.parseList(rA.pointer(rA.coverage)),substitutes:this.parseUShortList()}};var Qe=new Array(9);Qe[1]=function(A){return 1===A.substFormat?new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new $.Coverage(A.coverage)},{name:"deltaGlyphID",type:"USHORT",value:A.deltaGlyphId}]):new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:2},{name:"coverage",type:"TABLE",value:new $.Coverage(A.coverage)}].concat($.ushortList("substitute",A.substitute)))},Qe[2]=function(A){return U.assert(1===A.substFormat,"Lookup type 2 substFormat must be 1."),new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new $.Coverage(A.coverage)}].concat($.tableList("seqSet",A.sequences,(function(A){return new $.Table("sequenceSetTable",$.ushortList("sequence",A))}))))},Qe[3]=function(A){return U.assert(1===A.substFormat,"Lookup type 3 substFormat must be 1."),new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new $.Coverage(A.coverage)}].concat($.tableList("altSet",A.alternateSets,(function(A){return new $.Table("alternateSetTable",$.ushortList("alternate",A))}))))},Qe[4]=function(A){return U.assert(1===A.substFormat,"Lookup type 4 substFormat must be 1."),new $.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new $.Coverage(A.coverage)}].concat($.tableList("ligSet",A.ligatureSets,(function(A){return new $.Table("ligatureSetTable",$.tableList("ligature",A,(function(A){return new $.Table("ligatureTable",[{name:"ligGlyph",type:"USHORT",value:A.ligGlyph}].concat($.ushortList("component",A.components,A.components.length+1)))})))}))))},Qe[6]=function(A){if(1===A.substFormat){var e=new $.Table("chainContextTable",[{name:"substFormat",type:"USHORT",value:A.substFormat},{name:"coverage",type:"TABLE",value:new $.Coverage(A.coverage)}].concat($.tableList("chainRuleSet",A.chainRuleSets,(function(A){return new $.Table("chainRuleSetTable",$.tableList("chainRule",A,(function(A){var e=$.ushortList("backtrackGlyph",A.backtrack,A.backtrack.length).concat($.ushortList("inputGlyph",A.input,A.input.length+1)).concat($.ushortList("lookaheadGlyph",A.lookahead,A.lookahead.length)).concat($.ushortList("substitution",[],A.lookupRecords.length));return A.lookupRecords.forEach((function(A,t){e=e.concat({name:"sequenceIndex"+t,type:"USHORT",value:A.sequenceIndex}).concat({name:"lookupListIndex"+t,type:"USHORT",value:A.lookupListIndex})})),new $.Table("chainRuleTable",e)})))}))));return e}if(2===A.substFormat)U.assert(!1,"lookup type 6 format 2 is not yet supported.");else if(3===A.substFormat){var t=[{name:"substFormat",type:"USHORT",value:A.substFormat}];return t.push({name:"backtrackGlyphCount",type:"USHORT",value:A.backtrackCoverage.length}),A.backtrackCoverage.forEach((function(A,e){t.push({name:"backtrackCoverage"+e,type:"TABLE",value:new $.Coverage(A)})})),t.push({name:"inputGlyphCount",type:"USHORT",value:A.inputCoverage.length}),A.inputCoverage.forEach((function(A,e){t.push({name:"inputCoverage"+e,type:"TABLE",value:new $.Coverage(A)})})),t.push({name:"lookaheadGlyphCount",type:"USHORT",value:A.lookaheadCoverage.length}),A.lookaheadCoverage.forEach((function(A,e){t.push({name:"lookaheadCoverage"+e,type:"TABLE",value:new $.Coverage(A)})})),t.push({name:"substitutionCount",type:"USHORT",value:A.lookupRecords.length}),A.lookupRecords.forEach((function(A,e){t=t.concat({name:"sequenceIndex"+e,type:"USHORT",value:A.sequenceIndex}).concat({name:"lookupListIndex"+e,type:"USHORT",value:A.lookupListIndex})})),new $.Table("chainContextTable",t)}U.assert(!1,"lookup type 6 format must be 1, 2 or 3.")};var ce={parse:function(A,e){var t=new rA(A,e=e||0),i=t.parseVersion(1);return U.argument(1===i||1.1===i,"Unsupported GSUB table version."),1===i?{version:i,scripts:t.parseScriptList(),features:t.parseFeatureList(),lookups:t.parseLookupList(Ie)}:{version:i,scripts:t.parseScriptList(),features:t.parseFeatureList(),lookups:t.parseLookupList(Ie),variations:t.parseFeatureVariationsList()}},make:function(A){return new $.Table("GSUB",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new $.ScriptList(A.scripts)},{name:"features",type:"TABLE",value:new $.FeatureList(A.features)},{name:"lookups",type:"TABLE",value:new $.LookupList(A.lookups,Qe)}])}};var Be={parse:function(A,e){var t=new aA.Parser(A,e),i=t.parseULong();U.argument(1===i,"Unsupported META table version."),t.parseULong(),t.parseULong();for(var n=t.parseULong(),r={},s=0;s<n;s++){var a=t.parseTag(),o=t.parseULong(),g=t.parseULong(),I=G.UTF8(A,e+o,g);r[a]=I}return r},make:function(A){var e=Object.keys(A).length,t="",i=16+12*e,n=new $.Table("meta",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"offset",type:"ULONG",value:i},{name:"numTags",type:"ULONG",value:e}]);for(var r in A){var s=t.length;t+=A[r],n.fields.push({name:"tag "+r,type:"TAG",value:r}),n.fields.push({name:"offset "+r,type:"ULONG",value:i+s}),n.fields.push({name:"length "+r,type:"ULONG",value:A[r].length})}return n.fields.push({name:"stringPool",type:"CHARARRAY",value:t}),n}};function le(A){return Math.log(A)/Math.log(2)|0}function Ee(A){for(;A.length%4!=0;)A.push(0);for(var e=0,t=0;t<A.length;t+=4)e+=(A[t]<<24)+(A[t+1]<<16)+(A[t+2]<<8)+A[t+3];return e%=Math.pow(2,32)}function ue(A,e,t,i){return new $.Record("Table Record",[{name:"tag",type:"TAG",value:void 0!==A?A:""},{name:"checkSum",type:"ULONG",value:void 0!==e?e:0},{name:"offset",type:"ULONG",value:void 0!==t?t:0},{name:"length",type:"ULONG",value:void 0!==i?i:0}])}function fe(A){var e=new $.Table("sfnt",[{name:"version",type:"TAG",value:"OTTO"},{name:"numTables",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);e.tables=A,e.numTables=A.length;var t=Math.pow(2,le(e.numTables));e.searchRange=16*t,e.entrySelector=le(t),e.rangeShift=16*e.numTables-e.searchRange;for(var i=[],n=[],r=e.sizeOf()+ue().sizeOf()*e.numTables;r%4!=0;)r+=1,n.push({name:"padding",type:"BYTE",value:0});for(var s=0;s<A.length;s+=1){var a=A[s];U.argument(4===a.tableName.length,"Table name"+a.tableName+" is invalid.");var o=a.sizeOf(),g=ue(a.tableName,Ee(a.encode()),r,o);for(i.push({name:g.tag+" Table Record",type:"RECORD",value:g}),n.push({name:a.tableName+" table",type:"RECORD",value:a}),r+=o,U.argument(!isNaN(r),"Something went wrong calculating the offset.");r%4!=0;)r+=1,n.push({name:"padding",type:"BYTE",value:0})}return i.sort((function(A,e){return A.value.tag>e.value.tag?1:-1})),e.fields=e.fields.concat(i),e.fields=e.fields.concat(n),e}function he(A,e,t){for(var i=0;i<e.length;i+=1){var n=A.charToGlyphIndex(e[i]);if(n>0)return A.glyphs.get(n).getMetrics()}return t}function pe(A){for(var e=0,t=0;t<A.length;t+=1)e+=A[t];return e/A.length}var ye={make:fe,fontToTable:function(A){for(var e,t=[],i=[],n=[],r=[],s=[],a=[],o=[],g=0,I=0,C=0,Q=0,c=0,B=0;B<A.glyphs.length;B+=1){var l=A.glyphs.get(B),E=0|l.unicode;if(isNaN(l.advanceWidth))throw new Error("Glyph "+l.name+" ("+B+"): advanceWidth is not a number.");(e>E||void 0===e)&&E>0&&(e=E),g<E&&(g=E);var u=oe.getUnicodeRange(E);if(u<32)I|=1<<u;else if(u<64)C|=1<<u-32;else if(u<96)Q|=1<<u-64;else{if(!(u<123))throw new Error("Unicode ranges bits > 123 are reserved for internal usage");c|=1<<u-96}if(".notdef"!==l.name){var f=l.getMetrics();t.push(f.xMin),i.push(f.yMin),n.push(f.xMax),r.push(f.yMax),a.push(f.leftSideBearing),o.push(f.rightSideBearing),s.push(l.advanceWidth)}}var h={xMin:Math.min.apply(null,t),yMin:Math.min.apply(null,i),xMax:Math.max.apply(null,n),yMax:Math.max.apply(null,r),advanceWidthMax:Math.max.apply(null,s),advanceWidthAvg:pe(s),minLeftSideBearing:Math.min.apply(null,a),maxLeftSideBearing:Math.max.apply(null,a),minRightSideBearing:Math.min.apply(null,o)};h.ascender=A.ascender,h.descender=A.descender;var p=TA.make({flags:3,unitsPerEm:A.unitsPerEm,xMin:h.xMin,yMin:h.yMin,xMax:h.xMax,yMax:h.yMax,lowestRecPPEM:3,createdTimestamp:A.createdTimestamp}),y=YA.make({ascender:h.ascender,descender:h.descender,advanceWidthMax:h.advanceWidthMax,minLeftSideBearing:h.minLeftSideBearing,minRightSideBearing:h.minRightSideBearing,xMaxExtent:h.maxLeftSideBearing+(h.xMax-h.xMin),numberOfHMetrics:A.glyphs.length}),d=VA.make(A.glyphs.length),m=oe.make(Object.assign({xAvgCharWidth:Math.round(h.advanceWidthAvg),usFirstCharIndex:e,usLastCharIndex:g,ulUnicodeRange1:I,ulUnicodeRange2:C,ulUnicodeRange3:Q,ulUnicodeRange4:c,sTypoAscender:h.ascender,sTypoDescender:h.descender,sTypoLineGap:0,usWinAscent:h.yMax,usWinDescent:Math.abs(h.yMin),ulCodePageRange1:1,sxHeight:he(A,"xyvw",{yMax:Math.round(h.ascender/2)}).yMax,sCapHeight:he(A,"HIKLEFJMNTZBDPRAGOQSUVWXY",h).yMax,usDefaultChar:A.hasChar(" ")?32:0,usBreakChar:A.hasChar(" ")?32:0},A.tables.os2)),b=HA.make(A.glyphs),D=gA.make(A.glyphs),S=A.getEnglishName("fontFamily"),w=A.getEnglishName("fontSubfamily"),v=S+" "+w,k=A.getEnglishName("postScriptName");k||(k=S.replace(/\s/g,"")+"-"+w);var x={};for(var U in A.names)x[U]=A.names[U];x.uniqueID||(x.uniqueID={en:A.getEnglishName("manufacturer")+":"+v}),x.postScriptName||(x.postScriptName={en:k}),x.preferredFamily||(x.preferredFamily=A.names.fontFamily),x.preferredSubfamily||(x.preferredSubfamily=A.names.fontSubfamily);var N=[],G=se.make(x,N),F=N.length>0?PA.make(N):void 0,M=ge.make(),R=KA.make(A.glyphs,{version:A.getEnglishName("version"),fullName:v,familyName:S,weightName:w,postScriptName:k,unitsPerEm:A.unitsPerEm,fontBBox:[0,h.yMin,h.ascender,h.advanceWidthMax]}),L=A.metas&&Object.keys(A.metas).length>0?Be.make(A.metas):void 0,z=[p,y,d,m,G,D,M,R,b];F&&z.push(F),A.tables.gsub&&z.push(ce.make(A.tables.gsub)),L&&z.push(L);for(var q=fe(z),J=Ee(q.encode()),O=q.fields,K=!1,T=0;T<O.length;T+=1)if("head table"===O[T].name){O[T].value.checkSumAdjustment=2981146554-J,K=!0;break}if(!K)throw new Error("Could not find head table with checkSum to adjust.");return q},computeCheckSum:Ee};function de(A,e){for(var t=0,i=A.length-1;t<=i;){var n=t+i>>>1,r=A[n].tag;if(r===e)return n;r<e?t=n+1:i=n-1}return-t-1}function me(A,e){for(var t=0,i=A.length-1;t<=i;){var n=t+i>>>1,r=A[n];if(r===e)return n;r<e?t=n+1:i=n-1}return-t-1}function be(A,e){for(var t,i=0,n=A.length-1;i<=n;){var r=i+n>>>1,s=(t=A[r]).start;if(s===e)return t;s<e?i=r+1:n=r-1}if(i>0)return e>(t=A[i-1]).end?0:t}function De(A,e){this.font=A,this.tableName=e}function Se(A){De.call(this,A,"gpos")}function we(A){De.call(this,A,"gsub")}function ve(A,e){var t=A.length;if(t!==e.length)return!1;for(var i=0;i<t;i++)if(A[i]!==e[i])return!1;return!0}function ke(A,e,t){for(var i=A.subtables,n=0;n<i.length;n++){var r=i[n];if(r.substFormat===e)return r}if(t)return i.push(t),t}function xe(A){for(var e=new ArrayBuffer(A.length),t=new Uint8Array(e),i=0;i<A.length;++i)t[i]=A[i];return e}function Ue(A,e){if(!A)throw e}function Ne(A,e,t,i,n){var r;return(e&i)>0?(r=A.parseByte(),e&n||(r=-r),r=t+r):r=(e&n)>0?t:t+A.parseShort(),r}function Ge(A,e,t){var i,n,r=new aA.Parser(e,t);if(A.numberOfContours=r.parseShort(),A._xMin=r.parseShort(),A._yMin=r.parseShort(),A._xMax=r.parseShort(),A._yMax=r.parseShort(),A.numberOfContours>0){for(var s=A.endPointIndices=[],a=0;a<A.numberOfContours;a+=1)s.push(r.parseUShort());A.instructionLength=r.parseUShort(),A.instructions=[];for(var o=0;o<A.instructionLength;o+=1)A.instructions.push(r.parseByte());var g=s[s.length-1]+1;i=[];for(var I=0;I<g;I+=1)if(n=r.parseByte(),i.push(n),(8&n)>0)for(var C=r.parseByte(),Q=0;Q<C;Q+=1)i.push(n),I+=1;if(U.argument(i.length===g,"Bad flags."),s.length>0){var c,B=[];if(g>0){for(var l=0;l<g;l+=1)n=i[l],(c={}).onCurve=!!(1&n),c.lastPointOfContour=s.indexOf(l)>=0,B.push(c);for(var E=0,u=0;u<g;u+=1)n=i[u],(c=B[u]).x=Ne(r,n,E,2,16),E=c.x;for(var f=0,h=0;h<g;h+=1)n=i[h],(c=B[h]).y=Ne(r,n,f,4,32),f=c.y}A.points=B}else A.points=[]}else if(0===A.numberOfContours)A.points=[];else{A.isComposite=!0,A.points=[],A.components=[];for(var p=!0;p;){i=r.parseUShort();var y={glyphIndex:r.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(1&i)>0?(2&i)>0?(y.dx=r.parseShort(),y.dy=r.parseShort()):y.matchedPoints=[r.parseUShort(),r.parseUShort()]:(2&i)>0?(y.dx=r.parseChar(),y.dy=r.parseChar()):y.matchedPoints=[r.parseByte(),r.parseByte()],(8&i)>0?y.xScale=y.yScale=r.parseF2Dot14():(64&i)>0?(y.xScale=r.parseF2Dot14(),y.yScale=r.parseF2Dot14()):(128&i)>0&&(y.xScale=r.parseF2Dot14(),y.scale01=r.parseF2Dot14(),y.scale10=r.parseF2Dot14(),y.yScale=r.parseF2Dot14()),A.components.push(y),p=!!(32&i)}if(256&i){A.instructionLength=r.parseUShort(),A.instructions=[];for(var d=0;d<A.instructionLength;d+=1)A.instructions.push(r.parseByte())}}}function Fe(A,e){for(var t=[],i=0;i<A.length;i+=1){var n=A[i],r={x:e.xScale*n.x+e.scale01*n.y+e.dx,y:e.scale10*n.x+e.yScale*n.y+e.dy,onCurve:n.onCurve,lastPointOfContour:n.lastPointOfContour};t.push(r)}return t}function Me(A){var e=new v;if(!A)return e;for(var t=function(A){for(var e=[],t=[],i=0;i<A.length;i+=1){var n=A[i];t.push(n),n.lastPointOfContour&&(e.push(t),t=[])}return U.argument(0===t.length,"There are still points left in the current contour."),e}(A),i=0;i<t.length;++i){var n=t[i],r=null,s=n[n.length-1],a=n[0];if(s.onCurve)e.moveTo(s.x,s.y);else if(a.onCurve)e.moveTo(a.x,a.y);else{var o={x:.5*(s.x+a.x),y:.5*(s.y+a.y)};e.moveTo(o.x,o.y)}for(var g=0;g<n.length;++g)if(r=s,s=a,a=n[(g+1)%n.length],s.onCurve)e.lineTo(s.x,s.y);else{var I=a;r.onCurve||{x:.5*(s.x+r.x),y:.5*(s.y+r.y)},a.onCurve||(I={x:.5*(s.x+a.x),y:.5*(s.y+a.y)}),e.quadraticCurveTo(s.x,s.y,I.x,I.y)}e.closePath()}return e}function Re(A,e){if(e.isComposite)for(var t=0;t<e.components.length;t+=1){var i=e.components[t],n=A.get(i.glyphIndex);if(n.getPath(),n.points){var r=void 0;if(void 0===i.matchedPoints)r=Fe(n.points,i);else{if(i.matchedPoints[0]>e.points.length-1||i.matchedPoints[1]>n.points.length-1)throw Error("Matched points out of range in "+e.name);var s=e.points[i.matchedPoints[0]],a=n.points[i.matchedPoints[1]],o={xScale:i.xScale,scale01:i.scale01,scale10:i.scale10,yScale:i.yScale,dx:0,dy:0};a=Fe([a],o)[0],o.dx=s.x-a.x,o.dy=s.y-a.y,r=Fe(n.points,o)}e.points=e.points.concat(r)}}return Me(e.points)}De.prototype={searchTag:de,binSearch:me,getTable:function(A){var e=this.font.tables[this.tableName];return!e&&A&&(e=this.font.tables[this.tableName]=this.createDefaultTable()),e},getScriptNames:function(){var A=this.getTable();return A?A.scripts.map((function(A){return A.tag})):[]},getDefaultScriptName:function(){var A=this.getTable();if(A){for(var e=!1,t=0;t<A.scripts.length;t++){var i=A.scripts[t].tag;if("DFLT"===i)return i;"latn"===i&&(e=!0)}return e?"latn":void 0}},getScriptTable:function(A,e){var t=this.getTable(e);if(t){A=A||"DFLT";var i=t.scripts,n=de(t.scripts,A);if(n>=0)return i[n].script;if(e){var r={tag:A,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return i.splice(-1-n,0,r),r.script}}},getLangSysTable:function(A,e,t){var i=this.getScriptTable(A,t);if(i){if(!e||"dflt"===e||"DFLT"===e)return i.defaultLangSys;var n=de(i.langSysRecords,e);if(n>=0)return i.langSysRecords[n].langSys;if(t){var r={tag:e,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return i.langSysRecords.splice(-1-n,0,r),r.langSys}}},getFeatureTable:function(A,e,t,i){var n=this.getLangSysTable(A,e,i);if(n){for(var r,s=n.featureIndexes,a=this.font.tables[this.tableName].features,o=0;o<s.length;o++)if((r=a[s[o]]).tag===t)return r.feature;if(i){var g=a.length;return U.assert(0===g||t>=a[g-1].tag,"Features must be added in alphabetical order."),r={tag:t,feature:{params:0,lookupListIndexes:[]}},a.push(r),s.push(g),r.feature}}},getLookupTables:function(A,e,t,i,n){var r=this.getFeatureTable(A,e,t,n),s=[];if(r){for(var a,o=r.lookupListIndexes,g=this.font.tables[this.tableName].lookups,I=0;I<o.length;I++)(a=g[o[I]]).lookupType===i&&s.push(a);if(0===s.length&&n){a={lookupType:i,lookupFlag:0,subtables:[],markFilteringSet:void 0};var C=g.length;return g.push(a),o.push(C),[a]}}return s},getGlyphClass:function(A,e){switch(A.format){case 1:return A.startGlyph<=e&&e<A.startGlyph+A.classes.length?A.classes[e-A.startGlyph]:0;case 2:var t=be(A.ranges,e);return t?t.classId:0}},getCoverageIndex:function(A,e){switch(A.format){case 1:var t=me(A.glyphs,e);return t>=0?t:-1;case 2:var i=be(A.ranges,e);return i?i.index+e-i.start:-1}},expandCoverage:function(A){if(1===A.format)return A.glyphs;for(var e=[],t=A.ranges,i=0;i<t.length;i++)for(var n=t[i],r=n.start,s=n.end,a=r;a<=s;a++)e.push(a);return e}},Se.prototype=De.prototype,Se.prototype.init=function(){var A=this.getDefaultScriptName();this.defaultKerningTables=this.getKerningTables(A)},Se.prototype.getKerningValue=function(A,e,t){for(var i=0;i<A.length;i++)for(var n=A[i].subtables,r=0;r<n.length;r++){var s=n[r],a=this.getCoverageIndex(s.coverage,e);if(!(a<0))switch(s.posFormat){case 1:for(var o=s.pairSets[a],g=0;g<o.length;g++){var I=o[g];if(I.secondGlyph===t)return I.value1&&I.value1.xAdvance||0}break;case 2:var C=this.getGlyphClass(s.classDef1,e),Q=this.getGlyphClass(s.classDef2,t),c=s.classRecords[C][Q];return c.value1&&c.value1.xAdvance||0}}return 0},Se.prototype.getKerningTables=function(A,e){if(this.font.tables.gpos)return this.getLookupTables(A,e,"kern",2)},we.prototype=De.prototype,we.prototype.createDefaultTable=function(){return{version:1,scripts:[{tag:"DFLT",script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}}],features:[],lookups:[]}},we.prototype.getSingle=function(A,e,t){for(var i=[],n=this.getLookupTables(e,t,A,1),r=0;r<n.length;r++)for(var s=n[r].subtables,a=0;a<s.length;a++){var o=s[a],g=this.expandCoverage(o.coverage),I=void 0;if(1===o.substFormat){var C=o.deltaGlyphId;for(I=0;I<g.length;I++){var Q=g[I];i.push({sub:Q,by:Q+C})}}else{var c=o.substitute;for(I=0;I<g.length;I++)i.push({sub:g[I],by:c[I]})}}return i},we.prototype.getMultiple=function(A,e,t){for(var i=[],n=this.getLookupTables(e,t,A,2),r=0;r<n.length;r++)for(var s=n[r].subtables,a=0;a<s.length;a++){var o=s[a],g=this.expandCoverage(o.coverage),I=void 0;for(I=0;I<g.length;I++){var C=g[I],Q=o.sequences[I];i.push({sub:C,by:Q})}}return i},we.prototype.getAlternates=function(A,e,t){for(var i=[],n=this.getLookupTables(e,t,A,3),r=0;r<n.length;r++)for(var s=n[r].subtables,a=0;a<s.length;a++)for(var o=s[a],g=this.expandCoverage(o.coverage),I=o.alternateSets,C=0;C<g.length;C++)i.push({sub:g[C],by:I[C]});return i},we.prototype.getLigatures=function(A,e,t){for(var i=[],n=this.getLookupTables(e,t,A,4),r=0;r<n.length;r++)for(var s=n[r].subtables,a=0;a<s.length;a++)for(var o=s[a],g=this.expandCoverage(o.coverage),I=o.ligatureSets,C=0;C<g.length;C++)for(var Q=g[C],c=I[C],B=0;B<c.length;B++){var l=c[B];i.push({sub:[Q].concat(l.components),by:l.ligGlyph})}return i},we.prototype.addSingle=function(A,e,t,i){var n=ke(this.getLookupTables(t,i,A,1,!0)[0],2,{substFormat:2,coverage:{format:1,glyphs:[]},substitute:[]});U.assert(1===n.coverage.format,"Single: unable to modify coverage table format "+n.coverage.format);var r=e.sub,s=this.binSearch(n.coverage.glyphs,r);s<0&&(s=-1-s,n.coverage.glyphs.splice(s,0,r),n.substitute.splice(s,0,0)),n.substitute[s]=e.by},we.prototype.addMultiple=function(A,e,t,i){U.assert(e.by instanceof Array&&e.by.length>1,'Multiple: "by" must be an array of two or more ids');var n=ke(this.getLookupTables(t,i,A,2,!0)[0],1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});U.assert(1===n.coverage.format,"Multiple: unable to modify coverage table format "+n.coverage.format);var r=e.sub,s=this.binSearch(n.coverage.glyphs,r);s<0&&(s=-1-s,n.coverage.glyphs.splice(s,0,r),n.sequences.splice(s,0,0)),n.sequences[s]=e.by},we.prototype.addAlternate=function(A,e,t,i){var n=ke(this.getLookupTables(t,i,A,3,!0)[0],1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});U.assert(1===n.coverage.format,"Alternate: unable to modify coverage table format "+n.coverage.format);var r=e.sub,s=this.binSearch(n.coverage.glyphs,r);s<0&&(s=-1-s,n.coverage.glyphs.splice(s,0,r),n.alternateSets.splice(s,0,0)),n.alternateSets[s]=e.by},we.prototype.addLigature=function(A,e,t,i){var n=this.getLookupTables(t,i,A,4,!0)[0],r=n.subtables[0];r||(r={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},n.subtables[0]=r),U.assert(1===r.coverage.format,"Ligature: unable to modify coverage table format "+r.coverage.format);var s=e.sub[0],a=e.sub.slice(1),o={ligGlyph:e.by,components:a},g=this.binSearch(r.coverage.glyphs,s);if(g>=0){for(var I=r.ligatureSets[g],C=0;C<I.length;C++)if(ve(I[C].components,a))return;I.push(o)}else g=-1-g,r.coverage.glyphs.splice(g,0,s),r.ligatureSets.splice(g,0,[o])},we.prototype.getFeature=function(A,e,t){if(/ss\d\d/.test(A))return this.getSingle(A,e,t);switch(A){case"aalt":case"salt":return this.getSingle(A,e,t).concat(this.getAlternates(A,e,t));case"dlig":case"liga":case"rlig":return this.getLigatures(A,e,t);case"ccmp":return this.getMultiple(A,e,t).concat(this.getLigatures(A,e,t));case"stch":return this.getMultiple(A,e,t)}},we.prototype.add=function(A,e,t,i){if(/ss\d\d/.test(A))return this.addSingle(A,e,t,i);switch(A){case"aalt":case"salt":return"number"==typeof e.by?this.addSingle(A,e,t,i):this.addAlternate(A,e,t,i);case"dlig":case"liga":case"rlig":return this.addLigature(A,e,t,i);case"ccmp":return e.by instanceof Array?this.addMultiple(A,e,t,i):this.addLigature(A,e,t,i)}};var Le,ze,qe,Je,Oe={getPath:Me,parse:function(A,e,t,i,n){return n.lowMemory?function(A,e,t,i){var n=new mA.GlyphSet(i);return i._push=function(r){var s=t[r];s!==t[r+1]?n.push(r,mA.ttfGlyphLoader(i,r,Ge,A,e+s,Re)):n.push(r,mA.glyphLoader(i,r))},n}(A,e,t,i):function(A,e,t,i){for(var n=new mA.GlyphSet(i),r=0;r<t.length-1;r+=1){var s=t[r];s!==t[r+1]?n.push(r,mA.ttfGlyphLoader(i,r,Ge,A,e+s,Re)):n.push(r,mA.glyphLoader(i,r))}return n}(A,e,t,i)}};function Ke(A){this.font=A,this.getCommands=function(A){return Oe.getPath(A).commands},this._fpgmState=this._prepState=void 0,this._errorState=0}function Te(A){return A}function Ye(A){return Math.sign(A)*Math.round(Math.abs(A))}function He(A){return Math.sign(A)*Math.round(Math.abs(2*A))/2}function Pe(A){return Math.sign(A)*(Math.round(Math.abs(A)+.5)-.5)}function Ve(A){return Math.sign(A)*Math.ceil(Math.abs(A))}function _e(A){return Math.sign(A)*Math.floor(Math.abs(A))}var We=function(A){var e=this.srPeriod,t=this.srPhase,i=1;return A<0&&(A=-A,i=-1),A+=this.srThreshold-t,A=Math.trunc(A/e)*e,(A+=t)<0?t*i:A*i},Xe={x:1,y:0,axis:"x",distance:function(A,e,t,i){return(t?A.xo:A.x)-(i?e.xo:e.x)},interpolate:function(A,e,t,i){var n,r,s,a,o,g,I;if(!i||i===this)return n=A.xo-e.xo,r=A.xo-t.xo,o=e.x-e.xo,g=t.x-t.xo,0===(I=(s=Math.abs(n))+(a=Math.abs(r)))?void(A.x=A.xo+(o+g)/2):void(A.x=A.xo+(o*a+g*s)/I);n=i.distance(A,e,!0,!0),r=i.distance(A,t,!0,!0),o=i.distance(e,e,!1,!0),g=i.distance(t,t,!1,!0),0!==(I=(s=Math.abs(n))+(a=Math.abs(r)))?Xe.setRelative(A,A,(o*a+g*s)/I,i,!0):Xe.setRelative(A,A,(o+g)/2,i,!0)},normalSlope:Number.NEGATIVE_INFINITY,setRelative:function(A,e,t,i,n){if(i&&i!==this){var r=n?e.xo:e.x,s=n?e.yo:e.y,a=r+t*i.x,o=s+t*i.y;A.x=a+(A.y-o)/i.normalSlope}else A.x=(n?e.xo:e.x)+t},slope:0,touch:function(A){A.xTouched=!0},touched:function(A){return A.xTouched},untouch:function(A){A.xTouched=!1}},je={x:0,y:1,axis:"y",distance:function(A,e,t,i){return(t?A.yo:A.y)-(i?e.yo:e.y)},interpolate:function(A,e,t,i){var n,r,s,a,o,g,I;if(!i||i===this)return n=A.yo-e.yo,r=A.yo-t.yo,o=e.y-e.yo,g=t.y-t.yo,0===(I=(s=Math.abs(n))+(a=Math.abs(r)))?void(A.y=A.yo+(o+g)/2):void(A.y=A.yo+(o*a+g*s)/I);n=i.distance(A,e,!0,!0),r=i.distance(A,t,!0,!0),o=i.distance(e,e,!1,!0),g=i.distance(t,t,!1,!0),0!==(I=(s=Math.abs(n))+(a=Math.abs(r)))?je.setRelative(A,A,(o*a+g*s)/I,i,!0):je.setRelative(A,A,(o+g)/2,i,!0)},normalSlope:0,setRelative:function(A,e,t,i,n){if(i&&i!==this){var r=n?e.xo:e.x,s=n?e.yo:e.y,a=r+t*i.x,o=s+t*i.y;A.y=o+i.normalSlope*(A.x-a)}else A.y=(n?e.yo:e.y)+t},slope:Number.POSITIVE_INFINITY,touch:function(A){A.yTouched=!0},touched:function(A){return A.yTouched},untouch:function(A){A.yTouched=!1}};function Ze(A,e){this.x=A,this.y=e,this.axis=void 0,this.slope=e/A,this.normalSlope=-A/e,Object.freeze(this)}function $e(A,e){var t=Math.sqrt(A*A+e*e);return e/=t,1===(A/=t)&&0===e?Xe:0===A&&1===e?je:new Ze(A,e)}function At(A,e,t,i){this.x=this.xo=Math.round(64*A)/64,this.y=this.yo=Math.round(64*e)/64,this.lastPointOfContour=t,this.onCurve=i,this.prevPointOnContour=void 0,this.nextPointOnContour=void 0,this.xTouched=!1,this.yTouched=!1,Object.preventExtensions(this)}Object.freeze(Xe),Object.freeze(je),Ze.prototype.distance=function(A,e,t,i){return this.x*Xe.distance(A,e,t,i)+this.y*je.distance(A,e,t,i)},Ze.prototype.interpolate=function(A,e,t,i){var n,r,s,a,o,g,I;s=i.distance(A,e,!0,!0),a=i.distance(A,t,!0,!0),n=i.distance(e,e,!1,!0),r=i.distance(t,t,!1,!0),0!==(I=(o=Math.abs(s))+(g=Math.abs(a)))?this.setRelative(A,A,(n*g+r*o)/I,i,!0):this.setRelative(A,A,(n+r)/2,i,!0)},Ze.prototype.setRelative=function(A,e,t,i,n){i=i||this;var r=n?e.xo:e.x,s=n?e.yo:e.y,a=r+t*i.x,o=s+t*i.y,g=i.normalSlope,I=this.slope,C=A.x,Q=A.y;A.x=(I*C-g*a+o-Q)/(I-g),A.y=I*(A.x-C)+Q},Ze.prototype.touch=function(A){A.xTouched=!0,A.yTouched=!0},At.prototype.nextTouched=function(A){for(var e=this.nextPointOnContour;!A.touched(e)&&e!==this;)e=e.nextPointOnContour;return e},At.prototype.prevTouched=function(A){for(var e=this.prevPointOnContour;!A.touched(e)&&e!==this;)e=e.prevPointOnContour;return e};var et=Object.freeze(new At(0,0)),tt={cvCutIn:17/16,deltaBase:9,deltaShift:.125,loop:1,minDis:1,autoFlip:!0};function it(A,e){switch(this.env=A,this.stack=[],this.prog=e,A){case"glyf":this.zp0=this.zp1=this.zp2=1,this.rp0=this.rp1=this.rp2=0;case"prep":this.fv=this.pv=this.dpv=Xe,this.round=Ye}}function nt(A){for(var e=A.tZone=new Array(A.gZone.length),t=0;t<e.length;t++)e[t]=new At(0,0)}function rt(A,e){var t,i=A.prog,n=A.ip,r=1;do{if(88===(t=i[++n]))r++;else if(89===t)r--;else if(64===t)n+=i[n+1]+1;else if(65===t)n+=2*i[n+1]+1;else if(t>=176&&t<=183)n+=t-176+1;else if(t>=184&&t<=191)n+=2*(t-184+1);else if(e&&1===r&&27===t)break}while(r>0);A.ip=n}function st(A,e){exports.DEBUG&&console.log(e.step,"SVTCA["+A.axis+"]"),e.fv=e.pv=e.dpv=A}function at(A,e){exports.DEBUG&&console.log(e.step,"SPVTCA["+A.axis+"]"),e.pv=e.dpv=A}function ot(A,e){exports.DEBUG&&console.log(e.step,"SFVTCA["+A.axis+"]"),e.fv=A}function gt(A,e){var t,i,n=e.stack,r=n.pop(),s=n.pop(),a=e.z2[r],o=e.z1[s];exports.DEBUG&&console.log("SPVTL["+A+"]",r,s),A?(t=a.y-o.y,i=o.x-a.x):(t=o.x-a.x,i=o.y-a.y),e.pv=e.dpv=$e(t,i)}function It(A,e){var t,i,n=e.stack,r=n.pop(),s=n.pop(),a=e.z2[r],o=e.z1[s];exports.DEBUG&&console.log("SFVTL["+A+"]",r,s),A?(t=a.y-o.y,i=o.x-a.x):(t=o.x-a.x,i=o.y-a.y),e.fv=$e(t,i)}function Ct(A){exports.DEBUG&&console.log(A.step,"POP[]"),A.stack.pop()}function Qt(A,e){var t=e.stack.pop(),i=e.z0[t],n=e.fv,r=e.pv;exports.DEBUG&&console.log(e.step,"MDAP["+A+"]",t);var s=r.distance(i,et);A&&(s=e.round(s)),n.setRelative(i,et,s,r),n.touch(i),e.rp0=e.rp1=t}function ct(A,e){var t,i,n,r=e.z2,s=r.length-2;exports.DEBUG&&console.log(e.step,"IUP["+A.axis+"]");for(var a=0;a<s;a++)t=r[a],A.touched(t)||(i=t.prevTouched(A))!==t&&(i===(n=t.nextTouched(A))&&A.setRelative(t,t,A.distance(i,i,!1,!0),A,!0),A.interpolate(t,i,n,A))}function Bt(A,e){for(var t=e.stack,i=A?e.rp1:e.rp2,n=(A?e.z0:e.z1)[i],r=e.fv,s=e.pv,a=e.loop,o=e.z2;a--;){var g=t.pop(),I=o[g],C=s.distance(n,n,!1,!0);r.setRelative(I,I,C,s),r.touch(I),exports.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-a)+": ":"")+"SHP["+(A?"rp1":"rp2")+"]",g)}e.loop=1}function lt(A,e){var t=e.stack,i=A?e.rp1:e.rp2,n=(A?e.z0:e.z1)[i],r=e.fv,s=e.pv,a=t.pop(),o=e.z2[e.contours[a]],g=o;exports.DEBUG&&console.log(e.step,"SHC["+A+"]",a);var I=s.distance(n,n,!1,!0);do{g!==n&&r.setRelative(g,g,I,s),g=g.nextPointOnContour}while(g!==o)}function Et(A,e){var t,i,n=e.stack,r=A?e.rp1:e.rp2,s=(A?e.z0:e.z1)[r],a=e.fv,o=e.pv,g=n.pop();switch(exports.DEBUG&&console.log(e.step,"SHZ["+A+"]",g),g){case 0:t=e.tZone;break;case 1:t=e.gZone;break;default:throw new Error("Invalid zone")}for(var I=o.distance(s,s,!1,!0),C=t.length-2,Q=0;Q<C;Q++)i=t[Q],a.setRelative(i,i,I,o)}function ut(A,e){var t=e.stack,i=t.pop()/64,n=t.pop(),r=e.z1[n],s=e.z0[e.rp0],a=e.fv,o=e.pv;a.setRelative(r,s,i,o),a.touch(r),exports.DEBUG&&console.log(e.step,"MSIRP["+A+"]",i,n),e.rp1=e.rp0,e.rp2=n,A&&(e.rp0=n)}function ft(A,e){var t=e.stack,i=t.pop(),n=t.pop(),r=e.z0[n],s=e.fv,a=e.pv,o=e.cvt[i];exports.DEBUG&&console.log(e.step,"MIAP["+A+"]",i,"(",o,")",n);var g=a.distance(r,et);A&&(Math.abs(g-o)<e.cvCutIn&&(g=o),g=e.round(g)),s.setRelative(r,et,g,a),0===e.zp0&&(r.xo=r.x,r.yo=r.y),s.touch(r),e.rp0=e.rp1=n}function ht(A,e){var t=e.stack,i=t.pop(),n=e.z2[i];exports.DEBUG&&console.log(e.step,"GC["+A+"]",i),t.push(64*e.dpv.distance(n,et,A,!1))}function pt(A,e){var t=e.stack,i=t.pop(),n=t.pop(),r=e.z1[i],s=e.z0[n],a=e.dpv.distance(s,r,A,A);exports.DEBUG&&console.log(e.step,"MD["+A+"]",i,n,"->",a),e.stack.push(Math.round(64*a))}function yt(A,e){var t=e.stack,i=t.pop(),n=e.fv,r=e.pv,s=e.ppem,a=e.deltaBase+16*(A-1),o=e.deltaShift,g=e.z0;exports.DEBUG&&console.log(e.step,"DELTAP["+A+"]",i,t);for(var I=0;I<i;I++){var C=t.pop(),Q=t.pop();if(a+((240&Q)>>4)===s){var c=(15&Q)-8;c>=0&&c++,exports.DEBUG&&console.log(e.step,"DELTAPFIX",C,"by",c*o);var B=g[C];n.setRelative(B,B,c*o,r)}}}function dt(A,e){var t=e.stack,i=t.pop();exports.DEBUG&&console.log(e.step,"ROUND[]"),t.push(64*e.round(i/64))}function mt(A,e){var t=e.stack,i=t.pop(),n=e.ppem,r=e.deltaBase+16*(A-1),s=e.deltaShift;exports.DEBUG&&console.log(e.step,"DELTAC["+A+"]",i,t);for(var a=0;a<i;a++){var o=t.pop(),g=t.pop();if(r+((240&g)>>4)===n){var I=(15&g)-8;I>=0&&I++;var C=I*s;exports.DEBUG&&console.log(e.step,"DELTACFIX",o,"by",C),e.cvt[o]+=C}}}function bt(A,e){var t,i,n=e.stack,r=n.pop(),s=n.pop(),a=e.z2[r],o=e.z1[s];exports.DEBUG&&console.log(e.step,"SDPVTL["+A+"]",r,s),A?(t=a.y-o.y,i=o.x-a.x):(t=o.x-a.x,i=o.y-a.y),e.dpv=$e(t,i)}function Dt(A,e){var t=e.stack,i=e.prog,n=e.ip;exports.DEBUG&&console.log(e.step,"PUSHB["+A+"]");for(var r=0;r<A;r++)t.push(i[++n]);e.ip=n}function St(A,e){var t=e.ip,i=e.prog,n=e.stack;exports.DEBUG&&console.log(e.ip,"PUSHW["+A+"]");for(var r=0;r<A;r++){var s=i[++t]<<8|i[++t];32768&s&&(s=-(1+(65535^s))),n.push(s)}e.ip=t}function wt(A,e,t,i,n,r){var s,a,o,g,I=r.stack,C=A&&I.pop(),Q=I.pop(),c=r.rp0,B=r.z0[c],l=r.z1[Q],E=r.minDis,u=r.fv,f=r.dpv;o=(a=s=f.distance(l,B,!0,!0))>=0?1:-1,a=Math.abs(a),A&&(g=r.cvt[C],i&&Math.abs(a-g)<r.cvCutIn&&(a=g)),t&&a<E&&(a=E),i&&(a=r.round(a)),u.setRelative(l,B,o*a,f),u.touch(l),exports.DEBUG&&console.log(r.step,(A?"MIRP[":"MDRP[")+(e?"M":"m")+(t?">":"_")+(i?"R":"_")+(0===n?"Gr":1===n?"Bl":2===n?"Wh":"")+"]",A?C+"("+r.cvt[C]+","+g+")":"",Q,"(d =",s,"->",o*a,")"),r.rp1=r.rp0,r.rp2=Q,e&&(r.rp0=Q)}function vt(A){this.char=A,this.state={},this.activeState=null}function kt(A,e,t){this.contextName=t,this.startIndex=A,this.endOffset=e}function xt(A,e,t){this.contextName=A,this.openRange=null,this.ranges=[],this.checkStart=e,this.checkEnd=t}function Ut(A,e){this.context=A,this.index=e,this.length=A.length,this.current=A[e],this.backtrack=A.slice(0,e),this.lookahead=A.slice(e+1)}function Nt(A){this.eventId=A,this.subscribers=[]}function Gt(A){var e=this,t=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];t.forEach((function(A){Object.defineProperty(e.events,A,{value:new Nt(A)})})),A&&t.forEach((function(t){var i=A[t];"function"==typeof i&&e.events[t].subscribe(i)}));["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"].forEach((function(A){e.events[A].subscribe(e.updateContextsRanges)}))}function Ft(A){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],Gt.call(this,A)}function Mt(A){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(A)}function Rt(A){return/[\u0630\u0690\u0621\u0631\u0661\u0671\u0622\u0632\u0672\u0692\u06C2\u0623\u0673\u0693\u06C3\u0624\u0694\u06C4\u0625\u0675\u0695\u06C5\u06E5\u0676\u0696\u06C6\u0627\u0677\u0697\u06C7\u0648\u0688\u0698\u06C8\u0689\u0699\u06C9\u068A\u06CA\u066B\u068B\u06CB\u068C\u068D\u06CD\u06FD\u068E\u06EE\u06FE\u062F\u068F\u06CF\u06EF]/.test(A)}function Lt(A){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(A)}function zt(A){return/[A-z]/.test(A)}function qt(A){this.font=A,this.features={}}function Jt(A){this.id=A.id,this.tag=A.tag,this.substitution=A.substitution}function Ot(A,e){if(!A)return-1;switch(e.format){case 1:return e.glyphs.indexOf(A);case 2:for(var t=e.ranges,i=0;i<t.length;i++){var n=t[i];if(A>=n.start&&A<=n.end){var r=A-n.start;return n.index+r}}break;default:return-1}return-1}function Kt(A,e){return-1===Ot(A,e.coverage)?null:A+e.deltaGlyphId}function Tt(A,e){var t=Ot(A,e.coverage);return-1===t?null:e.substitute[t]}function Yt(A,e){for(var t=[],i=0;i<A.length;i++){var n=A[i],r=e.current,s=Ot(r=Array.isArray(r)?r[0]:r,n);-1!==s&&t.push(s)}return t.length!==A.length?-1:t}function Ht(A,e){var t=e.inputCoverage.length+e.lookaheadCoverage.length+e.backtrackCoverage.length;if(A.context.length<t)return[];var i=Yt(e.inputCoverage,A);if(-1===i)return[];var n=e.inputCoverage.length-1;if(A.lookahead.length<e.lookaheadCoverage.length)return[];for(var r=A.lookahead.slice(n);r.length&&Lt(r[0].char);)r.shift();var s=new Ut(r,0),a=Yt(e.lookaheadCoverage,s),o=[].concat(A.backtrack);for(o.reverse();o.length&&Lt(o[0].char);)o.shift();if(o.length<e.backtrackCoverage.length)return[];var g=new Ut(o,0),I=Yt(e.backtrackCoverage,g),C=[];if(i.length===e.inputCoverage.length&&a.length===e.lookaheadCoverage.length&&I.length===e.backtrackCoverage.length)for(var Q=0;Q<e.lookupRecords.length;Q++)for(var c=e.lookupRecords[Q].lookupListIndex,B=this.getLookupByIndex(c),l=0;l<B.subtables.length;l++){var E=B.subtables[l],u=this.getLookupMethod(B,E);if("12"===this.getSubstitutionType(B,E))for(var f=0;f<i.length;f++){var h=u(A.get(f));h&&C.push(h)}}return C}function Pt(A,e){var t,i=Ot(A.current,e.coverage);if(-1===i)return null;for(var n=e.ligatureSets[i],r=0;r<n.length;r++){t=n[r];for(var s=0;s<t.components.length;s++){if(A.lookahead[s]!==t.components[s])break;if(s===t.components.length-1)return t}}return null}function Vt(A,e){var t=Ot(A,e.coverage);return-1===t?null:e.sequences[t]}Ke.prototype.exec=function(A,e){if("number"!=typeof e)throw new Error("Point size is not a number!");if(!(this._errorState>2)){var t=this.font,i=this._prepState;if(!i||i.ppem!==e){var n=this._fpgmState;if(!n){it.prototype=tt,(n=this._fpgmState=new it("fpgm",t.tables.fpgm)).funcs=[],n.font=t,exports.DEBUG&&(console.log("---EXEC FPGM---"),n.step=-1);try{ze(n)}catch(A){return console.log("Hinting error in FPGM:"+A),void(this._errorState=3)}}it.prototype=n,(i=this._prepState=new it("prep",t.tables.prep)).ppem=e;var r=t.tables.cvt;if(r)for(var s=i.cvt=new Array(r.length),a=e/t.unitsPerEm,o=0;o<r.length;o++)s[o]=r[o]*a;else i.cvt=[];exports.DEBUG&&(console.log("---EXEC PREP---"),i.step=-1);try{ze(i)}catch(A){this._errorState<2&&console.log("Hinting error in PREP:"+A),this._errorState=2}}if(!(this._errorState>1))try{return qe(A,i)}catch(A){return this._errorState<1&&(console.log("Hinting error:"+A),console.log("Note: further hinting errors are silenced")),void(this._errorState=1)}}},qe=function(A,e){var t,i,n,r=e.ppem/e.font.unitsPerEm,s=r,a=A.components;if(it.prototype=e,a){var o=e.font;i=[],t=[];for(var g=0;g<a.length;g++){var I=a[g],C=o.glyphs.get(I.glyphIndex);n=new it("glyf",C.instructions),exports.DEBUG&&(console.log("---EXEC COMP "+g+"---"),n.step=-1),Je(C,n,r,s);for(var Q=Math.round(I.dx*r),c=Math.round(I.dy*s),B=n.gZone,l=n.contours,E=0;E<B.length;E++){var u=B[E];u.xTouched=u.yTouched=!1,u.xo=u.x=u.x+Q,u.yo=u.y=u.y+c}var f=i.length;i.push.apply(i,B);for(var h=0;h<l.length;h++)t.push(l[h]+f)}A.instructions&&!n.inhibitGridFit&&((n=new it("glyf",A.instructions)).gZone=n.z0=n.z1=n.z2=i,n.contours=t,i.push(new At(0,0),new At(Math.round(A.advanceWidth*r),0)),exports.DEBUG&&(console.log("---EXEC COMPOSITE---"),n.step=-1),ze(n),i.length-=2)}else n=new it("glyf",A.instructions),exports.DEBUG&&(console.log("---EXEC GLYPH---"),n.step=-1),Je(A,n,r,s),i=n.gZone;return i},Je=function(A,e,t,i){for(var n,r,s,a=A.points||[],o=a.length,g=e.gZone=e.z0=e.z1=e.z2=[],I=e.contours=[],C=0;C<o;C++)n=a[C],g[C]=new At(n.x*t,n.y*i,n.lastPointOfContour,n.onCurve);for(var Q=0;Q<o;Q++)n=g[Q],r||(r=n,I.push(Q)),n.lastPointOfContour?(n.nextPointOnContour=r,r.prevPointOnContour=n,r=void 0):(s=g[Q+1],n.nextPointOnContour=s,s.prevPointOnContour=n);if(!e.inhibitGridFit){if(exports.DEBUG){console.log("PROCESSING GLYPH",e.stack);for(var c=0;c<o;c++)console.log(c,g[c].x,g[c].y)}if(g.push(new At(0,0),new At(Math.round(A.advanceWidth*t),0)),ze(e),g.length-=2,exports.DEBUG){console.log("FINISHED GLYPH",e.stack);for(var B=0;B<o;B++)console.log(B,g[B].x,g[B].y)}}},ze=function(A){var e=A.prog;if(e){var t,i=e.length;for(A.ip=0;A.ip<i;A.ip++){if(exports.DEBUG&&A.step++,!(t=Le[e[A.ip]]))throw new Error("unknown instruction: 0x"+Number(e[A.ip]).toString(16));t(A)}}},Le=[st.bind(void 0,je),st.bind(void 0,Xe),at.bind(void 0,je),at.bind(void 0,Xe),ot.bind(void 0,je),ot.bind(void 0,Xe),gt.bind(void 0,0),gt.bind(void 0,1),It.bind(void 0,0),It.bind(void 0,1),function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"SPVFS[]",t,i),A.pv=A.dpv=$e(i,t)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"SPVFS[]",t,i),A.fv=$e(i,t)},function(A){var e=A.stack,t=A.pv;exports.DEBUG&&console.log(A.step,"GPV[]"),e.push(16384*t.x),e.push(16384*t.y)},function(A){var e=A.stack,t=A.fv;exports.DEBUG&&console.log(A.step,"GFV[]"),e.push(16384*t.x),e.push(16384*t.y)},function(A){A.fv=A.pv,exports.DEBUG&&console.log(A.step,"SFVTPV[]")},function(A){var e=A.stack,t=e.pop(),i=e.pop(),n=e.pop(),r=e.pop(),s=e.pop(),a=A.z0,o=A.z1,g=a[t],I=a[i],C=o[n],Q=o[r],c=A.z2[s];exports.DEBUG&&console.log("ISECT[], ",t,i,n,r,s);var B=g.x,l=g.y,E=I.x,u=I.y,f=C.x,h=C.y,p=Q.x,y=Q.y,d=(B-E)*(h-y)-(l-u)*(f-p),m=B*u-l*E,b=f*y-h*p;c.x=(m*(f-p)-b*(B-E))/d,c.y=(m*(h-y)-b*(l-u))/d},function(A){A.rp0=A.stack.pop(),exports.DEBUG&&console.log(A.step,"SRP0[]",A.rp0)},function(A){A.rp1=A.stack.pop(),exports.DEBUG&&console.log(A.step,"SRP1[]",A.rp1)},function(A){A.rp2=A.stack.pop(),exports.DEBUG&&console.log(A.step,"SRP2[]",A.rp2)},function(A){var e=A.stack.pop();switch(exports.DEBUG&&console.log(A.step,"SZP0[]",e),A.zp0=e,e){case 0:A.tZone||nt(A),A.z0=A.tZone;break;case 1:A.z0=A.gZone;break;default:throw new Error("Invalid zone pointer")}},function(A){var e=A.stack.pop();switch(exports.DEBUG&&console.log(A.step,"SZP1[]",e),A.zp1=e,e){case 0:A.tZone||nt(A),A.z1=A.tZone;break;case 1:A.z1=A.gZone;break;default:throw new Error("Invalid zone pointer")}},function(A){var e=A.stack.pop();switch(exports.DEBUG&&console.log(A.step,"SZP2[]",e),A.zp2=e,e){case 0:A.tZone||nt(A),A.z2=A.tZone;break;case 1:A.z2=A.gZone;break;default:throw new Error("Invalid zone pointer")}},function(A){var e=A.stack.pop();switch(exports.DEBUG&&console.log(A.step,"SZPS[]",e),A.zp0=A.zp1=A.zp2=e,e){case 0:A.tZone||nt(A),A.z0=A.z1=A.z2=A.tZone;break;case 1:A.z0=A.z1=A.z2=A.gZone;break;default:throw new Error("Invalid zone pointer")}},function(A){A.loop=A.stack.pop(),exports.DEBUG&&console.log(A.step,"SLOOP[]",A.loop)},function(A){exports.DEBUG&&console.log(A.step,"RTG[]"),A.round=Ye},function(A){exports.DEBUG&&console.log(A.step,"RTHG[]"),A.round=Pe},function(A){var e=A.stack.pop();exports.DEBUG&&console.log(A.step,"SMD[]",e),A.minDis=e/64},function(A){exports.DEBUG&&console.log(A.step,"ELSE[]"),rt(A,!1)},function(A){var e=A.stack.pop();exports.DEBUG&&console.log(A.step,"JMPR[]",e),A.ip+=e-1},function(A){var e=A.stack.pop();exports.DEBUG&&console.log(A.step,"SCVTCI[]",e),A.cvCutIn=e/64},void 0,void 0,function(A){var e=A.stack;exports.DEBUG&&console.log(A.step,"DUP[]"),e.push(e[e.length-1])},Ct,function(A){exports.DEBUG&&console.log(A.step,"CLEAR[]"),A.stack.length=0},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"SWAP[]"),e.push(t),e.push(i)},function(A){var e=A.stack;exports.DEBUG&&console.log(A.step,"DEPTH[]"),e.push(e.length)},function(A){var e=A.stack,t=e.pop();exports.DEBUG&&console.log(A.step,"CINDEX[]",t),e.push(e[e.length-t])},function(A){var e=A.stack,t=e.pop();exports.DEBUG&&console.log(A.step,"MINDEX[]",t),e.push(e.splice(e.length-t,1)[0])},void 0,void 0,void 0,function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"LOOPCALL[]",t,i);var n=A.ip,r=A.prog;A.prog=A.funcs[t];for(var s=0;s<i;s++)ze(A),exports.DEBUG&&console.log(++A.step,s+1<i?"next loopcall":"done loopcall",s);A.ip=n,A.prog=r},function(A){var e=A.stack.pop();exports.DEBUG&&console.log(A.step,"CALL[]",e);var t=A.ip,i=A.prog;A.prog=A.funcs[e],ze(A),A.ip=t,A.prog=i,exports.DEBUG&&console.log(++A.step,"returning from",e)},function(A){if("fpgm"!==A.env)throw new Error("FDEF not allowed here");var e=A.stack,t=A.prog,i=A.ip,n=e.pop(),r=i;for(exports.DEBUG&&console.log(A.step,"FDEF[]",n);45!==t[++i];);A.ip=i,A.funcs[n]=t.slice(r+1,i)},void 0,Qt.bind(void 0,0),Qt.bind(void 0,1),ct.bind(void 0,je),ct.bind(void 0,Xe),Bt.bind(void 0,0),Bt.bind(void 0,1),lt.bind(void 0,0),lt.bind(void 0,1),Et.bind(void 0,0),Et.bind(void 0,1),function(A){for(var e=A.stack,t=A.loop,i=A.fv,n=e.pop()/64,r=A.z2;t--;){var s=e.pop(),a=r[s];exports.DEBUG&&console.log(A.step,(A.loop>1?"loop "+(A.loop-t)+": ":"")+"SHPIX[]",s,n),i.setRelative(a,a,n),i.touch(a)}A.loop=1},function(A){for(var e=A.stack,t=A.rp1,i=A.rp2,n=A.loop,r=A.z0[t],s=A.z1[i],a=A.fv,o=A.dpv,g=A.z2;n--;){var I=e.pop(),C=g[I];exports.DEBUG&&console.log(A.step,(A.loop>1?"loop "+(A.loop-n)+": ":"")+"IP[]",I,t,"<->",i),a.interpolate(C,r,s,o),a.touch(C)}A.loop=1},ut.bind(void 0,0),ut.bind(void 0,1),function(A){for(var e=A.stack,t=A.rp0,i=A.z0[t],n=A.loop,r=A.fv,s=A.pv,a=A.z1;n--;){var o=e.pop(),g=a[o];exports.DEBUG&&console.log(A.step,(A.loop>1?"loop "+(A.loop-n)+": ":"")+"ALIGNRP[]",o),r.setRelative(g,i,0,s),r.touch(g)}A.loop=1},function(A){exports.DEBUG&&console.log(A.step,"RTDG[]"),A.round=He},ft.bind(void 0,0),ft.bind(void 0,1),function(A){var e=A.prog,t=A.ip,i=A.stack,n=e[++t];exports.DEBUG&&console.log(A.step,"NPUSHB[]",n);for(var r=0;r<n;r++)i.push(e[++t]);A.ip=t},function(A){var e=A.ip,t=A.prog,i=A.stack,n=t[++e];exports.DEBUG&&console.log(A.step,"NPUSHW[]",n);for(var r=0;r<n;r++){var s=t[++e]<<8|t[++e];32768&s&&(s=-(1+(65535^s))),i.push(s)}A.ip=e},function(A){var e=A.stack,t=A.store;t||(t=A.store=[]);var i=e.pop(),n=e.pop();exports.DEBUG&&console.log(A.step,"WS",i,n),t[n]=i},function(A){var e=A.stack,t=A.store,i=e.pop();exports.DEBUG&&console.log(A.step,"RS",i);var n=t&&t[i]||0;e.push(n)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"WCVTP",t,i),A.cvt[i]=t/64},function(A){var e=A.stack,t=e.pop();exports.DEBUG&&console.log(A.step,"RCVT",t),e.push(64*A.cvt[t])},ht.bind(void 0,0),ht.bind(void 0,1),void 0,pt.bind(void 0,0),pt.bind(void 0,1),function(A){exports.DEBUG&&console.log(A.step,"MPPEM[]"),A.stack.push(A.ppem)},void 0,function(A){exports.DEBUG&&console.log(A.step,"FLIPON[]"),A.autoFlip=!0},void 0,void 0,function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"LT[]",t,i),e.push(i<t?1:0)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"LTEQ[]",t,i),e.push(i<=t?1:0)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"GT[]",t,i),e.push(i>t?1:0)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"GTEQ[]",t,i),e.push(i>=t?1:0)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"EQ[]",t,i),e.push(t===i?1:0)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"NEQ[]",t,i),e.push(t!==i?1:0)},function(A){var e=A.stack,t=e.pop();exports.DEBUG&&console.log(A.step,"ODD[]",t),e.push(Math.trunc(t)%2?1:0)},function(A){var e=A.stack,t=e.pop();exports.DEBUG&&console.log(A.step,"EVEN[]",t),e.push(Math.trunc(t)%2?0:1)},function(A){var e=A.stack.pop();exports.DEBUG&&console.log(A.step,"IF[]",e),e||(rt(A,!0),exports.DEBUG&&console.log(A.step,"EIF[]"))},function(A){exports.DEBUG&&console.log(A.step,"EIF[]")},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"AND[]",t,i),e.push(t&&i?1:0)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"OR[]",t,i),e.push(t||i?1:0)},function(A){var e=A.stack,t=e.pop();exports.DEBUG&&console.log(A.step,"NOT[]",t),e.push(t?0:1)},yt.bind(void 0,1),function(A){var e=A.stack.pop();exports.DEBUG&&console.log(A.step,"SDB[]",e),A.deltaBase=e},function(A){var e=A.stack.pop();exports.DEBUG&&console.log(A.step,"SDS[]",e),A.deltaShift=Math.pow(.5,e)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"ADD[]",t,i),e.push(i+t)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"SUB[]",t,i),e.push(i-t)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"DIV[]",t,i),e.push(64*i/t)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"MUL[]",t,i),e.push(i*t/64)},function(A){var e=A.stack,t=e.pop();exports.DEBUG&&console.log(A.step,"ABS[]",t),e.push(Math.abs(t))},function(A){var e=A.stack,t=e.pop();exports.DEBUG&&console.log(A.step,"NEG[]",t),e.push(-t)},function(A){var e=A.stack,t=e.pop();exports.DEBUG&&console.log(A.step,"FLOOR[]",t),e.push(64*Math.floor(t/64))},function(A){var e=A.stack,t=e.pop();exports.DEBUG&&console.log(A.step,"CEILING[]",t),e.push(64*Math.ceil(t/64))},dt.bind(void 0,0),dt.bind(void 0,1),dt.bind(void 0,2),dt.bind(void 0,3),void 0,void 0,void 0,void 0,function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"WCVTF[]",t,i),A.cvt[i]=t*A.ppem/A.font.unitsPerEm},yt.bind(void 0,2),yt.bind(void 0,3),mt.bind(void 0,1),mt.bind(void 0,2),mt.bind(void 0,3),function(A){var e,t=A.stack.pop();switch(exports.DEBUG&&console.log(A.step,"SROUND[]",t),A.round=We,192&t){case 0:e=.5;break;case 64:e=1;break;case 128:e=2;break;default:throw new Error("invalid SROUND value")}switch(A.srPeriod=e,48&t){case 0:A.srPhase=0;break;case 16:A.srPhase=.25*e;break;case 32:A.srPhase=.5*e;break;case 48:A.srPhase=.75*e;break;default:throw new Error("invalid SROUND value")}t&=15,A.srThreshold=0===t?0:(t/8-.5)*e},function(A){var e,t=A.stack.pop();switch(exports.DEBUG&&console.log(A.step,"S45ROUND[]",t),A.round=We,192&t){case 0:e=Math.sqrt(2)/2;break;case 64:e=Math.sqrt(2);break;case 128:e=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(A.srPeriod=e,48&t){case 0:A.srPhase=0;break;case 16:A.srPhase=.25*e;break;case 32:A.srPhase=.5*e;break;case 48:A.srPhase=.75*e;break;default:throw new Error("invalid S45ROUND value")}t&=15,A.srThreshold=0===t?0:(t/8-.5)*e},void 0,void 0,function(A){exports.DEBUG&&console.log(A.step,"ROFF[]"),A.round=Te},void 0,function(A){exports.DEBUG&&console.log(A.step,"RUTG[]"),A.round=Ve},function(A){exports.DEBUG&&console.log(A.step,"RDTG[]"),A.round=_e},Ct,Ct,void 0,void 0,void 0,void 0,void 0,function(A){var e=A.stack.pop();exports.DEBUG&&console.log(A.step,"SCANCTRL[]",e)},bt.bind(void 0,0),bt.bind(void 0,1),function(A){var e=A.stack,t=e.pop(),i=0;exports.DEBUG&&console.log(A.step,"GETINFO[]",t),1&t&&(i=35),32&t&&(i|=4096),e.push(i)},void 0,function(A){var e=A.stack,t=e.pop(),i=e.pop(),n=e.pop();exports.DEBUG&&console.log(A.step,"ROLL[]"),e.push(i),e.push(t),e.push(n)},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"MAX[]",t,i),e.push(Math.max(i,t))},function(A){var e=A.stack,t=e.pop(),i=e.pop();exports.DEBUG&&console.log(A.step,"MIN[]",t,i),e.push(Math.min(i,t))},function(A){var e=A.stack.pop();exports.DEBUG&&console.log(A.step,"SCANTYPE[]",e)},function(A){var e=A.stack.pop(),t=A.stack.pop();switch(exports.DEBUG&&console.log(A.step,"INSTCTRL[]",e,t),e){case 1:return void(A.inhibitGridFit=!!t);case 2:return void(A.ignoreCvt=!!t);default:throw new Error("invalid INSTCTRL[] selector")}},void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,Dt.bind(void 0,1),Dt.bind(void 0,2),Dt.bind(void 0,3),Dt.bind(void 0,4),Dt.bind(void 0,5),Dt.bind(void 0,6),Dt.bind(void 0,7),Dt.bind(void 0,8),St.bind(void 0,1),St.bind(void 0,2),St.bind(void 0,3),St.bind(void 0,4),St.bind(void 0,5),St.bind(void 0,6),St.bind(void 0,7),St.bind(void 0,8),wt.bind(void 0,0,0,0,0,0),wt.bind(void 0,0,0,0,0,1),wt.bind(void 0,0,0,0,0,2),wt.bind(void 0,0,0,0,0,3),wt.bind(void 0,0,0,0,1,0),wt.bind(void 0,0,0,0,1,1),wt.bind(void 0,0,0,0,1,2),wt.bind(void 0,0,0,0,1,3),wt.bind(void 0,0,0,1,0,0),wt.bind(void 0,0,0,1,0,1),wt.bind(void 0,0,0,1,0,2),wt.bind(void 0,0,0,1,0,3),wt.bind(void 0,0,0,1,1,0),wt.bind(void 0,0,0,1,1,1),wt.bind(void 0,0,0,1,1,2),wt.bind(void 0,0,0,1,1,3),wt.bind(void 0,0,1,0,0,0),wt.bind(void 0,0,1,0,0,1),wt.bind(void 0,0,1,0,0,2),wt.bind(void 0,0,1,0,0,3),wt.bind(void 0,0,1,0,1,0),wt.bind(void 0,0,1,0,1,1),wt.bind(void 0,0,1,0,1,2),wt.bind(void 0,0,1,0,1,3),wt.bind(void 0,0,1,1,0,0),wt.bind(void 0,0,1,1,0,1),wt.bind(void 0,0,1,1,0,2),wt.bind(void 0,0,1,1,0,3),wt.bind(void 0,0,1,1,1,0),wt.bind(void 0,0,1,1,1,1),wt.bind(void 0,0,1,1,1,2),wt.bind(void 0,0,1,1,1,3),wt.bind(void 0,1,0,0,0,0),wt.bind(void 0,1,0,0,0,1),wt.bind(void 0,1,0,0,0,2),wt.bind(void 0,1,0,0,0,3),wt.bind(void 0,1,0,0,1,0),wt.bind(void 0,1,0,0,1,1),wt.bind(void 0,1,0,0,1,2),wt.bind(void 0,1,0,0,1,3),wt.bind(void 0,1,0,1,0,0),wt.bind(void 0,1,0,1,0,1),wt.bind(void 0,1,0,1,0,2),wt.bind(void 0,1,0,1,0,3),wt.bind(void 0,1,0,1,1,0),wt.bind(void 0,1,0,1,1,1),wt.bind(void 0,1,0,1,1,2),wt.bind(void 0,1,0,1,1,3),wt.bind(void 0,1,1,0,0,0),wt.bind(void 0,1,1,0,0,1),wt.bind(void 0,1,1,0,0,2),wt.bind(void 0,1,1,0,0,3),wt.bind(void 0,1,1,0,1,0),wt.bind(void 0,1,1,0,1,1),wt.bind(void 0,1,1,0,1,2),wt.bind(void 0,1,1,0,1,3),wt.bind(void 0,1,1,1,0,0),wt.bind(void 0,1,1,1,0,1),wt.bind(void 0,1,1,1,0,2),wt.bind(void 0,1,1,1,0,3),wt.bind(void 0,1,1,1,1,0),wt.bind(void 0,1,1,1,1,1),wt.bind(void 0,1,1,1,1,2),wt.bind(void 0,1,1,1,1,3)],vt.prototype.setState=function(A,e){return this.state[A]=e,this.activeState={key:A,value:this.state[A]},this.activeState},vt.prototype.getState=function(A){return this.state[A]||null},Ft.prototype.inboundIndex=function(A){return A>=0&&A<this.tokens.length},Ft.prototype.composeRUD=function(A){var e=this,t=A.map((function(A){return e[A[0]].apply(e,A.slice(1).concat(true))})),i=function(A){return"object"==typeof A&&A.hasOwnProperty("FAIL")};if(t.every(i))return{FAIL:"composeRUD: one or more operations hasn't completed successfully",report:t.filter(i)};this.dispatch("composeRUD",[t.filter((function(A){return!i(A)}))])},Ft.prototype.replaceRange=function(A,e,t,i){e=null!==e?e:this.tokens.length;var n=t.every((function(A){return A instanceof vt}));if(!isNaN(A)&&this.inboundIndex(A)&&n){var r=this.tokens.splice.apply(this.tokens,[A,e].concat(t));return i||this.dispatch("replaceToken",[A,e,t]),[r,t]}return{FAIL:"replaceRange: invalid tokens or startIndex."}},Ft.prototype.replaceToken=function(A,e,t){if(!isNaN(A)&&this.inboundIndex(A)&&e instanceof vt){var i=this.tokens.splice(A,1,e);return t||this.dispatch("replaceToken",[A,e]),[i[0],e]}return{FAIL:"replaceToken: invalid token or index."}},Ft.prototype.removeRange=function(A,e,t){e=isNaN(e)?this.tokens.length:e;var i=this.tokens.splice(A,e);return t||this.dispatch("removeRange",[i,A,e]),i},Ft.prototype.removeToken=function(A,e){if(!isNaN(A)&&this.inboundIndex(A)){var t=this.tokens.splice(A,1);return e||this.dispatch("removeToken",[t,A]),t}return{FAIL:"removeToken: invalid token index."}},Ft.prototype.insertToken=function(A,e,t){return A.every((function(A){return A instanceof vt}))?(this.tokens.splice.apply(this.tokens,[e,0].concat(A)),t||this.dispatch("insertToken",[A,e]),A):{FAIL:"insertToken: invalid token(s)."}},Ft.prototype.registerModifier=function(A,e,t){this.events.newToken.subscribe((function(i,n){var r=[i,n],s=[i,n];if(null===e||!0===e.apply(this,r)){var a=t.apply(this,s);i.setState(A,a)}})),this.registeredModifiers.push(A)},Nt.prototype.subscribe=function(A){return"function"==typeof A?this.subscribers.push(A)-1:{FAIL:"invalid '"+this.eventId+"' event handler"}},Nt.prototype.unsubscribe=function(A){this.subscribers.splice(A,1)},Ut.prototype.setCurrentIndex=function(A){this.index=A,this.current=this.context[A],this.backtrack=this.context.slice(0,A),this.lookahead=this.context.slice(A+1)},Ut.prototype.get=function(A){switch(!0){case 0===A:return this.current;case A<0&&Math.abs(A)<=this.backtrack.length:return this.backtrack.slice(A)[0];case A>0&&A<=this.lookahead.length:return this.lookahead[A-1];default:return null}},Ft.prototype.rangeToText=function(A){if(A instanceof kt)return this.getRangeTokens(A).map((function(A){return A.char})).join("")},Ft.prototype.getText=function(){return this.tokens.map((function(A){return A.char})).join("")},Ft.prototype.getContext=function(A){var e=this.registeredContexts[A];return e||null},Ft.prototype.on=function(A,e){var t=this.events[A];return t?t.subscribe(e):null},Ft.prototype.dispatch=function(A,e){var t=this,i=this.events[A];i instanceof Nt&&i.subscribers.forEach((function(A){A.apply(t,e||[])}))},Ft.prototype.registerContextChecker=function(A,e,t){if(this.getContext(A))return{FAIL:"context name '"+A+"' is already registered."};if("function"!=typeof e)return{FAIL:"missing context start check."};if("function"!=typeof t)return{FAIL:"missing context end check."};var i=new xt(A,e,t);return this.registeredContexts[A]=i,this.contextCheckers.push(i),i},Ft.prototype.getRangeTokens=function(A){var e=A.startIndex+A.endOffset;return[].concat(this.tokens.slice(A.startIndex,e))},Ft.prototype.getContextRanges=function(A){var e=this.getContext(A);return e?e.ranges:{FAIL:"context checker '"+A+"' is not registered."}},Ft.prototype.resetContextsRanges=function(){var A=this.registeredContexts;for(var e in A){if(A.hasOwnProperty(e))A[e].ranges=[]}},Ft.prototype.updateContextsRanges=function(){this.resetContextsRanges();for(var A=this.tokens.map((function(A){return A.char})),e=0;e<A.length;e++){var t=new Ut(A,e);this.runContextCheck(t)}this.dispatch("updateContextsRanges",[this.registeredContexts])},Ft.prototype.setEndOffset=function(A,e){var t=new kt(this.getContext(e).openRange.startIndex,A,e),i=this.getContext(e).ranges;return t.rangeId=e+"."+i.length,i.push(t),this.getContext(e).openRange=null,t},Ft.prototype.runContextCheck=function(A){var e=this,t=A.index;this.contextCheckers.forEach((function(i){var n=i.contextName,r=e.getContext(n).openRange;if(!r&&i.checkStart(A)&&(r=new kt(t,null,n),e.getContext(n).openRange=r,e.dispatch("contextStart",[n,t])),r&&i.checkEnd(A)){var s=t-r.startIndex+1,a=e.setEndOffset(s,n);e.dispatch("contextEnd",[n,a])}}))},Ft.prototype.tokenize=function(A){this.tokens=[],this.resetContextsRanges();var e=Array.from(A);this.dispatch("start");for(var t=0;t<e.length;t++){var i=e[t],n=new Ut(e,t);this.dispatch("next",[n]),this.runContextCheck(n);var r=new vt(i);this.tokens.push(r),this.dispatch("newToken",[r,n])}return this.dispatch("end",[this.tokens]),this.tokens},qt.prototype.getDefaultScriptFeaturesIndexes=function(){for(var A=this.font.tables.gsub.scripts,e=0;e<A.length;e++){var t=A[e];if("DFLT"===t.tag)return t.script.defaultLangSys.featureIndexes}return[]},qt.prototype.getScriptFeaturesIndexes=function(A){if(!this.font.tables.gsub)return[];if(!A)return this.getDefaultScriptFeaturesIndexes();for(var e=this.font.tables.gsub.scripts,t=0;t<e.length;t++){var i=e[t];if(i.tag===A&&i.script.defaultLangSys)return i.script.defaultLangSys.featureIndexes;var n=i.langSysRecords;if(n)for(var r=0;r<n.length;r++){var s=n[r];if(s.tag===A)return s.langSys.featureIndexes}}return this.getDefaultScriptFeaturesIndexes()},qt.prototype.mapTagsToFeatures=function(A,e){for(var t={},i=0;i<A.length;i++){var n=A[i].tag,r=A[i].feature;t[n]=r}this.features[e].tags=t},qt.prototype.getScriptFeatures=function(A){var e=this.features[A];if(this.features.hasOwnProperty(A))return e;var t=this.getScriptFeaturesIndexes(A);if(!t)return null;var i=this.font.tables.gsub;return e=t.map((function(A){return i.features[A]})),this.features[A]=e,this.mapTagsToFeatures(e,A),e},qt.prototype.getSubstitutionType=function(A,e){return A.lookupType.toString()+e.substFormat.toString()},qt.prototype.getLookupMethod=function(A,e){var t=this;switch(this.getSubstitutionType(A,e)){case"11":return function(A){return Kt.apply(t,[A,e])};case"12":return function(A){return Tt.apply(t,[A,e])};case"63":return function(A){return Ht.apply(t,[A,e])};case"41":return function(A){return Pt.apply(t,[A,e])};case"21":return function(A){return Vt.apply(t,[A,e])};default:throw new Error("lookupType: "+A.lookupType+" - substFormat: "+e.substFormat+" is not yet supported")}},qt.prototype.lookupFeature=function(A){var e=A.contextParams,t=e.index,i=this.getFeature({tag:A.tag,script:A.script});if(!i)return new Error("font '"+this.font.names.fullName.en+"' doesn't support feature '"+A.tag+"' for script '"+A.script+"'.");for(var n=this.getFeatureLookups(i),r=[].concat(e.context),s=0;s<n.length;s++)for(var a=n[s],o=this.getLookupSubtables(a),g=0;g<o.length;g++){var I=o[g],C=this.getSubstitutionType(a,I),Q=this.getLookupMethod(a,I),c=void 0;switch(C){case"11":(c=Q(e.current))&&r.splice(t,1,new Jt({id:11,tag:A.tag,substitution:c}));break;case"12":(c=Q(e.current))&&r.splice(t,1,new Jt({id:12,tag:A.tag,substitution:c}));break;case"63":c=Q(e),Array.isArray(c)&&c.length&&r.splice(t,1,new Jt({id:63,tag:A.tag,substitution:c}));break;case"41":(c=Q(e))&&r.splice(t,1,new Jt({id:41,tag:A.tag,substitution:c}));break;case"21":(c=Q(e.current))&&r.splice(t,1,new Jt({id:21,tag:A.tag,substitution:c}))}e=new Ut(r,t),Array.isArray(c)&&!c.length||(c=null)}return r.length?r:null},qt.prototype.supports=function(A){if(!A.script)return!1;this.getScriptFeatures(A.script);var e=this.features.hasOwnProperty(A.script);if(!A.tag)return e;var t=this.features[A.script].some((function(e){return e.tag===A.tag}));return e&&t},qt.prototype.getLookupSubtables=function(A){return A.subtables||null},qt.prototype.getLookupByIndex=function(A){return this.font.tables.gsub.lookups[A]||null},qt.prototype.getFeatureLookups=function(A){return A.lookupListIndexes.map(this.getLookupByIndex.bind(this))},qt.prototype.getFeature=function(A){if(!this.font)return{FAIL:"No font was found"};this.features.hasOwnProperty(A.script)||this.getScriptFeatures(A.script);var e=this.features[A.script];return e?e.tags[A.tag]?this.features[A.script].tags[A.tag]:null:{FAIL:"No feature for script "+A.script}};var _t={startCheck:function(A){var e=A.current,t=A.get(-1);return null===t&&Mt(e)||!Mt(t)&&Mt(e)},endCheck:function(A){var e=A.get(1);return null===e||!Mt(e)}};var Wt={startCheck:function(A){var e=A.current,t=A.get(-1);return(Mt(e)||Lt(e))&&!Mt(t)},endCheck:function(A){var e=A.get(1);switch(!0){case null===e:return!0;case!Mt(e)&&!Lt(e):var t=/\s/.test(e);if(!t)return!0;if(t){var i;if(i=A.lookahead.some((function(A){return Mt(A)||Lt(A)})),!i)return!0}break;default:return!1}}};var Xt={11:function(A,e,t){e[t].setState(A.tag,A.substitution)},12:function(A,e,t){e[t].setState(A.tag,A.substitution)},63:function(A,e,t){A.substitution.forEach((function(i,n){e[t+n].setState(A.tag,i)}))},41:function(A,e,t){var i=e[t];i.setState(A.tag,A.substitution.ligGlyph);for(var n=A.substitution.components.length,r=0;r<n;r++)(i=e[t+r+1]).setState("deleted",!0)}};function jt(A,e,t){A instanceof Jt&&Xt[A.id]&&Xt[A.id](A,e,t)}function Zt(A){var e=this,t="arab",i=this.featuresTags[t],n=this.tokenizer.getRangeTokens(A);if(1!==n.length){var r=new Ut(n.map((function(A){return A.getState("glyphIndex")})),0),s=new Ut(n.map((function(A){return A.char})),0);n.forEach((function(A,a){if(!Lt(A.char)){r.setCurrentIndex(a),s.setCurrentIndex(a);var o,g=0;switch(function(A){for(var e=[].concat(A.backtrack),t=e.length-1;t>=0;t--){var i=e[t],n=Rt(i),r=Lt(i);if(!n&&!r)return!0;if(n)return!1}return!1}(s)&&(g|=1),function(A){if(Rt(A.current))return!1;for(var e=0;e<A.lookahead.length;e++)if(!Lt(A.lookahead[e]))return!0;return!1}(s)&&(g|=2),g){case 1:o="fina";break;case 2:o="init";break;case 3:o="medi"}if(-1!==i.indexOf(o)){var I=e.query.lookupFeature({tag:o,script:t,contextParams:r});if(I instanceof Error)return console.info(I.message);I.forEach((function(A,e){A instanceof Jt&&(jt(A,n,e),r.context[e]=A.substitution)}))}}}))}}function $t(A,e){return new Ut(A.map((function(A){return A.activeState.value})),e||0)}function Ai(A){var e=this,t=this.tokenizer.getRangeTokens(A),i=$t(t);i.context.forEach((function(A,n){i.setCurrentIndex(n);var r=e.query.lookupFeature({tag:"rlig",script:"arab",contextParams:i});r.length&&(r.forEach((function(A){return jt(A,t,n)})),i=$t(t))}))}var ei={startCheck:function(A){var e=A.current,t=A.get(-1);return null===t&&zt(e)||!zt(t)&&zt(e)},endCheck:function(A){var e=A.get(1);return null===e||!zt(e)}};function ti(A,e){return new Ut(A.map((function(A){return A.activeState.value})),e||0)}function ii(A){var e=this,t=this.tokenizer.getRangeTokens(A),i=ti(t);i.context.forEach((function(A,n){i.setCurrentIndex(n);var r=e.query.lookupFeature({tag:"liga",script:"latn",contextParams:i});r.length&&(r.forEach((function(A){return jt(A,t,n)})),i=ti(t))}))}function ni(A){this.baseDir=A||"ltr",this.tokenizer=new Ft,this.featuresTags={}}function ri(A){var e=this.contextChecks[A+"Check"];return this.tokenizer.registerContextChecker(A,e.startCheck,e.endCheck)}function si(){return ri.call(this,"latinWord"),ri.call(this,"arabicWord"),ri.call(this,"arabicSentence"),this.tokenizer.tokenize(this.text)}function ai(){var A=this;this.tokenizer.getContextRanges("arabicSentence").forEach((function(e){var t=A.tokenizer.getRangeTokens(e);A.tokenizer.replaceRange(e.startIndex,e.endOffset,t.reverse())}))}function oi(){if(-1===this.tokenizer.registeredModifiers.indexOf("glyphIndex"))throw new Error("glyphIndex modifier is required to apply arabic presentation features.")}function gi(){var A=this;this.featuresTags.hasOwnProperty("arab")&&(oi.call(this),this.tokenizer.getContextRanges("arabicWord").forEach((function(e){Zt.call(A,e)})))}function Ii(){var A=this,e="arab";this.featuresTags.hasOwnProperty(e)&&(-1!==this.featuresTags[e].indexOf("rlig")&&(oi.call(this),this.tokenizer.getContextRanges("arabicWord").forEach((function(e){Ai.call(A,e)}))))}function Ci(){var A=this,e="latn";this.featuresTags.hasOwnProperty(e)&&(-1!==this.featuresTags[e].indexOf("liga")&&(oi.call(this),this.tokenizer.getContextRanges("latinWord").forEach((function(e){ii.call(A,e)}))))}function Qi(A){(A=A||{}).tables=A.tables||{},A.empty||(Ue(A.familyName,"When creating a new Font object, familyName is required."),Ue(A.styleName,"When creating a new Font object, styleName is required."),Ue(A.unitsPerEm,"When creating a new Font object, unitsPerEm is required."),Ue(A.ascender,"When creating a new Font object, ascender is required."),Ue(A.descender<=0,"When creating a new Font object, negative descender value is required."),this.names={fontFamily:{en:A.familyName||" "},fontSubfamily:{en:A.styleName||" "},fullName:{en:A.fullName||A.familyName+" "+A.styleName},postScriptName:{en:A.postScriptName||(A.familyName+A.styleName).replace(/\s/g,"")},designer:{en:A.designer||" "},designerURL:{en:A.designerURL||" "},manufacturer:{en:A.manufacturer||" "},manufacturerURL:{en:A.manufacturerURL||" "},license:{en:A.license||" "},licenseURL:{en:A.licenseURL||" "},version:{en:A.version||"Version 0.1"},description:{en:A.description||" "},copyright:{en:A.copyright||" "},trademark:{en:A.trademark||" "}},this.unitsPerEm=A.unitsPerEm||1e3,this.ascender=A.ascender,this.descender=A.descender,this.createdTimestamp=A.createdTimestamp,this.tables=Object.assign(A.tables,{os2:Object.assign({usWeightClass:A.weightClass||this.usWeightClasses.MEDIUM,usWidthClass:A.widthClass||this.usWidthClasses.MEDIUM,fsSelection:A.fsSelection||this.fsSelectionValues.REGULAR},A.tables.os2)})),this.supported=!0,this.glyphs=new mA.GlyphSet(this,A.glyphs||[]),this.encoding=new BA(this),this.position=new Se(this),this.substitution=new we(this),this.tables=this.tables||{},this._push=null,this._hmtxTableData={},Object.defineProperty(this,"hinting",{get:function(){return this._hinting?this._hinting:"truetype"===this.outlinesFormat?this._hinting=new Ke(this):void 0}})}function ci(A,e){var t=JSON.stringify(A),i=256;for(var n in e){var r=parseInt(n);if(r&&!(r<256)){if(JSON.stringify(e[n])===t)return r;i<=r&&(i=r+1)}}return e[i]=A,i}function Bi(A,e,t){var i=ci(e.name,t);return[{name:"tag_"+A,type:"TAG",value:e.tag},{name:"minValue_"+A,type:"FIXED",value:e.minValue<<16},{name:"defaultValue_"+A,type:"FIXED",value:e.defaultValue<<16},{name:"maxValue_"+A,type:"FIXED",value:e.maxValue<<16},{name:"flags_"+A,type:"USHORT",value:0},{name:"nameID_"+A,type:"USHORT",value:i}]}function li(A,e,t){var i={},n=new aA.Parser(A,e);return i.tag=n.parseTag(),i.minValue=n.parseFixed(),i.defaultValue=n.parseFixed(),i.maxValue=n.parseFixed(),n.skip("uShort",1),i.name=t[n.parseUShort()]||{},i}function Ei(A,e,t,i){for(var n=[{name:"nameID_"+A,type:"USHORT",value:ci(e.name,i)},{name:"flags_"+A,type:"USHORT",value:0}],r=0;r<t.length;++r){var s=t[r].tag;n.push({name:"axis_"+A+" "+s,type:"FIXED",value:e.coordinates[s]<<16})}return n}function ui(A,e,t,i){var n={},r=new aA.Parser(A,e);n.name=i[r.parseUShort()]||{},r.skip("uShort",1),n.coordinates={};for(var s=0;s<t.length;++s)n.coordinates[t[s].tag]=r.parseFixed();return n}ni.prototype.setText=function(A){this.text=A},ni.prototype.contextChecks={latinWordCheck:ei,arabicWordCheck:_t,arabicSentenceCheck:Wt},ni.prototype.registerFeatures=function(A,e){var t=this,i=e.filter((function(e){return t.query.supports({script:A,tag:e})}));this.featuresTags.hasOwnProperty(A)?this.featuresTags[A]=this.featuresTags[A].concat(i):this.featuresTags[A]=i},ni.prototype.applyFeatures=function(A,e){if(!A)throw new Error("No valid font was provided to apply features");this.query||(this.query=new qt(A));for(var t=0;t<e.length;t++){var i=e[t];this.query.supports({script:i.script})&&this.registerFeatures(i.script,i.tags)}},ni.prototype.registerModifier=function(A,e,t){this.tokenizer.registerModifier(A,e,t)},ni.prototype.checkContextReady=function(A){return!!this.tokenizer.getContext(A)},ni.prototype.applyFeaturesToContexts=function(){this.checkContextReady("arabicWord")&&(gi.call(this),Ii.call(this)),this.checkContextReady("latinWord")&&Ci.call(this),this.checkContextReady("arabicSentence")&&ai.call(this)},ni.prototype.processText=function(A){this.text&&this.text===A||(this.setText(A),si.call(this),this.applyFeaturesToContexts())},ni.prototype.getBidiText=function(A){return this.processText(A),this.tokenizer.getText()},ni.prototype.getTextGlyphs=function(A){this.processText(A);for(var e=[],t=0;t<this.tokenizer.tokens.length;t++){var i=this.tokenizer.tokens[t];if(!i.state.deleted){var n=i.activeState.value;e.push(Array.isArray(n)?n[0]:n)}}return e},Qi.prototype.hasChar=function(A){return null!==this.encoding.charToGlyphIndex(A)},Qi.prototype.charToGlyphIndex=function(A){return this.encoding.charToGlyphIndex(A)},Qi.prototype.charToGlyph=function(A){var e=this.charToGlyphIndex(A),t=this.glyphs.get(e);return t||(t=this.glyphs.get(0)),t},Qi.prototype.updateFeatures=function(A){return this.defaultRenderOptions.features.map((function(e){return"latn"===e.script?{script:"latn",tags:e.tags.filter((function(e){return A[e]}))}:e}))},Qi.prototype.stringToGlyphs=function(A,e){var t=this,i=new ni;i.registerModifier("glyphIndex",null,(function(A){return t.charToGlyphIndex(A.char)}));var n=e?this.updateFeatures(e.features):this.defaultRenderOptions.features;i.applyFeatures(this,n);for(var r=i.getTextGlyphs(A),s=r.length,a=new Array(s),o=this.glyphs.get(0),g=0;g<s;g+=1)a[g]=this.glyphs.get(r[g])||o;return a},Qi.prototype.nameToGlyphIndex=function(A){return this.glyphNames.nameToGlyphIndex(A)},Qi.prototype.nameToGlyph=function(A){var e=this.nameToGlyphIndex(A),t=this.glyphs.get(e);return t||(t=this.glyphs.get(0)),t},Qi.prototype.glyphIndexToName=function(A){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(A):""},Qi.prototype.getKerningValue=function(A,e){A=A.index||A,e=e.index||e;var t=this.position.defaultKerningTables;return t?this.position.getKerningValue(t,A,e):this.kerningPairs[A+","+e]||0},Qi.prototype.defaultRenderOptions={kerning:!0,features:[{script:"arab",tags:["init","medi","fina","rlig"]},{script:"latn",tags:["liga","rlig"]}]},Qi.prototype.forEachGlyph=function(A,e,t,i,n,r){e=void 0!==e?e:0,t=void 0!==t?t:0,i=void 0!==i?i:72,n=Object.assign({},this.defaultRenderOptions,n);var s,a=1/this.unitsPerEm*i,o=this.stringToGlyphs(A,n);if(n.kerning){var g=n.script||this.position.getDefaultScriptName();s=this.position.getKerningTables(g,n.language)}for(var I=0;I<o.length;I+=1){var C=o[I];if(r.call(this,C,e,t,i,n),C.advanceWidth&&(e+=C.advanceWidth*a),n.kerning&&I<o.length-1)e+=(s?this.position.getKerningValue(s,C.index,o[I+1].index):this.getKerningValue(C,o[I+1]))*a;n.letterSpacing?e+=n.letterSpacing*i:n.tracking&&(e+=n.tracking/1e3*i)}return e},Qi.prototype.getPath=function(A,e,t,i,n){var r=new v;return this.forEachGlyph(A,e,t,i,n,(function(A,e,t,i){var s=A.getPath(e,t,i,n,this);r.extend(s)})),r},Qi.prototype.getPaths=function(A,e,t,i,n){var r=[];return this.forEachGlyph(A,e,t,i,n,(function(A,e,t,i){var s=A.getPath(e,t,i,n,this);r.push(s)})),r},Qi.prototype.getAdvanceWidth=function(A,e,t){return this.forEachGlyph(A,0,0,e,t,(function(){}))},Qi.prototype.draw=function(A,e,t,i,n,r){this.getPath(e,t,i,n,r).draw(A)},Qi.prototype.drawPoints=function(A,e,t,i,n,r){this.forEachGlyph(e,t,i,n,r,(function(e,t,i,n){e.drawPoints(A,t,i,n)}))},Qi.prototype.drawMetrics=function(A,e,t,i,n,r){this.forEachGlyph(e,t,i,n,r,(function(e,t,i,n){e.drawMetrics(A,t,i,n)}))},Qi.prototype.getEnglishName=function(A){var e=this.names[A];if(e)return e.en},Qi.prototype.validate=function(){var A=this;function e(e){var t=A.getEnglishName(e);t&&t.trim().length}e("fontFamily"),e("weightName"),e("manufacturer"),e("copyright"),e("version"),this.unitsPerEm},Qi.prototype.toTables=function(){return ye.fontToTable(this)},Qi.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()},Qi.prototype.toArrayBuffer=function(){for(var A=this.toTables().encode(),e=new ArrayBuffer(A.length),t=new Uint8Array(e),i=0;i<A.length;i++)t[i]=A[i];return e},Qi.prototype.download=function(A){var e=this.getEnglishName("fontFamily"),i=this.getEnglishName("fontSubfamily");A=A||e.replace(/\s/g,"")+"-"+i+".otf";var n=this.toArrayBuffer();if("undefined"!=typeof window)if(window.URL=window.URL||window.webkitURL,window.URL){var r=new DataView(n),s=new Blob([r],{type:"font/opentype"}),a=document.createElement("a");a.href=window.URL.createObjectURL(s),a.download=A;var o=document.createEvent("MouseEvents");o.initEvent("click",!0,!1),a.dispatchEvent(o)}else console.warn("Font file could not be downloaded. Try using a different browser.");else{var g=t(7256),I=function(A){for(var e=new Buffer(A.byteLength),t=new Uint8Array(A),i=0;i<e.length;++i)e[i]=t[i];return e}(n);g.writeFileSync(A,I)}},Qi.prototype.fsSelectionValues={ITALIC:1,UNDERSCORE:2,NEGATIVE:4,OUTLINED:8,STRIKEOUT:16,BOLD:32,REGULAR:64,USER_TYPO_METRICS:128,WWS:256,OBLIQUE:512},Qi.prototype.usWidthClasses={ULTRA_CONDENSED:1,EXTRA_CONDENSED:2,CONDENSED:3,SEMI_CONDENSED:4,MEDIUM:5,SEMI_EXPANDED:6,EXPANDED:7,EXTRA_EXPANDED:8,ULTRA_EXPANDED:9},Qi.prototype.usWeightClasses={THIN:100,EXTRA_LIGHT:200,LIGHT:300,NORMAL:400,MEDIUM:500,SEMI_BOLD:600,BOLD:700,EXTRA_BOLD:800,BLACK:900};var fi={make:function(A,e){var t=new $.Table("fvar",[{name:"version",type:"ULONG",value:65536},{name:"offsetToData",type:"USHORT",value:0},{name:"countSizePairs",type:"USHORT",value:2},{name:"axisCount",type:"USHORT",value:A.axes.length},{name:"axisSize",type:"USHORT",value:20},{name:"instanceCount",type:"USHORT",value:A.instances.length},{name:"instanceSize",type:"USHORT",value:4+4*A.axes.length}]);t.offsetToData=t.sizeOf();for(var i=0;i<A.axes.length;i++)t.fields=t.fields.concat(Bi(i,A.axes[i],e));for(var n=0;n<A.instances.length;n++)t.fields=t.fields.concat(Ei(n,A.instances[n],A.axes,e));return t},parse:function(A,e,t){var i=new aA.Parser(A,e),n=i.parseULong();U.argument(65536===n,"Unsupported fvar table version.");var r=i.parseOffset16();i.skip("uShort",1);for(var s=i.parseUShort(),a=i.parseUShort(),o=i.parseUShort(),g=i.parseUShort(),I=[],C=0;C<s;C++)I.push(li(A,e+r+C*a,t));for(var Q=[],c=e+r+s*a,B=0;B<o;B++)Q.push(ui(A,c+B*g,I,t));return{axes:I,instances:Q}}},hi=function(){return{coverage:this.parsePointer(rA.coverage),attachPoints:this.parseList(rA.pointer(rA.uShortList))}},pi=function(){var A=this.parseUShort();return U.argument(1===A||2===A||3===A,"Unsupported CaretValue table version."),1===A?{coordinate:this.parseShort()}:2===A?{pointindex:this.parseShort()}:3===A?{coordinate:this.parseShort()}:void 0},yi=function(){return this.parseList(rA.pointer(pi))},di=function(){return{coverage:this.parsePointer(rA.coverage),ligGlyphs:this.parseList(rA.pointer(yi))}},mi=function(){return this.parseUShort(),this.parseList(rA.pointer(rA.coverage))};var bi={parse:function(A,e){var t=new rA(A,e=e||0),i=t.parseVersion(1);U.argument(1===i||1.2===i||1.3===i,"Unsupported GDEF table version.");var n={version:i,classDef:t.parsePointer(rA.classDef),attachList:t.parsePointer(hi),ligCaretList:t.parsePointer(di),markAttachClassDef:t.parsePointer(rA.classDef)};return i>=1.2&&(n.markGlyphSets=t.parsePointer(mi)),n}},Di=new Array(10);Di[1]=function(){var A=this.offset+this.relativeOffset,e=this.parseUShort();return 1===e?{posFormat:1,coverage:this.parsePointer(rA.coverage),value:this.parseValueRecord()}:2===e?{posFormat:2,coverage:this.parsePointer(rA.coverage),values:this.parseValueRecordList()}:void U.assert(!1,"0x"+A.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")},Di[2]=function(){var A=this.offset+this.relativeOffset,e=this.parseUShort();U.assert(1===e||2===e,"0x"+A.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");var t=this.parsePointer(rA.coverage),i=this.parseUShort(),n=this.parseUShort();if(1===e)return{posFormat:e,coverage:t,valueFormat1:i,valueFormat2:n,pairSets:this.parseList(rA.pointer(rA.list((function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(i),value2:this.parseValueRecord(n)}}))))};if(2===e){var r=this.parsePointer(rA.classDef),s=this.parsePointer(rA.classDef),a=this.parseUShort(),o=this.parseUShort();return{posFormat:e,coverage:t,valueFormat1:i,valueFormat2:n,classDef1:r,classDef2:s,class1Count:a,class2Count:o,classRecords:this.parseList(a,rA.list(o,(function(){return{value1:this.parseValueRecord(i),value2:this.parseValueRecord(n)}})))}}},Di[3]=function(){return{error:"GPOS Lookup 3 not supported"}},Di[4]=function(){return{error:"GPOS Lookup 4 not supported"}},Di[5]=function(){return{error:"GPOS Lookup 5 not supported"}},Di[6]=function(){return{error:"GPOS Lookup 6 not supported"}},Di[7]=function(){return{error:"GPOS Lookup 7 not supported"}},Di[8]=function(){return{error:"GPOS Lookup 8 not supported"}},Di[9]=function(){return{error:"GPOS Lookup 9 not supported"}};var Si=new Array(10);var wi={parse:function(A,e){var t=new rA(A,e=e||0),i=t.parseVersion(1);return U.argument(1===i||1.1===i,"Unsupported GPOS table version "+i),1===i?{version:i,scripts:t.parseScriptList(),features:t.parseFeatureList(),lookups:t.parseLookupList(Di)}:{version:i,scripts:t.parseScriptList(),features:t.parseFeatureList(),lookups:t.parseLookupList(Di),variations:t.parseFeatureVariationsList()}},make:function(A){return new $.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new $.ScriptList(A.scripts)},{name:"features",type:"TABLE",value:new $.FeatureList(A.features)},{name:"lookups",type:"TABLE",value:new $.LookupList(A.lookups,Si)}])}};var vi={parse:function(A,e){var t=new aA.Parser(A,e),i=t.parseUShort();if(0===i)return function(A){var e={};A.skip("uShort");var t=A.parseUShort();U.argument(0===t,"Unsupported kern sub-table version."),A.skip("uShort",2);var i=A.parseUShort();A.skip("uShort",3);for(var n=0;n<i;n+=1){var r=A.parseUShort(),s=A.parseUShort(),a=A.parseShort();e[r+","+s]=a}return e}(t);if(1===i)return function(A){var e={};A.skip("uShort"),A.parseULong()>1&&console.warn("Only the first kern subtable is supported."),A.skip("uLong");var t=255&A.parseUShort();if(A.skip("uShort"),0===t){var i=A.parseUShort();A.skip("uShort",3);for(var n=0;n<i;n+=1){var r=A.parseUShort(),s=A.parseUShort(),a=A.parseShort();e[r+","+s]=a}}return e}(t);throw new Error("Unsupported kern table version ("+i+").")}};var ki={parse:function(A,e,t,i){for(var n=new aA.Parser(A,e),r=i?n.parseUShort:n.parseULong,s=[],a=0;a<t+1;a+=1){var o=r.call(n);i&&(o*=2),s.push(o)}return s}};function xi(A,e){t(7256).readFile(A,(function(A,t){if(A)return e(A.message);e(null,xe(t))}))}function Ui(A,e){var t=new XMLHttpRequest;t.open("get",A,!0),t.responseType="arraybuffer",t.onload=function(){return t.response?e(null,t.response):e("Font could not be loaded: "+t.statusText)},t.onerror=function(){e("Font could not be loaded")},t.send()}function Ni(A,e){for(var t=[],i=12,n=0;n<e;n+=1){var r=aA.getTag(A,i),s=aA.getULong(A,i+4),a=aA.getULong(A,i+8),o=aA.getULong(A,i+12);t.push({tag:r,checksum:s,offset:a,length:o,compression:!1}),i+=16}return t}function Gi(A,e){if("WOFF"===e.compression){var t=new Uint8Array(A.buffer,e.offset+2,e.compressedLength-2),i=new Uint8Array(e.length);if(D(t,i),i.byteLength!==e.length)throw new Error("Decompression error: "+e.tag+" decompressed length doesn't match recorded length");return{data:new DataView(i.buffer,0),offset:0}}return{data:A,offset:e.offset}}function Fi(A,e){var t,i;e=null==e?{}:e;var n,r,s,a,o,g,I,C,Q,c,B,l,E,u=new Qi({empty:!0}),f=new DataView(A,0),h=[],p=aA.getTag(f,0);if(p===String.fromCharCode(0,1,0,0)||"true"===p||"typ1"===p)u.outlinesFormat="truetype",h=Ni(f,n=aA.getUShort(f,4));else if("OTTO"===p)u.outlinesFormat="cff",h=Ni(f,n=aA.getUShort(f,4));else{if("wOFF"!==p)throw new Error("Unsupported OpenType signature "+p);var y=aA.getTag(f,4);if(y===String.fromCharCode(0,1,0,0))u.outlinesFormat="truetype";else{if("OTTO"!==y)throw new Error("Unsupported OpenType flavor "+p);u.outlinesFormat="cff"}h=function(A,e){for(var t=[],i=44,n=0;n<e;n+=1){var r=aA.getTag(A,i),s=aA.getULong(A,i+4),a=aA.getULong(A,i+8),o=aA.getULong(A,i+12),g=void 0;g=a<o&&"WOFF",t.push({tag:r,offset:s,compression:g,compressedLength:a,length:o}),i+=20}return t}(f,n=aA.getUShort(f,12))}for(var d=0;d<n;d+=1){var m=h[d],b=void 0;switch(m.tag){case"cmap":b=Gi(f,m),u.tables.cmap=gA.parse(b.data,b.offset),u.encoding=new lA(u.tables.cmap);break;case"cvt ":b=Gi(f,m),E=new aA.Parser(b.data,b.offset),u.tables.cvt=E.parseShortList(m.length/2);break;case"fvar":s=m;break;case"fpgm":b=Gi(f,m),E=new aA.Parser(b.data,b.offset),u.tables.fpgm=E.parseByteList(m.length);break;case"head":b=Gi(f,m),u.tables.head=TA.parse(b.data,b.offset),u.unitsPerEm=u.tables.head.unitsPerEm,t=u.tables.head.indexToLocFormat;break;case"hhea":b=Gi(f,m),u.tables.hhea=YA.parse(b.data,b.offset),u.ascender=u.tables.hhea.ascender,u.descender=u.tables.hhea.descender,u.numberOfHMetrics=u.tables.hhea.numberOfHMetrics;break;case"hmtx":C=m;break;case"ltag":b=Gi(f,m),i=PA.parse(b.data,b.offset);break;case"maxp":b=Gi(f,m),u.tables.maxp=VA.parse(b.data,b.offset),u.numGlyphs=u.tables.maxp.numGlyphs;break;case"name":B=m;break;case"OS/2":b=Gi(f,m),u.tables.os2=oe.parse(b.data,b.offset);break;case"post":b=Gi(f,m),u.tables.post=ge.parse(b.data,b.offset),u.glyphNames=new uA(u.tables.post);break;case"prep":b=Gi(f,m),E=new aA.Parser(b.data,b.offset),u.tables.prep=E.parseByteList(m.length);break;case"glyf":a=m;break;case"loca":c=m;break;case"CFF ":r=m;break;case"kern":Q=m;break;case"GDEF":o=m;break;case"GPOS":g=m;break;case"GSUB":I=m;break;case"meta":l=m}}var D=Gi(f,B);if(u.tables.name=se.parse(D.data,D.offset,i),u.names=u.tables.name,a&&c){var S=0===t,w=Gi(f,c),v=ki.parse(w.data,w.offset,u.numGlyphs,S),k=Gi(f,a);u.glyphs=Oe.parse(k.data,k.offset,v,u,e)}else{if(!r)throw new Error("Font doesn't contain TrueType or CFF outlines.");var x=Gi(f,r);KA.parse(x.data,x.offset,u,e)}var U=Gi(f,C);if(HA.parse(u,U.data,U.offset,u.numberOfHMetrics,u.numGlyphs,u.glyphs,e),fA(u,e),Q){var N=Gi(f,Q);u.kerningPairs=vi.parse(N.data,N.offset)}else u.kerningPairs={};if(o){var G=Gi(f,o);u.tables.gdef=bi.parse(G.data,G.offset)}if(g){var F=Gi(f,g);u.tables.gpos=wi.parse(F.data,F.offset),u.position.init()}if(I){var M=Gi(f,I);u.tables.gsub=ce.parse(M.data,M.offset)}if(s){var R=Gi(f,s);u.tables.fvar=fi.parse(R.data,R.offset,u.names)}if(l){var L=Gi(f,l);u.tables.meta=Be.parse(L.data,L.offset),u.metas=u.tables.meta}return u}const Mi=Object.freeze({__proto__:null,Font:Qi,Glyph:pA,Path:v,BoundingBox:w,_parse:aA,parse:Fi,load:function(A,e,t){t=null==t?{}:t;var i="undefined"==typeof window&&!t.isUrl?xi:Ui;return new Promise((function(n,r){i(A,(function(A,i){if(A){if(e)return e(A);r(A)}var s;try{s=Fi(i,t)}catch(A){if(e)return e(A,null);r(A)}if(e)return e(null,s);n(s)}))}))},loadSync:function(A,e){return Fi(xe(t(7256).readFileSync(A)),e)}})},4637:(A,e,t)=>{t.d(e,{q:()=>s});var i=/[a-zA-Z0-9:_-]/,n=/[\s\t\r\n]/,r=/['"]/;function s(A){var e="",t=[],s=I,a=null,o=null;function g(e){var t=function(A,e,t){if("number"==typeof t)throw new Error("locate takes a { startIndex, offsetLine, offsetColumn } object as the third argument");return function(A,e){void 0===e&&(e={});var t=e.offsetLine||0,i=e.offsetColumn||0,n=A.split("\n"),r=0,s=n.map((function(A,e){var t=r+A.length+1,i={start:r,end:t,line:e};return r=t,i})),a=0;function o(A,e){return A.start<=e&&e<A.end}function g(A,e){return{line:t+A.line,column:i+e-A.start,character:e}}return function(e,t){"string"==typeof e&&(e=A.indexOf(e,t||0));for(var i=s[a],n=e>=i.end?1:-1;i;){if(o(i,e))return g(i,e);i=s[a+=n]}}}(A,t)(e,t&&t.startIndex)}(A,h),i=t.line,n=t.column,r=A.slice(0,h),s=/(^|\n).*$/.exec(r)[0].replace(/\t/g," "),a=A.slice(h),o=""+s+/.*(\n|$)/.exec(a)[0]+"\n"+function(A,e){for(var t="";e--;)t+=A;return t}(" ",s.length)+"^";throw new Error(e+" ("+i+":"+n+"). If this is valid SVG, it's probably a bug in svg-parser. Please raise an issue at https://github.com/Rich-Harris/svg-parser/issues – thanks!\n\n"+o)}function I(){for(;h<A.length&&"<"!==A[h]||!i.test(A[h+1]);)e+=A[h++];return C()}function C(){for(var e="";h<A.length&&"<"!==A[h];)e+=A[h++];return/\S/.test(e)&&a.children.push({type:"text",value:e}),"<"===A[h]?Q:C}function Q(){var e=A[h];if("?"===e)return C;if("!"===e){if("--"===A.slice(h+1,h+3))return c;if("[CDATA["===A.slice(h+1,h+8))return B;if(/doctype/i.test(A.slice(h+1,h+8)))return C}if("/"===e)return l;var i,n={type:"element",tagName:E(),properties:{},children:[]};for(a?a.children.push(n):o=n;h<A.length&&(i=u());)n.properties[i.name]=i.value;var r=!1;return"/"===A[h]&&(h+=1,r=!0),">"!==A[h]&&g("Expected >"),r||(a=n,t.push(n)),C}function c(){var e=A.indexOf("--\x3e",h);return~e||g("expected --\x3e"),h=e+2,C}function B(){var e=A.indexOf("]]>",h);return~e||g("expected ]]>"),a.children.push(A.slice(h+7,e)),h=e+2,C}function l(){var e=E();return e||g("Expected tag name"),e!==a.tagName&&g("Expected closing tag </"+e+"> to match opening tag <"+a.tagName+">"),f(),">"!==A[h]&&g("Expected >"),t.pop(),a=t[t.length-1],C}function E(){for(var e="";h<A.length&&i.test(A[h]);)e+=A[h++];return e}function u(){if(!n.test(A[h]))return null;f();var e=E();if(!e)return null;var t=!0;return f(),"="===A[h]&&(h+=1,f(),t=r.test(A[h])?function(){for(var e=A[h++],t="",i=!1;h<A.length;){var n=A[h++];if(n===e&&!i)return t;"\\"!==n||i||(i=!0),t+=i?"\\"+n:n,i=!1}}():function(){var e="";do{var t=A[h];if(" "===t||">"===t||"/"===t)return e;e+=t,h+=1}while(h<A.length);return e}(),isNaN(t)||""===t.trim()||(t=+t)),{name:e,value:t}}function f(){for(;h<A.length&&n.test(A[h]);)h+=1}for(var h=I.length;h<A.length;)s||g("Unexpected character"),s=s(),h+=1;return s!==C&&g("Unexpected end of input"),"svg"===o.tagName&&(o.metadata=e),{type:"root",children:[o]}}},214:(A,e,t)=>{function i(A,e,t,i){A.width=Math.max(1,Math.min(e,i.limits.maxTextureDimension2D)),A.height=Math.max(1,Math.min(t,i.limits.maxTextureDimension2D))}function n(A,e,t){const n=new ResizeObserver((A=>{var n,r,s,a;for(const o of A){i(o.target,null!==(r=null===(n=o.devicePixelContentBoxSize)||void 0===n?void 0:n[0].inlineSize)&&void 0!==r?r:o.contentBoxSize[0].inlineSize*devicePixelRatio,null!==(a=null===(s=o.devicePixelContentBoxSize)||void 0===s?void 0:s[0].blockSize)&&void 0!==a?a:o.contentBoxSize[0].blockSize*devicePixelRatio,e),t()}}));try{n.observe(A,{box:"device-pixel-content-box"})}catch(e){n.observe(A,{box:"content-box"})}i(A,A.clientWidth,A.clientHeight,e)}t.d(e,{A:()=>n})},7608:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>g});var n=t(1317),r=t(4109),s=t(9146),a=A([n,r,s]);[n,r,s]=a.then?(await a)():a;var o=function(A,e,t,i){return new(t||(t=Promise))((function(n,r){function s(A){try{o(i.next(A))}catch(A){r(A)}}function a(A){try{o(i.throw(A))}catch(A){r(A)}}function o(A){var e;A.done?n(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(s,a)}o((i=i.apply(A,e||[])).next())}))};function g(A,e,t,i,a,g,I,C){return o(this,void 0,void 0,(function*(){const o=document.createElement("canvas");o.width=400,o.height=400;const Q=o.getContext("webgpu");Q.configure({device:A,format:e});const c=Object.assign({},r.UI);(0,n.A)(i,a,"fill",o),s.Ay.updateRenderScale(g);I(Q,(()=>{C(o),Q.unconfigure(),r.UI.x=c.x,r.UI.y=c.y,r.UI.zoom=c.zoom,s.Ay.updateRenderScale(t.width/(t.clientWidth*r.UI.zoom))}))}))}i()}catch(I){i(I)}}))},1911:(A,e,t)=>{t.d(e,{A:()=>n});var i=function(A,e,t,i){return new(t||(t=Promise))((function(n,r){function s(A){try{o(i.next(A))}catch(A){r(A)}}function a(A){try{o(i.throw(A))}catch(A){r(A)}}function o(A){var e;A.done?n(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(s,a)}o((i=i.apply(A,e||[])).next())}))};function n(){return i(this,void 0,void 0,(function*(){if(!navigator.gpu)throw Error("this browser does not support WebGPU");const A=yield navigator.gpu.requestAdapter();if(!A)throw Error("this browser supports webgpu but it appears disabled");const e=A.features.has("bgra8unorm-storage"),t=yield A.requestDevice({requiredFeatures:e?["bgra8unorm-storage"]:[],label:"id: "+Date.now()});t.lost.then((A=>{console.error(`WebGPU device was lost: ${A.message}`),A.reason}));return{device:t,presentationFormat:navigator.gpu.getPreferredCanvasFormat(),storageFormat:e?navigator.gpu.getPreferredCanvasFormat():"rgba8unorm"}}))}},1549:(A,e,t)=>{t.d(e,{Be:()=>n});const i=(...A)=>{const e=Math.max(...A);return 1+Math.log2(e)|0};function n(A,e,t,n={}){const r=A.createTexture({label:"createTextureFromSource",format:e,mipLevelCount:n.mips?i(t.width,t.height):1,size:[t.width,t.height],usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});return function(A,e,t,{flipY:i,depthOrArrayLayers:n}={}){A.queue.copyExternalImageToTexture({source:t,flipY:i},{texture:e},{width:t.width,height:t.height,depthOrArrayLayers:n})}(A,r,t,n),r}},2872:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>C});var n=t(2842),r=t(4109),s=t(9146),a=A([r,s]);[r,s]=a.then?(await a)():a;var o=function(A,e,t,i){return new(t||(t=Promise))((function(n,r){function s(A){try{o(i.next(A))}catch(A){r(A)}}function a(A){try{o(i.throw(A))}catch(A){r(A)}}function o(A){var e;A.done?n(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(s,a)}o((i=i.apply(A,e||[])).next())}))};const g=1,I=16;class C{constructor(A){this.isPreviousPickDone=!0,this.pickBuffer=A.createBuffer({label:"pick id buffer",size:g*I,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.pickTexture=A.createTexture({label:"picking texture color",size:[1,1],format:"rgba32uint",usage:GPUTextureUsage.COPY_SRC|GPUTextureUsage.RENDER_ATTACHMENT})}startPicking(A){const e={label:"render pick",colorAttachments:[{view:this.pickTexture.createView(),loadOp:"clear",clearValue:[0,0,0,1],storeOp:"store"}]},t=A.beginRenderPass(e);t.setViewport(0,0,1,1,0,1),t.setScissorRect(0,0,1,1);return{pass:t,end:()=>{t.end(),this.isPreviousPickDone&&A.copyTextureToBuffer({texture:this.pickTexture,origin:{x:0,y:0}},{buffer:this.pickBuffer},{width:g})}}}createMatrix(A,e){const t=-(r.Wn.x/A.width*2-1),i=r.Wn.y/A.height*2-1;return[n.A.scaling([A.width,A.height,0]),n.A.translation([t,i,0]),e].reduce(((A,e)=>n.A.multiply(A,e)),n.A.translation([-1,1,0]))}asyncPick(){return o(this,void 0,void 0,(function*(){if(this.isPreviousPickDone){this.isPreviousPickDone=!1;try{yield this.pickBuffer.mapAsync(GPUMapMode.READ,0,I*g);const[A,e,t,i]=new Uint32Array(this.pickBuffer.getMappedRange(0,I*g));s.QZ([A,e,t,i]);let n=0;for(;n<r.Wn.afterPickEventsQueue.length;){const{requireNewPick:A,cb:e}=r.Wn.afterPickEventsQueue[n];if(A&&n>0)break;e(),n++}r.Wn.afterPickEventsQueue.splice(0,n),this.pickBuffer.unmap()}catch(A){}this.isPreviousPickDone=!0}}))}}i()}catch(A){i(A)}}))},688:(A,e,t)=>{t.d(e,{IP:()=>L,ym:()=>M,RW:()=>R,bB:()=>F,DS:()=>G,Ay:()=>K,nj:()=>J,zK:()=>O,oQ:()=>D,Jl:()=>x,np:()=>U,H:()=>k,_J:()=>S,D4:()=>b,R9:()=>z,Zo:()=>N,Fh:()=>w,Q3:()=>v});const i="const PI = 3.14159265358979323846;\nconst EPSILON = 1.1920929e-7;\n\nstruct Vertex {\n @location(0) p0: vec4f, //xy -> corner position, zw -> circle position\n @location(1) p1: vec4f,\n @location(2) p2: vec4f,\n @location(3) color: vec4f,\n @location(4) radius_list: vec3f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) @interpolate(flat) p0: vec4f,\n @location(1) @interpolate(flat) p1: vec4f,\n @location(2) @interpolate(flat) p2: vec4f,\n @location(3) @interpolate(flat) color: vec4f,\n @location(4) pixel: vec2f,\n @location(5) @interpolate(flat) radius_list: vec3f,\n @location(6) @interpolate(flat) threshold_list: vec3f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\nfn threshold_pythagorean_leg(corner: vec4f, radius: f32) -> f32 {\n let p_circle_dist = distance(corner.xy, corner.zw);\n // Pythagorean theorem, finding one leg of a right triangle when you know the hypotenuse and the other leg.\n return sqrt(p_circle_dist * p_circle_dist - radius * radius);\n}\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertex_index : u32\n) -> VertexOutput {\n var out: VertexOutput;\n\n let positions = array<vec2f, 3>(vert.p0.xy, vert.p1.xy, vert.p2.xy);\n out.position = vec4f(positions[vertex_index], 0, 1);\n\n out.pixel = vec2f(out.position.x, out.position.y);\n\n out.position = u.worldViewProjection * out.position;\n\n out.p0 = vert.p0;\n out.p1 = vert.p1;\n out.p2 = vert.p2;\n out.color = vert.color;\n\n out.radius_list = vert.radius_list;\n\n out.threshold_list = vec3f(\n threshold_pythagorean_leg(vert.p0, vert.radius_list.x),\n threshold_pythagorean_leg(vert.p1, vert.radius_list.y),\n threshold_pythagorean_leg(vert.p2, vert.radius_list.z),\n ); // behind this value is a rounded corner\n\n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n let p0_circle_dist = distance(in.p0.xy, in.pixel) - in.threshold_list.x;\n let p1_circle_dist = distance(in.p1.xy, in.pixel) - in.threshold_list.y;\n let p2_circle_dist = distance(in.p2.xy, in.pixel) - in.threshold_list.z;\n \n let min_circle_dist = min(\n p0_circle_dist,\n min(p1_circle_dist, p2_circle_dist)\n );\n\n var p: vec2f; // closest corner\n var p_circle: vec2f; // closest corner's circle position\n var radius: f32;\n var threshold: f32;\n\n if (abs(min_circle_dist - p0_circle_dist) <= EPSILON) {\n p = in.p0.xy;\n p_circle = in.p0.zw;\n radius = in.radius_list.x;\n threshold = in.threshold_list.x;\n } else if (abs(min_circle_dist - p1_circle_dist) <= EPSILON) {\n p = in.p1.xy;\n p_circle = in.p1.zw;\n radius = in.radius_list.y;\n threshold = in.threshold_list.y;\n } else {\n p = in.p2.xy;\n p_circle = in.p2.zw;\n radius = in.radius_list.z;\n threshold = in.threshold_list.z;\n }\n\n\n let circle_distance = distance(p_circle, in.pixel);\n let edge_width = fwidth(circle_distance);\n\n let circle_alpha = 1.0 - smoothstep(radius - edge_width, radius + edge_width, circle_distance);\n let dist = distance(p, in.pixel);\n let alpha = mix(circle_alpha, 1.0, step(threshold, dist)); // if threshold <= dist, use circle alpha, otherwise use 1.0\n\n return in.color * alpha;\n}\n",n=16;const r="struct Uniform {\n filterDim: i32, // x for horizontal, y for vertical\n blockDim: u32,\n sigma: f32, // standard deviation for X (when flip=0) and Y (when flip=1)\n flip: u32,\n}\n\n@group(0) @binding(0) var samp : sampler;\n@group(0) @binding(1) var<uniform> u : Uniform;\n@group(0) @binding(2) var inputTex : texture_2d<f32>;\n@group(0) @binding(3) var outputTex : texture_storage_2d<{presentationFormat}, write>;\n\n// This shader blurs the input texture in one direction, depending on whether\n// |u.flip| is 0 or 1.\n// It does so by running (128 / 4) threads per workgroup to load 128\n// texels into 4 rows of shared memory. Each thread loads a\n// 4 x 4 block of texels to take advantage of the texture sampling\n// hardware.\n// Then, each thread computes the blur result by averaging the adjacent texel values\n// in shared memory.\n// Because we're operating on a subset of the texture, we cannot compute all of the\n// results since not all of the neighbors are available in shared memory.\n// Specifically, with 128 x 128 tiles, we can only compute and write out\n// square blocks of size 128 - (filterSize - 1). We compute the number of blocks\n// needed in Javascript and dispatch that amount.\n\n// 128/4 = 32 -> number of threads per working group\n// does it in 4x4 block of texels(takes advantage of texture sampling hardware)\n// with this beign said, we don't have all the neighbours, only this block\n// That's why we can only compute & write out blocks of size 128 - (filterSize - 1)\nvar<workgroup> tile : array<array<vec4f, 128>, 4>;\n\n@compute @workgroup_size(32, 1, 1)\nfn main(\n @builtin(workgroup_id) WorkGroupID : vec3<u32>,\n @builtin(local_invocation_id) LocalInvocationID : vec3<u32>\n) {\n let filterOffset = (u.filterDim - 1) / 2;\n let dims = vec2<i32>(textureDimensions(inputTex, 0));\n let baseIndex = vec2<i32>(WorkGroupID.xy * vec2(u.blockDim, 4) + // it's just the index of the first texel in a group\n LocalInvocationID.xy * vec2(4, 1)) // <0, 128>\n - vec2(filterOffset, 0);\n // baseIndex = xy of first texel of group\n for (var r = 0; r < 4; r++) {\n for (var c = 0; c < 4; c++) {\n var loadIndex = baseIndex + vec2(c, r);\n if (u.flip != 0) {\n loadIndex = loadIndex.yx;\n }\n\n tile[r][4 * LocalInvocationID.x + u32(c)] = textureSampleLevel(\n inputTex,\n samp,\n (vec2<f32>(loadIndex) + vec2<f32>(0.5, 0.5)) / vec2<f32>(dims),\n 0.0\n ).rgba;\n }\n }\n\n workgroupBarrier();\n // helps coordinate access to read-write memory\n // so all threads(32) will wait to hit this barrer, and then start form here together\n\n for (var r = 0; r < 4; r++) {\n for (var c = 0; c < 4; c++) {\n var writeIndex = baseIndex + vec2(c, r);\n if (u.flip != 0) {\n writeIndex = writeIndex.yx;\n }\n\n let center = i32(4 * LocalInvocationID.x) + c;\n if (center >= filterOffset &&\n center < 128 - filterOffset &&\n all(writeIndex < dims)) {\n\n let denom = 2.0 * u.sigma * u.sigma;\n var acc = vec4f(0.0);\n var wsum = 0.0;\n\n for (var f = 0; f < u.filterDim; f++) {\n let rel = f - filterOffset;\n var i = center + rel;\n let w = exp(- (f32(rel * rel)) / denom);\n acc = acc + w * tile[r][i];\n wsum = wsum + w;\n }\n acc = acc / wsum;\n\n textureStore(outputTex, writeIndex, acc);\n }\n }\n }\n}\n",s=128,a=[4,4];const o="struct Vertex {\n @location(0) position: vec4f,\n};\n\nstruct Uniforms {\n cameraProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texCoord: vec2f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@vertex fn vs(vert: Vertex) -> VertexOutput {\n var out: VertexOutput;\n // maybe we should pass offsets from the position instead of... position?\n out.position = u.cameraProjection * vec4f(vert.position.xy, 0, 1);\n out.texCoord = vert.position.zw;\n \n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n return textureSample(ourTexture, ourSampler, in.texCoord);\n // let color = textureSample(ourTexture, ourSampler, in.texCoord);\n // if (color.a < 0.1) {\n // return vec4f(0, 0, 1, 0.1);\n // }\n // return color;\n}\n",g=16;const I="struct Vertex {\n @location(0) position: vec4f,\n @location(1) id: vec4u,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texCoord: vec2f,\n @location(1) @interpolate(flat) id: vec4u\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@vertex fn vs(vert: Vertex) -> VertexOutput {\n var out: VertexOutput;\n\n out.position = u.worldViewProjection * vec4f(vert.position.xy, 0.0, 1.0);\n out.texCoord = vert.position.zw;\n out.id = vert.id;\n\n return out;\n}\n\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4u {\n let alpha = textureSample(ourTexture, ourSampler, in.texCoord).a;\n\n if (alpha < 0.1) {\n discard; // r32uint doesn't support blending so only skipping pixels lefts\n }\n\n return in.id;\n}\n",C=32;const Q="const PI = 3.14159265358979323846;\nconst EPSILON = 1.1920929e-7;\n\nstruct Vertex {\n @location(0) p0: vec4f, //xy -> corner position, zw -> circle position\n @location(1) p1: vec4f,\n @location(2) p2: vec4f,\n @location(3) id: vec4u,\n @location(4) radius_list: vec3f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) @interpolate(flat) p0: vec4f,\n @location(1) @interpolate(flat) p1: vec4f,\n @location(2) @interpolate(flat) p2: vec4f,\n @location(3) @interpolate(flat) id: vec4u,\n @location(4) pixel: vec2f,\n @location(5) @interpolate(flat) radius_list: vec3f,\n @location(6) @interpolate(flat) threshold_list: vec3f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\nfn threshold_pythagorean_leg(corner: vec4f, radius: f32) -> f32 {\n let p_circle_dist = distance(corner.xy, corner.zw);\n // Pythagorean theorem, finding one leg of a right triangle when you know the hypotenuse and the other leg.\n return sqrt(p_circle_dist * p_circle_dist - radius * radius);\n}\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertex_index : u32\n) -> VertexOutput {\n var out: VertexOutput;\n\n let positions = array<vec2f, 3>(vert.p0.xy, vert.p1.xy, vert.p2.xy);\n out.position = vec4f(positions[vertex_index], 0, 1);\n\n out.pixel = vec2f(out.position.x, out.position.y);\n\n out.position = u.worldViewProjection * out.position;\n\n out.p0 = vert.p0;\n out.p1 = vert.p1;\n out.p2 = vert.p2;\n out.id = vert.id;\n\n out.radius_list = vert.radius_list;\n\n out.threshold_list = vec3f(\n threshold_pythagorean_leg(vert.p0, vert.radius_list.x),\n threshold_pythagorean_leg(vert.p1, vert.radius_list.y),\n threshold_pythagorean_leg(vert.p2, vert.radius_list.z),\n ); // behind this value is a ounded corner\n\n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4u {\n let p0_circle_dist = distance(in.p0.xy, in.pixel) - in.threshold_list.x;\n let p1_circle_dist = distance(in.p1.xy, in.pixel) - in.threshold_list.y;\n let p2_circle_dist = distance(in.p2.xy, in.pixel) - in.threshold_list.z;\n \n let min_circle_dist = min(\n p0_circle_dist,\n min(p1_circle_dist, p2_circle_dist)\n );\n\n var p: vec2f; // closest corner\n var p_circle: vec2f; // closest corner's circle position\n var radius: f32;\n var threshold: f32;\n\n if (abs(min_circle_dist - p0_circle_dist) <= EPSILON) {\n p = in.p0.xy;\n p_circle = in.p0.zw;\n radius = in.radius_list.x;\n threshold = in.threshold_list.x;\n } else if (abs(min_circle_dist - p1_circle_dist) <= EPSILON) {\n p = in.p1.xy;\n p_circle = in.p1.zw;\n radius = in.radius_list.y;\n threshold = in.threshold_list.y;\n } else {\n p = in.p2.xy;\n p_circle = in.p2.zw;\n radius = in.radius_list.z;\n threshold = in.threshold_list.z;\n }\n\n\n let circle_distance = distance(p_circle, in.pixel);\n let edge_width = fwidth(circle_distance);\n\n let circle_alpha = 1.0 - smoothstep(radius - edge_width, radius + edge_width, circle_distance);\n let dist = distance(p, in.pixel);\n let alpha = mix(circle_alpha, 1.0, step(threshold, dist)); // if threshold <= dist, use circle alpha, otherwise use 1.0\n\n if (alpha < 0.1) {\n discard; // r32uint doesn't support blending so only skipping pixels lefts\n }\n\n return in.id;\n}\n",c=19;const B="const STRAIGHT_LINE_THRESHOLD = 1e10;\nconst EPSILON = 1e-10;\nconst PI = 3.141592653589793;\n\nstruct Vertex {\n @location(0) position: vec4f,\n};\n\n@group(0) @binding(1) var texture: texture_storage_2d<rgba32float, read>;\n@group(0) @binding(2) var<uniform> camera_projection: mat4x4f;\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) uv: vec2f,\n @location(1) norm_uv: vec2f,\n};\n\n@vertex fn vs(vert: Vertex) -> VSOutput {\n let size = textureDimensions(texture);\n return VSOutput(\n camera_projection * vec4f(vert.position.xy, 0.0, 1.0),\n vert.position.zw * vec2f(size),\n vert.position.zw,\n );\n}\n\nfn getSample(pos: vec2f) -> vec4f {\n let floor_pos = floor(pos - 0.5);\n let fract_pos = pos - 0.5 - floor_pos;\n\n let p00 = vec2u(floor_pos);\n let p10 = vec2u(floor_pos + vec2f(1.0, 0.0));\n let p01 = vec2u(floor_pos + vec2f(0.0, 1.0));\n let p11 = vec2u(floor_pos + vec2f(1.0, 1.0));\n\n let c00 = textureLoad(texture, p00);\n let c10 = textureLoad(texture, p10);\n let c01 = textureLoad(texture, p01);\n let c11 = textureLoad(texture, p11);\n\n let top = mix(c00, c10, fract_pos.x);\n let bottom = mix(c01, c11, fract_pos.x);\n\n return mix(top, bottom, fract_pos.y);\n}\n\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n // let sdf = textureLoad(texture, vec2u(vsOut.uv));\n let sdf = getSample(vsOut.uv);\n\n let dist = sdf.r;\n let width = fwidth(dist) * 0.5;\n\n let inner_alpha = smoothstep(u.dist_start - width, u.dist_start + width, dist);\n let outer_alpha = smoothstep(u.dist_end - width, u.dist_end + width, dist);\n let alpha = outer_alpha - inner_alpha;\n let color = getColor(sdf, vsOut.uv, vsOut.norm_uv);\n let result = vec4f(color.rgb, color.a * alpha);\n\n return result;\n\n // let stroke_factor = select(0.5, 0.0, sdf.g > 1.0);\n // color = vec4f(0, sdf.g % 1, 0, 1.0);\n // color = vec4f(0, 0, sdf.b / (2 * PI), 1.0);\n // color = vec4f(sdf.r / 100.0, sdf.g % 1, sdf.b / (2 * PI), 1.0);\n // color = select(vec4f(0.5, 0, 0, 1), vec4f(0, 0, 0.5, 1), u32(sdf.r / 20.0) % 2 == 0);\n}\n";function l(A,e,t,i){const n=A.createShaderModule({label:"drawShape shader",code:B+t}),r=4*i,s=A.createRenderPipeline({label:"drawShape pipeline",layout:"auto",vertex:{module:n,entryPoint:"vs",buffers:[{arrayStride:16,attributes:[{shaderLocation:0,offset:0,format:"float32x4"}]}]},fragment:{module:n,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}});return function(e,t,i,n){const a=A.createBuffer({label:"drawShape vertex buffer",size:i.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(a,0,i),J(a);const o=A.createBuffer({label:"drawShape uniforms",size:r,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(o,0,n),J(o),e.setPipeline(s);const g=A.createBindGroup({label:"drawShape bind group",layout:s.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:o}},{binding:1,resource:t.createView()},{binding:2,resource:{buffer:L.buffer}}]});e.setBindGroup(0,g),e.setVertexBuffer(0,a),e.draw(6)}}const E="\nstruct Uniforms {\n dist_start: f32,\n dist_end: f32,\n padding: vec2f, // Padding for alignment\n color: vec4f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\nfn getColor(sdf: vec4f, uv: vec2f, norm_uv: vec2f) -> vec4f {\n return u.color;\n}",u='struct Stop {\n color: vec4f,\n offset: f32,\n}\n\nstruct Uniform {\n dist_start: f32,\n dist_end: f32,\n stops_count: u32,\n padding: u32, // Padding for alignment\n start: vec2f,\n end: vec2f,\n stops: array<Stop, 10>,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniform;\n\n\nfn getColor(sdf: vec4f, world_uv: vec2f, uv: vec2f) -> vec4f {\n // Fallbacks\n if (u.stops_count == 0u) {\n return vec4f(1.0, 1.0, 1.0, 1.0);\n }\n if (u.stops_count == 1u) {\n return u.stops[0u].color;\n }\n\n // Gradient axis given by start -> end in uv space\n let dir = u.end - u.start;\n let len2_raw = dot(dir, dir);\n let len2 = max(len2_raw, 1e-8);\n\n // Project current uv to axis; get normalized parameter t in [0, 1]\n var t_uv: f32;\n if (len2_raw < 1e-7) {\n // Degenerate axis: fall back to horizontal gradient across world_uv.x\n t_uv = clamp(uv.x, 0.0, 1.0);\n } else {\n // project vector with uv positon onto gradient vector to see "how far" is the pixel along the gradient line\n // len2 to tonalize\n t_uv = clamp(dot(uv - u.start, dir) / len2, 0.0, 1.0);\n }\n\n // Find lower/upper stops around t_uv using stop offsets\n let last_index = u.stops_count - 1u;\n var lower_t = -1.0;\n var lower_color = u.stops[0u].color;\n var upper_t = 2.0;\n var upper_color = u.stops[last_index].color;\n\n for (var i: u32 = 0u; i < u.stops_count; i = i + 1u) {\n let ti = clamp(u.stops[i].offset, 0.0, 1.0);\n if (ti <= t_uv && ti > lower_t) {\n lower_t = ti;\n lower_color = u.stops[i].color;\n }\n if (ti >= t_uv && ti < upper_t) {\n upper_t = ti;\n upper_color = u.stops[i].color;\n }\n }\n\n // Boundaries: if t is before the first stop or after the last stop\n if (lower_t < 0.0) {\n return upper_color; // before first stop\n }\n if (upper_t > 1.5) {\n return lower_color; // after last stop\n }\n\n // Interpolate between the two surrounding stops\n let denom = max(upper_t - lower_t, 1e-8);\n let a = clamp((t_uv - lower_t) / denom, 0.0, 1.0);\n return mix(lower_color, upper_color, a);\n}',f="struct Stop {\n color: vec4f,\n offset: f32,\n}\n\nstruct Uniform {\n dist_start: f32,\n dist_end: f32,\n stops_count: u32,\n radius_ratio: f32, // vertical radius / horizontal radius (to create ellipse)\n center: vec2f, // Center point of radial gradient\n destination: vec2f, // because we have scale, the angle between center an destination is visible in the gradient!\n stops: array<Stop, 10>,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniform;\n\nfn getColor(sdf: vec4f, world_uv: vec2f, uv: vec2f) -> vec4f {\n // Fallbacks\n if (u.stops_count == 0u) {\n return vec4f(1.0, 1.0, 1.0, 1.0);\n }\n if (u.stops_count == 1u) {\n return u.stops[0u].color;\n }\n\n // Calculate offset from center\n let offset = uv - u.center;\n \n // Vector from center to destination encodes major axis direction and length\n let dest_offset = u.destination - u.center;\n let hr = length(dest_offset);\n let inv_hr = 1.0 / max(hr, 1e-8);\n let inv_vr = inv_hr / max(u.radius_ratio, 1e-8);\n\n // Orthonormal basis aligned with gradient: u along destination, v perpendicular\n let u_dir = dest_offset * inv_hr; // normalized major axis\n let v_dir = vec2f(-u_dir.y, u_dir.x); // normalized minor axis\n\n // Project offset into this basis and normalize by radii\n let scaled_x = dot(offset, u_dir) * inv_hr; // == dot(offset, dest_offset) * inv_hr^2\n let scaled_y = dot(offset, v_dir) * inv_vr; // divide by vertical radius\n \n // Calculate normalized distance (0 at center, 1 at edge of ellipse)\n let normalized_dist = sqrt(scaled_x * scaled_x + scaled_y * scaled_y);\n let t_uv = clamp(normalized_dist, 0.0, 1.0);\n\n // Find lower/upper stops around t_uv using stop offsets\n let last_index = u.stops_count - 1u;\n var lower_t = -1.0;\n var lower_color = u.stops[0u].color;\n var upper_t = 2.0;\n var upper_color = u.stops[last_index].color;\n\n for (var i: u32 = 0u; i < u.stops_count; i = i + 1u) {\n let ti = clamp(u.stops[i].offset, 0.0, 1.0);\n if (ti <= t_uv && ti > lower_t) {\n lower_t = ti;\n lower_color = u.stops[i].color;\n }\n if (ti >= t_uv && ti < upper_t) {\n upper_t = ti;\n upper_color = u.stops[i].color;\n }\n }\n\n // Boundaries: if t is before the first stop or after the last stop\n if (lower_t < 0.0) {\n return upper_color; // before first stop\n }\n if (upper_t > 1.5) {\n return lower_color; // after last stop\n }\n\n // Interpolate between the two surrounding stops\n let denom = max(upper_t - lower_t, 1e-8);\n let a = clamp((t_uv - lower_t) / denom, 0.0, 1.0);\n return mix(lower_color, upper_color, a);\n}",h="const STRAIGHT_LINE_THRESHOLD = 1e10;\nconst EPSILON = 1e-10;\n\nstruct Vertex {\n @location(0) position: vec4f,\n @location(1) id: vec4u,\n};\n\nstruct Uniforms {\n dist_start: f32,\n dist_end: f32,\n};\n\n@group(0) @binding(0) var<uniform> camera_projection: mat4x4f;\n@group(0) @binding(1) var<uniform> u: Uniforms;\n@group(0) @binding(2) var texture: texture_storage_2d<rgba32float, read>;\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) uv: vec2f,\n @location(1) @interpolate(flat) id: vec4u\n};\n\n@vertex fn vs(vert: Vertex) -> VertexOutput {\n var out: VertexOutput;\n\n out.position = camera_projection * vec4f(vert.position.xy, 0.0, 1.0);\n out.id = vert.id;\n\n let size = textureDimensions(texture);\n out.uv = vert.position.zw * vec2f(size);\n\n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4u {\n let dist = textureLoad(texture, vec2u(in.uv)).r;\n\n if (dist > u.dist_start || dist < u.dist_end) {\n discard;\n }\n\n return in.id;\n}\n";const p="const STRAIGHT_LINE_THRESHOLD = 1e10;\nconst EPSILON = 1e-10;\nconst PI = 3.141592653589793;\n\nstruct CubicBezier {\n p0: vec2f,\n p1: vec2f,\n p2: vec2f,\n p3: vec2f,\n};\n\n@group(0) @binding(0) var tex: texture_storage_2d<rgba32float, write>;\n@group(0) @binding(1) var<storage, read> curves: array<vec2f>;\n\n@compute @workgroup_size(1) fn cs(\n @builtin(global_invocation_id) id : vec3u\n) {\n let pos = vec2f(id.xy) + vec2f(0.5, 0.5);\n let shape_info = evaluate_shape(pos);\n\n textureStore(tex, id.xy, vec4f(\n shape_info.signed_distance,\n shape_info.t,\n shape_info.angle,\n 1.0\n ));\n}\n\n\n// Evaluate cubic Bézier at parameter t\nfn bezier_point(curve: CubicBezier, t: f32) -> vec2f {\n let t2 = t * t;\n let t3 = t2 * t;\n let one_minus_t = 1.0 - t;\n let one_minus_t2 = one_minus_t * one_minus_t;\n let one_minus_t3 = one_minus_t2 * one_minus_t;\n \n return curve.p0 * one_minus_t3 + \n 3.0 * curve.p1 * t * one_minus_t2 + \n 3.0 * curve.p2 * t2 * one_minus_t + \n curve.p3 * t3;\n}\n\n// First derivative of cubic Bézier\nfn bezier_derivative(curve: CubicBezier, t: f32) -> vec2f {\n let one_minus_t = 1.0 - t;\n return 3.0 * one_minus_t * one_minus_t * (curve.p1 - curve.p0) +\n 6.0 * t * one_minus_t * (curve.p2 - curve.p1) +\n 3.0 * t * t * (curve.p3 - curve.p2);\n}\n\n// Second derivative of cubic Bézier\nfn bezier_second_derivative(curve: CubicBezier, t: f32) -> vec2f {\n return 6.0 * (1.0 - t) * (curve.p2 - 2.0 * curve.p1 + curve.p0) +\n 6.0 * t * (curve.p3 - 2.0 * curve.p2 + curve.p1);\n}\n\n// Find closest point on cubic Bézier curve to given point using analytical method\nfn closest_point_on_bezier(point: vec2f, curve: CubicBezier) -> f32 {\n // At the closest point, (P(t) - point) ⊥ P'(t)\n // This gives us: dot(P(t) - point, P'(t)) = 0\n // We can solve this quintic equation analytically or use Newton-Raphson\n \n // Start with a good initial guess using the control polygon\n var best_t = initial_guess_closest_point(point, curve);\n // if there is any weird artifact in the middle of the shape, then it's most likely because of initial guess!\n \n // Newton-Raphson to find exact solution\n for (var i = 0; i < 5; i++) {\n let curve_point = bezier_point(curve, best_t);\n let derivative = bezier_derivative(curve, best_t);\n let second_derivative = bezier_second_derivative(curve, best_t);\n \n let diff = curve_point - point;\n \n // f(t) = dot(P(t) - point, P'(t)) = 0\n let f = dot(diff, derivative);\n \n // f'(t) = dot(P'(t), P'(t)) + dot(P(t) - point, P''(t))\n let df = dot(derivative, derivative) + dot(diff, second_derivative);\n \n if (abs(df) < 1e-8) { break; }\n \n var new_t = best_t - f / df;\n \n // Clamp to valid range\n new_t = clamp(new_t, 0.0, 1.0);\n \n if (abs(new_t - best_t) < 1e-8) { break; }\n best_t = new_t;\n }\n \n return best_t;\n}\n\n// Get initial guess for closest point using hierarchical sampling\nfn initial_guess_closest_point(point: vec2f, curve: CubicBezier) -> f32 {\n // Stage 1: Coarse sampling to find approximate region\n var best_t = 0.0;\n var min_dist_sq = 1e10;\n \n let coarse_samples = 16; // More samples for better coverage\n for (var i = 0; i <= coarse_samples; i++) {\n let t = f32(i) / f32(coarse_samples);\n let curve_point = bezier_point(curve, t);\n let dist_sq = dot(curve_point - point, curve_point - point);\n \n if (dist_sq < min_dist_sq) {\n min_dist_sq = dist_sq;\n best_t = t;\n }\n }\n \n // Stage 2: Refine in the neighborhood of the best coarse sample\n let refine_range = 1.0 / f32(coarse_samples); // Search around ±one sample interval\n let t_min = max(0.0, best_t - refine_range);\n let t_max = min(1.0, best_t + refine_range);\n \n let fine_samples = 8;\n for (var i = 0; i <= fine_samples; i++) {\n let t = t_min + (t_max - t_min) * f32(i) / f32(fine_samples);\n let curve_point = bezier_point(curve, t);\n let dist_sq = dot(curve_point - point, curve_point - point);\n \n if (dist_sq < min_dist_sq) {\n min_dist_sq = dist_sq;\n best_t = t;\n }\n }\n \n return best_t;\n}\n\n// Project point onto line segment and return parameter [0,1]\nfn project_point_to_line_segment(point: vec2f, line_start: vec2f, line_end: vec2f) -> f32 {\n let line_vec = line_end - line_start;\n let point_vec = point - line_start;\n \n let line_length_sq = dot(line_vec, line_vec);\n \n if (line_length_sq < 1e-8) {\n return 0.0; // Degenerate line\n }\n \n let t = dot(point_vec, line_vec) / line_length_sq;\n return clamp(t, 0.0, 1.0);\n}\n\n// Calculate distance from point to line segment\nfn distance_to_line_segment(point: vec2f, line_start: vec2f, line_end: vec2f) -> f32 {\n let line_vec = line_end - line_start;\n let point_vec = point - line_start;\n \n let line_length_sq = dot(line_vec, line_vec);\n \n if (line_length_sq < 1e-8) {\n // Degenerate line - distance to start point\n return length(point_vec);\n }\n \n let t = dot(point_vec, line_vec) / line_length_sq;\n \n if (t <= 0.0) {\n // Closest point is the start of the line segment\n return length(point_vec);\n } else if (t >= 1.0) {\n // Closest point is the end of the line segment\n return length(point - line_end);\n } else {\n // Closest point is on the line segment\n let closest_point = line_start + t * line_vec;\n return length(point - closest_point);\n }\n}\n\n// Calculate winding number contribution from a line segment\nfn line_winding_contribution(point: vec2f, line_start: vec2f, line_end: vec2f) -> f32 {\n // Vector from query point to line endpoints\n let v1 = line_start - point;\n let v2 = line_end - point;\n \n // Skip if either point is very close to avoid numerical issues\n let dist1 = length(v1);\n let dist2 = length(v2);\n if (dist1 < 1e-6 || dist2 < 1e-6) {\n return 0.0;\n }\n \n // Normalize vectors\n let n1 = v1 / dist1;\n let n2 = v2 / dist2;\n \n // Calculate signed angle using atan2 for proper quadrant handling\n let cross_prod = n1.x * n2.y - n1.y * n2.x;\n let dot_prod = dot(n1, n2);\n \n // Use atan2 for proper quadrant handling\n let angle = atan2(cross_prod, dot_prod);\n \n return angle / (2.0 * 3.14159);\n}\n\n// Ray casting: count intersections of horizontal ray with curve\nfn ray_cast_curve_crossing(point: vec2f, curve: CubicBezier) -> i32 {\n // Quick Y-bounds check - if point is outside Y range, no intersection possible\n let y_min = min(min(curve.p0.y, curve.p1.y), min(curve.p2.y, curve.p3.y));\n let y_max = max(max(curve.p0.y, curve.p1.y), max(curve.p2.y, curve.p3.y));\n let x_min = max(max(curve.p0.x, curve.p1.x), max(curve.p2.x, curve.p3.x));\n \n if (point.y < y_min || point.y > y_max || point.x > x_min) {\n return 0;\n }\n \n // Sample the curve at regular intervals to find intersections\n var crossings = 0;\n let samples = 32; // Good balance between accuracy and performance\n \n for (var i = 0; i < samples; i++) {\n let t1 = f32(i) / f32(samples);\n let t2 = f32(i + 1) / f32(samples);\n \n let p1 = bezier_point(curve, t1);\n let p2 = bezier_point(curve, t2);\n \n // Check if this segment crosses the horizontal ray\n if (ray_crosses_segment(point, p1, p2)) {\n // Calculate the actual intersection X coordinate\n let intersection_x = get_ray_intersection_x(point.y, p1, p2);\n \n // Only count if intersection is to the right of the point\n if (intersection_x > point.x) {\n // Determine crossing direction for proper winding\n if (p1.y < point.y && p2.y >= point.y) {\n crossings += 1; // Upward crossing\n } else if (p1.y >= point.y && p2.y < point.y) {\n crossings -= 1; // Downward crossing\n }\n }\n }\n }\n \n return crossings;\n}\n\n// Check if horizontal ray from point crosses the line segment\nfn ray_crosses_segment(point: vec2f, p1: vec2f, p2: vec2f) -> bool {\n // Check if the segment crosses the horizontal line at point.y\n return (p1.y < point.y && p2.y >= point.y) || (p1.y >= point.y && p2.y < point.y);\n}\n\n// Calculate X coordinate where horizontal ray intersects line segment\nfn get_ray_intersection_x(ray_y: f32, p1: vec2f, p2: vec2f) -> f32 {\n if (abs(p2.y - p1.y) < 1e-8) {\n // Horizontal line - return leftmost X\n return min(p1.x, p2.x);\n }\n \n // Linear interpolation to find intersection X\n let t = (ray_y - p1.y) / (p2.y - p1.y);\n return p1.x + t * (p2.x - p1.x);\n}\n\n// Helper function: distance from point to line (for flatness test)\nfn distance_point_to_line(point: vec2f, line_start: vec2f, line_end: vec2f) -> f32 {\n let line_vec = line_end - line_start;\n let point_vec = point - line_start;\n \n let line_length_sq = dot(line_vec, line_vec);\n if (line_length_sq < 1e-8) {\n return length(point_vec);\n }\n \n let t = dot(point_vec, line_vec) / line_length_sq;\n let closest = line_start + clamp(t, 0.0, 1.0) * line_vec;\n return length(point - closest);\n}\n\nstruct ShapeInfo {\n signed_distance: f32,\n t: f32,\n angle: f32\n}\n\n// Main shape evaluation function using SDF approach with ray casting\nfn evaluate_shape(point: vec2f) -> ShapeInfo {\n var total_crossings: i32 = 0;\n var closest_curve_idx = 0u;\n var closest_t = 0.0;\n var min_distance: f32 = 1e+10;\n\n // For each curve, find closest point and count ray crossings\n let num_curves = arrayLength(&curves) / 4;\n for (var i = 0u; i < num_curves; i++) {\n let curve = CubicBezier(\n curves[i * 4 + 0],\n curves[i * 4 + 1],\n curves[i * 4 + 2],\n curves[i * 4 + 3]\n );\n\n // Check if this is a straight line,\n // we could check also p2, but at this point we should receive only\n // straight line on both handles, not a case for just one straight handle,\n // those are changed to have sibling cp value\n let is_straight_line = curve.p1.x > STRAIGHT_LINE_THRESHOLD;\n // let is_straight_line = curve.p1.x > STRAIGHT_LINE_THRESHOLD && curve.p2.x > STRAIGHT_LINE_THRESHOLD;\n\n\n if (is_straight_line) {\n // Handle as straight line from p0 to p3\n // if (u.stroke_width >= EPSILON) {\n let distance = distance_to_line_segment(point, curve.p0, curve.p3);\n // }\n if (distance < min_distance) {\n closest_curve_idx = i;\n closest_t = project_point_to_line_segment(point, curve.p0, curve.p3);\n min_distance = distance;\n }\n \n // Simple ray casting for line segment\n if (ray_crosses_segment(point, curve.p0, curve.p3)) {\n let intersection_x = get_ray_intersection_x(point.y, curve.p0, curve.p3);\n if (intersection_x > point.x) {\n if (curve.p0.y < point.y && curve.p3.y >= point.y) {\n total_crossings += 1; // Upward crossing\n } else if (curve.p0.y >= point.y && curve.p3.y < point.y) {\n total_crossings -= 1; // Downward crossing\n }\n }\n }\n } else {\n // Handle as normal cubic Bézier curve\n\n // if (u.stroke_width >= EPSILON) {\n let t = closest_point_on_bezier(point, curve);\n let closest_point = bezier_point(curve, t);\n let distance = length(point - closest_point);\n if (distance < min_distance) {\n closest_curve_idx = i;\n closest_t = t;\n min_distance = distance;\n }\n // }\n \n // Ray casting for curve\n total_crossings += ray_cast_curve_crossing(point, curve);\n }\n \n // min_distance = min(min_distance, distance);\n }\n\n var curve = CubicBezier(\n curves[closest_curve_idx * 4 + 0],\n curves[closest_curve_idx * 4 + 1],\n curves[closest_curve_idx * 4 + 2],\n curves[closest_curve_idx * 4 + 3]\n );\n\n // handling straight line case\n if (curve.p1.x > STRAIGHT_LINE_THRESHOLD) {\n curve.p1 = curve.p0;\n curve.p2 = curve.p3;\n }\n\n let closest_point = bezier_point(curve, closest_t);\n let angle = PI + atan2(point.y - closest_point.y, point.x - closest_point.x);\n \n // Determine if point is inside using odd-even rule (ray casting)\n // Count total crossings and check if odd\n let crossing_count = abs(total_crossings);\n let is_inside = (crossing_count % 2) == 1;\n let signed_dist = select(-min_distance, min_distance, is_inside);\n // let pixel_gradient = fwidth(signed_dist);\n \n // Anti-aliased fill (negative distance = inside)\n // let fill_alpha = smoothstep(pixel_gradient, -pixel_gradient, signed_dist);\n \n // Anti-aliased stroke (based on distance to curve boundary)\n // let stroke_half_width = u.stroke_width * 0.5;\n // let stroke_alpha = smoothstep(stroke_half_width + pixel_gradient, stroke_half_width - pixel_gradient, abs(signed_dist));\n return ShapeInfo(signed_dist, f32(closest_curve_idx) + closest_t, angle);\n}";const y="struct Uniform {\n placement_start: vec2f,\n placement_size: vec2f,\n};\n\n@group(0) @binding(0) var destination_tex: texture_storage_2d<rgba32float, write>;\n@group(0) @binding(1) var source_tex: texture_storage_2d<rgba32float, read>;\n@group(0) @binding(2) var depth_tex: texture_storage_2d<r32float, read_write>;\n@group(0) @binding(3) var<uniform> u: Uniform;\n\n@compute @workgroup_size(1) fn cs(\n @builtin(global_invocation_id) id : vec3u\n) {\n let texel_pos = vec2f(id.xy) + vec2f(0.5);\n\n let dest_pos = vec2i(u.placement_start + texel_pos);\n if (any(dest_pos < vec2i(0)) || any(dest_pos >= vec2i(textureDimensions(destination_tex)))) {\n return;\n }\n\n let ratio_source_tex_to_placement = vec2f(textureDimensions(source_tex)) / u.placement_size; // texture doesn't to be same size as placement_size!\n let depth = textureLoad(depth_tex, dest_pos).r;\n let source_texel = getSample(texel_pos * ratio_source_tex_to_placement);\n let scaled_dist = source_texel.r / ratio_source_tex_to_placement.x; // we assume all sizes keeps their ratio width / height, so we can use .x or .y here\n\n if (scaled_dist > depth){\n textureStore(destination_tex, dest_pos, vec4f(scaled_dist, source_texel.g, source_texel.b, source_texel.a));\n textureStore(depth_tex, dest_pos, vec4f(scaled_dist));\n }\n}\n\nfn getSample(pos: vec2f) -> vec4f {\n let floor_pos = floor(pos - 0.5);\n let fract_pos = (pos - 0.5) - floor_pos;\n\n let p00 = vec2u(floor_pos);\n let p10 = vec2u(floor_pos + vec2f(1.0, 0.0));\n let p01 = vec2u(floor_pos + vec2f(0.0, 1.0));\n let p11 = vec2u(floor_pos + vec2f(1.0, 1.0));\n\n let c00 = textureLoad(source_tex, p00);\n let c10 = textureLoad(source_tex, p10);\n let c01 = textureLoad(source_tex, p01);\n let c11 = textureLoad(source_tex, p11);\n\n let top = mix(c00, c10, fract_pos.x);\n let bottom = mix(c01, c11, fract_pos.x);\n\n return mix(top, bottom, fract_pos.y);\n}";const d="@group(0) @binding(0) var texture: texture_storage_2d<r32float, write>;\n\n@compute @workgroup_size(1)\nfn main(@builtin(global_invocation_id) id: vec3u) {\n textureStore(texture, id.xy, vec4f(-3.402823466e+38));\n}";const m="@group(0) @binding(0) var texture: texture_storage_2d<rgba32float, write>;\n\n@compute @workgroup_size(1)\nfn main(@builtin(global_invocation_id) id: vec3u) {\n textureStore(texture, id.xy, vec4f(-3.402823466e+38));\n}";let b,D,S,w,v,k,x,U,N,G,F,M,R;const L={buffer:null};let z,q=[];function J(A){q.push(A)}function O(){q.forEach((A=>A.destroy())),q=[]}function K(A,e){L.buffer=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),z=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),b=function(A,e){const t=A.createShaderModule({label:"draw triangle module",code:i}),r=A.createRenderPipeline({label:"draw triangle pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4*n,stepMode:"instance",attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x4"},{shaderLocation:2,offset:32,format:"float32x4"},{shaderLocation:3,offset:48,format:"unorm8x4"},{shaderLocation:4,offset:52,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}}),s=A.createBindGroup({layout:r.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:L.buffer}}]});return function(e,t){const i=t.byteLength/(4*n),a=A.createBuffer({label:"draw triangle - vertex buffer",size:t.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(a,0,t),J(a),e.setPipeline(r),e.setVertexBuffer(0,a),e.setBindGroup(0,s),e.draw(3,i)}}(A,e),D=function(A,e){const t=A.createShaderModule({label:"blur shader module",code:r.replace("{presentationFormat}",e)}),i=A.createComputePipeline({layout:"auto",compute:{module:t,entryPoint:"main"}}),n=A.createSampler({magFilter:"linear",minFilter:"linear"});return function(e,t,r,o,g,I,C){const Q=A.createBuffer({size:16,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM}),c=A.createBuffer({size:16,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM}),B=[A.createTexture({label:"draw blur swap texture",size:{width:t.width,height:t.height},format:t.format,usage:GPUTextureUsage.STORAGE_BINDING|GPUTextureUsage.TEXTURE_BINDING}),t],l=A.createBindGroup({layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:n},{binding:1,resource:{buffer:Q}},{binding:2,resource:B[1].createView()},{binding:3,resource:B[0].createView()}]}),E=A.createBindGroup({layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:n},{binding:1,resource:{buffer:c}},{binding:2,resource:B[0].createView()},{binding:3,resource:B[1].createView()}]}),u=Math.max(1,s-(o-1)),f=Math.max(1,s-(g-1)),h=new DataView(new ArrayBuffer(16));h.setInt32(0,o,!0),h.setUint32(4,u,!0),h.setFloat32(8,I,!0),h.setUint32(12,0,!0);const p=new DataView(new ArrayBuffer(16));p.setInt32(0,g,!0),p.setUint32(4,f,!0),p.setFloat32(8,C,!0),p.setUint32(12,1,!0),A.queue.writeBuffer(Q,0,h),A.queue.writeBuffer(c,0,p);const y=e.beginComputePass({label:"blur-pass"});y.setPipeline(i);for(let A=0;A<r;++A)y.setBindGroup(0,l),y.dispatchWorkgroups(Math.ceil(t.width/u),Math.ceil(t.height/a[1])),y.setBindGroup(0,E),y.dispatchWorkgroups(Math.ceil(t.height/f),Math.ceil(t.width/a[1]));y.end(),J(B[0]),J(Q),J(c)}}(A,e),S=function(A,e){const t=A.createShaderModule({label:"draw texture module",code:o}),i=A.createSampler({minFilter:"linear",magFilter:"linear"}),n=A.createRenderPipeline({label:"draw texture pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:g,attributes:[{shaderLocation:0,offset:0,format:"float32x4"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}}),r=new WeakMap;return function(e,t,s){const a=t.byteLength/g,o=A.createBuffer({label:"draw texture - vertex buffer",size:t.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(o,0,t);let I=r.get(s);I||(I=A.createBindGroup({layout:n.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:L.buffer}},{binding:1,resource:i},{binding:2,resource:s.createView()}]}),r.set(s,I)),e.setPipeline(n),e.setVertexBuffer(0,o),e.setBindGroup(0,I),e.draw(a)}}(A,e),w=function(A,e){const t=A.createShaderModule({label:"pick texture module",code:I}),i=A.createSampler({minFilter:"linear",magFilter:"linear"}),n=A.createRenderPipeline({label:"pick texture pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:C,attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"uint32x4"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:"rgba32uint"}]}}),r=new WeakMap;return function(t,s,a){const o=s.byteLength/C,g=A.createBuffer({label:"pick texture - vertex buffer",size:s.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(g,0,s);let I=r.get(a);I||(I=A.createBindGroup({layout:n.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:e}},{binding:1,resource:i},{binding:2,resource:a.createView()}]}),r.set(a,I)),t.setPipeline(n),t.setVertexBuffer(0,g),t.setBindGroup(0,I),t.draw(o)}}(A,z),v=function(A,e){const t=A.createShaderModule({label:"pick triangle module",code:Q}),i=A.createRenderPipeline({label:"pick triangle pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4*c,stepMode:"instance",attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x4"},{shaderLocation:2,offset:32,format:"float32x4"},{shaderLocation:3,offset:48,format:"uint32x4"},{shaderLocation:4,offset:64,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:"rgba32uint"}]}});let n=null;return function(t,r){const s=r.byteLength/(4*c),a=A.createBuffer({label:"pick triangle vertex buffer vertices",size:r.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(a,0,r),n||(n=A.createBindGroup({layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:e}}]})),t.setPipeline(i),t.setVertexBuffer(0,a),t.setBindGroup(0,n),t.draw(3,s)}}(A,z),k=l(A,e,E,8),x=l(A,e,u,88),U=l(A,e,f,88),N=function(A,e){const t=A.createShaderModule({label:"pickShape shader",code:h}),i=A.createRenderPipeline({label:"pickShape pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:32,attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"uint32x4"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:"rgba32uint"}]}});return function(t,n,r,s){const a=n.byteLength/32,o=A.createBuffer({label:"drawShape uniforms",size:r.byteLength,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(o,0,r),J(o);const g=A.createBuffer({label:"pick texture - vertex buffer",size:n.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(g,0,n),J(g);const I=A.createBindGroup({layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:e}},{binding:1,resource:{buffer:o}},{binding:2,resource:s.createView()}]});t.setPipeline(i),t.setVertexBuffer(0,g),t.setBindGroup(0,I),t.draw(a)}}(A,z),G=function(A){const e=A.createShaderModule({label:"computeShape shader",code:p}),t=A.createComputePipeline({label:"computeShape pipeline",layout:"auto",compute:{module:e}});return function(e,i,n){const r=A.createBuffer({label:"computeShape curves buffer",size:i.byteLength,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(r,0,i),J(r),e.setPipeline(t);const s=A.createBindGroup({layout:t.getBindGroupLayout(0),entries:[{binding:0,resource:n.createView()},{binding:1,resource:{buffer:r}}]});e.setBindGroup(0,s),e.dispatchWorkgroups(n.width,n.height)}}(A),F=function(A){const e=A.createShaderModule({label:"combineSdf shader",code:y}),t=A.createComputePipeline({label:"combineSdf pipeline",layout:"auto",compute:{module:e}});return function(e,i,n,r,s){const a=A.createBuffer({label:"combine sdf uniform buffer",size:s.byteLength,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(a,0,s),J(a),e.setPipeline(t);const o=A.createBindGroup({layout:t.getBindGroupLayout(0),entries:[{binding:0,resource:i.createView()},{binding:1,resource:n.createView()},{binding:2,resource:r.createView()},{binding:3,resource:{buffer:a}}]});e.setBindGroup(0,o);const g=s.getFloat32(8,!0),I=s.getFloat32(12,!0);e.dispatchWorkgroups(g,I)}}(A),M=function(A){const e=A.createShaderModule({label:"fill texture with max float shader module",code:d}),t=A.createComputePipeline({layout:"auto",compute:{module:e}});return function(e,i){const n=A.createBindGroup({layout:t.getBindGroupLayout(0),entries:[{binding:0,resource:i.createView()}]});e.setPipeline(t),e.setBindGroup(0,n),e.dispatchWorkgroups(i.width,i.height)}}(A),R=function(A){const e=A.createShaderModule({label:"fill texture with max float shader module",code:m}),t=A.createComputePipeline({layout:"auto",compute:{module:e}});return function(e,i){const n=A.createBindGroup({layout:t.getBindGroupLayout(0),entries:[{binding:0,resource:i.createView()}]});e.setPipeline(t),e.setBindGroup(0,n),e.dispatchWorkgroups(i.width,i.height)}}(A)}},3438:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{w:()=>C,z:()=>Q});var n=t(688),r=t(2842),s=t(2633),a=t(4302),o=t(238),g=A([s,a]);[s,a]=g.then?(await g)():g;let I=()=>{throw new Error("Cache not started")};function C(){I()}function Q(A,e,t,i,g,C){const Q=i.max_x-i.min_x,c=i.max_y-i.min_y,B=a.yE(t,g,C),l={label:"texture cache pass",colorAttachments:[{view:(0,o.A)(A,g,C,B.format).createView(),resolveTarget:B.createView(),loadOp:"clear",storeOp:"store"}]},E=e.beginRenderPass(l);(0,s.H)(E);const u=A.createBuffer({label:"texture cache - matrix buffer",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),f=r.A.ortho(i.min_x,i.min_x+Q,i.min_y+c,i.min_y,1,-1);A.queue.writeBuffer(u,0,f);const h=n.IP.buffer;n.IP.buffer=u,I=()=>{E.end(),n.IP.buffer=h,(0,n.nj)(u)},a.Uw(t,B)}i()}catch(c){i(c)}}))},5270:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{Al:()=>B,DP:()=>l,rU:()=>E});var n=t(191),r=t(945),s=t(5671),a=t(4302),o=t(9146),g=A([a,o]);[a,o]=g.then?(await g)():g;var I=function(A,e,t,i){return new(t||(t=Promise))((function(n,r){function s(A){try{o(i.next(A))}catch(A){r(A)}}function a(A){try{o(i.throw(A))}catch(A){r(A)}}function o(A){var e;A.done?n(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(s,a)}o((i=i.apply(A,e||[])).next())}))};const C=250,Q=10;let c;function B(){return I(this,void 0,void 0,(function*(){try{const A=fetch(n).then((A=>A.arrayBuffer()));c=r.Ay.parse(yield A)}catch(A){console.error("Failed to load font",A)}}))}function l(A,e){const t=String.fromCharCode(A),i=String.fromCharCode(e),n=c.charToGlyph(t),r=c.charToGlyph(i);return c.getKerningValue(n,r)/c.unitsPerEm}function E(A,e){var t;const i=String.fromCharCode(e),n=c.getPath(i,0,0,1),r=n.toPathData(5),g=(0,s.A)(r),I=[],{x1:B,x2:l,y1:E,y2:u}=n.getBoundingBox();g.forEach((A=>{for(let e=0;e<A.length;e+=3){const t=A.slice(e,e+4).map((A=>({x:A.x-B,y:-(A.y-u)})));I.push(...t)}I.splice(-1)}));let f=l-B;if(0===f){f=(null!==(t=c.charToGlyph(" ").advanceWidth)&&void 0!==t?t:C)/c.unitsPerEm}e==Q&&(f=0);const h=new o.V9({x:B,y:-u,width:f,height:-E- -u,sdf_texture_id:I.length>0?a.CW():null});return h.setPaths(I),h}i()}catch(u){i(u)}}))},4461:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>a});var n=t(2842),r=t(4109),s=A([r]);function a(A){const e=n.A.ortho(0,A.width,0,A.height,1,-1),t=n.A.translate(e,[r.UI.x,r.UI.y,0]);return n.A.scale(t,[r.UI.zoom,r.UI.zoom,1])}r=(s.then?(await s)():s)[0],i()}catch(o){i(o)}}))},9753:(A,e,t)=>{t.d(e,{A:()=>s,L:()=>r});var i=t(238);let n;function r(){null==n||n.destroy(),n=void 0}function s(A,e){const t=A.getCurrentTexture();n=(0,i.A)(e,t.width,t.height,t.format,n);return{label:"our render to canvas renderPass",colorAttachments:[{view:n.createView({label:"multisample texture view"}),resolveTarget:t.createView({label:"canvas texture view"}),clearValue:[0,0,0,1],loadOp:"clear",storeOp:"store"}]}}},238:(A,e,t)=>{function i(A,e,t,i,n){return n&&n.width===e&&n.height===t||(null==n||n.destroy(),n=A.createTexture({label:"multisample texture",format:i,usage:GPUTextureUsage.RENDER_ATTACHMENT,size:[e,t],sampleCount:4})),n}t.d(e,{A:()=>i})},8156:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>m,b:()=>u.b});var n=t(214),r=t(1911),s=t(688),a=t(2633),o=t(9146),g=t(4109),I=t(7846),C=t(4302),Q=t(3012),c=t(7608),B=t(9104),l=t(8513),E=t(5270),u=t(1613),f=t(9753),h=t(1317),p=A([a,o,g,C,c,l,E,h]);[a,o,g,C,c,l,E,h]=p.then?(await p)():p;var y=function(A,e,t,i){return new(t||(t=Promise))((function(n,r){function s(A){try{o(i.next(A))}catch(A){r(A)}}function a(A){try{o(i.throw(A))}catch(A){r(A)}}function o(A){var e;A.done?n(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(s,a)}o((i=i.apply(A,e||[])).next())}))};const d=0;function m(A,e,t,i,B,u,p,m,S){return y(this,void 0,void 0,(function*(){let w=0,v=!1,k={width:A,height:e,assets:[]};function x(){p(w>0||v)}let U=!1;const{device:N,presentationFormat:G,storageFormat:F}=yield(0,r.A)();o.Ws(k.width,k.height,N.limits.maxTextureDimension2D,N.limits.maxBufferSize),C.Ts(N,G,F,(A=>{w=A,x(),q()}));const M=t.getContext("webgpu");if(!M)throw Error("WebGPU from canvas needs to be always provided");function R(){o.a3(t.width/(t.clientWidth*g.UI.zoom))}M.configure({device:N,format:G});let L=!1;(0,n.A)(t,N,(()=>{L||((0,h.A)(k.width,k.height,"fit",t,30),L=!0),R()})),(0,s.Ay)(N,G),(0,g.Ay)(t,R,(()=>{v=!0,x()}));const z=(0,Q.A)((()=>{U||w>0||(0,c.A)(N,G,t,k.width,k.height,t.width/t.clientWidth,K,m)}),5e3),q=()=>{0===w&&z()};function J(A){const e=k.assets.map((A=>{var e,t;if("img"in A&&A.img){const e=A.img;return{id:e.id,texture_id:e.texture_id,bounds:b([...e.bounds]),url:C.ID(e.texture_id)}}if("shape"in A&&A.shape){const e=A.shape;if(!e.bounds)throw Error("Shape bounds are missing in asset with id: "+e.id);return{id:e.id,paths:[...e.paths].map((A=>[...A].map((A=>({x:A.x,y:A.y}))))),bounds:b([...e.bounds]),props:D(e.props),sdf_texture_id:e.sdf_texture_id,cache_texture_id:e.cache_texture_id}}if("text"in A&&A.text)return{id:A.text.id,content:null!==(e=A.text.content)&&void 0!==e?e:"",bounds:b([...A.text.bounds]),typo_props:(t=A.text.typo_props,{font_size:t.font_size,line_height:t.line_height,is_sdf_shared:t.is_sdf_shared}),props:D(A.text.props),sdf_texture_id:A.text.sdf_texture_id};throw Error("Unknown asset type")}));B(Object.assign(Object.assign({},k),{assets:e}),A),A&&q()}o.qN(((A,e)=>{k={width:A.width,height:A.height,assets:[...A.assets]},J(e)})),E.Al(),o.JQ((A=>u([...A]))),o.Zr(C.CW,C.qD),o.el(l.sS,l.b8,l.le,l.c6,E.rU,E.DP),o.Mv(S);const{stopRAF:O,capturePreview:K}=(0,a.A)(t,M,N,(()=>{v=!1,x()}));return{addImage:A=>{const e=C.WQ(A,(({width:t,height:n,isNewTexture:r,shapeAssets:s,error:a})=>{if(a)throw a;if(s)return void o.x7(Object.assign(Object.assign({},k),{assets:[...k.assets,...s]}),!0);const g={img:{id:d,bounds:(0,I.A)(t,n,k.width,k.height),texture_id:e}};o.x7(Object.assign(Object.assign({},k),{assets:[...k.assets,g]}),!0),r&&i(A,(A=>{C.Kg(e,A),J(!0)}))}))},removeAsset:o.Vx,setSnapshot:(A,e)=>y(this,void 0,void 0,(function*(){const t=yield Promise.allSettled(A.assets.map((A=>new Promise(((e,t)=>{if("paths"in A)return e({shape:{id:A.id||d,paths:A.paths,props:A.props,bounds:A.bounds,sdf_texture_id:A.sdf_texture_id||C.CW(),cache_texture_id:A.cache_texture_id||null}});if("content"in A)return e({text:{id:A.id||d,content:A.content,bounds:A.bounds,typo_props:A.typo_props,props:A.props,sdf_texture_id:A.sdf_texture_id}});if(A.bounds)return e({img:{id:A.id||d,bounds:A.bounds,texture_id:A.texture_id||C.WQ(A.url)}});const n=C.WQ(A.url,(({width:r,height:s,isNewTexture:a,shapeAssets:o,error:g})=>g?t(g):o?e(o):(a&&i(A.url,(A=>{C.Kg(n,A),J(!0)})),e({img:{id:d,bounds:(0,I.A)(r,s,k.width,k.height),texture_id:n}}))))})))));t.filter((A=>"rejected"===A.status)).forEach((A=>{console.error(A.reason)}));const n=t.filter((A=>"fulfilled"===A.status)).flatMap((A=>Array.isArray(A.value)?[...A.value]:[A.value]));o.x7(Object.assign(Object.assign({},A),{assets:n}),e),q()})),destroy:()=>{U=!0,O(),o.ZE(),M.unconfigure(),(0,f.L)(),N.destroy()},setTool:A=>{S(A),o.tE(A)},updateAssetProps:o.Er,updateAssetBounds:o.Hg}}))}function b(A){return A.map((A=>({x:A.x,y:A.y,u:A.u,v:A.v})))}function D(A){var e;return{sdf_effects:[...A.sdf_effects].map((A=>({dist_start:A.dist_start,dist_end:A.dist_end,fill:(0,B.A)(A.fill)}))),filter:(null===(e=A.filter)||void 0===e?void 0:e.gaussianBlur)?{gaussianBlur:{x:A.filter.gaussianBlur.x,y:A.filter.gaussianBlur.y}}:null,opacity:A.opacity}}i()}catch(S){i(S)}}))},9105:(A,e,t)=>{function i(A,e,t,i,n){const r=A.createTexture({label:"manually crafted texture",size:[i,n],format:e,usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST});return A.queue.writeTexture({texture:r},t,{bytesPerRow:4*i},{width:i,height:n}),r}function n(A,e){const t=[255,0,0,255],n=[255,255,0,255];return i(A,e,new Uint8Array([[0,0,255,255],t,t,t,t,t,n,n,n,t,t,n,t,t,t,t,n,n,t,t,t,n,t,t,t,t,n,t,t,t,t,t,t,t,t].flat()),5,7)}function r(A,e){const t=[0,0,0,255],n=[255,0,0,255];return i(A,e,new Uint8Array([t,t,t,t,t,t,n,t,n,t,t,n,t,n,t,t,t,n,t,t,t,n,t,n,t,t,n,t,n,t,t,t,t,t,t].flat()),5,7)}t.d(e,{o:()=>r,s:()=>n})},4109:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{Ay:()=>B,UI:()=>Q,Wn:()=>c});var n=t(9146),r=t(6253),s=t(8513),a=A([n,s]);[n,s]=a.then?(await a)():a;const g=-1;var o;!function(A){A[A.Pan=0]="Pan",A[A.Zoom=1]="Zoom",A[A.None=2]="None"}(o||(o={}));let I=o.None,C=null;const Q={x:0,y:0,zoom:1},c={x:0,y:0,afterPickEventsQueue:[]};function B(A,e,t){function i(){return[(c.x-Q.x)/Q.zoom,(A.height-c.y-Q.y)/Q.zoom]}function a(e){const t=A.getBoundingClientRect(),i=A.width/t.width;c.x=(e.clientX-t.left)*i,c.y=(e.clientY-t.top)*i}function B(t,i,n){const s=Q.zoom;Q.zoom=(0,r.A)(Q.zoom+t,.1,20),e();const a=Q.zoom/s;Q.x=i-(i-Q.x)*a;const o=A.height-n;Q.y=o-(o-Q.y)*a}function l(t){const i=Q.zoom;Q.zoom=(0,r.A)(Q.zoom-.005*t,.1,20),e();const n=Q.zoom/i;Q.x=c.x-(c.x-Q.x)*n;const s=A.height-c.y;Q.y=s-(s-Q.y)*n}c.x=g,c.y=g,A.addEventListener("mouseleave",(()=>{t(),A.style.cursor="default";const e=()=>{c.x=g,c.y=g,n.YF()};c.afterPickEventsQueue.length>0?c.afterPickEventsQueue.push({requireNewPick:!1,cb:e}):e()})),A.addEventListener("dblclick",(()=>{n.kl()})),A.addEventListener("mousemove",(A=>{if(C)return a(A),Q.x=c.x-C.x,void(Q.y=-(c.y-C.y));t();const e=()=>{a(A),n.us(...i())};c.afterPickEventsQueue.length>0?c.afterPickEventsQueue.push({requireNewPick:!1,cb:e}):e()})),A.addEventListener("mousedown",(e=>{if(I===o.Pan)return a(e),C={x:c.x-Q.x,y:c.y+Q.y},void(A.style.cursor="grabbing");C=null,t(),a(e),c.afterPickEventsQueue.push({requireNewPick:!0,cb:n.po.bind(null,...i())})})),A.addEventListener("mouseup",(()=>{I=o.None,C=null,A.style.cursor="default",t(),c.afterPickEventsQueue.length>0?c.afterPickEventsQueue.push({requireNewPick:!1,cb:n.cV}):n.cV()})),A.addEventListener("wheel",(A=>{if(a(A),A.preventDefault(),I===o.Zoom){l(Math.abs(A.deltaY)>Math.abs(A.deltaX)?A.deltaY:-A.deltaX)}else A.ctrlKey?l(A.deltaY*Q.zoom):(Q.x-=A.deltaX,Q.y+=A.deltaY)})),document.body.addEventListener("keydown",(e=>{const t=e.ctrlKey||"AltLeft"===e.code||"AltRight"===e.code;if(!s.Ol()||t)switch(e.key){case" ":e.preventDefault(),I!==o.Pan&&(A.style.cursor="grab",I=o.Pan);break;case"Alt":e.preventDefault(),I=o.Zoom;break;case"Escape":e.preventDefault(),n.PT();break;case"=":if(e.ctrlKey||e.metaKey){e.preventDefault();B(.1,c.x!==g?c.x:A.width/2,c.y!==g?c.y:A.height/2)}break;case"-":if(e.ctrlKey||e.metaKey||e.shiftKey){e.preventDefault();B(-.1,c.x!==g?c.x:A.width/2,c.y!==g?c.y:A.height/2)}}})),document.body.addEventListener("keyup",(e=>{" "!==e.key&&"Alt"!==e.key||(I=o.None)," "===e.key&&null===C&&(A.style.cursor="default")}))}i()}catch(l){i(l)}}))},2633:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>l,H:()=>B});var n=t(9753),r=t(688),s=t(4461),a=t(2872),o=t(9146),g=t(4109),I=t(4302),C=t(3438),Q=A([s,a,o,g,I,C]);let c;function B(A){c=A}function l(A,e,t,i){let Q,B,l;const E=new a.A(t);o.XO(I.Eb,((A,e,i,n)=>{(0,C.z)(t,l,A,e,i,n)}),C.w),o.wV({draw_texture:(A,e)=>{(0,r._J)(c,A.dataView,I.bS(e))},draw_triangle:A=>{const e=A["*"].dataView;(0,r.D4)(c,e)},compute_shape:(A,e,t,i)=>{const n=A["*"].dataView;I.yo(i,e,t),(0,r.DS)(B,n,I.Mc(i))},clear_sdf:(A,e,t,i)=>{I.yo(A,t,i),I.yo(e,t,i),(0,r.RW)(B,I.Mc(A)),(0,r.ym)(B,I.Mc(e))},combine_sdf:(A,e,t,i)=>{(0,r.bB)(B,I.Mc(A),I.Mc(e),I.Mc(t),i.dataView)},draw_blur:(A,e,t,i,n,s)=>{(0,r.oQ)(l,I.Mc(A),e,t,i,n,s)},draw_shape:(A,e,t)=>{let i,n;if("linear"in e&&e.linear)i=r.Jl,n=e.linear;else if("radial"in e&&e.radial)i=r.np,n=e.radial;else{if(!("solid"in e)||!e.solid)throw Error("Unsupported shape uniform type");i=r.H,n=e.solid}const s=A["*"].dataView;i(c,I.Mc(t),s,n.dataView)},pick_texture:(A,e)=>{const t=A["*"].dataView;(0,r.Fh)(Q,t,I.bS(e))},pick_shape:(A,e,t)=>{(0,r.Zo)(Q,A["*"].dataView,e.dataView,I.Mc(t))},pick_triangle:A=>{const e=A["*"].dataView;(0,r.Q3)(Q,e)}});let u=0;const f={x:0,y:0};function h(a,I){o.io(a),l=t.createCommandEncoder({label:"draw canvas main encoder"}),B=l.beginComputePass(),o.Gl(),B.end(),o.Wp();const C=(0,n.A)(I||e,t);c=l.beginRenderPass(C);const p=(0,s.A)((null==I?void 0:I.canvas)||A);if(t.queue.writeBuffer(r.IP.buffer,0,p),o.LI(!!I),c.end(),I){const A=l.finish();return t.queue.submit([A]),void(0,r.zK)()}0===g.Wn.afterPickEventsQueue.length&&i();if(g.Wn.afterPickEventsQueue.length>0||f.x!==g.Wn.x||f.y!==g.Wn.y){f.x=g.Wn.x,f.y=g.Wn.y;const e=E.createMatrix(A,p);t.queue.writeBuffer(r.R9,0,e);const i=E.startPicking(l);Q=i.pass,o.aO(),i.end()}const y=l.finish();t.queue.submit([y]),(0,r.zK)(),E.asyncPick(),u=requestAnimationFrame(h)}function p(){cancelAnimationFrame(u)}l=t.createCommandEncoder({label:"prerender ui elements SDF"}),B=l.beginComputePass(),o.wH(),B.end(),t.queue.submit([l.finish()]),u=requestAnimationFrame(h);return{stopRAF:p,capturePreview:(A,e)=>{p(),h(performance.now(),A),e(),u=requestAnimationFrame(h)}}}[s,a,o,g,I,C]=Q.then?(await Q)():Q,i()}catch(E){i(E)}}))},9104:(A,e,t)=>{function i(A){if("solid"in A&&A.solid)return{solid:[...A.solid]};if("linear"in A&&A.linear)return{linear:{start:{x:A.linear.start.x,y:A.linear.start.y},end:{x:A.linear.end.x,y:A.linear.end.y},stops:[...A.linear.stops].map((A=>({offset:A.offset,color:[...A.color]})))}};if("radial"in A&&A.radial)return{radial:{center:{x:A.radial.center.x,y:A.radial.center.y},destination:{x:A.radial.destination.x,y:A.radial.destination.y},radius_ratio:A.radial.radius_ratio,stops:[...A.radial.stops].map((A=>({offset:A.offset,color:[...A.color]})))}};throw Error("Unknown fill type")}t.d(e,{A:()=>i})},6479:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>o});var n=t(9146),r=t(4302),s=t(8451),a=A([n,r]);function o(A,e,t){if(!t){const e=new s.I;A.forEach((A=>{e.addBox(A.boundingBox)})),t=e.max_y}A.forEach((({paths:A})=>{const i=A.map((A=>A.map((A=>({x:A.x,y:t-A.y})))));n.Iq(e,i,r.CW())}))}[n,r]=a.then?(await a)():a,i()}catch(g){i(g)}}))},8451:(A,e,t)=>{t.d(e,{I:()=>n,U:()=>o});var i=t(8103);class n{constructor(A){this.min_x=1/0,this.min_y=1/0,this.max_x=-1/0,this.max_y=-1/0,A&&A.forEach((A=>this.addPoint(A)))}addPoint(A){this.min_x=Math.min(this.min_x,A.x),this.min_y=Math.min(this.min_y,A.y),this.max_x=Math.max(this.max_x,A.x),this.max_y=Math.max(this.max_y,A.y)}addBox(A){this.min_x=Math.min(this.min_x,A.min_x),this.min_y=Math.min(this.min_y,A.min_y),this.max_x=Math.max(this.max_x,A.max_x),this.max_y=Math.max(this.max_y,A.max_y)}}function r(A,e,t){const i=1e-10;if(Math.abs(A)<i)return Math.abs(e)<i?[]:[-t/e];const n=e*e-4*A*t;if(n<-1e-10)return[];if(Math.abs(n)<i)return[-e/(2*A)];const r=Math.sqrt(n);return[(-e+r)/(2*A),(-e-r)/(2*A)]}function s(A,e,t,i,n){const r=A*A,s=1-A,a=s*s;return e*(a*s)+3*t*A*a+3*i*r*s+n*(r*A)}function a(A,e,t,i){let a=Math.min(A.x,i.x),o=Math.max(A.x,i.x),g=Math.min(A.y,i.y),I=Math.max(A.y,i.y);r(3*(-A.x+3*e.x-3*t.x+i.x),6*(A.x-2*e.x+t.x),3*(-A.x+e.x)).forEach((n=>{if(n>0&&n<1){const r=s(n,A.x,e.x,t.x,i.x);a=Math.min(a,r),o=Math.max(o,r)}}));r(3*(-A.y+3*e.y-3*t.y+i.y),6*(A.y-2*e.y+t.y),3*(-A.y+e.y)).forEach((n=>{if(n>0&&n<1){const r=s(n,A.y,e.y,t.y,i.y);g=Math.min(g,r),I=Math.max(I,r)}}));const C=new n;return C.min_x=a,C.min_y=g,C.max_x=o,C.max_y=I,C}function o(A){const e=new n;return A.forEach((A=>{const t=function(A){if(A.length<4)return new n(A);const e=A.length%3==0,t=new n,r=Math.floor((A.length-1)/3);for(let e=0;e<r;e++){const n=A[3*e],r=A[3*e+3],s=a(n,(0,i.te)(A[3*e+1])?n:A[3*e+1],(0,i.te)(A[3*e+2])?r:A[3*e+2],r);t.addBox(s)}if(e&&A.length>1){const e=A[A.length-3],n=A[0],r=a(e,(0,i.te)(A[A.length-2])?e:A[A.length-2],(0,i.te)(A[A.length-1])?n:A[A.length-1],n);t.addBox(r)}return t}(A);e.addBox(t)})),e}},678:(A,e,t)=>{t.d(e,{A:()=>o});var i=t(8451),n=t(8103);var r=t(8190);function s(A,e,t){const[i,n,r,s,a,o]=t;return{x:i*A+r*e+a,y:n*A+s*e+o}}function a(A,e,t=1){if("linear-gradient"!==A.type&&"radial-gradient"!==A.type)return console.error("toRuntimeGradient receive definition which is not a gradient!"),null;if(!A.stops)return console.error("Gradient without stops!",A),null;const i=A.stops.map((A=>Object.assign(Object.assign({},A),{color:[A.color[0]*t,A.color[1]*t,A.color[2]*t,A.color[3]*t]}))),r=A.gradientTransform||n.Pb;if("linear-gradient"===A.type){const t=(0,n.fV)(A.x1),a=(0,n.fV)(A.y1),o=(0,n.fV)(A.x2),g=(0,n.fV)(A.y2),I=s(t,a,r),C=s(o,g,r),Q=e.max_x-e.min_x,c=e.max_y-e.min_y;return I.x=(I.x-e.min_x)/Q,I.y=1-(I.y-e.min_y)/c,C.x=(C.x-e.min_x)/Q,C.y=1-(C.y-e.min_y)/c,{linear:{stops:i,start:I,end:C}}}if("radial-gradient"===A.type){const t=(0,n.fV)(A.cx,.5),a=(0,n.fV)(A.cy,.5),o=(0,n.fV)(A.r,.5),g=e.max_x-e.min_x,I=e.max_y-e.min_y,C=s(t,a,r),Q=s(t+o,a,r),c=s(t,a+o,r),B=A=>({x:(A.x-e.min_x)/Math.max(g,1e-8),y:1-(A.y-e.min_y)/Math.max(I,1e-8)}),l=B(C),E=B(Q),u=B(c),f={x:E.x-l.x,y:E.y-l.y},h={x:u.x-l.x,y:u.y-l.y},{destination:p,ratio:y}=function(A,e,t){const i=Math.hypot(e.x,e.y),n=Math.hypot(t.x,t.y);if(i<1e-8||n<1e-8){const t=Math.max(i,1e-8),r=i>1e-8?n/i:1;return{destination:{x:A.x+(e.x||1)*(t/(i||1)),y:A.y+(e.y||0)*(t/(i||1))},ratio:isFinite(r)?r:1}}const r=e.x*e.x+t.x*t.x,s=e.x*e.y+t.x*t.y,a=e.y*e.y+t.y*t.y,o=r+a,g=r*a-s*s,I=Math.sqrt(Math.max(0,o*o*.25-g)),C=.5*o+I,Q=.5*o-I,c=Math.sqrt(Math.max(C,0)),B=Math.sqrt(Math.max(Q,0));let l=0,E=0;Math.abs(s)>1e-8||Math.abs(C-r)>1e-8?Math.abs(s)>Math.abs(C-r)?(l=1,E=(C-r)/(s||1e-12)):(l=(s||1e-12)/(C-r||1e-12),E=1):(l=1,E=0);const u=Math.hypot(l,E)||1;return l/=u,E/=u,{destination:{x:A.x+l*c,y:A.y+E*c},ratio:c>1e-8?B/c:1}}(l,f,h);return{radial:{stops:i,center:l,destination:p,radius_ratio:y}}}return null}function o(A,e,t=n.Pb){const g=[];if(!(0,n.nS)(A))return g;let I=t;if("properties"in A&&"object"==typeof A.properties){let t=(0,r.A)(A),o=t.paths;switch(A.tagName){case"g":I=(0,n.ae)(t.transform,I);break;case"defs":return g;case"use":if(t.href){const A=t.href.slice(1);if(A){const i=e[A];if(i){if(!i.paths)return console.error("The resolved definition of <use> has no paths!"),g;o=i.paths,t=Object.assign(Object.assign({},i),t)}}}}if(o){const A=(0,i.U)(o),r={sdf_effects:[],filter:null,opacity:1};if(t.fill){const i=(0,n.fV)(t["fill-opacity"],1),s=String(t.fill),o=s.match(/^url\(#([^)]+)\)$/);let g=null;if(o){const t=e[o[1]];if(t){const e=a(t,A,i);e&&(g=e)}}else{g={solid:(0,n.H0)(s,i)}}g&&r.sdf_effects.push({dist_start:Number.MAX_SAFE_INTEGER,dist_end:0,fill:g})}if(t["stroke-width"]){const i=String(t.stroke)||"#000",s=(0,n.fV)(t["stroke-width"],1),o=i.match(/^url\(#([^)]+)\)$/);let g=null;if(o){const t=e[o[1]];if(t){const e=a(t,A);e&&(g=e)}}else{g={solid:(0,n.H0)(i)}}g&&r.sdf_effects.push({dist_start:s/2,dist_end:-s/2,fill:g})}if(t.filter){const A=String(t.filter).match(/^url\(#([^)]+)\)$/);if(A){const t=e[A[1]];(null==t?void 0:t.stdDeviation)&&(r.filter={gaussianBlur:{x:t.stdDeviation[0],y:t.stdDeviation[1]}})}}"number"==typeof t.opacity&&(r.opacity=t.opacity),"string"==typeof t.transform&&(I=(0,n.ae)(t.transform,I));const C=o.map((A=>A.map((A=>(0,n.te)(A)?A:s(A.x,A.y,I)))));g.push({paths:C,props:r,boundingBox:A})}}return A.children.forEach((A=>{g.push(...o(A,e,I))})),g}},2821:(A,e,t)=>{t.d(e,{t:()=>i});const i={x:1e11,y:0}},9504:(A,e,t)=>{t.d(e,{F:()=>a,W:()=>r});var i=t(8103),n=t(8190);function r(A){const e=Object.keys(A);for(const t of e){const e=s(A,A[t]);A[t]=e}}function s(A,e,t=new Set){if(!e.href)return e;const i=String(e.href).replace("#","");if(t.has(i))return e;t.add(i);const n=A[i];if(!n)return e;const r=s(A,n,t);return(e=Object.assign(Object.assign({},r),e)).href=void 0,e.id&&(A[e.id]=e),e}function a(A,e,t=!1){if(!(0,i.nS)(A))return;const r=(0,n.A)(A);switch(A.tagName){case"linearGradient":if(!r.id)return;return void(e[r.id]=Object.assign({type:"linear-gradient"},r));case"radialGradient":if(!r.id)return;return void(e[r.id]=Object.assign({type:"radial-gradient"},r));case"path":if(t){if(!r.id)return;e[r.id]=r}return;case"filter":if(!r.id)return;return void(e[r.id]=r);case"defs":t=!0}A.children.forEach((A=>{a(A,e,t)}))}},8190:(A,e,t)=>{function i(A,e,t,i){const n=.5522847498307936,r=n*t,s=n*i;return[{x:A+t,y:e},{x:A+t,y:e+s},{x:A+r,y:e+i},{x:A,y:e+i},{x:A-r,y:e+i},{x:A-t,y:e+s},{x:A-t,y:e},{x:A-t,y:e-s},{x:A-r,y:e-i},{x:A,y:e-i},{x:A+r,y:e-i},{x:A+t,y:e-s}]}t.d(e,{A:()=>o});var n=t(5671),r=t(2821);function s(A,e,t,i){const n={x:A+t,y:e+i},s={x:A+t,y:e},a={x:A,y:e};return[{x:A,y:e+i},r.t,r.t,n,r.t,r.t,s,r.t,r.t,a,r.t,r.t]}var a=t(8103);function o(A){var e;let t=A.properties;if("string"==typeof(null===(e=A.properties)||void 0===e?void 0:e.style)){const e={};A.properties.style.split(";").forEach((A=>{const[t,i]=A.split(":");t&&i&&(e[t.trim()]=i.trim())})),t=Object.assign(Object.assign({},e),A.properties)}if(!t)return{};const r=Object.assign({},t);switch(A.tagName){case"path":r.paths=(0,n.A)(t.d),delete r.d;break;case"rect":r.paths=[s((0,a.fV)(t.x),(0,a.fV)(t.y),(0,a.fV)(t.width,1),(0,a.fV)(t.height,1))],delete r.x,delete r.y,delete r.width,delete r.height;break;case"ellipse":r.paths=[i((0,a.fV)(t.cx),(0,a.fV)(t.cy),(0,a.fV)(t.rx),(0,a.fV)(t.ry))],delete r.cx,delete r.cy,delete r.rx,delete r.ry;break;case"circle":r.paths=[i((0,a.fV)(t.cx),(0,a.fV)(t.cy),(0,a.fV)(t.r),(0,a.fV)(t.r))],delete r.cx,delete r.cy,delete r.r;break;case"radialGradient":case"linearGradient":A.children.length>0&&(r.stops=A.children.map((A=>{var e,t;if(!(0,a.nS)(A))return{offset:0,color:[0,0,0,0]};const i=o(A),n=(0,a.H0)(String(null!==(e=i["stop-color"])&&void 0!==e?e:"#000"));return n[3]=(0,a.fV)(i["stop-opacity"],1),{offset:Number(null!==(t=i.offset)&&void 0!==t?t:0),color:n}})));break;case"filter":(0,a.nS)(A.children[0])&&function(A,e){var t;if("feGaussianBlur"===e.tagName){A.type="gaussian-blur";const i=null===(t=e.properties)||void 0===t?void 0:t.stdDeviation;let n=0,r=0;if("number"==typeof i)n=i,r=i;else if("string"==typeof i){const A=i.trim().split(/[ ,]+/).filter(Boolean);A.length>=2?(n=(0,a.fV)(A[0],0),r=(0,a.fV)(A[1],0)):1===A.length&&(n=(0,a.fV)(A[0],0),r=n)}A.stdDeviation=[n,r]}}(r,A.children[0])}return"gradientTransform"in t&&(r.gradientTransform=(0,a.ae)(String(t.gradientTransform))),r}},1849:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>o});var n=t(8451),r=t(4302),s=A([r]);r=(s.then?(await s)():s)[0];const a=[{x:0,y:1,u:0,v:1},{x:1,y:1,u:1,v:1},{x:1,y:0,u:1,v:0},{x:0,y:0,u:0,v:0}];function o(A,e){if(!e){const t=new n.I;A.forEach((A=>{t.addBox(A.boundingBox)})),e=t.max_y}return A.map((({paths:A,props:t})=>({shape:{id:0,paths:A.map((A=>A.map((A=>({x:A.x,y:e-A.y}))))),bounds:a,props:t,sdf_texture_id:r.CW(),cache_texture_id:null}})))}i()}catch(g){i(g)}}))},5671:(A,e,t)=>{function i(A,e,t,i,n,r,s,a,o){if(0===t||0===i||A===a&&e===o)return[];const g=n*Math.PI/180,I=Math.cos(g),C=Math.sin(g),Q=(A-a)/2,c=(e-o)/2,B=I*Q+C*c,l=-C*Q+I*c;let E=(t=Math.abs(t))*t,u=(i=Math.abs(i))*i;const f=B*B,h=l*l,p=f/E+h/u;if(p>1){const A=Math.sqrt(p);E=(t*=A)*t,u=(i*=A)*i}const y=r===s?-1:1,d=Math.max(0,E*u-E*h-u*f),m=E*h+u*f,b=0===m?0:y*Math.sqrt(d/m),D=b*(t*l/i),S=b*(-i*B/t),w=I*D-C*S+(A+a)/2,v=C*D+I*S+(e+o)/2,k=(B-D)/t,x=(l-S)/i,U=(-B-D)/t,N=(-l-S)/i,G=Math.sqrt(k*k+x*x);let F=0===G?0:Math.acos(Math.max(-1,Math.min(1,k/G)));x<0&&(F=-F);const M=k*U+x*N,R=Math.sqrt((k*k+x*x)*(U*U+N*N));let L=0===R?0:Math.acos(Math.max(-1,Math.min(1,M/R)));k*N-x*U<0&&(L=-L),0===s&&L>0?L-=2*Math.PI:1===s&&L<0&&(L+=2*Math.PI);const z=Math.max(1,Math.ceil(Math.abs(L)/(Math.PI/2))),q=L/z,J=Math.abs(q)<1e-10?0:8/3*Math.sin(q/4)*Math.sin(q/4)/Math.sin(q/2),O=[];for(let A=0;A<z;A++){const e=F+A*q,n=F+(A+1)*q,r=Math.cos(e),s=Math.sin(e),g=Math.cos(n),Q=Math.sin(n),c=t*(r-J*s),B=i*(s+J*r),l=t*(g+J*Q),E=i*(Q-J*g),u=t*g,f=i*Q,h=w+I*c-C*B,p=v+C*c+I*B,y=w+I*l-C*E,d=v+C*l+I*E,m=A===z-1?a:w+I*u-C*f,b=A===z-1?o:v+C*u+I*f;O.push({cp1x:h,cp1y:p,cp2x:y,cp2y:d,x:m,y:b})}return O}t.d(e,{A:()=>r});var n=t(2821);function r(A){const e=function(A){const e=[],t=/([MmLlHhVvCcSsQqTtAaZz])\s*([^MmLlHhVvCcSsQqTtAaZz]*)/g;let i;for(;null!==(i=t.exec(A));){const A=i[1],t=i[2].trim(),n=[];if(t){const A=t.match(/-?[0-9]*\.?[0-9]+(?:[eE][-+]?[0-9]+)?/g);A&&n.push(...A.map(parseFloat))}e.push({command:A,args:n})}return e}(A),t=function(A){const e=[];let t=[],r={x:0,y:0},s={x:0,y:0},a=null,o=null;const g=()=>{t.length>0&&(e.push([...t]),t=[])};for(const{command:e,args:I}of A)switch(e.toLowerCase()){case"m":{g();const A="m"===e;for(let e=0;e<I.length;e+=2){const i={x:A?r.x+I[e]:I[e],y:A?r.y+I[e+1]:I[e+1]};0===e?(t.push(i),s=Object.assign({},i)):t.push(n.t,n.t,i),r=i}a=null,o=null;break}case"l":case"h":case"v":{const A=e!==e.toUpperCase(),i="h"===e.toLowerCase(),s="v"===e.toLowerCase();let g=0;for(;g<I.length;){let e=r.x,a=r.y;i?(e=I[g]+(A?r.x:0),g+=1):s?(a=I[g]+(A?r.y:0),g+=1):(e=I[g]+(A?r.x:0),a=I[g+1]+(A?r.y:0),g+=2);const o={x:e,y:a};t.push(n.t,n.t,o),r=o}a=null,o=null;break}case"a":{const A="a"===e;for(let e=0;e<I.length;e+=7){const s=I[e],g=I[e+1],C=I[e+2],Q=I[e+3],c=I[e+4],B={x:I[e+5]+(A?r.x:0),y:I[e+6]+(A?r.y:0)},l=i(r.x,r.y,s,g,C,Q,c,B.x,B.y);if(0===l.length)B.x===r.x&&B.y===r.y||t.push(n.t,n.t,B),r=B,a=null,o=null;else{for(const A of l)t.push({x:A.cp1x,y:A.cp1y},{x:A.cp2x,y:A.cp2y},{x:A.x,y:A.y}),r={x:A.x,y:A.y};a=null,o=null}}break}case"q":{const A="q"===e;for(let e=0;e<I.length;e+=4){const i={x:I[e]+(A?r.x:0),y:I[e+1]+(A?r.y:0)},n={x:I[e+2]+(A?r.x:0),y:I[e+3]+(A?r.y:0)},s={x:r.x+2/3*(i.x-r.x),y:r.y+2/3*(i.y-r.y)},g={x:n.x+2/3*(i.x-n.x),y:n.y+2/3*(i.y-n.y)};t.push(s,g,n),r=n,o=i,a=null}break}case"t":{const A="t"===e;for(let e=0;e<I.length;e+=2){const i=o?{x:2*r.x-o.x,y:2*r.y-o.y}:Object.assign({},r),n={x:I[e]+(A?r.x:0),y:I[e+1]+(A?r.y:0)},s={x:r.x+2/3*(i.x-r.x),y:r.y+2/3*(i.y-r.y)},g={x:n.x+2/3*(i.x-n.x),y:n.y+2/3*(i.y-n.y)};t.push(s,g,n),r=n,o=i,a=null}break}case"c":{const A="c"===e;for(let e=0;e<I.length;e+=6){const i={x:I[e]+(A?r.x:0),y:I[e+1]+(A?r.y:0)},n={x:I[e+2]+(A?r.x:0),y:I[e+3]+(A?r.y:0)},s={x:I[e+4]+(A?r.x:0),y:I[e+5]+(A?r.y:0)};t.push(i,n,s),r=s,a=n,o=null}break}case"s":{const A="s"===e;for(let e=0;e<I.length;e+=4){const i=a?{x:2*r.x-a.x,y:2*r.y-a.y}:Object.assign({},r),n={x:I[e]+(A?r.x:0),y:I[e+1]+(A?r.y:0)},s={x:I[e+2]+(A?r.x:0),y:I[e+3]+(A?r.y:0)};t.push(i,n,s),r=s,a=n,o=null}break}case"z":r=s,a=null,o=null,g();break;default:console.warn(`SVG path command '${e}' not supported yet`),a=null,o=null}return g(),e}(e);return t}},8103:(A,e,t)=>{t.d(e,{H0:()=>r,Pb:()=>o,ae:()=>I,fV:()=>s,nS:()=>a,te:()=>n});const i=1e10;function n(A){return A.x>i}function r(A,e=1){const t=new OffscreenCanvas(1,1).getContext("2d");t.fillStyle=A,t.fillRect(0,0,1,1);const i=t.getImageData(0,0,1,1),[n,r,s,a]=i.data;return[n/255*e,r/255*e,s/255*e,a/255*e]}function s(A,e=0){if("number"==typeof A)return A;const t=Number(A);return isNaN(t)?e:t}function a(A){return"string"!=typeof A&&"element"===A.type}const o=[1,0,0,1,0,0];function g(A,e){const[t,i,n,r,s,a]=A,[o,g,I,C,Q,c]=e;return[t*o+n*g,i*o+r*g,t*I+n*C,i*I+r*C,t*Q+n*c+s,i*Q+r*c+a]}function I(A,e=o){if(!A)return e;const t=/(\w+)\(([^)]+)\)/g;let i,n=e;const r=[];for(;null!==(i=t.exec(A));)r.push({op:i[1],args:i[2].split(/[ ,]+/).map(Number)});for(let A=r.length-1;A>=0;A--){const{op:e,args:t}=r[A];let i=o;switch(e){case"matrix":i=t;break;case"translate":{const[A,e=0]=t;i=[1,0,0,1,A,e];break}case"scale":{const[A,e=A]=t;i=[A,0,0,e,0,0];break}case"rotate":{const[A,e=0,n=0]=t,r=A*Math.PI/180,s=Math.cos(r),a=Math.sin(r);i=g([1,0,0,1,e,n],g([s,a,-a,s,0,0],[1,0,0,1,-e,-n]));break}}n=g(i,n)}return n}},4302:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{CW:()=>G,Eb:()=>U,ID:()=>L,Kg:()=>O,Mc:()=>v,Ts:()=>b,Uw:()=>M,WQ:()=>S,bS:()=>k,qD:()=>N,yE:()=>R,yo:()=>F});var n=t(9105),r=t(1549),s=t(4637),a=t(6479),o=t(9504),g=t(2804),I=t(678),C=t(1849),Q=A([a,C]);[a,C]=Q.then?(await Q)():Q;var c=function(A,e,t,i){return new(t||(t=Promise))((function(n,r){function s(A){try{o(i.next(A))}catch(A){r(A)}}function a(A){try{o(i.throw(A))}catch(A){r(A)}}function o(A){var e;A.done?n(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(s,a)}o((i=i.apply(A,e||[])).next())}))};function B(A,e){const t=A.properties,i=(null==t?void 0:t.viewBox)?l(t.viewBox):null,n="number"==typeof(null==t?void 0:t.width)?null==t?void 0:t.width:void 0,r="number"==typeof(null==t?void 0:t.height)?null==t?void 0:t.height:void 0;return[n||(null==i?void 0:i[0])||(null==e?void 0:e.naturalWidth),r||(null==i?void 0:i[1])||(null==e?void 0:e.naturalHeight)]}function l(A){const e=A.split(" ").map(Number);if(4===e.length){const[A,t,i,n]=e;return[i-A,n-t]}return null}let E,u,f,h,p,y,d,m;function b(A,e,t,i){E=A,d=e,m=t,u=[],f=(0,n.s)(E,d),h=(0,n.o)(E,d),y=0,p=()=>i(y),D(0,g)}function D(A,e){const t=(0,s.q)(e).children[0],[i,n]=B(t);if(!i||!n)throw Error("SVG Icon width and height are required");const r={};o.F(t,r),o.W(r);const g=(0,I.A)(t,r);(0,a.A)(g,A,n)}function S(A,e){const t=u.find((e=>e.url===A));if(t)return null==e||e({width:t.texture.width,height:t.texture.height}),u.indexOf(t);y++,p();const i=u.length;return u.push({url:A}),w(A,i,e),i}function w(A,e,t){return c(this,void 0,void 0,(function*(){try{const[i,n]=yield Promise.all([K(A),T(A)]);let s=null;if(n){const A=n.children[0],[e,r]=B(A,i);if(!e||!r)throw Error("SVG width and height are required");const s={};o.F(A,s),o.W(s);const a=(0,I.A)(A,s);return void(null==t||t({width:e,height:r,shapeAssets:(0,C.A)(a,r)}))}const{ctx:a}=z(i,i.naturalWidth,i.naturalHeight),g=a.getImageData(0,0,i.naturalWidth,i.naturalHeight).data,Q=q(g);s=J(g,Q),null!==s?u[e]=s:(u[e].texture=(0,r.Be)(E,d,i,{flipY:!0}),u[e].data=g,u[e].hash=Q),null==t||t({width:i.width,height:i.height,isNewTexture:!s})}catch(A){console.error(A),u[e].texture=h,null==t||t({error:A,width:0,height:0})}finally{y--,p()}}))}function v(A){const e=x(A);if(!e)throw Error("Texture not found with id: "+A);return e}function k(A){var e;return null!==(e=x(A))&&void 0!==e?e:f}function x(A){return u[A].texture}function U(){const A=u.length;return u.push({url:"cache"}),A}function N(A,e){const t=u.length,i="combineSdf - depth texture",n=E.createTexture({label:i,size:[A,e],format:"r32float",usage:GPUTextureUsage.STORAGE_BINDING|GPUTextureUsage.TEXTURE_BINDING});return u.push({url:i,texture:n}),t}function G(){const A=u.length,e=`SDF texture ${A}`,t=E.createTexture({label:e,size:[1,1],format:"rgba32float",usage:GPUTextureUsage.STORAGE_BINDING|GPUTextureUsage.TEXTURE_BINDING});return u.push({url:e,texture:t}),A}function F(A,e,t){var i;const n=null===(i=u[A])||void 0===i?void 0:i.texture;if(!n)throw Error("Texture not found with id: "+A);if(n.width===e&&n.height===t)return;const r=E.createTexture({label:n.label,size:[e,t],format:n.format,usage:n.usage});null==n||n.destroy(),u[A].texture=r}function M(A,e){var t;u[A].texture!==e&&(null===(t=u[A].texture)||void 0===t||t.destroy()),u[A].texture=e}function R(A,e,t){const i=u[A].texture;if(!(i&&Math.abs(i.width-e)<=Number.EPSILON&&Math.abs(i.height-t)<=Number.EPSILON)){null==i||i.destroy();const n=E.createTexture({label:"texture cache",format:m,usage:GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.STORAGE_BINDING,size:[e,t]});return u[A].texture=n,n}return i}function L(A){return u[A].url}function z(A,e,t){const i=new OffscreenCanvas(e,t),n=i.getContext("2d");return n.drawImage(A,0,0,e,t),{canvas:i,ctx:n}}function q(A){let e=5381;for(let t=0;t<A.length;t++)e=(e<<5)+e+A[t];return String(e)}function J(A,e){for(let t=0;t<u.length;t++){const i=u[t];if(i.hash===e){if(A.length!==i.data.length)return null;for(let e=0;e<A.length;e++)if(A[e]!==i.data[e])return null;return i}}return null}function O(A,e){u[A].url=e}function K(A){return new Promise(((e,t)=>{const i=new Image;i.crossOrigin="anonymous",i.src=A,i.onload=()=>e(i),i.onerror=A=>t(A)}))}function T(A){return c(this,void 0,void 0,(function*(){const e=yield fetch(A),t=yield e.text();return t.includes("<svg")?(0,s.q)(t):null}))}i()}catch(Y){i(Y)}}))},1613:(A,e,t)=>{var i;t.d(e,{b:()=>i}),function(A){A[A.SelectAsset=0]="SelectAsset",A[A.DrawBezierCurve=1]="DrawBezierCurve",A[A.SelectNode=2]="SelectNode",A[A.Text=3]="Text"}(i||(i={}))},8513:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{Ol:()=>g,b8:()=>p,c6:()=>l,le:()=>B,sS:()=>h});var n=t(9146),r=A([n]);n=(r.then?(await r)():r)[0];const s="⁠",a=/\u2060\n/g;let o=null;function g(){return null!==o}function I(A,e){return A[e-1]===s&&"\n"===A[e]}function C(A,e){return A[e-2]===s&&"\n"===A[e-1]}const Q={selectionStart:0,selectionEnd:0};function c(A,e,t){if(I(A,e[t])){const A=Q[t]==e[t]-1;e[t]=A?e[t]+2:e[t]-1}C(A,e[t])&&(e[t]=e[t]-2),Q[t]=e[t]}function B(A){if(!o)throw Error("Not typing");let e=o.selectionStart,t=o.selectionEnd;o.value=A,I(A,e)&&(e+=2),I(A,t)&&(t+=2),o.selectionStart=e,o.selectionEnd=t}function l(A,e){if(!o)throw Error("Not typing");o.selectionStart=A,o.selectionEnd=e}function E(){const A=n.Ih(this.value,this.selectionStart,this.selectionEnd);this.value=A.content,l(A.selection_start,A.selection_end)}function u(){c(this.value,this,"selectionStart"),c(this.value,this,"selectionEnd"),n.vZ(this.selectionStart,this.selectionEnd)}function f(A){var e,t;const i=this.value.substring(this.selectionStart,this.selectionEnd),n=null!==(e=null==i?void 0:i.toString().replace(a,""))&&void 0!==e?e:"";null===(t=A.clipboardData)||void 0===t||t.setData("text/plain",n),A.preventDefault()}function h(A){if(!o){const A=document.createElement("textarea");A.style.position="fixed",A.style.left="-210px",A.style.height="200px",A.style.opacity="0",A.style.width="9999px",A.style.whiteSpace="pre-line",document.body.appendChild(A),A.addEventListener("input",E),A.addEventListener("selectionchange",u),A.addEventListener("copy",f),o=A}o.focus(),B(A)}function p(){o&&(document.body.removeChild(o),o=null)}i()}catch(y){i(y)}}))},6253:(A,e,t)=>{function i(A,e,t){return Math.min(t,Math.max(e,A))}t.d(e,{A:()=>i})},7846:(A,e,t)=>{function i(A,e,t,i){const n=.5*(t-A),r=.5*(i-e);return[{x:n,y:r+e,u:0,v:1},{x:n+A,y:r+e,u:1,v:1},{x:n+A,y:r,u:1,v:0},{x:n,y:r,u:0,v:0}]}t.d(e,{A:()=>i})},2842:(A,e,t)=>{t.d(e,{A:()=>r});const i={cross(A,e,t=new Float32Array(3)){const i=A[1]*e[2]-A[2]*e[1],n=A[2]*e[0]-A[0]*e[2],r=A[0]*e[1]-A[1]*e[0];return t[0]=i,t[1]=n,t[2]=r,t},subtract:(A,e,t=new Float32Array(3))=>(t[0]=A[0]-e[0],t[1]=A[1]-e[1],t[2]=A[2]-e[2],t),normalize(A,e=new Float32Array(3)){const t=Math.sqrt(A[0]*A[0]+A[1]*A[1]+A[2]*A[2]);return t>1e-5?(e[0]=A[0]/t,e[1]=A[1]/t,e[2]=A[2]/t):(e[0]=0,e[1]=0,e[2]=0),e}},n={projection:(A,e,t,i)=>n.ortho(0,A,e,0,t,-t,i),perspective(A,e,t,i,n=new Float32Array(16)){const r=Math.tan(.5*Math.PI-.5*A),s=1/(t-i);return n[0]=r/e,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=r,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=i*s,n[11]=-1,n[12]=0,n[13]=0,n[14]=t*i*s,n[15]=0,n},ortho:(A,e,t,i,n,r,s=new Float32Array(16))=>(s[0]=2/(e-A),s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=2/(i-t),s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=1/(n-r),s[11]=0,s[12]=(e+A)/(A-e),s[13]=(i+t)/(t-i),s[14]=n/(n-r),s[15]=1,s),identity:(A=new Float32Array(16))=>(A[0]=1,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=1,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=1,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A),multiply(A,e,t=new Float32Array(16)){const i=e[0],n=e[1],r=e[2],s=e[3],a=e[4],o=e[5],g=e[6],I=e[7],C=e[8],Q=e[9],c=e[10],B=e[11],l=e[12],E=e[13],u=e[14],f=e[15],h=A[0],p=A[1],y=A[2],d=A[3],m=A[4],b=A[5],D=A[6],S=A[7],w=A[8],v=A[9],k=A[10],x=A[11],U=A[12],N=A[13],G=A[14],F=A[15];return t[0]=i*h+n*m+r*w+s*U,t[1]=i*p+n*b+r*v+s*N,t[2]=i*y+n*D+r*k+s*G,t[3]=i*d+n*S+r*x+s*F,t[4]=a*h+o*m+g*w+I*U,t[5]=a*p+o*b+g*v+I*N,t[6]=a*y+o*D+g*k+I*G,t[7]=a*d+o*S+g*x+I*F,t[8]=C*h+Q*m+c*w+B*U,t[9]=C*p+Q*b+c*v+B*N,t[10]=C*y+Q*D+c*k+B*G,t[11]=C*d+Q*S+c*x+B*F,t[12]=l*h+E*m+u*w+f*U,t[13]=l*p+E*b+u*v+f*N,t[14]=l*y+E*D+u*k+f*G,t[15]=l*d+E*S+u*x+f*F,t},cameraAim(A,e,t,n=new Float32Array(16)){const r=i.normalize(i.subtract(A,e)),s=i.normalize(i.cross(t,r)),a=i.normalize(i.cross(r,s));return n[0]=s[0],n[1]=s[1],n[2]=s[2],n[3]=0,n[4]=a[0],n[5]=a[1],n[6]=a[2],n[7]=0,n[8]=r[0],n[9]=r[1],n[10]=r[2],n[11]=0,n[12]=A[0],n[13]=A[1],n[14]=A[2],n[15]=1,n},inverse(A,e=new Float32Array(16)){const t=A[0],i=A[1],n=A[2],r=A[3],s=A[4],a=A[5],o=A[6],g=A[7],I=A[8],C=A[9],Q=A[10],c=A[11],B=A[12],l=A[13],E=A[14],u=A[15],f=Q*u,h=E*c,p=o*u,y=E*g,d=o*c,m=Q*g,b=n*u,D=E*r,S=n*c,w=Q*r,v=n*g,k=o*r,x=I*l,U=B*C,N=s*l,G=B*a,F=s*C,M=I*a,R=t*l,L=B*i,z=t*C,q=I*i,J=t*a,O=s*i,K=f*a+y*C+d*l-(h*a+p*C+m*l),T=h*i+b*C+w*l-(f*i+D*C+S*l),Y=p*i+D*a+v*l-(y*i+b*a+k*l),H=m*i+S*a+k*C-(d*i+w*a+v*C),P=1/(t*K+s*T+I*Y+B*H);return e[0]=P*K,e[1]=P*T,e[2]=P*Y,e[3]=P*H,e[4]=P*(h*s+p*I+m*B-(f*s+y*I+d*B)),e[5]=P*(f*t+D*I+S*B-(h*t+b*I+w*B)),e[6]=P*(y*t+b*s+k*B-(p*t+D*s+v*B)),e[7]=P*(d*t+w*s+v*I-(m*t+S*s+k*I)),e[8]=P*(x*g+G*c+F*u-(U*g+N*c+M*u)),e[9]=P*(U*r+R*c+q*u-(x*r+L*c+z*u)),e[10]=P*(N*r+L*g+J*u-(G*r+R*g+O*u)),e[11]=P*(M*r+z*g+O*c-(F*r+q*g+J*c)),e[12]=P*(N*Q+M*E+U*o-(F*E+x*o+G*Q)),e[13]=P*(z*E+x*n+L*Q-(R*Q+q*E+U*n)),e[14]=P*(R*o+O*E+G*n-(J*E+N*n+L*o)),e[15]=P*(J*Q+F*n+q*o-(z*o+O*Q+M*n)),e},transpose:(A,e=new Float32Array(16))=>(e[0]=A[0],e[1]=A[4],e[2]=A[8],e[3]=A[12],e[4]=A[1],e[5]=A[5],e[6]=A[9],e[7]=A[13],e[8]=A[2],e[9]=A[6],e[10]=A[10],e[11]=A[14],e[12]=A[3],e[13]=A[7],e[14]=A[11],e[15]=A[15],e),aim(A,e,t,n=new Float32Array(16)){const r=i.normalize(i.subtract(e,A)),s=i.normalize(i.cross(t,r)),a=i.normalize(i.cross(r,s));return n[0]=s[0],n[1]=s[1],n[2]=s[2],n[3]=0,n[4]=a[0],n[5]=a[1],n[6]=a[2],n[7]=0,n[8]=r[0],n[9]=r[1],n[10]=r[2],n[11]=0,n[12]=A[0],n[13]=A[1],n[14]=A[2],n[15]=1,n},lookAt:(A,e,t,i)=>n.inverse(n.cameraAim(A,e,t,i),i),translation:([A,e,t],i=new Float32Array(16))=>(i[0]=1,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=1,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=1,i[11]=0,i[12]=A,i[13]=e,i[14]=t,i[15]=1,i),rotationX(A,e=new Float32Array(16)){const t=Math.cos(A),i=Math.sin(A);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t,e[6]=i,e[7]=0,e[8]=0,e[9]=-i,e[10]=t,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},rotationY(A,e=new Float32Array(16)){const t=Math.cos(A),i=Math.sin(A);return e[0]=t,e[1]=0,e[2]=-i,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=i,e[9]=0,e[10]=t,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},rotationZ(A,e=new Float32Array(16)){const t=Math.cos(A),i=Math.sin(A);return e[0]=t,e[1]=i,e[2]=0,e[3]=0,e[4]=-i,e[5]=t,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},scaling:([A,e,t],i=new Float32Array(16))=>(i[0]=A,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=e,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=t,i[11]=0,i[12]=0,i[13]=0,i[14]=0,i[15]=1,i),translate:(A,e,t)=>n.multiply(A,n.translation(e),t),rotateX:(A,e,t)=>n.multiply(A,n.rotationX(e),t),rotateY:(A,e,t)=>n.multiply(A,n.rotationY(e),t),rotateZ:(A,e,t)=>n.multiply(A,n.rotationZ(e),t),scale:(A,e,t)=>n.multiply(A,n.scaling(e),t)},r=n},1317:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{A:()=>s});var n=t(4109),r=A([n]);function s(A,e,t,i,r=0){const s=i.width-2*r,a=i.height-2*r,o="fit"===t?Math.min(s/A,a/e):Math.max(s/A,a/e);n.UI.x=(i.width-A*o)/2,n.UI.y=(i.height-e*o)/2,n.UI.zoom=o}n=(r.then?(await r)():r)[0],i()}catch(a){i(a)}}))},3012:(A,e,t)=>{t.d(e,{A:()=>n});const i=Symbol("no args");function n(A,e){let t,n=i;return function r(...s){t?n=s:(A.apply(this,s),t=!0,setTimeout((()=>{t=!1,n!==i&&(r.apply(this,n),n=i)}),e))}}},9146:(A,e,t)=>{t.a(A,(async(A,i)=>{try{t.d(e,{Ay:()=>RI,Er:()=>uC,Gl:()=>sC,Hg:()=>fC,Ih:()=>$I,Iq:()=>cC,JQ:()=>JI,LI:()=>gC,Mv:()=>KI,PT:()=>rC,QZ:()=>ZI,V9:()=>TI,Vx:()=>jI,Wp:()=>aC,Ws:()=>_I,XO:()=>PI,YF:()=>nC,ZE:()=>QC,Zr:()=>OI,a3:()=>WI,aO:()=>IC,cV:()=>eC,el:()=>HI,io:()=>EC,kl:()=>iC,po:()=>AC,qN:()=>qI,tE:()=>lC,us:()=>tC,vZ:()=>oC,wH:()=>BC,wV:()=>zI,x7:()=>CC});var n=t(4773);t(1285),t(9592),t(2148),t(4828),t(6973),t(2427),t(1669),t(6929),t(4936),t(8738),t(1432),t(1454),t(6402),t(5940),t(804),t(9098),t(9494),t(337),t(3971),t(7431),t(7591),t(6717),t(2164),t(5496),t(6135),t(9813),t(3793),t(8305),t(3456),t(8539),t(7679),t(2244),t(3509),t(9433),t(8371),t(903),t(3692),t(7382),t(3750),t(1425),t(8773),t(3086),t(8771),t(8991),t(2799),t(4233),t(8502),t(9025),t(9426),t(2059),t(1991),t(5558),t(6584),t(4358),t(2436),t(7409),t(9268),t(9499),t(3586),t(5239);const A={constructor:null,type:0,flags:0,signature:void 0,name:void 0,byteSize:0,align:0,instance:{members:[],template:null},static:{members:[],template:null}},r={type:0,flags:0},s={},a={},o={},g={},I={},C={},Q={},c={},B={},l={},E={},u={},f={},h={},p={},y={},d={},m={},b={},D={},S={},w={},v={},k={},x={},U={},N={},G={},F={},M={},R={},L={},z={},q={},J={},O={},K={},T={},Y={},H={},P={},V={},_={},W={},X={},j={},Z={},$={},AA={},eA={},tA={},iA={},nA={},rA={},sA={},aA={},oA={},gA={},IA={},CA={},QA={},cA={},BA={},lA={},EA={},uA={},fA={},hA={},pA={},yA={},dA={},mA={},bA={},DA={},SA={},wA={},vA={},kA={},xA={},UA={},NA={},GA={},FA={},MA={},RA={},LA={},zA={},qA={},JA={},OA={},KA={},TA={},YA={},HA={},PA={},VA={},_A={},WA={},XA={},jA={},ZA={},$A={},Ae={},ee={},te={},ie={},ne={},re={},se={},ae={},oe={},ge={},Ie={},Ce={},Qe={},ce={},Be={},le={},Ee={},ue={},fe={},he={},pe={},ye={},de={},me={},be={},De={},Se={},we={},ve={},ke={},xe={},Ue={},Ne={},Ge={},Fe={},Me={},Re={},Le={},ze={},qe={},Je={},Oe={},Ke={},Te={},Ye={},He={},Pe={},Ve={},_e={},We={},Xe={},je={},Ze={},$e={},At={},et={},tt={},it={},nt={},rt={},st={},at={},ot={},gt={},It={},Ct={},Qt={},ct={},Bt={},lt={},Et={},ut={},ft={},ht={},pt={},yt={},dt={},mt={},bt={},Dt={},St={},wt={},vt={},kt={},xt={},Ut={},Nt={},Gt={},Ft={},Mt={},Rt={},Lt={},zt={},qt={},Jt={},Ot={},Kt={},Tt={},Yt={},Ht={},Pt={},Vt={},_t={},Wt={},Xt={},jt={},Zt={},$t={},Ai={},ei={},ti={},ii={},ni={},ri={},si={},ai={},oi={},gi={},Ii={},Ci={},Qi={},ci={},Bi={},li={},Ei={},ui={},fi={},hi={},pi={},yi={},di={},mi={},bi={},Di={},Si={},wi={},vi={},ki={},xi={},Ui={},Ni={},Gi={},Fi={},Mi={},Ri={},Li={},zi={},qi={},Ji={},Oi={},Ki={},Ti={},Yi={},Hi={},Pi={},Vi={},_i={},Wi={},Xi={},ji={},Zi={},$i={},An={},en={},tn={},nn={},rn={},sn={},an={},on={},gn={},In={},Cn={},Qn={},cn={},Bn={},ln={},En={},un={},fn={},hn={},pn={},yn={},dn={},mn={},bn={},Dn={},Sn={},wn={},vn={},kn={},xn={},Un={},Nn={},Gn={},Fn={},Mn={},Rn={},Ln={},zn={},qn={},Jn={},On={},Kn={},Tn={},Yn={},Hn={},Pn={},Vn={},_n={},Wn={},Xn={},jn={},Zn={},$n={},Ar={},er={},tr={},ir={},nr={},rr={},sr={},ar={},or={},gr={},Ir={},Cr={},Qr={},cr={},Br={},lr={},Er={},ur={},fr={},hr={},pr={},yr={},dr={},mr={},br={},Dr={},Sr={},wr={},vr={},kr={},xr={},Ur={},Nr={},Gr={},Fr={},Mr={},Rr={},Lr={},zr={},qr={},Jr={},Or={},Kr={},Tr={},Yr={},Hr={},Pr={},Vr={},_r={},Wr={},Xr={},jr={},Zr={},$r={},As={},es={},ts={},is={},ns={},rs={},ss={},as={},os={},gs={},Is={},Cs={},Qs={},cs={},Bs={},ls={},Es={},us={},fs={},hs={},ps={},ys={},ds={},ms={},bs={},Ds={},Ss={},ws={},vs={},ks={},xs={},Us={},Ns={},Gs={},Fs={},Ms={},Rs={},Ls={},zs={},qs={},Js={},Os={},Ks={},Ts={},Ys={},Hs={},Ps={},Vs={},_s={},Ws={},Xs={},js={},Zs={},$s={},Aa={},ea={},ta={},ia={},na={},ra={},sa={},aa={},oa={},ga={},Ia={},Ca={},Qa={},ca={},Ba={},la={},Ea={},ua={},fa={},ha={},pa={},ya={},da={},ma={},ba={},Da={},Sa={},wa={},va={},ka={},xa={},Ua={},Na={},Ga={},Fa={},Ma={},Ra={},La={},za={},qa={},Ja={},Oa={},Ka={},Ta={},Ya={},Ha={},Pa={},Va={},_a={},Wa={},Xa={},ja={},Za={},$a={},Ao={},eo={},to={},io={},no={},ro={},so={},ao={},oo={},go={},Io={},Co={},Qo={},co={},Bo={},lo={},Eo={},uo={},fo={},ho={},po={},yo={},mo={},bo={},Do={},So={},wo={},vo={},ko={},xo={},Uo={},No={},Go={},Fo={},Mo={},Ro={},Lo={},zo={},qo={},Jo={},Oo={},Ko={},To={},Yo={},Ho={},Po={},Vo={},_o={},Wo={},Xo={},jo={},Zo={},$o={},Ag={},eg={},tg={},ig={},ng={},rg={},sg={},ag={},og={},gg={},Ig={},Cg={},Qg=A=>new Uint8Array(A),cg=Qg(0),Bg=Qg(8),lg=Qg(16),Eg=Qg(64),ug=Qg(16),fg=Qg(32),hg=Qg(32),pg=Qg(352),yg=Qg(352),dg=Qg(1),mg=Qg([1]),bg=Qg([2]),Dg=Qg(32),Sg=Qg(76),wg=Qg(8),vg=Qg(40),kg=Qg(72),xg=Qg(20),Ug=Qg(24),Ng=Qg(28),Gg=Qg(1),Fg=Qg(mg),Mg=Qg(bg),Rg=Qg(40),Lg=Qg(8),zg=Qg([170,170,170,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63]),qg=Qg(112),Jg=Qg(12),Og=Qg(120),Kg=Qg(1),Tg=Qg(mg),Yg=Qg(bg),Hg=Qg(16),Pg=Qg([8,0]),Vg=Qg([170,170,170,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),_g=Qg(16),Wg=Qg(Pg),Xg=Qg(Pg),jg=Qg(16),Zg=Qg([2,0]),$g=Qg(Pg),AI=Qg([9,0]),eI=Qg([10,0]),tI=Qg(Zg),iI=Qg(Pg),nI=Qg(AI),rI=Qg(eI),sI=Qg(Zg),aI=Qg(Pg),oI=Qg(AI),gI=Qg(eI),II=Qg(Pg),CI=Qg(Pg),QI=Qg(Pg),cI=Qg(Zg),BI=Qg(Pg),lI=Qg(AI),EI=Qg(eI),uI=Qg(Pg),fI=Qg(Pg),hI=Qg(2),pI=Qg([1,0]),yI=Qg(Zg),dI=Qg([3,0]),mI=Qg(Pg),bI=Qg(Pg),DI=Qg(Zg),SI=Qg(Pg),wI=Qg(AI),vI=Qg(eI),kI=Qg([232,3,0,0]),xI=Object.assign;xI(rn,{memory:{array:cg},handle:106}),xI(sn,{memory:{array:cg},handle:107}),xI(an,{memory:{array:cg},handle:108}),xI(on,{memory:{array:Bg}}),xI(gn,{slots:{0:In,2:Cn,3:Qn,4:cn}}),xI(In,{structure:g,memory:{array:cg},handle:95}),xI(Cn,{structure:C,memory:{array:cg},handle:96}),xI(Qn,{structure:g,memory:{array:cg},handle:97}),xI(cn,{structure:c,memory:{array:cg},handle:98}),xI(Bn,{memory:{array:cg},handle:109}),xI(ln,{memory:{array:cg},handle:110}),xI(En,{memory:{array:cg},handle:111}),xI(un,{memory:{array:lg}}),xI(fn,{slots:{0:hn,1:pn,2:yn,3:dn}}),xI(hn,{structure:E,memory:{array:cg},handle:95}),xI(pn,{structure:f,memory:{array:cg},handle:99}),xI(yn,{structure:f,memory:{array:cg},handle:96}),xI(dn,{structure:p,memory:{array:cg},handle:100}),xI(mn,{memory:{array:cg},handle:36}),xI(bn,{memory:{array:cg},handle:37}),xI(Dn,{memory:{array:Eg}}),xI(Sn,{memory:{array:cg},handle:38}),xI(wn,{memory:{array:cg},handle:39}),xI(vn,{memory:{array:cg},handle:40}),xI(kn,{memory:{array:cg},handle:41}),xI(xn,{memory:{array:cg},handle:42}),xI(Un,{memory:{array:cg},handle:43}),xI(Nn,{memory:{array:ug}}),xI(Gn,{memory:{array:cg},handle:44}),xI(Fn,{memory:{array:cg},handle:45}),xI(Mn,{memory:{array:cg},handle:46}),xI(Rn,{memory:{array:cg},handle:47}),xI(Ln,{memory:{array:fg}}),xI(zn,{memory:{array:hg}}),xI(qn,{memory:{array:pg}}),xI(Jn,{memory:{array:yg}}),xI(On,{slots:{0:Kn,1:Tn,2:Yn}}),xI(Kn,{structure:aA,memory:{array:dg},const:!0}),xI(Tn,{structure:aA,memory:{array:mg},const:!0}),xI(Yn,{structure:aA,memory:{array:bg},const:!0}),xI(Hn,{memory:{array:cg},handle:48}),xI(Pn,{memory:{array:cg},handle:49}),xI(Vn,{memory:{array:Dg}}),xI(_n,{memory:{array:cg},handle:36}),xI(Wn,{memory:{array:cg},handle:50}),xI(Xn,{memory:{array:Sg}}),xI(jn,{memory:{array:cg},handle:38}),xI(Zn,{memory:{array:cg},handle:51}),xI($n,{memory:{array:wg}}),xI(Ar,{memory:{array:cg},handle:52}),xI(er,{memory:{array:cg},handle:53}),xI(tr,{memory:{array:vg},handle:266664,slots:{0:ir,1:rr,2:ar,3:gr,4:Cr,5:cr,6:lr,7:ur,8:hr,9:yr}}),xI(ir,{structure:w,memory:{array:vg,offset:0,length:4},slots:{0:nr}}),xI(nr,{structure:S,memory:{array:cg}}),xI(rr,{structure:R,memory:{array:vg,offset:4,length:4},slots:{0:sr}}),xI(sr,{structure:M,memory:{array:cg}}),xI(ar,{structure:O,memory:{array:vg,offset:8,length:4},slots:{0:or}}),xI(or,{structure:J,memory:{array:cg}}),xI(gr,{structure:Y,memory:{array:vg,offset:12,length:4},slots:{0:Ir}}),xI(Ir,{structure:T,memory:{array:cg}}),xI(Cr,{structure:_,memory:{array:vg,offset:16,length:4},slots:{0:Qr}}),xI(Qr,{structure:V,memory:{array:cg}}),xI(cr,{structure:j,memory:{array:vg,offset:20,length:4},slots:{0:Br}}),xI(Br,{structure:X,memory:{array:cg}}),xI(lr,{structure:CA,memory:{array:vg,offset:24,length:4},slots:{0:Er}}),xI(Er,{structure:IA,memory:{array:cg}}),xI(ur,{structure:fA,memory:{array:vg,offset:28,length:4},slots:{0:fr}}),xI(fr,{structure:uA,memory:{array:cg}}),xI(hr,{structure:bA,memory:{array:vg,offset:32,length:4},slots:{0:pr}}),xI(pr,{structure:mA,memory:{array:cg}}),xI(yr,{structure:vA,memory:{array:vg,offset:36,length:4},slots:{0:dr}}),xI(dr,{structure:wA,memory:{array:cg}}),xI(mr,{memory:{array:cg},handle:35}),xI(br,{memory:{array:cg},handle:113}),xI(Dr,{memory:{array:kg}}),xI(Sr,{slots:{0:wr}}),xI(wr,{structure:RA,memory:{array:cg},handle:103}),xI(vr,{memory:{array:cg},handle:119}),xI(kr,{memory:{array:xg}}),xI(xr,{slots:{0:Ur}}),xI(Ur,{structure:OA,memory:{array:cg},handle:118}),xI(Nr,{memory:{array:Ug},handle:268256,slots:{2:Gr}}),xI(Gr,{structure:YA,memory:{array:Ug,offset:16,length:8}}),xI(Fr,{memory:{array:Ng},handle:268280,slots:{3:Mr}}),xI(Mr,{structure:YA,memory:{array:Ng,offset:20,length:8}}),xI(Rr,{slots:{0:Lr,1:zr,2:qr}}),xI(Lr,{structure:VA,memory:{array:Gg},const:!0}),xI(zr,{structure:VA,memory:{array:Fg},const:!0}),xI(qr,{structure:VA,memory:{array:Mg},const:!0}),xI(Jr,{memory:{array:cg},handle:112}),xI(Or,{slots:{0:Kr}}),xI(Kr,{structure:WA,memory:{array:cg},handle:101}),xI(Tr,{memory:{array:Rg},handle:267220,slots:{2:Yr}}),xI(Yr,{structure:XA,memory:{array:Rg,offset:8,length:32},slots:{0:Hr,1:Vr}}),xI(Hr,{structure:HA,memory:{array:Rg,offset:8,length:24},slots:{2:Pr}}),xI(Pr,{structure:YA,memory:{array:Rg,offset:24,length:8}}),xI(Vr,{structure:PA,memory:{array:Rg,offset:8,length:28},slots:{3:_r}}),xI(_r,{structure:YA,memory:{array:Rg,offset:28,length:8}}),xI(Wr,{memory:{array:Lg}}),xI(Xr,{memory:{array:cg},handle:102}),xI(jr,{memory:{array:zg},handle:266412,slots:{0:Zr}}),xI(Zr,{structure:$A,memory:{array:zg,offset:0,length:8},slots:{0:$r}}),xI($r,{structure:ZA,memory:{array:cg}}),xI(As,{slots:{0:es}}),xI(es,{structure:ie,memory:{array:cg},handle:83}),xI(ts,{memory:{array:cg},handle:114}),xI(is,{memory:{array:qg},handle:267988,slots:{1:ns,2:rs}}),xI(ns,{structure:qA,memory:{array:qg,offset:4,length:8}}),xI(rs,{structure:ne,memory:{array:qg,offset:12,length:24},slots:{0:ss}}),xI(ss,{structure:$A,memory:{array:qg,offset:12,length:8}}),xI(as,{slots:{0:os}}),xI(os,{structure:ae,memory:{array:cg},handle:104}),xI(gs,{memory:{array:cg},handle:117}),xI(Is,{memory:{array:Jg}}),xI(Cs,{slots:{0:Qs}}),xI(Qs,{structure:Be,memory:{array:cg},handle:115}),xI(cs,{memory:{array:cg},handle:116}),xI(Bs,{memory:{array:Og},handle:268100,slots:{1:ls,3:us}}),xI(ls,{structure:Qe,memory:{array:Og,offset:4,length:8},slots:{0:Es}}),xI(Es,{structure:Ie,memory:{array:Og,offset:4,length:8}}),xI(us,{structure:ne,memory:{array:Og,offset:76,length:24},slots:{0:fs}}),xI(fs,{structure:$A,memory:{array:Og,offset:76,length:8}}),xI(hs,{slots:{0:ps}}),xI(ps,{structure:ue,memory:{array:cg},handle:105}),xI(ys,{slots:{0:ds,1:ms,2:bs}}),xI(ds,{structure:he,memory:{array:Kg},const:!0}),xI(ms,{structure:he,memory:{array:Tg},const:!0}),xI(bs,{structure:he,memory:{array:Yg},const:!0}),xI(Ds,{memory:{array:Hg},handle:266436,slots:{2:Ss}}),xI(Ss,{structure:de,memory:{array:Hg,offset:8,length:8}}),xI(ws,{memory:{array:cg},handle:54}),xI(vs,{memory:{array:cg},handle:55}),xI(ks,{memory:{array:cg},handle:56}),xI(xs,{memory:{array:cg},handle:57}),xI(Us,{memory:{array:cg},handle:58}),xI(Ns,{memory:{array:cg},handle:56}),xI(Gs,{memory:{array:cg},handle:62}),xI(Fs,{memory:{array:cg},handle:63}),xI(Ms,{memory:{array:cg},handle:59}),xI(Rs,{memory:{array:cg},handle:60}),xI(Ls,{memory:{array:cg},handle:61}),xI(zs,{memory:{array:cg},handle:64}),xI(qs,{memory:{array:cg},handle:65}),xI(Js,{memory:{array:cg},handle:56}),xI(Os,{slots:{0:Ks}}),xI(Ks,{structure:We,memory:{array:Pg},const:!0}),xI(Ts,{memory:{array:cg},handle:67}),xI(Ys,{memory:{array:Vg},handle:266052,slots:{0:Hs}}),xI(Hs,{structure:z,memory:{array:Vg,offset:0,length:8},slots:{0:Ps}}),xI(Ps,{structure:L,memory:{array:cg}}),xI(Vs,{slots:{0:_s}}),xI(_s,{structure:$e,memory:{array:cg},handle:66}),xI(Ws,{memory:{array:cg},handle:68}),xI(Xs,{memory:{array:cg},handle:69}),xI(js,{memory:{array:cg},handle:87}),xI(Zs,{memory:{array:cg},handle:88}),xI($s,{memory:{array:cg},handle:75}),xI(Aa,{memory:{array:cg},handle:76}),xI(ea,{memory:{array:cg},handle:70}),xI(ta,{memory:{array:cg},handle:71}),xI(ia,{memory:{array:cg},handle:72}),xI(na,{memory:{array:cg},handle:73}),xI(ra,{memory:{array:cg},handle:74}),xI(sa,{memory:{array:_g}}),xI(aa,{memory:{array:cg},handle:77}),xI(oa,{memory:{array:cg},handle:78}),xI(ga,{memory:{array:cg},handle:79}),xI(Ia,{slots:{0:Ca}}),xI(Ca,{structure:Dt,memory:{array:Wg},const:!0}),xI(Qa,{memory:{array:cg},handle:80}),xI(ca,{memory:{array:cg},handle:81}),xI(Ba,{slots:{0:la}}),xI(la,{structure:Gt,memory:{array:Xg},const:!0}),xI(Ea,{memory:{array:cg},handle:82}),xI(ua,{memory:{array:cg},handle:84}),xI(fa,{memory:{array:jg},handle:266728,slots:{0:ha}}),xI(ha,{structure:Ie,memory:{array:jg,offset:0,length:8}}),xI(pa,{slots:{0:ya,1:da,2:ma,3:ba}}),xI(ya,{structure:Kt,memory:{array:Zg},const:!0}),xI(da,{structure:Kt,memory:{array:$g},const:!0}),xI(ma,{structure:Kt,memory:{array:AI},const:!0}),xI(ba,{structure:Kt,memory:{array:eI},const:!0}),xI(Da,{memory:{array:cg},handle:85}),xI(Sa,{slots:{0:wa,1:va,2:ka,3:xa}}),xI(wa,{structure:Pt,memory:{array:tI},const:!0}),xI(va,{structure:Pt,memory:{array:iI},const:!0}),xI(ka,{structure:Pt,memory:{array:nI},const:!0}),xI(xa,{structure:Pt,memory:{array:rI},const:!0}),xI(Ua,{memory:{array:cg},handle:86}),xI(Na,{memory:{array:cg},handle:84}),xI(Ga,{slots:{0:Fa,1:Ma,2:Ra,3:La}}),xI(Fa,{structure:Ai,memory:{array:sI},const:!0}),xI(Ma,{structure:Ai,memory:{array:aI},const:!0}),xI(Ra,{structure:Ai,memory:{array:oI},const:!0}),xI(La,{structure:Ai,memory:{array:gI},const:!0}),xI(za,{memory:{array:cg},handle:86}),xI(qa,{memory:{array:cg},handle:84}),xI(Ja,{memory:{array:cg},handle:84}),xI(Oa,{memory:{array:cg},handle:84}),xI(Ka,{slots:{0:Ta}}),xI(Ta,{structure:Ei,memory:{array:II},const:!0}),xI(Ya,{memory:{array:cg},handle:84}),xI(Ha,{slots:{0:Pa}}),xI(Pa,{structure:pi,memory:{array:CI},const:!0}),xI(Va,{memory:{array:cg},handle:89}),xI(_a,{slots:{0:Wa}}),xI(Wa,{structure:bi,memory:{array:QI},const:!0}),xI(Xa,{memory:{array:cg},handle:84}),xI(ja,{slots:{0:Za,1:$a,2:Ao,3:eo}}),xI(Za,{structure:vi,memory:{array:cI},const:!0}),xI($a,{structure:vi,memory:{array:BI},const:!0}),xI(Ao,{structure:vi,memory:{array:lI},const:!0}),xI(eo,{structure:vi,memory:{array:EI},const:!0}),xI(to,{memory:{array:cg},handle:90}),xI(io,{slots:{0:no}}),xI(no,{structure:Ni,memory:{array:uI},const:!0}),xI(ro,{memory:{array:cg},handle:91}),xI(so,{slots:{0:ao}}),xI(ao,{structure:Ri,memory:{array:fI},const:!0}),xI(oo,{memory:{array:cg},handle:84}),xI(go,{slots:{0:Io,1:Co,2:Qo,3:co}}),xI(Io,{structure:Ki,memory:{array:hI},const:!0}),xI(Co,{structure:Ki,memory:{array:pI},const:!0}),xI(Qo,{structure:Ki,memory:{array:yI},const:!0}),xI(co,{structure:Ki,memory:{array:dI},const:!0}),xI(Bo,{memory:{array:cg},handle:92}),xI(lo,{slots:{0:Eo}}),xI(Eo,{structure:Hi,memory:{array:mI},const:!0}),xI(uo,{memory:{array:cg},handle:81}),xI(fo,{slots:{0:ho}}),xI(ho,{structure:Wi,memory:{array:bI},const:!0}),xI(po,{memory:{array:cg},handle:93}),xI(yo,{slots:{0:mo,1:bo,2:Do,3:So}}),xI(mo,{structure:$i,memory:{array:DI},const:!0}),xI(bo,{structure:$i,memory:{array:SI},const:!0}),xI(Do,{structure:$i,memory:{array:wI},const:!0}),xI(So,{structure:$i,memory:{array:vI},const:!0}),xI(wo,{memory:{array:cg},handle:94}),xI(vo,{slots:{0:ko,1:xo,2:Uo,3:No,4:Go,5:Fo,6:Ro,7:zo,9:qo,10:Jo,11:Oo,12:Ko,13:To,14:Yo,15:Ho,16:Po,17:Vo,18:_o,19:Wo,20:Xo,21:jo,22:Zo,23:$o,24:Ag,25:eg,26:tg,27:ig,28:ng,29:rg,30:sg,31:ag,32:og,33:gg,34:Ig,35:Cg}}),xI(ko,{structure:NA,memory:{array:cg},handle:2}),xI(xo,{structure:ve,memory:{array:cg},handle:3}),xI(Uo,{structure:Ge,memory:{array:cg},handle:4}),xI(No,{structure:Oe,memory:{array:cg},handle:5}),xI(Go,{structure:Ve,memory:{array:cg},handle:6}),xI(Fo,{structure:_e,memory:{array:cg},slots:{0:Mo}}),xI(Mo,{structure:At}),xI(Ro,{structure:_e,memory:{array:cg},slots:{0:Lo}}),xI(Lo,{structure:tt}),xI(zo,{structure:ft,memory:{array:cg},handle:7}),xI(qo,{structure:bt,memory:{array:cg},handle:8}),xI(Jo,{structure:b,memory:{array:kI},const:!0}),xI(Oo,{structure:vt,memory:{array:cg},handle:9}),xI(Ko,{structure:Nt,memory:{array:cg},handle:10}),xI(To,{structure:Rt,memory:{array:cg},handle:11}),xI(Yo,{structure:Jt,memory:{array:cg},handle:12}),xI(Ho,{structure:xe,memory:{array:cg},handle:13}),xI(Po,{structure:Ht,memory:{array:cg},handle:14}),xI(Vo,{structure:Wt,memory:{array:cg},handle:15}),xI(_o,{structure:$t,memory:{array:cg},handle:16}),xI(Wo,{structure:ii,memory:{array:cg},handle:17}),xI(Xo,{structure:ai,memory:{array:cg},handle:18}),xI(jo,{structure:Ci,memory:{array:cg},handle:19}),xI(Zo,{structure:li,memory:{array:cg},handle:20}),xI($o,{structure:hi,memory:{array:cg},handle:21}),xI(Ag,{structure:rt,memory:{array:cg},handle:22}),xI(eg,{structure:ot,memory:{array:cg},handle:23}),xI(tg,{structure:mi,memory:{array:cg},handle:24}),xI(ig,{structure:wi,memory:{array:cg},handle:25}),xI(ng,{structure:Ui,memory:{array:cg},handle:26}),xI(rg,{structure:rt,memory:{array:cg},handle:27}),xI(sg,{structure:Mi,memory:{array:cg},handle:28}),xI(ag,{structure:qi,memory:{array:cg},handle:29}),xI(og,{structure:Yi,memory:{array:cg},handle:30}),xI(gg,{structure:_i,memory:{array:cg},handle:31}),xI(Ig,{structure:Zi,memory:{array:cg},handle:32}),xI(Cg,{structure:tn,memory:{array:cg},handle:33}),xI(s,{...A,flags:1,signature:0xa310b7d01f11b8can,name:"void",align:1,instance:{members:[{...r,bitOffset:0,bitSize:0,byteSize:0,structure:s}]}}),xI(a,{...A,flags:1,signature:0x61e77abe97c52d51n,name:"f32",byteSize:4,align:4,instance:{members:[{...r,type:4,bitOffset:0,bitSize:32,byteSize:4,structure:a}]}}),xI(o,{...A,type:12,flags:10,signature:0x207e329602a86755n,name:"Arg(fn (Point, Point) Point)",length:2,byteSize:24,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:B},{...r,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:1,name:"0",structure:B},{...r,type:5,flags:1,bitOffset:128,bitSize:64,byteSize:8,slot:2,name:"1",structure:B}]}}),xI(g,{...A,type:14,signature:0x8e48777d39cc425en,name:"fn (Point, Point) Point",length:2,instance:{members:[{...r,type:5,bitSize:192,byteSize:24,structure:o}],template:rn}}),xI(I,{...A,type:12,flags:10,signature:0x61503e2c040eea30n,name:"Arg(fn (Point, Point) f32)",length:2,byteSize:20,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:a},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:1,name:"0",structure:B},{...r,type:5,flags:1,bitOffset:96,bitSize:64,byteSize:8,slot:2,name:"1",structure:B}]}}),xI(C,{...A,type:14,signature:0x18a1631fcf9c9650n,name:"fn (Point, Point) f32",length:2,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:I}],template:sn}}),xI(Q,{...A,type:12,flags:10,signature:0x2c8b0923044d56a3n,name:"Arg(fn (Point) f32)",length:1,byteSize:12,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:a},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:1,name:"0",structure:B}]}}),xI(c,{...A,type:14,signature:0xd65e9ab75b9dec39n,name:"fn (Point) f32",length:1,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:Q}],template:an}}),xI(B,{...A,type:2,flags:16,signature:0xc6238f223c317b90n,name:"Point",byteSize:8,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"x",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"y",structure:a}],template:on},static:{members:[{...r,type:5,flags:18,slot:0,name:"mid",structure:g},{...r,type:5,flags:18,slot:2,name:"distance",structure:C},{...r,type:5,flags:18,slot:3,name:"diff",structure:g},{...r,type:5,flags:18,slot:4,name:"length",structure:c}],template:gn}}),xI(l,{...A,type:12,flags:10,signature:0x8d352bb77a26e612n,name:"Arg(fn (PointUV, PointUV) Point)",length:2,byteSize:40,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:B},{...r,type:5,flags:1,bitOffset:64,bitSize:128,byteSize:16,slot:1,name:"0",structure:y},{...r,type:5,flags:1,bitOffset:192,bitSize:128,byteSize:16,slot:2,name:"1",structure:y}]}}),xI(E,{...A,type:14,signature:0x0f1df05e0d01db92n,name:"fn (PointUV, PointUV) Point",length:2,instance:{members:[{...r,type:5,bitSize:320,byteSize:40,structure:l}],template:Bn}}),xI(u,{...A,type:12,flags:10,signature:0x9961a28ae296031fn,name:"Arg(fn (PointUV, PointUV) f32)",length:2,byteSize:36,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:a},{...r,type:5,flags:1,bitOffset:32,bitSize:128,byteSize:16,slot:1,name:"0",structure:y},{...r,type:5,flags:1,bitOffset:160,bitSize:128,byteSize:16,slot:2,name:"1",structure:y}]}}),xI(f,{...A,type:14,signature:0xb56a381f65765bdcn,name:"fn (PointUV, PointUV) f32",length:2,instance:{members:[{...r,type:5,bitSize:288,byteSize:36,structure:u}],template:ln}}),xI(h,{...A,type:12,flags:10,signature:0xe743c73bc7c6fe7bn,name:"Arg(fn (PointUV) Point)",length:1,byteSize:24,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:B},{...r,type:5,flags:1,bitOffset:64,bitSize:128,byteSize:16,slot:1,name:"0",structure:y}]}}),xI(p,{...A,type:14,signature:0xb4b152a5ffc2fd66n,name:"fn (PointUV) Point",length:1,instance:{members:[{...r,type:5,bitSize:192,byteSize:24,structure:h}],template:En}}),xI(y,{...A,type:2,flags:16,signature:0x526f11b57045ab14n,name:"PointUV",byteSize:16,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"x",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"y",structure:a},{...r,type:4,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"u",structure:a},{...r,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"v",structure:a}],template:un},static:{members:[{...r,type:5,flags:18,slot:0,name:"mid",structure:E},{...r,type:5,flags:18,slot:1,name:"angleTo",structure:f},{...r,type:5,flags:18,slot:2,name:"distance",structure:f},{...r,type:5,flags:18,slot:3,name:"toPoint",structure:p}],template:fn}}),xI(d,{...A,type:9,flags:10,signature:0xfecc1a9f32c06d42n,name:"[_]PointUV",byteSize:16,align:4,instance:{members:[{...r,type:5,bitSize:128,byteSize:16,structure:y}]}}),xI(m,{...A,type:8,flags:188,signature:0x2905307feb293d85n,name:"[]const PointUV",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:d}]}}),xI(b,{...A,flags:1,signature:0x68598db431a811a3n,name:"u32",byteSize:4,align:4,instance:{members:[{...r,type:3,bitOffset:0,bitSize:32,byteSize:4,structure:b}]}}),xI(D,{...A,type:12,flags:14,signature:0x9ddbe0c6075e76cbn,name:"Arg(fn ([]const PointUV, u32) void)",length:2,byteSize:12,align:4,instance:{members:[{...r,flags:1,bitOffset:96,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:m},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:b}]}}),xI(S,{...A,type:14,signature:0x6bba777479940b36n,name:"fn ([]const PointUV, u32) void",length:2,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:D}],template:mn},static:{members:[],template:bn}}),xI(w,{...A,type:8,flags:204,signature:0x1b2e4a00e258618fn,name:"*const fn ([]const PointUV, u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:S}]}}),xI(v,{...A,flags:1,signature:0x370ee22b85937307n,name:"u8",byteSize:1,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:8,byteSize:1,structure:v}]}}),xI(k,{...A,type:1,flags:224,signature:0x72a0d50910cc3369n,name:"[4]u8",length:4,byteSize:4,align:1,instance:{members:[{...r,type:3,bitSize:8,byteSize:1,structure:v}]}}),xI(x,{...A,type:1,flags:64,signature:0x965d25e134612060n,name:"[3]f32",length:3,byteSize:12,align:4,instance:{members:[{...r,type:4,bitSize:32,byteSize:4,structure:a}]}}),xI(U,{...A,type:2,flags:26,signature:0x192d6f39fdd42e6en,name:"DrawInstance",byteSize:64,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:128,byteSize:16,slot:0,name:"p0",structure:y},{...r,type:5,flags:1,bitOffset:128,bitSize:128,byteSize:16,slot:1,name:"p1",structure:y},{...r,type:5,flags:1,bitOffset:256,bitSize:128,byteSize:16,slot:2,name:"p2",structure:y},{...r,type:5,flags:1,bitOffset:384,bitSize:32,byteSize:4,slot:3,name:"color",structure:k},{...r,type:5,flags:1,bitOffset:416,bitSize:96,byteSize:12,slot:4,name:"radius",structure:x}],template:Dn}}),xI(N,{...A,type:9,flags:10,signature:0x914ee09efb47cbf7n,name:"[_]DrawInstance",byteSize:64,align:4,instance:{members:[{...r,type:5,bitSize:512,byteSize:64,structure:U}]}}),xI(G,{...A,type:8,flags:188,signature:0x39778fa380da3875n,name:"[]const DrawInstance",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:N}]}}),xI(F,{...A,type:12,flags:14,signature:0x93ffc88e8c95765dn,name:"Arg(fn ([]const DrawInstance) void)",length:1,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:G}]}}),xI(M,{...A,type:14,signature:0xe9f243b3e4ecde6cn,name:"fn ([]const DrawInstance) void",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:F}],template:Sn},static:{members:[],template:wn}}),xI(R,{...A,type:8,flags:204,signature:0xffb0918139c04f1an,name:"*const fn ([]const DrawInstance) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:M}]}}),xI(L,{...A,type:9,flags:10,signature:0xc2e8551856512494n,name:"[_]Point",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:B}]}}),xI(z,{...A,type:8,flags:188,signature:0x04fa74127b6acc09n,name:"[]const Point",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:L}]}}),xI(q,{...A,type:12,flags:14,signature:0xbcabfdc00e2aa5efn,name:"Arg(fn ([]const Point, u32, u32, u32) void)",length:4,byteSize:20,align:4,instance:{members:[{...r,flags:1,bitOffset:160,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:z},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:b},{...r,type:3,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"2",structure:b},{...r,type:3,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:4,name:"3",structure:b}]}}),xI(J,{...A,type:14,signature:0x28e16a0b4ee9f18cn,name:"fn ([]const Point, u32, u32, u32) void",length:4,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:q}],template:vn},static:{members:[],template:kn}}),xI(O,{...A,type:8,flags:204,signature:0x9ac954f1f874b3b5n,name:"*const fn ([]const Point, u32, u32, u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:J}]}}),xI(K,{...A,type:12,signature:0x9a708346bd652dc9n,name:"Arg(fn (u32, u32, u32, u32) void)",length:4,byteSize:16,align:4,instance:{members:[{...r,flags:1,bitOffset:128,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:b},{...r,type:3,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:b},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:3,name:"2",structure:b},{...r,type:3,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:4,name:"3",structure:b}]}}),xI(T,{...A,type:14,signature:0x4af89192d7f7e364n,name:"fn (u32, u32, u32, u32) void",length:4,instance:{members:[{...r,type:5,bitSize:128,byteSize:16,structure:K}],template:xn},static:{members:[],template:Un}}),xI(Y,{...A,type:8,flags:204,signature:0x96ca213ec0738fa3n,name:"*const fn (u32, u32, u32, u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:T}]}}),xI(H,{...A,type:2,signature:0x0253d658a7e15a7an,name:"Placement",byteSize:16,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"x",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"y",structure:a},{...r,type:4,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"width",structure:a},{...r,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"height",structure:a}],template:Nn}}),xI(P,{...A,type:12,flags:10,signature:0x7ec4cbcd82d19090n,name:"Arg(fn (u32, u32, u32, Placement) void)",length:4,byteSize:28,align:4,instance:{members:[{...r,flags:1,bitOffset:224,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:b},{...r,type:3,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:b},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:3,name:"2",structure:b},{...r,type:5,flags:1,bitOffset:96,bitSize:128,byteSize:16,slot:4,name:"3",structure:H}]}}),xI(V,{...A,type:14,signature:0xd690a44ec2f29c5cn,name:"fn (u32, u32, u32, Placement) void",length:4,instance:{members:[{...r,type:5,bitSize:224,byteSize:28,structure:P}],template:Gn},static:{members:[],template:Fn}}),xI(_,{...A,type:8,flags:204,signature:0x4ccf7def3d1e7c54n,name:"*const fn (u32, u32, u32, Placement) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:V}]}}),xI(W,{...A,type:12,signature:0xc8f1446a55bbdcc4n,name:"Arg(fn (u32, u32, u32, u32, f32, f32) void)",length:6,byteSize:24,align:4,instance:{members:[{...r,flags:1,bitOffset:192,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:b},{...r,type:3,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:b},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:3,name:"2",structure:b},{...r,type:3,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:4,name:"3",structure:b},{...r,type:4,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:5,name:"4",structure:a},{...r,type:4,flags:1,bitOffset:160,bitSize:32,byteSize:4,slot:6,name:"5",structure:a}]}}),xI(X,{...A,type:14,signature:0xc990915d10e8c5e9n,name:"fn (u32, u32, u32, u32, f32, f32) void",length:6,instance:{members:[{...r,type:5,bitSize:192,byteSize:24,structure:W}],template:Mn},static:{members:[],template:Rn}}),xI(j,{...A,type:8,flags:204,signature:0xfdea5d2863b67a83n,name:"*const fn (u32, u32, u32, u32, f32, f32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:X}]}}),xI(Z,{...A,type:1,flags:64,signature:0x60772e176987374dn,name:"[2]u32",length:2,byteSize:8,align:4,instance:{members:[{...r,type:3,bitSize:32,byteSize:4,structure:b}]}}),xI($,{...A,type:10,flags:16,signature:0x54c1b3c549d13acan,name:"@Vector(4, f32)",length:4,byteSize:16,align:16,instance:{members:[{...r,type:4,bitSize:32,byteSize:4,structure:a}]}}),xI(AA,{...A,type:2,flags:26,signature:0xbd6fe708f9f8d6ffn,name:"UniformSolid",byteSize:32,align:16,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"dist_start",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"dist_end",structure:a},{...r,type:5,bitOffset:64,bitSize:64,byteSize:8,slot:2,name:"padding",structure:Z},{...r,type:5,flags:1,bitOffset:128,bitSize:128,byteSize:16,slot:3,name:"color",structure:$}],template:Ln}}),xI(eA,{...A,type:1,flags:64,signature:0x55b5c2c225a6545bn,name:"[4]f32",length:4,byteSize:16,align:4,instance:{members:[{...r,type:4,bitSize:32,byteSize:4,structure:a}]}}),xI(tA,{...A,type:1,flags:64,signature:0xf25f9cba158fbe10n,name:"[3]u32",length:3,byteSize:12,align:4,instance:{members:[{...r,type:3,bitSize:32,byteSize:4,structure:b}]}}),xI(iA,{...A,type:2,flags:4122,signature:0xcaf30c045081f68fn,name:"UniformGradientStop",byteSize:32,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:128,byteSize:16,slot:0,name:"color",structure:eA},{...r,type:4,bitOffset:128,bitSize:32,byteSize:4,slot:1,name:"offset",structure:a},{...r,type:5,bitOffset:160,bitSize:96,byteSize:12,slot:2,name:"padding",structure:tA}],template:zn}}),xI(nA,{...A,type:1,flags:10,signature:0xb8c0b82a9715265an,name:"[10]UniformGradientStop",length:10,byteSize:320,align:4,instance:{members:[{...r,type:5,bitSize:256,byteSize:32,structure:iA}]}}),xI(rA,{...A,type:2,flags:26,signature:0xf19f5f8ee9b0ab41n,name:"UniformLinearGradient",byteSize:352,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"dist_start",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"dist_end",structure:a},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"stops_count",structure:b},{...r,type:3,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"padding",structure:b},{...r,type:5,flags:1,bitOffset:128,bitSize:64,byteSize:8,slot:4,name:"start",structure:B},{...r,type:5,flags:1,bitOffset:192,bitSize:64,byteSize:8,slot:5,name:"end",structure:B},{...r,type:5,flags:1,bitOffset:256,bitSize:2560,byteSize:320,slot:6,name:"stops",structure:nA}],template:qn}}),xI(sA,{...A,type:2,flags:26,signature:0xba6e99cdb975c14dn,name:"UniformRadialGradient",byteSize:352,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"dist_start",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"dist_end",structure:a},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"stops_count",structure:b},{...r,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"radius_ratio",structure:a},{...r,type:5,flags:1,bitOffset:128,bitSize:64,byteSize:8,slot:4,name:"center",structure:B},{...r,type:5,flags:1,bitOffset:192,bitSize:64,byteSize:8,slot:5,name:"destination",structure:B},{...r,type:5,flags:1,bitOffset:256,bitSize:2560,byteSize:320,slot:6,name:"stops",structure:nA}],template:Jn}}),xI(aA,{...A,type:6,flags:1,signature:0x6787563e1d5f78a8n,name:"EN0",byteSize:1,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:2,byteSize:1,structure:aA}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"solid",structure:aA},{...r,type:5,flags:4,slot:1,name:"linear",structure:aA},{...r,type:5,flags:4,slot:2,name:"radial",structure:aA}],template:On}}),xI(oA,{...A,type:3,flags:58,signature:0x20b352911ff31f6bn,name:"DrawUniform",byteSize:368,align:16,instance:{members:[{...r,type:5,bitOffset:0,bitSize:256,byteSize:32,slot:0,name:"solid",structure:AA},{...r,type:5,bitOffset:0,bitSize:2816,byteSize:352,slot:1,name:"linear",structure:rA},{...r,type:5,bitOffset:0,bitSize:2816,byteSize:352,slot:2,name:"radial",structure:sA},{...r,type:3,flags:8,bitOffset:2816,bitSize:2,byteSize:1,structure:aA}]}}),xI(gA,{...A,type:12,flags:14,signature:0x5e0099122add1a77n,name:"Arg(fn ([]const PointUV, DrawUniform, u32) void)",length:3,byteSize:384,align:16,instance:{members:[{...r,flags:1,bitOffset:3040,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:2944,bitSize:64,byteSize:8,slot:1,name:"0",structure:m},{...r,type:5,flags:1,bitOffset:0,bitSize:2944,byteSize:368,slot:2,name:"1",structure:oA},{...r,type:3,flags:1,bitOffset:3008,bitSize:32,byteSize:4,slot:3,name:"2",structure:b}]}}),xI(IA,{...A,type:14,signature:0x43c5436481c75e6dn,name:"fn ([]const PointUV, DrawUniform, u32) void",length:3,instance:{members:[{...r,type:5,bitSize:3072,byteSize:384,structure:gA}],template:Hn},static:{members:[],template:Pn}}),xI(CA,{...A,type:8,flags:204,signature:0x673f1c5641823f18n,name:"*const fn ([]const PointUV, DrawUniform, u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:IA}]}}),xI(QA,{...A,type:1,flags:64,signature:0x6d60cb6f613019aan,name:"[4]u32",length:4,byteSize:16,align:4,instance:{members:[{...r,type:3,bitSize:32,byteSize:4,structure:b}]}}),xI(cA,{...A,type:2,flags:26,signature:0x3cad7320ede972e2n,name:"PickVertex",byteSize:32,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:128,byteSize:16,slot:0,name:"point",structure:y},{...r,type:5,flags:1,bitOffset:128,bitSize:128,byteSize:16,slot:1,name:"id",structure:QA}],template:Vn}}),xI(BA,{...A,type:9,flags:10,signature:0xa6fe4858c0857d6dn,name:"[_]PickVertex",byteSize:32,align:4,instance:{members:[{...r,type:5,bitSize:256,byteSize:32,structure:cA}]}}),xI(lA,{...A,type:8,flags:188,signature:0x8b5085e14c0be0d9n,name:"[]const PickVertex",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:BA}]}}),xI(EA,{...A,type:12,flags:14,signature:0x97dc1de2cc30f266n,name:"Arg(fn ([]const PickVertex, u32) void)",length:2,byteSize:12,align:4,instance:{members:[{...r,flags:1,bitOffset:96,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:lA},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:b}]}}),xI(uA,{...A,type:14,signature:0x1abcbee37e184e77n,name:"fn ([]const PickVertex, u32) void",length:2,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:EA}],template:_n},static:{members:[],template:Wn}}),xI(fA,{...A,type:8,flags:204,signature:0xcde286d73f219d41n,name:"*const fn ([]const PickVertex, u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:uA}]}}),xI(hA,{...A,type:2,flags:26,signature:0x1bee0546b01f3c4bn,name:"PickInstance",byteSize:76,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:128,byteSize:16,slot:0,name:"p0",structure:y},{...r,type:5,flags:1,bitOffset:128,bitSize:128,byteSize:16,slot:1,name:"p1",structure:y},{...r,type:5,flags:1,bitOffset:256,bitSize:128,byteSize:16,slot:2,name:"p2",structure:y},{...r,type:5,flags:1,bitOffset:384,bitSize:128,byteSize:16,slot:3,name:"id",structure:QA},{...r,type:5,flags:1,bitOffset:512,bitSize:96,byteSize:12,slot:4,name:"radius",structure:x}],template:Xn}}),xI(pA,{...A,type:9,flags:10,signature:0x199be0bc5f322739n,name:"[_]PickInstance",byteSize:76,align:4,instance:{members:[{...r,type:5,bitSize:608,byteSize:76,structure:hA}]}}),xI(yA,{...A,type:8,flags:188,signature:0x5188567a77db91can,name:"[]const PickInstance",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:pA}]}}),xI(dA,{...A,type:12,flags:14,signature:0x3c18777eb99f248bn,name:"Arg(fn ([]const PickInstance) void)",length:1,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:yA}]}}),xI(mA,{...A,type:14,signature:0xabc9dbbca86a3778n,name:"fn ([]const PickInstance) void",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:dA}],template:jn},static:{members:[],template:Zn}}),xI(bA,{...A,type:8,flags:204,signature:0x0c062d7fbc8eefacn,name:"*const fn ([]const PickInstance) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:mA}]}}),xI(DA,{...A,type:2,signature:0xcebaa9e2330cf84cn,name:"PickUniform",byteSize:8,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"dist_start",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"dist_end",structure:a}],template:$n}}),xI(SA,{...A,type:12,flags:14,signature:0x1a483e4175b48f5fn,name:"Arg(fn ([]const PickVertex, PickUniform, u32) void)",length:3,byteSize:20,align:4,instance:{members:[{...r,flags:1,bitOffset:160,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:lA},{...r,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:2,name:"1",structure:DA},{...r,type:3,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:3,name:"2",structure:b}]}}),xI(wA,{...A,type:14,signature:0xd4e43741c641092an,name:"fn ([]const PickVertex, PickUniform, u32) void",length:3,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:SA}],template:Ar},static:{members:[],template:er}}),xI(vA,{...A,type:8,flags:204,signature:0x8af50866e58be998n,name:"*const fn ([]const PickVertex, PickUniform, u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:wA}]}}),xI(kA,{...A,type:2,flags:14,signature:0x70ac94780a2323c1n,name:"WebGpuPrograms",byteSize:40,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"draw_texture",structure:w},{...r,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"draw_triangle",structure:R},{...r,type:5,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"compute_shape",structure:O},{...r,type:5,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"clear_sdf",structure:Y},{...r,type:5,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:4,name:"combine_sdf",structure:_},{...r,type:5,flags:1,bitOffset:160,bitSize:32,byteSize:4,slot:5,name:"draw_blur",structure:j},{...r,type:5,flags:1,bitOffset:192,bitSize:32,byteSize:4,slot:6,name:"draw_shape",structure:CA},{...r,type:5,flags:1,bitOffset:224,bitSize:32,byteSize:4,slot:7,name:"pick_texture",structure:fA},{...r,type:5,flags:1,bitOffset:256,bitSize:32,byteSize:4,slot:8,name:"pick_triangle",structure:bA},{...r,type:5,flags:1,bitOffset:288,bitSize:32,byteSize:4,slot:9,name:"pick_shape",structure:vA}],template:tr}}),xI(xA,{...A,type:8,flags:204,signature:0x4acb34c3b2746433n,name:"*const WebGpuPrograms",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:kA}]}}),xI(UA,{...A,type:12,flags:14,signature:0x7d3eadcf8af54d67n,name:"Arg(fn (*const WebGpuPrograms) void)",length:1,byteSize:4,align:4,instance:{members:[{...r,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:xA}]}}),xI(NA,{...A,type:14,signature:0x876f54058f5a8a1dn,name:"fn (*const WebGpuPrograms) void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:UA}],template:mr}}),xI(GA,{...A,type:1,flags:10,signature:0x009c896a0d8f3812n,name:"[4]PointUV",length:4,byteSize:64,align:4,instance:{members:[{...r,type:5,bitSize:128,byteSize:16,structure:y}]}}),xI(FA,{...A,flags:1,signature:0x6eddab4b13ff06c5n,name:"bool",byteSize:1,align:1,instance:{members:[{...r,type:1,bitOffset:0,bitSize:1,byteSize:1,structure:FA}]}}),xI(MA,{...A,type:12,flags:10,signature:0x58a13edda65f5ed0n,name:"Arg(fn (Serialized, Serialized) bool)",length:2,byteSize:148,align:4,instance:{members:[{...r,type:1,flags:1,bitOffset:1152,bitSize:1,byteSize:1,slot:0,name:"retval",structure:FA},{...r,type:5,flags:1,bitOffset:0,bitSize:576,byteSize:72,slot:1,name:"0",structure:LA},{...r,type:5,flags:1,bitOffset:576,bitSize:576,byteSize:72,slot:2,name:"1",structure:LA}]}}),xI(RA,{...A,type:14,signature:0x360330571d9497c6n,name:"fn (Serialized, Serialized) bool",length:2,instance:{members:[{...r,type:5,bitSize:1184,byteSize:148,structure:MA}],template:br}}),xI(LA,{...A,type:2,flags:10,signature:0xb39c5f7dff3b2904n,name:"Serialized",byteSize:72,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:512,byteSize:64,slot:0,name:"bounds",structure:GA},{...r,type:3,flags:1,bitOffset:512,bitSize:32,byteSize:4,slot:1,name:"texture_id",structure:b},{...r,type:3,flags:1,bitOffset:544,bitSize:32,byteSize:4,slot:2,name:"id",structure:b}],template:Dr},static:{members:[{...r,type:5,flags:18,slot:0,name:"compare",structure:RA}],template:Sr}}),xI(zA,{...A,type:9,flags:14,signature:0x28f4d67d0bc5a78fn,name:"[_][]const Point",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:z}]}}),xI(qA,{...A,type:8,flags:188,signature:0x7ad3432b0313bcc4n,name:"[]const []const Point",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:zA}]}}),xI(JA,{...A,type:12,flags:10,signature:0x176aa807147c42f7n,name:"Arg(fn (GradientStop, GradientStop) bool)",length:2,byteSize:44,align:4,instance:{members:[{...r,type:1,flags:1,bitOffset:320,bitSize:1,byteSize:1,slot:0,name:"retval",structure:FA},{...r,type:5,flags:1,bitOffset:0,bitSize:160,byteSize:20,slot:1,name:"0",structure:KA},{...r,type:5,flags:1,bitOffset:160,bitSize:160,byteSize:20,slot:2,name:"1",structure:KA}]}}),xI(OA,{...A,type:14,signature:0x5ab6fe105d4fbdb3n,name:"fn (GradientStop, GradientStop) bool",length:2,instance:{members:[{...r,type:5,bitSize:352,byteSize:44,structure:JA}],template:vr}}),xI(KA,{...A,type:2,flags:26,signature:0x0913e15ff917a229n,name:"GradientStop",byteSize:20,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:128,byteSize:16,slot:0,name:"color",structure:eA},{...r,type:4,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:1,name:"offset",structure:a}],template:kr},static:{members:[{...r,type:5,flags:18,slot:0,name:"compare",structure:OA}],template:xr}}),xI(TA,{...A,type:9,flags:10,signature:0x7b432d3e8877b341n,name:"[_]GradientStop",byteSize:20,align:4,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:KA}]}}),xI(YA,{...A,type:8,flags:60,signature:0x5e6d4f4686359ed4n,name:"[]GradientStop",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:TA}]}}),xI(HA,{...A,type:2,flags:14,signature:0xb8e52699e00d4cb2n,name:"SerializedLinearGradient",byteSize:24,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"start",structure:B},{...r,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:1,name:"end",structure:B},{...r,type:5,flags:1,bitOffset:128,bitSize:64,byteSize:8,slot:2,name:"stops",structure:YA}],template:Nr}}),xI(PA,{...A,type:2,flags:14,signature:0xd33658d326d7d7f1n,name:"SerializedRadialGradient",byteSize:28,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"radius_ratio",structure:a},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:1,name:"center",structure:B},{...r,type:5,flags:1,bitOffset:96,bitSize:64,byteSize:8,slot:2,name:"destination",structure:B},{...r,type:5,flags:1,bitOffset:160,bitSize:64,byteSize:8,slot:3,name:"stops",structure:YA}],template:Fr}}),xI(VA,{...A,type:6,flags:1,signature:0x429513dea7837a43n,name:"EN1",byteSize:1,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:2,byteSize:1,structure:VA}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"linear",structure:VA},{...r,type:5,flags:4,slot:1,name:"radial",structure:VA},{...r,type:5,flags:4,slot:2,name:"solid",structure:VA}],template:Rr}}),xI(_A,{...A,type:12,flags:14,signature:0xc6620c10f001ea7fn,name:"Arg(fn (SerializedFill, SerializedFill) bool)",length:2,byteSize:68,align:4,instance:{members:[{...r,type:1,flags:1,bitOffset:512,bitSize:1,byteSize:1,slot:0,name:"retval",structure:FA},{...r,type:5,flags:1,bitOffset:0,bitSize:256,byteSize:32,slot:1,name:"0",structure:XA},{...r,type:5,flags:1,bitOffset:256,bitSize:256,byteSize:32,slot:2,name:"1",structure:XA}]}}),xI(WA,{...A,type:14,signature:0xded4888babf4368fn,name:"fn (SerializedFill, SerializedFill) bool",length:2,instance:{members:[{...r,type:5,bitSize:544,byteSize:68,structure:_A}],template:Jr}}),xI(XA,{...A,type:3,flags:62,signature:0xd93e48683d9c2917n,name:"SerializedFill",byteSize:32,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:192,byteSize:24,slot:0,name:"linear",structure:HA},{...r,type:5,bitOffset:0,bitSize:224,byteSize:28,slot:1,name:"radial",structure:PA},{...r,type:5,bitOffset:0,bitSize:128,byteSize:16,slot:2,name:"solid",structure:eA},{...r,type:3,flags:8,bitOffset:224,bitSize:2,byteSize:1,structure:VA}]},static:{members:[{...r,type:5,flags:18,slot:0,name:"compare",structure:WA}],template:Or}}),xI(jA,{...A,type:2,flags:14,signature:0x724eb4298011305en,name:"SerializedSdfEffect",byteSize:40,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"dist_start",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"dist_end",structure:a},{...r,type:5,flags:1,bitOffset:64,bitSize:256,byteSize:32,slot:2,name:"fill",structure:XA}],template:Tr}}),xI(ZA,{...A,type:9,flags:14,signature:0x076e7ae5b86c0f77n,name:"[_]SerializedSdfEffect",byteSize:40,align:4,instance:{members:[{...r,type:5,bitSize:320,byteSize:40,structure:jA}]}}),xI($A,{...A,type:8,flags:188,signature:0xc6e96a13ca810a21n,name:"[]const SerializedSdfEffect",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:ZA}]}}),xI(Ae,{...A,type:2,flags:10,signature:0x186189c59a882b0cn,name:"Filter",byteSize:8,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"gaussianBlur",structure:B}],template:Wr}}),xI(ee,{...A,type:7,flags:27,signature:0xf6590c3c20e730a9n,name:"?Filter",byteSize:12,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:64,byteSize:8,slot:0,structure:Ae},{...r,type:3,flags:8,bitOffset:64,bitSize:8,byteSize:1,structure:v}]}}),xI(te,{...A,type:12,flags:14,signature:0x11a4c5a9b090d0e9n,name:"Arg(fn (SerializedProps, SerializedProps) bool)",length:2,byteSize:52,align:4,instance:{members:[{...r,type:1,flags:1,bitOffset:384,bitSize:1,byteSize:1,slot:0,name:"retval",structure:FA},{...r,type:5,flags:1,bitOffset:0,bitSize:192,byteSize:24,slot:1,name:"0",structure:ne},{...r,type:5,flags:1,bitOffset:192,bitSize:192,byteSize:24,slot:2,name:"1",structure:ne}]}}),xI(ie,{...A,type:14,signature:0xc884f2247db508d4n,name:"fn (SerializedProps, SerializedProps) bool",length:2,instance:{members:[{...r,type:5,bitSize:416,byteSize:52,structure:te}],template:Xr}}),xI(ne,{...A,type:2,flags:4110,signature:0x34250012a56f0f2an,name:"SerializedProps",byteSize:24,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"sdf_effects",structure:$A},{...r,type:5,bitOffset:64,bitSize:96,byteSize:12,slot:1,name:"filter",structure:ee},{...r,type:4,bitOffset:160,bitSize:32,byteSize:4,slot:2,name:"opacity",structure:a}],template:jr},static:{members:[{...r,type:5,flags:18,slot:0,name:"compare",structure:ie}],template:As}}),xI(re,{...A,type:7,flags:17,signature:0x6a0f688da3728775n,name:"?u32",byteSize:8,align:4,instance:{members:[{...r,type:3,bitOffset:0,bitSize:32,byteSize:4,slot:0,structure:b},{...r,type:3,flags:8,bitOffset:32,bitSize:8,byteSize:1,structure:v}]}}),xI(se,{...A,type:12,flags:14,signature:0xddb6d6caa19bbf41n,name:"Arg(fn (Serialized, Serialized) bool)",length:2,byteSize:228,align:4,instance:{members:[{...r,type:1,flags:1,bitOffset:1792,bitSize:1,byteSize:1,slot:0,name:"retval",structure:FA},{...r,type:5,flags:1,bitOffset:0,bitSize:896,byteSize:112,slot:1,name:"0",structure:oe},{...r,type:5,flags:1,bitOffset:896,bitSize:896,byteSize:112,slot:2,name:"1",structure:oe}]}}),xI(ae,{...A,type:14,signature:0x86a434d5de44aaeen,name:"fn (Serialized, Serialized) bool",length:2,instance:{members:[{...r,type:5,bitSize:1824,byteSize:228,structure:se}],template:ts}}),xI(oe,{...A,type:2,flags:14,signature:0x1fd2ad6b7b50b83cn,name:"Serialized",byteSize:112,align:4,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"id",structure:b},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:1,name:"paths",structure:qA},{...r,type:5,flags:1,bitOffset:96,bitSize:192,byteSize:24,slot:2,name:"props",structure:ne},{...r,type:5,flags:1,bitOffset:288,bitSize:512,byteSize:64,slot:3,name:"bounds",structure:GA},{...r,type:3,flags:1,bitOffset:800,bitSize:32,byteSize:4,slot:4,name:"sdf_texture_id",structure:b},{...r,type:5,flags:1,bitOffset:832,bitSize:64,byteSize:8,slot:5,name:"cache_texture_id",structure:re}],template:is},static:{members:[{...r,type:5,flags:18,slot:0,name:"compare",structure:ae}],template:as}}),xI(ge,{...A,type:9,flags:224,signature:0x9b3f78f92307ba61n,name:"[_]u8",byteSize:1,align:1,instance:{members:[{...r,type:3,bitSize:8,byteSize:1,structure:v}]}}),xI(Ie,{...A,type:8,flags:188,signature:0x7e2f0adf211d515en,name:"[]const u8",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:ge}]}}),xI(Ce,{...A,flags:17,signature:0xad790f74c7d61933n,name:"usize",byteSize:4,align:4,instance:{members:[{...r,type:3,bitOffset:0,bitSize:32,byteSize:4,structure:Ce}]}}),xI(Qe,{...A,type:7,flags:15,signature:0xebf81e7a82becd63n,name:"?[]const u8",byteSize:8,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:64,byteSize:8,slot:0,structure:Ie},{...r,type:3,flags:8,bitOffset:0,bitSize:32,byteSize:4,structure:Ce}]}}),xI(ce,{...A,type:12,flags:10,signature:0x4f464eeee730b8f9n,name:"Arg(fn (Serialized, Serialized) bool)",length:2,byteSize:28,align:4,instance:{members:[{...r,type:1,flags:1,bitOffset:192,bitSize:1,byteSize:1,slot:0,name:"retval",structure:FA},{...r,type:5,flags:1,bitOffset:0,bitSize:96,byteSize:12,slot:1,name:"0",structure:le},{...r,type:5,flags:1,bitOffset:96,bitSize:96,byteSize:12,slot:2,name:"1",structure:le}]}}),xI(Be,{...A,type:14,signature:0xbf0c84af210131f1n,name:"fn (Serialized, Serialized) bool",length:2,instance:{members:[{...r,type:5,bitSize:224,byteSize:28,structure:ce}],template:gs}}),xI(le,{...A,type:2,signature:0xd32de7c5cf86bb6an,name:"Serialized",byteSize:12,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"font_size",structure:a},{...r,type:1,flags:1,bitOffset:64,bitSize:1,byteSize:1,slot:1,name:"is_sdf_shared",structure:FA},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"line_height",structure:a}],template:Is},static:{members:[{...r,type:5,flags:18,slot:0,name:"compare",structure:Be}],template:Cs}}),xI(Ee,{...A,type:12,flags:14,signature:0xe198a4a6722a8425n,name:"Arg(fn (Serialized, Serialized) bool)",length:2,byteSize:244,align:4,instance:{members:[{...r,type:1,flags:1,bitOffset:1920,bitSize:1,byteSize:1,slot:0,name:"retval",structure:FA},{...r,type:5,flags:1,bitOffset:0,bitSize:960,byteSize:120,slot:1,name:"0",structure:fe},{...r,type:5,flags:1,bitOffset:960,bitSize:960,byteSize:120,slot:2,name:"1",structure:fe}]}}),xI(ue,{...A,type:14,signature:0x3e9648bfdf4c010bn,name:"fn (Serialized, Serialized) bool",length:2,instance:{members:[{...r,type:5,bitSize:1952,byteSize:244,structure:Ee}],template:cs}}),xI(fe,{...A,type:2,flags:14,signature:0x61d3c8470e815746n,name:"Serialized",byteSize:120,align:4,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"id",structure:b},{...r,type:5,flags:129,bitOffset:32,bitSize:64,byteSize:8,slot:1,name:"content",structure:Qe},{...r,type:5,flags:1,bitOffset:96,bitSize:512,byteSize:64,slot:2,name:"bounds",structure:GA},{...r,type:5,flags:1,bitOffset:608,bitSize:192,byteSize:24,slot:3,name:"props",structure:ne},{...r,type:5,flags:1,bitOffset:800,bitSize:96,byteSize:12,slot:4,name:"typo_props",structure:le},{...r,type:5,flags:1,bitOffset:896,bitSize:64,byteSize:8,slot:5,name:"sdf_texture_id",structure:re}],template:Bs},static:{members:[{...r,type:5,flags:18,slot:0,name:"compare",structure:ue}],template:hs}}),xI(he,{...A,type:6,flags:1,signature:0x7cf6a3de88cb8656n,name:"EN2",byteSize:1,align:1,instance:{members:[{...r,type:3,bitOffset:0,bitSize:2,byteSize:1,structure:he}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"img",structure:he},{...r,type:5,flags:4,slot:1,name:"shape",structure:he},{...r,type:5,flags:4,slot:2,name:"text",structure:he}],template:ys}}),xI(pe,{...A,type:3,flags:62,signature:0x0b3de0b1eac7a6e5n,name:"AssetSerialized",byteSize:124,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:576,byteSize:72,slot:0,name:"img",structure:LA},{...r,type:5,bitOffset:0,bitSize:896,byteSize:112,slot:1,name:"shape",structure:oe},{...r,type:5,bitOffset:0,bitSize:960,byteSize:120,slot:2,name:"text",structure:fe},{...r,type:3,flags:8,bitOffset:960,bitSize:2,byteSize:1,structure:he}]}}),xI(ye,{...A,type:9,flags:14,signature:0x5fa1f89995e58b3en,name:"[_]AssetSerialized",byteSize:124,align:4,instance:{members:[{...r,type:5,bitSize:992,byteSize:124,structure:pe}]}}),xI(de,{...A,type:8,flags:188,signature:0xf84708a07219e159n,name:"[]const AssetSerialized",byteSize:8,align:4,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,slot:0,structure:ye}]}}),xI(me,{...A,type:2,flags:14,signature:0xf5b44036d998694an,name:"ProjectSnapshot",byteSize:16,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"width",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"height",structure:a},{...r,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:2,name:"assets",structure:de}],template:Ds}}),xI(be,{...A,type:12,flags:14,signature:0x37159682c6a54339n,name:"Arg(fn (ProjectSnapshot, bool) void)",length:2,byteSize:20,align:4,instance:{members:[{...r,flags:1,bitOffset:128,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:128,byteSize:16,slot:1,name:"0",structure:me},{...r,type:1,flags:1,bitOffset:128,bitSize:1,byteSize:1,slot:2,name:"1",structure:FA}]}}),xI(De,{...A,type:14,signature:0x04ce6aacfd59fd7dn,name:"fn (ProjectSnapshot, bool) void",length:2,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:be}],template:ws},static:{members:[],template:vs}}),xI(Se,{...A,type:8,flags:204,signature:0x545ec2faa12af1dfn,name:"*const fn (ProjectSnapshot, bool) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:De}]}}),xI(we,{...A,type:12,flags:14,signature:0x685b4f691f489bd5n,name:"Arg(fn (*const fn (ProjectSnapshot, bool) void) void)",length:1,byteSize:4,align:4,instance:{members:[{...r,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:Se}]}}),xI(ve,{...A,type:14,signature:0x6c6180e1eda57773n,name:"fn (*const fn (ProjectSnapshot, bool) void) void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:we}],template:ks}}),xI(ke,{...A,type:12,flags:10,signature:0xeff0bc9c5c749d57n,name:"Arg(fn ([4]u32) void)",length:1,byteSize:16,align:4,instance:{members:[{...r,flags:1,bitOffset:128,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:128,byteSize:16,slot:1,name:"0",structure:QA}]}}),xI(xe,{...A,type:14,signature:0xb1f961dbd50d7202n,name:"fn ([4]u32) void",length:1,instance:{members:[{...r,type:5,bitSize:128,byteSize:16,structure:ke}],template:xs},static:{members:[],template:Us}}),xI(Ue,{...A,type:8,flags:204,signature:0x0a1ebb9b406dec77n,name:"*const fn ([4]u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:xe}]}}),xI(Ne,{...A,type:12,flags:14,signature:0xe678ce0c736f4e9cn,name:"Arg(fn (*const fn ([4]u32) void) void)",length:1,byteSize:4,align:4,instance:{members:[{...r,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:Ue}]}}),xI(Ge,{...A,type:14,signature:0xe323dc0b01a1fb73n,name:"fn (*const fn ([4]u32) void) void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:Ne}],template:Ns}}),xI(Fe,{...A,type:12,signature:0xb8221fe5faddda90n,name:"Arg(fn () u32)",length:0,byteSize:4,align:4,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:b}]}}),xI(Me,{...A,type:14,signature:0xa711f1fddc7220c8n,name:"fn () u32",length:0,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:Fe}],template:Gs},static:{members:[],template:Fs}}),xI(Re,{...A,type:8,flags:204,signature:0x95f80fcb924afccen,name:"*const fn () u32",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:Me}]}}),xI(Le,{...A,type:12,signature:0x0566d9844dbd337dn,name:"Arg(fn (u32, u32) u32)",length:2,byteSize:12,align:4,instance:{members:[{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:b},{...r,type:3,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"0",structure:b},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:b}]}}),xI(ze,{...A,type:14,signature:0x9f755f6b39d42191n,name:"fn (u32, u32) u32",length:2,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:Le}],template:Ms},static:{members:[],template:Rs}}),xI(qe,{...A,type:8,flags:204,signature:0x3903f2f9a3f32669n,name:"*const fn (u32, u32) u32",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:ze}]}}),xI(Je,{...A,type:12,flags:14,signature:0x6374e64b8283db5fn,name:"Arg(fn (*const fn () u32, *const fn (u32, u32) u32) void)",length:2,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:Re},{...r,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:qe}]}}),xI(Oe,{...A,type:14,signature:0xbc13909c33e6aa17n,name:"fn (*const fn () u32, *const fn (u32, u32) u32) void",length:2,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:Je}],template:Ls}}),xI(Ke,{...A,flags:1,signature:0xe2acd8c981a459den,name:"u16",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Ke}]}}),xI(Te,{...A,type:12,signature:0x3713837871c72c85n,name:"Arg(fn (u16) void)",length:1,byteSize:2,align:2,instance:{members:[{...r,flags:1,bitOffset:16,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:3,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:1,name:"0",structure:Ke}]}}),xI(Ye,{...A,type:14,signature:0xebac9d6609aac3a5n,name:"fn (u16) void",length:1,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:Te}],template:zs},static:{members:[],template:qs}}),xI(He,{...A,type:8,flags:204,signature:0x5e5302dca1272845n,name:"*const fn (u16) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:Ye}]}}),xI(Pe,{...A,type:12,flags:14,signature:0xa7c561935592105dn,name:"Arg(fn (*const fn (u16) void) void)",length:1,byteSize:4,align:4,instance:{members:[{...r,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:He}]}}),xI(Ve,{...A,type:14,signature:0x385ffb81ccffe316n,name:"fn (*const fn (u16) void) void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:Pe}],template:Js}}),xI(_e,{...A,flags:9,signature:0x406b8a99e2cc9d59n,name:"type",align:1,instance:{members:[{...r,type:6,bitOffset:0,bitSize:0,byteSize:0,slot:0,structure:_e}]}}),xI(We,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES0",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:We}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:We}],template:Os}}),xI(Xe,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES0!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:We}]}}),xI(je,{...A,type:8,flags:76,signature:0x91728680875c3974n,name:"*SerializedCharDetails",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:At}]}}),xI(Ze,{...A,type:12,flags:46,signature:0xb41ed3eb5bda8946n,name:"Arg(fn (*SerializedCharDetails, []const Point) ES0!void)",length:2,byteSize:16,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:96,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Xe},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:je},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:2,name:"1",structure:z}]}}),xI($e,{...A,type:14,signature:0xf6bba025f3c374f7n,name:"fn (*SerializedCharDetails, []const Point) ES0!void",length:2,instance:{members:[{...r,type:5,bitSize:128,byteSize:16,structure:Ze}],template:Ts}}),xI(At,{...A,type:2,flags:14,signature:0x3ca17ac5c5c6d21fn,name:"SerializedCharDetails",byteSize:32,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"points",structure:z},{...r,type:4,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:1,name:"x",structure:a},{...r,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:2,name:"y",structure:a},{...r,type:4,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:3,name:"width",structure:a},{...r,type:4,flags:1,bitOffset:160,bitSize:32,byteSize:4,slot:4,name:"height",structure:a},{...r,type:5,flags:1,bitOffset:192,bitSize:64,byteSize:8,slot:5,name:"sdf_texture_id",structure:re}],template:Ys},static:{members:[{...r,type:5,flags:18,slot:0,name:"setPaths",structure:$e}],template:Vs}}),xI(et,{...A,type:12,flags:14,signature:0x039639ff5924e894n,name:"Arg(fn ([]const u8) void)",length:1,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:129,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:Ie}]}}),xI(tt,{...A,type:14,signature:0x1eed8488c4c4587dn,name:"fn ([]const u8) void",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:et}],template:Ws},static:{members:[],template:Xs}}),xI(it,{...A,type:8,flags:204,signature:0xf85cb44f556ad1dbn,name:"*const fn ([]const u8) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:tt}]}}),xI(nt,{...A,type:12,signature:0xfa22378c989ae19dn,name:"Arg(fn () void)",length:0,align:1,instance:{members:[{...r,flags:1,bitOffset:0,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s}]}}),xI(rt,{...A,type:14,signature:0xe3c3b022a28cd076n,name:"fn () void",length:0,instance:{members:[{...r,type:5,bitSize:0,byteSize:0,structure:nt}],template:js},static:{members:[],template:Zs}}),xI(st,{...A,type:8,flags:204,signature:0xd7880dadce515974n,name:"*const fn () void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:rt}]}}),xI(at,{...A,type:12,signature:0x3f075bf644453a95n,name:"Arg(fn (u32, u32) void)",length:2,byteSize:8,align:4,instance:{members:[{...r,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:b},{...r,type:3,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:b}]}}),xI(ot,{...A,type:14,signature:0x4c7e047aa4ecbc8an,name:"fn (u32, u32) void",length:2,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:at}],template:$s},static:{members:[],template:Aa}}),xI(gt,{...A,type:8,flags:204,signature:0xd2046085e5d32a60n,name:"*const fn (u32, u32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:ot}]}}),xI(It,{...A,flags:1,signature:0x4769a1856fb7a822n,name:"u21",byteSize:4,align:4,instance:{members:[{...r,type:3,bitOffset:0,bitSize:21,byteSize:4,structure:It}]}}),xI(Ct,{...A,type:12,flags:14,signature:0xc7036b66cafc0defn,name:"Arg(fn (u32, u21) SerializedCharDetails)",length:2,byteSize:40,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:256,byteSize:32,slot:0,name:"retval",structure:At},{...r,type:3,flags:1,bitOffset:256,bitSize:32,byteSize:4,slot:1,name:"0",structure:b},{...r,type:3,flags:1,bitOffset:288,bitSize:21,byteSize:4,slot:2,name:"1",structure:It}]}}),xI(Qt,{...A,type:14,signature:0xa3311a6b869c91c8n,name:"fn (u32, u21) SerializedCharDetails",length:2,instance:{members:[{...r,type:5,bitSize:320,byteSize:40,structure:Ct}],template:ea},static:{members:[],template:ta}}),xI(ct,{...A,type:8,flags:204,signature:0xa714eeb57ca0b4c3n,name:"*const fn (u32, u21) SerializedCharDetails",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:Qt}]}}),xI(Bt,{...A,type:12,signature:0xd9143d269aa36b34n,name:"Arg(fn (u21, u21) f32)",length:2,byteSize:12,align:4,instance:{members:[{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:a},{...r,type:3,flags:1,bitOffset:32,bitSize:21,byteSize:4,slot:1,name:"0",structure:It},{...r,type:3,flags:1,bitOffset:64,bitSize:21,byteSize:4,slot:2,name:"1",structure:It}]}}),xI(lt,{...A,type:14,signature:0x88315a5b723b6bc2n,name:"fn (u21, u21) f32",length:2,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:Bt}],template:ia},static:{members:[],template:na}}),xI(Et,{...A,type:8,flags:204,signature:0xe06b7369ba308bfen,name:"*const fn (u21, u21) f32",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:lt}]}}),xI(ut,{...A,type:12,flags:14,signature:0x7a2693af970dccb0n,name:"Arg(fn (*const fn ([]const u8) void, *const fn () void, *const fn ([]const u8) void, *const fn (u32, u32) void, *const fn (u32, u21) SerializedCharDetails, *const fn (u21, u21) f32) void)",length:6,byteSize:24,align:4,instance:{members:[{...r,flags:1,bitOffset:192,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:it},{...r,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:st},{...r,type:5,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:3,name:"2",structure:it},{...r,type:5,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:4,name:"3",structure:gt},{...r,type:5,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:5,name:"4",structure:ct},{...r,type:5,flags:1,bitOffset:160,bitSize:32,byteSize:4,slot:6,name:"5",structure:Et}]}}),xI(ft,{...A,type:14,signature:0x150db2a684296025n,name:"fn (*const fn ([]const u8) void, *const fn () void, *const fn ([]const u8) void, *const fn (u32, u32) void, *const fn (u32, u21) SerializedCharDetails, *const fn (u21, u21) f32) void",length:6,instance:{members:[{...r,type:5,bitSize:192,byteSize:24,structure:ut}],template:ra}}),xI(ht,{...A,type:2,flags:4096,signature:0x57847e8f0b7a3a1fn,name:"BoundingBox",byteSize:16,align:4,instance:{members:[{...r,type:4,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"min_x",structure:a},{...r,type:4,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"min_y",structure:a},{...r,type:4,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"max_x",structure:a},{...r,type:4,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"max_y",structure:a}],template:sa}}),xI(pt,{...A,type:12,flags:10,signature:0x2ac29501eb9e3e4dn,name:"Arg(fn (u32, BoundingBox, f32, f32) void)",length:4,byteSize:28,align:4,instance:{members:[{...r,flags:1,bitOffset:224,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:b},{...r,type:5,flags:1,bitOffset:32,bitSize:128,byteSize:16,slot:2,name:"1",structure:ht},{...r,type:4,flags:1,bitOffset:160,bitSize:32,byteSize:4,slot:3,name:"2",structure:a},{...r,type:4,flags:1,bitOffset:192,bitSize:32,byteSize:4,slot:4,name:"3",structure:a}]}}),xI(yt,{...A,type:14,signature:0x84892c9ede5beff4n,name:"fn (u32, BoundingBox, f32, f32) void",length:4,instance:{members:[{...r,type:5,bitSize:224,byteSize:28,structure:pt}],template:aa},static:{members:[],template:oa}}),xI(dt,{...A,type:8,flags:204,signature:0x9d64984c3b5d53can,name:"*const fn (u32, BoundingBox, f32, f32) void",byteSize:4,align:4,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,slot:0,structure:yt}]}}),xI(mt,{...A,type:12,flags:14,signature:0x1900e8aa46b19079n,name:"Arg(fn (*const fn () u32, *const fn (u32, BoundingBox, f32, f32) void, *const fn () void) void)",length:3,byteSize:12,align:4,instance:{members:[{...r,flags:1,bitOffset:96,bitSize:0,byteSize:0,slot:0,name:"retval",structure:s},{...r,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:Re},{...r,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:dt},{...r,type:5,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:3,name:"2",structure:st}]}}),xI(bt,{...A,type:14,signature:0xc940a272a0334ff0n,name:"fn (*const fn () u32, *const fn (u32, BoundingBox, f32, f32) void, *const fn () void) void",length:3,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:mt}],template:ga}}),xI(Dt,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES1",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Dt}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Dt}],template:Ia}}),xI(St,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES1!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Dt}]}}),xI(wt,{...A,type:12,flags:42,signature:0xbd07afc7a8b47040n,name:"Arg(fn (f32, f32, f32, f32) ES1!void)",length:4,byteSize:20,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:128,bitSize:16,byteSize:2,slot:0,name:"retval",structure:St},{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:a},{...r,type:4,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:3,name:"2",structure:a},{...r,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:4,name:"3",structure:a}]}}),xI(vt,{...A,type:14,signature:0xaa034c726f553059n,name:"fn (f32, f32, f32, f32) ES1!void",length:4,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:wt}],template:Qa}}),xI(kt,{...A,type:5,flags:1,signature:0x3596180da264e267n,name:"ES2",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:kt}]}}),xI(xt,{...A,type:4,flags:1,signature:0x5a95f4d8316dada4n,name:"ES2!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:kt}]}}),xI(Ut,{...A,type:12,flags:42,signature:0xc13dfeea4a886ef9n,name:"Arg(fn (f32) ES2!void)",length:1,byteSize:8,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:32,bitSize:16,byteSize:2,slot:0,name:"retval",structure:xt},{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:a}]}}),xI(Nt,{...A,type:14,signature:0x6c203f8ee5c200a7n,name:"fn (f32) ES2!void",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:Ut}],template:ca}}),xI(Gt,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES3",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Gt}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Gt}],template:Ba}}),xI(Ft,{...A,type:4,flags:1,signature:0x8ab4e53b2545b35cn,name:"ES3!u32",byteSize:8,align:4,instance:{members:[{...r,type:3,bitOffset:0,bitSize:32,byteSize:4,slot:0,structure:b},{...r,type:3,flags:8,bitOffset:32,bitSize:16,byteSize:2,structure:Gt}]}}),xI(Mt,{...A,type:12,flags:46,signature:0xf139a9580e7f1046n,name:"Arg(fn (u32, []const []const Point, [4]PointUV, SerializedProps, u32, ?u32) ES3!u32)",length:6,byteSize:120,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:Ft},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:1,name:"0",structure:b},{...r,type:5,flags:1,bitOffset:96,bitSize:64,byteSize:8,slot:2,name:"1",structure:qA},{...r,type:5,flags:1,bitOffset:160,bitSize:512,byteSize:64,slot:3,name:"2",structure:GA},{...r,type:5,flags:1,bitOffset:672,bitSize:192,byteSize:24,slot:4,name:"3",structure:ne},{...r,type:3,flags:1,bitOffset:864,bitSize:32,byteSize:4,slot:5,name:"4",structure:b},{...r,type:5,flags:1,bitOffset:896,bitSize:64,byteSize:8,slot:6,name:"5",structure:re}]}}),xI(Rt,{...A,type:14,signature:0x70b4e0d3d8494b80n,name:"fn (u32, []const []const Point, [4]PointUV, SerializedProps, u32, ?u32) ES3!u32",length:6,instance:{members:[{...r,type:5,bitSize:960,byteSize:120,structure:Mt}],template:Ea}}),xI(Lt,{...A,type:5,flags:1,signature:0x3596180da264e267n,name:"ES4",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Lt}]}}),xI(zt,{...A,type:4,flags:1,signature:0x5a95f4d8316dada4n,name:"ES4!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Lt}]}}),xI(qt,{...A,type:12,flags:42,signature:0xfd5e24a97e2dd1f5n,name:"Arg(fn () ES4!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:zt}]}}),xI(Jt,{...A,type:14,signature:0xf4f49e751fc2421an,name:"fn () ES4!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:qt}],template:ua}}),xI(Ot,{...A,type:2,flags:14,signature:0x7067aef648c68778n,name:"ComputeTextResult",byteSize:16,align:4,instance:{members:[{...r,type:5,flags:129,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"content",structure:Ie},{...r,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:1,name:"selection_start",structure:Ce},{...r,type:3,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:2,name:"selection_end",structure:Ce}],template:fa}}),xI(Kt,{...A,type:5,flags:1,signature:0x8cd77d092cb0bccbn,name:"ES5",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Kt}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"InvalidUtf8",structure:Kt},{...r,type:5,flags:4,slot:1,name:"OutOfMemory",structure:Kt},{...r,type:5,flags:4,slot:2,name:"Utf8CannotEncodeSurrogateHalf",structure:Kt},{...r,type:5,flags:4,slot:3,name:"CodepointTooLarge",structure:Kt}],template:pa}}),xI(Tt,{...A,type:4,flags:15,signature:0xa716eccd0723a468n,name:"ES5!ComputeTextResult",byteSize:20,align:4,instance:{members:[{...r,type:5,bitOffset:0,bitSize:128,byteSize:16,slot:0,structure:Ot},{...r,type:3,flags:8,bitOffset:128,bitSize:16,byteSize:2,structure:Kt}]}}),xI(Yt,{...A,type:12,flags:46,signature:0x2cc05dd496d3bd1cn,name:"Arg(fn ([]const u8, usize, usize) ES5!ComputeTextResult)",length:3,byteSize:36,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:160,byteSize:20,slot:0,name:"retval",structure:Tt},{...r,type:5,flags:1,bitOffset:160,bitSize:64,byteSize:8,slot:1,name:"0",structure:Ie},{...r,type:3,flags:1,bitOffset:224,bitSize:32,byteSize:4,slot:2,name:"1",structure:Ce},{...r,type:3,flags:1,bitOffset:256,bitSize:32,byteSize:4,slot:3,name:"2",structure:Ce}]}}),xI(Ht,{...A,type:14,signature:0x7b782f2ea3332570n,name:"fn ([]const u8, usize, usize) ES5!ComputeTextResult",length:3,instance:{members:[{...r,type:5,bitSize:288,byteSize:36,structure:Yt}],template:Da}}),xI(Pt,{...A,type:5,flags:1,signature:0x8cd77d092cb0bccbn,name:"ES6",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Pt}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"InvalidUtf8",structure:Pt},{...r,type:5,flags:4,slot:1,name:"OutOfMemory",structure:Pt},{...r,type:5,flags:4,slot:2,name:"Utf8CannotEncodeSurrogateHalf",structure:Pt},{...r,type:5,flags:4,slot:3,name:"CodepointTooLarge",structure:Pt}],template:Sa}}),xI(Vt,{...A,type:4,flags:1,signature:0x8895ad6894fa630en,name:"ES6!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Pt}]}}),xI(_t,{...A,type:12,flags:42,signature:0xbad36bdad79408a7n,name:"Arg(fn (f32, f32) ES6!void)",length:2,byteSize:12,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:64,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Vt},{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:a}]}}),xI(Wt,{...A,type:14,signature:0xb582869dd359d760n,name:"fn (f32, f32) ES6!void",length:2,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:_t}],template:Ua}}),xI(Xt,{...A,type:5,flags:1,signature:0x3596180da264e267n,name:"ES7",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Xt}]}}),xI(jt,{...A,type:4,flags:1,signature:0x5a95f4d8316dada4n,name:"ES7!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Xt}]}}),xI(Zt,{...A,type:12,flags:42,signature:0xfd5e24a97e2dd1f5n,name:"Arg(fn () ES7!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:jt}]}}),xI($t,{...A,type:14,signature:0xf4f49e751fc2421an,name:"fn () ES7!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:Zt}],template:Na}}),xI(Ai,{...A,type:5,flags:1,signature:0x8cd77d092cb0bccbn,name:"ES8",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Ai}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"InvalidUtf8",structure:Ai},{...r,type:5,flags:4,slot:1,name:"OutOfMemory",structure:Ai},{...r,type:5,flags:4,slot:2,name:"Utf8CannotEncodeSurrogateHalf",structure:Ai},{...r,type:5,flags:4,slot:3,name:"CodepointTooLarge",structure:Ai}],template:Ga}}),xI(ei,{...A,type:4,flags:1,signature:0x8895ad6894fa630en,name:"ES8!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Ai}]}}),xI(ti,{...A,type:12,flags:42,signature:0xbad36bdad79408a7n,name:"Arg(fn (f32, f32) ES8!void)",length:2,byteSize:12,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:64,bitSize:16,byteSize:2,slot:0,name:"retval",structure:ei},{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:a},{...r,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:a}]}}),xI(ii,{...A,type:14,signature:0xb582869dd359d760n,name:"fn (f32, f32) ES8!void",length:2,instance:{members:[{...r,type:5,bitSize:96,byteSize:12,structure:ti}],template:za}}),xI(ni,{...A,type:5,flags:1,signature:0x3596180da264e267n,name:"ES9",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:ni}]}}),xI(ri,{...A,type:4,flags:1,signature:0x5a95f4d8316dada4n,name:"ES9!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:ni}]}}),xI(si,{...A,type:12,flags:42,signature:0xfd5e24a97e2dd1f5n,name:"Arg(fn () ES9!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:ri}]}}),xI(ai,{...A,type:14,signature:0xf4f49e751fc2421an,name:"fn () ES9!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:si}],template:qa}}),xI(oi,{...A,type:5,flags:1,signature:0x3596180da264e267n,name:"ES10",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:oi}]}}),xI(gi,{...A,type:4,flags:1,signature:0x5a95f4d8316dada4n,name:"ES10!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:oi}]}}),xI(Ii,{...A,type:12,flags:42,signature:0xfd5e24a97e2dd1f5n,name:"Arg(fn () ES10!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:gi}]}}),xI(Ci,{...A,type:14,signature:0xf4f49e751fc2421an,name:"fn () ES10!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:Ii}],template:Ja}}),xI(Qi,{...A,type:5,flags:1,signature:0x3596180da264e267n,name:"ES11",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Qi}]}}),xI(ci,{...A,type:4,flags:1,signature:0x5a95f4d8316dada4n,name:"ES11!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Qi}]}}),xI(Bi,{...A,type:12,flags:42,signature:0xfd5e24a97e2dd1f5n,name:"Arg(fn () ES11!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:ci}]}}),xI(li,{...A,type:14,signature:0xf4f49e751fc2421an,name:"fn () ES11!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:Bi}],template:Oa}}),xI(Ei,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES12",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Ei}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Ei}],template:Ka}}),xI(ui,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES12!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Ei}]}}),xI(fi,{...A,type:12,flags:42,signature:0xd958a5eaf8a8097an,name:"Arg(fn () ES12!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:ui}]}}),xI(hi,{...A,type:14,signature:0x73c032fe09668bden,name:"fn () ES12!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:fi}],template:Ya}}),xI(pi,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES13",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:pi}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:pi}],template:Ha}}),xI(yi,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES13!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:pi}]}}),xI(di,{...A,type:12,flags:42,signature:0xb0a03008372ef3ddn,name:"Arg(fn (bool) ES13!void)",length:1,byteSize:4,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:yi},{...r,type:1,flags:1,bitOffset:16,bitSize:1,byteSize:1,slot:1,name:"0",structure:FA}]}}),xI(mi,{...A,type:14,signature:0x3ffa4c889df878a3n,name:"fn (bool) ES13!void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:di}],template:Va}}),xI(bi,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES14",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:bi}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:bi}],template:_a}}),xI(Di,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES14!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:bi}]}}),xI(Si,{...A,type:12,flags:42,signature:0xd958a5eaf8a8097an,name:"Arg(fn () ES14!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Di}]}}),xI(wi,{...A,type:14,signature:0x73c032fe09668bden,name:"fn () ES14!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:Si}],template:Xa}}),xI(vi,{...A,type:5,flags:1,signature:0x8cd77d092cb0bccbn,name:"ES15",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:vi}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"InvalidUtf8",structure:vi},{...r,type:5,flags:4,slot:1,name:"OutOfMemory",structure:vi},{...r,type:5,flags:4,slot:2,name:"Utf8CannotEncodeSurrogateHalf",structure:vi},{...r,type:5,flags:4,slot:3,name:"CodepointTooLarge",structure:vi}],template:ja}}),xI(ki,{...A,type:4,flags:1,signature:0x8895ad6894fa630en,name:"ES15!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:vi}]}}),xI(xi,{...A,type:12,flags:46,signature:0x0a6b617f69e54ff2n,name:"Arg(fn (ProjectSnapshot, bool) ES15!void)",length:2,byteSize:20,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:128,bitSize:16,byteSize:2,slot:0,name:"retval",structure:ki},{...r,type:5,flags:1,bitOffset:0,bitSize:128,byteSize:16,slot:1,name:"0",structure:me},{...r,type:1,flags:1,bitOffset:144,bitSize:1,byteSize:1,slot:2,name:"1",structure:FA}]}}),xI(Ui,{...A,type:14,signature:0x6162ac490867863an,name:"fn (ProjectSnapshot, bool) ES15!void",length:2,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:xi}],template:to}}),xI(Ni,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES16",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Ni}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Ni}],template:io}}),xI(Gi,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES16!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Ni}]}}),xI(Fi,{...A,type:12,flags:46,signature:0xbe3f066ab03562acn,name:"Arg(fn (u32, []const []const Point, u32) ES16!void)",length:3,byteSize:20,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:128,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Gi},{...r,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:b},{...r,type:5,flags:1,bitOffset:32,bitSize:64,byteSize:8,slot:2,name:"1",structure:qA},{...r,type:3,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"2",structure:b}]}}),xI(Mi,{...A,type:14,signature:0x61ed6595fa447245n,name:"fn (u32, []const []const Point, u32) ES16!void",length:3,instance:{members:[{...r,type:5,bitSize:160,byteSize:20,structure:Fi}],template:ro}}),xI(Ri,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES17",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Ri}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Ri}],template:so}}),xI(Li,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES17!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Ri}]}}),xI(zi,{...A,type:12,flags:42,signature:0xd958a5eaf8a8097an,name:"Arg(fn () ES17!void)",length:0,byteSize:2,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Li}]}}),xI(qi,{...A,type:14,signature:0x73c032fe09668bden,name:"fn () ES17!void",length:0,instance:{members:[{...r,type:5,bitSize:16,byteSize:2,structure:zi}],template:oo}}),xI(Ji,{...A,type:5,flags:1,signature:0x3596180da264e267n,name:"ES18",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Ji}]}}),xI(Oi,{...A,type:4,flags:1,signature:0x5a95f4d8316dada4n,name:"ES18!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Ji}]}}),xI(Ki,{...A,type:6,flags:1,signature:0x7e11c3fd15f3ecd2n,name:"Tool",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Ki}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"None",structure:Ki},{...r,type:5,flags:4,slot:1,name:"DrawShape",structure:Ki},{...r,type:5,flags:4,slot:2,name:"EditShape",structure:Ki},{...r,type:5,flags:4,slot:3,name:"Text",structure:Ki}],template:go}}),xI(Ti,{...A,type:12,flags:42,signature:0x0d4aef6be43762bfn,name:"Arg(fn (Tool) ES18!void)",length:1,byteSize:4,align:2,instance:{members:[{...r,type:5,flags:1,bitOffset:0,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Oi},{...r,type:3,flags:1,bitOffset:16,bitSize:16,byteSize:2,slot:1,name:"0",structure:Ki}]}}),xI(Yi,{...A,type:14,signature:0x7fe96bfd7fbe42aan,name:"fn (Tool) ES18!void",length:1,instance:{members:[{...r,type:5,bitSize:32,byteSize:4,structure:Ti}],template:Bo}}),xI(Hi,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES19",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Hi}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Hi}],template:lo}}),xI(Pi,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES19!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Hi}]}}),xI(Vi,{...A,type:12,flags:42,signature:0x5bb01020d75668f5n,name:"Arg(fn (f32) ES19!void)",length:1,byteSize:8,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:32,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Pi},{...r,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:a}]}}),xI(_i,{...A,type:14,signature:0x13f401b042d16a6cn,name:"fn (f32) ES19!void",length:1,instance:{members:[{...r,type:5,bitSize:64,byteSize:8,structure:Vi}],template:uo}}),xI(Wi,{...A,type:5,flags:1,signature:0x25c89e63075b428an,name:"ES20",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:Wi}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"OutOfMemory",structure:Wi}],template:fo}}),xI(Xi,{...A,type:4,flags:1,signature:0x6b7a39b249c617e5n,name:"ES20!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:Wi}]}}),xI(ji,{...A,type:12,flags:46,signature:0x46d73be7760b0708n,name:"Arg(fn (SerializedProps, bool) ES20!void)",length:2,byteSize:28,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:192,bitSize:16,byteSize:2,slot:0,name:"retval",structure:Xi},{...r,type:5,flags:1,bitOffset:0,bitSize:192,byteSize:24,slot:1,name:"0",structure:ne},{...r,type:1,flags:1,bitOffset:208,bitSize:1,byteSize:1,slot:2,name:"1",structure:FA}]}}),xI(Zi,{...A,type:14,signature:0xa70a5fefcdceb35fn,name:"fn (SerializedProps, bool) ES20!void",length:2,instance:{members:[{...r,type:5,bitSize:224,byteSize:28,structure:ji}],template:po}}),xI($i,{...A,type:5,flags:1,signature:0x8cd77d092cb0bccbn,name:"ES21",byteSize:2,align:2,instance:{members:[{...r,type:3,bitOffset:0,bitSize:16,byteSize:2,structure:$i}]},static:{members:[{...r,type:5,flags:4,slot:0,name:"InvalidUtf8",structure:$i},{...r,type:5,flags:4,slot:1,name:"OutOfMemory",structure:$i},{...r,type:5,flags:4,slot:2,name:"Utf8CannotEncodeSurrogateHalf",structure:$i},{...r,type:5,flags:4,slot:3,name:"CodepointTooLarge",structure:$i}],template:yo}}),xI(An,{...A,type:4,flags:1,signature:0x8895ad6894fa630en,name:"ES21!void",byteSize:2,align:2,instance:{members:[{...r,bitOffset:16,bitSize:0,byteSize:0,slot:0,structure:s},{...r,type:3,flags:8,bitOffset:0,bitSize:16,byteSize:2,structure:$i}]}}),xI(en,{...A,type:12,flags:42,signature:0xc2139c8c2d42483fn,name:"Arg(fn ([4]PointUV, bool) ES21!void)",length:2,byteSize:68,align:4,instance:{members:[{...r,type:5,flags:1,bitOffset:512,bitSize:16,byteSize:2,slot:0,name:"retval",structure:An},{...r,type:5,flags:1,bitOffset:0,bitSize:512,byteSize:64,slot:1,name:"0",structure:GA},{...r,type:1,flags:1,bitOffset:528,bitSize:1,byteSize:1,slot:2,name:"1",structure:FA}]}}),xI(tn,{...A,type:14,signature:0x752e8ae1706612e9n,name:"fn ([4]PointUV, bool) ES21!void",length:2,instance:{members:[{...r,type:5,bitSize:544,byteSize:68,structure:en}],template:wo}}),xI(nn,{...A,type:2,flags:4096,signature:0x239ab4f327f6ac1bn,name:"index",align:1,static:{members:[{...r,type:5,flags:2,slot:0,name:"connectWebGpuPrograms",structure:NA},{...r,type:5,flags:2,slot:1,name:"connectOnAssetUpdateCallback",structure:ve},{...r,type:5,flags:2,slot:2,name:"connectOnAssetSelectionCallback",structure:Ge},{...r,type:5,flags:2,slot:3,name:"connectCreateSdfTexture",structure:Oe},{...r,type:5,flags:2,slot:4,name:"onUpdateToolCallback",structure:Ve},{...r,type:5,flags:2,slot:5,name:"SerializedCharDetails",structure:_e},{...r,type:5,flags:2,slot:6,name:"TextCallback",structure:_e},{...r,type:5,flags:2,slot:7,name:"connectTyping",structure:ft},{...r,type:5,flags:2,slot:9,name:"connectCacheCallbacks",structure:bt},{...r,type:5,flags:2,slot:10,name:"ASSET_ID_MIN",structure:b},{...r,type:5,flags:2,slot:11,name:"initState",structure:vt},{...r,type:5,flags:2,slot:12,name:"updateRenderScale",structure:Nt},{...r,type:5,flags:2,slot:13,name:"addShape",structure:Rt},{...r,type:5,flags:2,slot:14,name:"removeAsset",structure:Jt},{...r,type:5,flags:2,slot:15,name:"onUpdatePick",structure:xe},{...r,type:5,flags:2,slot:16,name:"updateTextContent",structure:Ht},{...r,type:5,flags:2,slot:17,name:"onPointerDown",structure:Wt},{...r,type:5,flags:2,slot:18,name:"onPointerUp",structure:$t},{...r,type:5,flags:2,slot:19,name:"onPointerMove",structure:ii},{...r,type:5,flags:2,slot:20,name:"onPointerDoubleClick",structure:ai},{...r,type:5,flags:2,slot:21,name:"onPointerLeave",structure:Ci},{...r,type:5,flags:2,slot:22,name:"commitChanges",structure:li},{...r,type:5,flags:2,slot:23,name:"computeSdfs",structure:hi},{...r,type:5,flags:2,slot:24,name:"updateCache",structure:rt},{...r,type:5,flags:2,slot:25,name:"setCaretPosition",structure:ot},{...r,type:5,flags:2,slot:26,name:"renderDraw",structure:mi},{...r,type:5,flags:2,slot:27,name:"renderPick",structure:wi},{...r,type:5,flags:2,slot:28,name:"setSnapshot",structure:Ui},{...r,type:5,flags:2,slot:29,name:"deinitState",structure:rt},{...r,type:5,flags:2,slot:30,name:"importUiElement",structure:Mi},{...r,type:5,flags:2,slot:31,name:"generateUiElementsSdf",structure:qi},{...r,type:5,flags:2,slot:32,name:"setTool",structure:Yi},{...r,type:5,flags:2,slot:33,name:"tick",structure:_i},{...r,type:5,flags:2,slot:34,name:"setSelectedAssetProps",structure:Zi},{...r,type:5,flags:2,slot:35,name:"setSelectedAssetBounds",structure:tn}],template:vo}});const UI=[s,a,o,g,I,C,Q,c,B,l,E,u,f,h,p,y,d,m,b,D,S,w,v,k,x,U,N,G,F,M,R,L,z,q,J,O,K,T,Y,H,P,V,_,W,X,j,Z,$,AA,eA,tA,iA,nA,rA,sA,aA,oA,gA,IA,CA,QA,cA,BA,lA,EA,uA,fA,hA,pA,yA,dA,mA,bA,DA,SA,wA,vA,kA,xA,UA,NA,GA,FA,MA,RA,LA,zA,qA,JA,OA,KA,TA,YA,HA,PA,VA,_A,WA,XA,jA,ZA,$A,Ae,ee,te,ie,ne,re,se,ae,oe,ge,Ie,Ce,Qe,ce,Be,le,Ee,ue,fe,he,pe,ye,de,me,be,De,Se,we,ve,ke,xe,Ue,Ne,Ge,Fe,Me,Re,Le,ze,qe,Je,Oe,Ke,Te,Ye,He,Pe,Ve,_e,We,Xe,je,Ze,$e,At,et,tt,it,nt,rt,st,at,ot,gt,It,Ct,Qt,ct,Bt,lt,Et,ut,ft,ht,pt,yt,dt,mt,bt,Dt,St,wt,vt,kt,xt,Ut,Nt,Gt,Ft,Mt,Rt,Lt,zt,qt,Jt,Ot,Kt,Tt,Yt,Ht,Pt,Vt,_t,Wt,Xt,jt,Zt,$t,Ai,ei,ti,ii,ni,ri,si,ai,oi,gi,Ii,Ci,Qi,ci,Bi,li,Ei,ui,fi,hi,pi,yi,di,mi,bi,Di,Si,wi,vi,ki,xi,Ui,Ni,Gi,Fi,Mi,Ri,Li,zi,qi,Ji,Oi,Ki,Ti,Yi,Hi,Pi,Vi,_i,Wi,Xi,ji,Zi,$i,An,en,tn,nn],NI=nn,GI={runtimeSafety:!1,littleEndian:!0,libc:!1},FI=(0,n.M)();FI.recreateStructures(UI,GI);const MI=(async()=>{const A=atob("AGFzbQEAAAAB9QI1YAZ/f39/f38Bf2AEf39/fwF/YAV/f39/fwBgAABgAX8AYAN/f38AYAJ/fwF9YAABf2ACf38AYAJ/fwF/YAR/f39/AGAEf399fQBgBn9/f399fQBgBn9/f39/fwBgBH19fX0Bf2ABfQF/YAh/f39/f39/fwBgAn19AX9gAX8Bf2ADf39/AX9gAX8BfWAEf39+fwBgA39/fQBgBX9/fX1/AGAFf319fX8AYAV9fX19fQF9YAl/f39/f39/f38AYAV/fX19fQBgA399fQBgAn19AX1gBH9/f30AYAZ/f399f30AYAV/f399fQBgCH9/fX19fX1/AGAEf399fwBgAX0BfWACfX8Bf2ADf39/AX1gA35/fwF+YAJ+fwF/YAF+AX9gB39/f399fX8AYAV/f39/fwF/YAR/fn5/AGAFf35+fn4AYAZ/fn5+fn8AYAR+fn5/AX5gAn1/AX1gAn98AGACfH8BfGABfAF/YAF8AX1gA3x8fAF8AqYBBwNlbnYGbWVtb3J5AgAFA2VudhlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAXAA1AMDZW52DV9kaXNwbGF5UGFuaWMACBZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxCGZkX3dyaXRlAAEDZW52DV9oYW5kbGVKc0NhbGwAAQNlbnYQX2FsbG9jYXRlSnNUaHVuawAJA2VudgxfZnJlZUpzVGh1bmsACQOlBaMFAwcTCgUOEggPBhYECBcGCBMFBQUFCQkFCggIAgUFBRMYGQUaCQQFCRIIBQgFEhAIBwcIBwQHBA0NDQgJEwUSCgUIBQgCBQUFAgUFCQkGBQIHChAIEQgHBBEIGxwdEgcHBQcSBQgdHgITAgUFHyAKIQgSCCIFBQEFHgULCBYhEwgCBQUHAgkDBQESBwgJAgUFCAkCBQUJCQkJCQkFDwkEBAQJBAUFFCMECQkECAQNBQMKEyQSEgMTAAACBAUDIgEDBAQJCQoJCQoJCQoJCgkKCQoJCQoJCQkJCQkKCQkJCgkKCQkJCQkJChIJBQkKCAUICAgICAgICAgICAgICAgECAQEBAQEBAQEBAQEBAQEBAMEAwMDAwMDAwMDAwMDAwMDCAUICAgICAgICAgICAgICAgTCQkKCQoJCgkKCQoJCgkKCgoJCgkJCQkJCQgFCAgICAgICAgICAgICAgIBxIHBwcHBwcHBwcHBwcHBwcJEwkJCQkJCQkJCQkJCQkJCQQIBAQEBAQEBAQEBAQEBAQEBQoFBQUFBQUFBQUFBQUFBQUGJQYGBgYGBgYGBgYGBgYGBgsXCwsLCwsLCwsLCwsLCwsLASYnBQooBQUKBQUFBQUFBQUFBQUFBQUFCAUICAgICAgICAgICAgICAgCDQICAgICAgICAgICAgICAgoCCgoKCgoKCgoKCgoKCgoKCgIKCgoKCgoKCgoKCgoKCgoMKQwMDAwMDAwMDAwMDAwMDAoCCgoKCgoKCgoKCgoKCgoKBQUFBQUFBQUFBQUFBQUFBQgICAgICAgICAgICAgICAgKAgoKCgoKCgoKCgoKCgoKCgkJCQkJCQMJBAEBAAAAAAIFEyoJCQQDBwESAAACKyssLS4sLzAxHTIjMzMkKiM0HSMjBggBfwFBgIAQCwe4AQoPZ2V0RmFjdG9yeVRodW5rAAYKaW5pdGlhbGl6ZQD8BBVhbGxvY2F0ZVNjcmF0Y2hNZW1vcnkA/QQRZnJlZVNjcmF0Y2hNZW1vcnkAhgUIcnVuVGh1bmsAhwUQcnVuVmFyaWFkaWNUaHVuawCIBQ1jcmVhdGVKc1RodW5rAIkFDmRlc3Ryb3lKc1RodW5rAIoFC2ZsdXNoU3Rkb3V0AIwFE2dldE1vZHVsZUF0dHJpYnV0ZXMAjQUIAQUJmQcBAEEBC9MDAKcBrAGvAbABsQGyAbMBCg0zOr8BVFlbXWNkNWbBAVp2iAGKAcQBjQGPAWKhAaIBpgG1AccBuAK5AroCuwK8Ar0CvgK/AsACwQLCAsMCxALFAsYCxwLIAskCyAHJAcoB3gHfAcsBzAHNAfAB8QHOAc8BB+4B0AHRAdIB0wHUAdUB1gHkAeUB1wHYAdkB2gHbAdwBnQHdAeAB4QHiAeMB5gHnAegB6QHqAesBqAETqQGqAVKAAa4BtwKaAZwBngHKAssCzALNAs4CzwL2BPcE+ASfAfkE+gStAfsEjgWQBZEFkgV7vAG9Ab4B8gH0AfUB9gH3AfgB+QH6AfsB/AH9Af4B/wGAAoECggKDAoUChgKHAogCiQKKAosCjAKNAo4CjwKQApECkgKTApQClgKXApgCmQKaApsCnAKdAp4CnwKgAqECogKjAqQCpQKnAqgCqQKqAqsCrAKtAq4CrwKwArECsgKzArQCtQLQAtIC0wLUAtUC1gLXAtgC2QLaAtsC3ALdAt4C3wLgAuEC4wLkAuUC5gLnAugC6QLqAusC7ALtAu4C7wLwAvEC8gL0AvUC9gL3AvgC+QL6AvsC/AL9Av4C/wKAA4EDggODA4UDhgOHA4gDiQOKA4sDjAONA44DjwOQA5EDkgOTA5QDlgOXA5gDmQOaA5sDnAOdA54DnwOgA6EDogOjA6QDpQOnA6gDqQOqA6sDrAOtA64DrwOwA7EDsgOzA7QDtQO2A7gDuQO6A7sDvAO9A74DvwPAA8EDwgPDA8QDxQPGA84D0APRA9ID0wPUA9UD1gPXA9gD2QPaA9sD3APdA94D3wPhA+ID4wPkA+UD5gPnA+gD6QPqA+sD7APtA+4D7wPwA/ID8wP0A/UD9gP3A/gD+QP6A/sD/AP9A/4D/wOABIEEgwSEBIUEhgSHBIgEiQSKBIsEjASNBI4EjwSQBJEEkgSUBJUElgSXBJgEmQSaBJsEnASdBJ4EnwSgBKEEogSjBKUEpgSnBKgEqQSqBKsErAStBK4ErwSwBLEEsgSzBLQEtgS3BLgEuQS6BLsEvAS9BL4EvwTABMEEwgTDBMQExQTGBMcEyATJBMoEywTMBM0EzgTPBNAE0QTSBNME1ATVBNYE1wTYBNkE2gTbBNwE3QTeBN8E4AThBOIE4wTkBOUE5wToBOkE6gTrBOwE7QTuBO8E8ATxBPIE8wT0BPUE/wSBBYMFhQUK++QGowUOAEGg1hBBAEG8DfwLAAsEAEEBC2kBAn8jAEEQayIDJABBACEEAkACQAJAIAINAEGq1arVeiECDAELIANBBGpBqL4QIAEgAhAIIAMvAQwiAg0BIAMoAgghBCADKAIEIQILIAAgAjYCACAAIAQ2AgRBACECCyADQRBqJAAgAgtzAQF/IwBBEGsiBCQAIAQgASkCADcDACAEQQhqIAQgAxAJAkACQCAELwEMIgFFDQAgACABOwEIDAELIAQoAgghAQJAIANFDQAgASACIANBA3T8CgAACyAAIAM2AgQgACABNgIAIABBADsBCAsgBEEQaiQAC2kCAX8BfiMAQSBrIgMkACADIAEpAgA3AwggAyACQf////8BSzoAHAJAAkAgAkGAgICAAkkNAEKAgICAgAEhBAwBCyADQRBqIANBCGogAkEDdBAWIAMpAxAhBAsgACAENwIAIANBIGokAAuXDwQBfwF+Dn8BfiMAQSBrIgQkAEEAIAM4ArzWEEEAIAI4ArjWEEEAQgA3AqjVEEEAIAE4AqTVEEEAIAA4AqDVEEEAQgA3ArDVEEEAQgA3AojXEEEAQgA3ApDXEEEAQgA3AqDWEEEAQgA3AqjWEEEAQQApA6i+ECIFNwK41RBBACAFNwKY1xBBACAFNwKw1hAgBEEIakIANwMAIARCADcDAAJAAkACQAJAAkACQAJAQQEQCyIGQf//A3ENAAJAAkACQEEAKAKs1hAiB0UNAEEAIQggB0EEaiEJQQBBAUECIActAAAiBkERSRsgBkEJSRsOAwEFBAELQQAoAqDWECIKQQAoAqjWECIGQQJ0aiELQQAoAqTWECEMIAZFDQEgCkGq1arVeiAGGyEGIAwhCCALIQkDQCAIRQ0CAkAgBigCAA0AIARBAToAHCAEQRxqIQgMBwsgCEF/aiEIIAZBBGohBiAJQRhqIQkMAAsLQQAhCEEAKAKg1hAiDUGq1arVekEAKAKo1hAiBhshDiANIAZBAnRqIg9BqtWq1XogBhshEEF/IAcoAgB0QX9zIRFBACgCpNYQIRJBACEMA0ACQCAJIAhB1ZKY4n1qIBFxQQF0aiITLwAAIgpB/wFxIgtB/wFHDQBBACASQQFqNgKk1hAgEyASOgAAIBMgDDoAASAEQQA6ABwgDyASQRhsaiEJIA0gEkECdGohBiAEQRxqIQgMBgsCQCAOIAtBAnRqIgYoAgANACAEQQE6ABwgECALQRhsaiEJIARBHGohCAwGCwJAIAxB/wFxIApBCHYiBk0NAEEAIBJBAWo2AqTWECATIAw6AAEgEyASOgAAIAhB1ZKY4n1qIQhBfyAHKAIAdEF/cyERA0AgBkEBaiEMAkAgCSAIQQFqIgggEXFBAXRqIhMvAAAiC0H/AXFB/wFHDQAgEyAMOgABIBMgCjoAACAEQQA6ABwgECASQRhsaiEJIA4gEkECdGohBiAEQRxqIQgMCAsgBkH/AXEhByAMIQYgByALQQh2Ig1JDQAgEyAMOgABIBMgCjoAACALIQogDSEGDAALCyAIQQFqIQggDEEBaiEMDAALC0EAIAxBAWo2AqTWECAEQQA6ABwgCyAMQRhsaiEJIAogDEECdGohBiAEQRxqIQgMAwsgBEEQakGg1hAQDCAELQAURQ0FIARBAToAGEEAKAKg1hAiCEEAKAKo1hAiBkECdGpBqtWq1XogBhsgBCgCECIMQRhsaiEJQQENBCAIQarVqtV6IAYbIAxBAnRqIQYMAwtBACgCoNYQIg5BqtWq1XpBACgCqNYQIgYbIREgDiAGQQJ0aiINQarVqtV6IAYbIRBBfyAHKAIAdEF/cyETQQAoAqTWECESA0ACQCAJIAhB1ZKY4n1qIBNxQQN0aiILKQIAIhSnIgxBf0cNAEEAIBJBAWo2AqTWECALIBI2AgAgCyAINgIEIARBADoAHCANIBJBGGxqIQkgDiASQQJ0aiEGIARBHGohCAwDCwJAIBEgDEECdGoiBigCAA0AIARBAToAHCAQIAxBGGxqIQkgBEEcaiEIDAMLAkAgCCAUQiCIpyIKTQ0AQQAgEkEBajYCpNYQIAsgCDYCBCALIBI2AgAgCEHVkpjifWohC0F/IAcoAgB0QX9zIQcDQEEAIQYDQAJAIAkgCyAGakEBaiAHcUEDdGoiCCkCACIUpyITQX9HDQAgCCAMNgIAIAggCiAGakEBajYCBCAEQQA6ABwgECASQRhsaiEJIBEgEkECdGohBiAEQRxqIQgMBgsgCiAGQQFqIgZqIg5Bf2ogFEIgiKciDUkNAAsgCCAMNgIAIAggDjYCBCALIAZqIQsgDSEKIBMhDAwACwsgCEEBaiEIDAALC0EAIQhBACgCoNYQIg1BqtWq1XpBACgCqNYQIgYbIQ4gDSAGQQJ0aiIPQarVqtV6IAYbIRBBfyAHKAIAdEF/cyERQQAoAqTWECESQQAhDANAAkAgCSAIQdWSmOJ9aiARcUECdGoiEygBACIKQf//A3EiC0H//wNHDQBBACASQQFqNgKk1hAgEyASOwEAIBMgDDsBAiAEQQA6ABwgDyASQRhsaiEJIA0gEkECdGohBiAEQRxqIQgMAgsCQCAOIAtBAnRqIgYoAgANACAEQQE6ABwgECALQRhsaiEJIARBHGohCAwCCwJAIAxB//8DcSAKQRB2IgZNDQBBACASQQFqNgKk1hAgEyAMOwECIBMgEjsBACAIQdWSmOJ9aiEIQX8gBygCAHRBf3MhEQNAIAZBAWohDAJAIAkgCEEBaiIIIBFxQQJ0aiITKAEAIgtB//8DcUH//wNHDQAgEyAMOwECIBMgCjsBACAEQQA6ABwgECASQRhsaiEJIA4gEkECdGohBiAEQRxqIQgMBAsgBkH//wNxIQcgDCEGIAcgC0EQdiINSQ0AIBMgDDsBAiATIAo7AQAgCyEKIA0hBgwACwsgCEEBaiEIIAxBAWohDAwACwsgCC0AAEEBcQ0BCyAGQQA2AgALIAkgBCkDADcCACAJIAU3AhAgCUEIaiAEQQhqKQMANwIAQQAhBgsgBEEgaiQAIAYLrwIDA38BfgN/IwBBIGsiASQAQQAhAgJAQQAoAqjWECIDIABPDQADQEF/IANBAXYgA2pBAmoiAiACIANJGyIDIABJDQALIAFBACkCsNYQIgQ3AwAgAUEMaiABIANBHGwQ7wEgAS8BFCICDQAgASgCDCEAAkACQEEAKAKk1hAiBQ0AIAEgBDcDGCABQRhqQQAoAqDWEEEAKAKo1hBBHGwQjAEMAQsgAEEAKAKg1hAiBkGq1arVekEAKAKo1hAiBxsgBUECdPwKAAAgACADQQJ0aiAGIAdBAnRqQarVqtV6IAcbIAVBGGz8CgAAIAEgBDcDGCABQRhqQQAoAqDWEEEAKAKo1hBBHGwQjAFBACAFNgKk1hALQQAgAzYCqNYQQQAgADYCoNYQCyABQSBqJAAgAgutBAMEfwF+A38gASgCACECIAEoAgghAwJAAkACQAJAAkACQAJAIAEoAgwiBEUNACACQarVqtV6IAMbIQNBACEFIARBBGohAkF/IAQoAgB0QX9zIQFBAEEBQQIgBC0AACIEQRFJGyAEQQlJGw4DAQQDAQsgA0UNASABKAIEIQNBACEBA0AgAyABRg0CAkAgAigCAA0AIABBAToABCAAIAE2AgAPCyACQQRqIQIgAUEBaiEBDAALC0EAIQVBACEEA0BCACEGIAIgBUHVkpjifWogAXFBAXRqIgctAAAiCEH/AUYNBCAHLQABQf8BcSAEQf8BcUkNBAJAIAMgCEECdGooAgANAEKAgICAECEGDAYLIAVBAWohBSAEQQFqIQQMAAsLIABCADcCAA8LQdWSmOJ9IQQDQEIAIQZBACEJAkACQCACIAQgAXFBA3RqIgcoAgAiCEF/Rg0AIAcoAgQgBUkNACADIAhBAnRqKAIADQFCgICAgBAhBiAIIQkLIAAgBiAJrYQ3AgAPCyAFQQFqIQUgBEEBaiEEDAALC0EAIQVBACEEAkACQANAQgAhBiACIAVB1ZKY4n1qIAFxQQJ0aiIHLwEAIghB//8DRg0BIAcvAQJB//8DcSAEQf//A3FJDQECQCADIAhBAnRqKAIADQBCgICAgBAhBgwDCyAFQQFqIQUgBEEBaiEEDAALC0EAIQgLIAAgBiAIrYQ3AgAPC0EAIQgLIAAgBiAIrYQ3AgAL0QEBBH8jAEEQayIBJABBACAAOALs1RBBACgCqNUQQQAoArDVECICQQJ0akGq1arVeiACGyECQQAoAqzVECEDA38CQAJAAkACQCADRQ0AQZwBIQQgAkGoAWotAAAOAwMBAgMLIAFBEGokAEEADwsgAUEEaiACQTxqIAJBGGooAgAgAkEcaigCABAOEA9BpAEhBCABKgIEIAJBnAFqKgIAXg0AIAEqAgggAkGgAWoqAgBeRQ0BCyACIARqQQE6AAALIAJBrAFqIQIgA0F/aiEDDAALC5YBAgF/An0jAEHAAGsiAiQAQwAAAAAhAwJAAkADQCABRQ0BIABBBGoqAgAiBEN/lhhLXg0CIABBNGohACABQX9qIQEgAyAEjBCcBSEDDAALCyACQcAAaiQAIANDAACAP5IPCyACIAQ4AhAgAiAAKAIANgIMIAJBDGpBCGogAEEIakEs/AoAACACQQxqEBBBh5QQQToQEQALuAECAX8CfSMAQdAAayIDJAAgAyABIAJDAACAP0EAKgLs1RCVQZyaEBASIAMgA0EQahATIQIgAyADQTBqEBMhBCADIARBACoCuNYQIAIgBBCcBZVDAACAPxClBSIFlDgCRCADIAIgBZQ4AkAgA0HIAGogA0HAAGoQFCAAIAMqAkxDRwOAPxCcBTgCBCAAIAMqAkhDRwOAPxCcBSIEOAIAIAAgBCACQQAqAuzVEJSVOAIIIANB0ABqJAALpwsDAX8BfgJ/IwBBMGsiASQAELQBIAFBIjYCDCABQQI2AgQgASABQQRqNgIIIAEgASkDCCICNwMQAkAgAUEQakHkoBBBxAAQtgFB//8DcQ0AIAEgAjcDGCABQRhqQe6FEEEOELYBQf//A3ENACABQRhqQZiAEEEBELYBQf//A3ENACABQRhqQcSTEEECELYBQf//A3ENACABQRhqQZeBEEEKELYBQf//A3ENACABQRhqQdiVEEEDELYBQf//A3ENACAAKgIAIAFBCGoQtwFB//8DcQ0AIAFBGGpBw5MQQQMQtgFB//8DcQ0AIAFBGGpBnJAQQQgQtgFB//8DcQ0AIAFBGGpB2JUQQQMQtgFB//8DcQ0AIAAqAgQgAUEIahC3AUH//wNxDQAgAUEYakHDkxBBAxC2AUH//wNxDQAgAUEYakHLihBBBBC2AUH//wNxDQAgAUEYakHYlRBBAxC2AUH//wNxDQAgASACNwMgIAFBIGpB6IoQQQ0QtgFB//8DcQ0AIAFBIGpBv5MQQQMQtgFB//8DcQ0AQQYhA0H7iBAhBAJAAkACQCAALQAwDgMCAAECC0H9ihAhBAwBC0EFIQNBt5AQIQQLIAFBIGogBCADELYBQf//A3ENACABQSBqQdiVEEEDELYBQf//A3ENAAJAIAAtADAiAw0AIAEgAjcDKCABQShqQayDEEEXELYBQf//A3ENASABQShqQZiAEEEBELYBQf//A3ENASABQShqQcSTEEECELYBQf//A3ENASABQShqQayBEEEFELYBQf//A3ENASABQShqQdiVEEEDELYBQf//A3ENASABQQhqELgBQf//A3ENASABQShqQcOTEEEDELYBQf//A3ENASABQShqQa+QEEEDELYBQf//A3ENASABQShqQdiVEEEDELYBQf//A3ENASABQQhqELgBQf//A3ENASABQShqQcOTEEEDELYBQf//A3ENASABQShqQZ6GEEEFELYBQf//A3ENASABQShqQdiVEEEDELYBQf//A3ENASABQQhqELkBQf//A3ENASABQShqQZWAEEECELYBQf//A3ENASAALQAwIQMLIABBCGohBAJAIANBA3FBAUcNACABIAI3AyggAUEoakGEhBBBFxC2AUH//wNxDQEgAUEoakGYgBBBARC2AUH//wNxDQEgAUEoakHEkxBBAhC2AUH//wNxDQEgAUEoakHAiRBBDBC2AUH//wNxDQEgAUEoakHYlRBBAxC2AUH//wNxDQEgBCoCACABQQhqELcBQf//A3ENASABQShqQcOTEEEDELYBQf//A3ENASABQShqQdqIEEEGELYBQf//A3ENASABQShqQdiVEEEDELYBQf//A3ENASABQQhqELgBQf//A3ENASABQShqQcOTEEEDELYBQf//A3ENASABQShqQfSJEEELELYBQf//A3ENASABQShqQdiVEEEDELYBQf//A3ENASABQQhqELgBQf//A3ENASABQShq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ACAAIAggBZQgDCADlJMgDpQ4AiAgACAIIAmUIAIgBpSTIA6UOAIQIAAgDCAKlCACIAWUkyAOlDgCCCAAIA4gCCAElCAMIAaUk4yUOAIcIAAgDiAIIAqUIAIgA5STjJQ4AhQgACAOIAwgCZQgAiAElJOMlDgCBAvCAQIBfwF+IwBBEGsiBSQAIAUgASkCACIGNwMAAkACQCAEDQAgBSACIAMQIkEAIQEMAQsCQCADRQ0AIAUgBEH/////AUs6AAwgBEGAgICAAk8NAEEAIQECQCAGpyACIANBA3RBAiAEQQN0IgNBACAGQiCIpygCCBEAACICDQBBACECDAILIAJBqtWq1XogAxshAiAEQf////8BcUEAIAMbIQEMAQtBACECQQAhAQsgACACNgIAIAAgATYCBCAFQRBqJAALhQEBAX8jAEEwayIDJAAgAyABKQIANwMIIANBEGogA0EIaiACEAkCQAJAIAMvARQiAUUNACADIAE7ASAgA0EYaiECDAELIANBADsBLCADIAI2AiggAyADKAIQNgIkIANBJGohAgsgACACKQIANwIAIABBCGogAkEIaigCADYCACADQTBqJAALOAIBfwF+AkAgAkEDdCIDRQ0AIAApAgAiBKcgAUGq1arVeiACGyADQQJBACAEQiCIpygCDBECAAsLRgECfSAAIAEqAhQgAioCACIDIAEqAgyUIAIqAgQiBCABKgIQlJKSOAIEIAAgASoCCCADIAEqAgCUIAQgASoCBJSSkjgCAAv1CAgBfwR9CH8BfQF/AX0Bfwd9IwBB0ABrIgMkACADQRBqIAAgASACEB0CQCADLwEYIgINAAJAAkAgAygCFCICDQBDAAAAACEEQwAAAAAhBUMAAAAAIQZDAAAAACEHDAELIAMoAhAhCCACQQJ2IQlDAACAfyEFQwAAgP8hB0EAIQpDAACA/yEGQwAAgH8hBANAIAogCUYNASAIIApBBXRqIgIoAgQhCyACQRxqKAIAIQwgAkEUaigCACENIAJBDGooAgAhDiADQQhqIAIoAgAiASACQQhqKAIAIg8gD75D+QIVUF4iDxu+IhBDAABAQJQgAkEYaigCACIRviISIBEgAkEQaigCACICIAK+Q/kCFVBeIhMbviIUQwAAQECUk5IgAb4iFZNDAABAQJQgFCAQIBCSkyAVkkMAAMBAlCAQIBWTQwAAQECUIANBwABqECUgFSASEJwFIRYgFSASEKUFIRcgAygCCCEBIAMoAgwhAgNAAkACQCACRQ0AIAEqAgAiGEMAAAAAXkUNASAYQwAAgD9dRQ0BIBYgGCAVIBAgFCASECYiGBCcBSEWIBcgGBClBSEXDAELIAMgCyAOIA8bviIUQwAAQECUIAy+IhkgDCANIBMbviIaQwAAQECUk5IgC74iEpNDAABAQJQgGiAUIBSSkyASkkMAAMBAlCAUIBKTQwAAQECUIANByABqECUgEiAZEJwFIRUgEiAZEKUFIRAgAygCACEBIAMoAgQhAgNAAkACQCACRQ0AIAEqAgAiGEMAAAAAXkUNASAYQwAAgD9dRQ0BIBUgGCASIBQgGiAZECYiGBCcBSEVIBAgGBClBSEQDAELIApBAWohCiAHIBUQnAUhByAGIBYQnAUhBiAFIBAQpQUhBSAEIBcQpQUhBAwECyACQX9qIQIgAUEEaiEBDAALCyACQX9qIQIgAUEEaiEBDAALCwtBACECIAYgBJMiFotDAAAANF0NACAHIAWTIheLQwAAADRdDQAgACgCCCEMIAAoAgQhDUEAIQsDQAJAAkAgCyAMRg0AIA0gC0EYbGoiAigCBCEBIAIoAgAhAgNAIAFFDQICQCACKgIAIhhD+QIVUF4NACACIBggBJMgFpU4AgAgAkEEaiIKIAoqAgAgBZMgF5U4AgALIAJBCGohAiABQX9qIQEMAAsLIANBHGogAEE8ahAeIABCADcCdCAAQoCAgPwDNwJkIABCgICA/IOAgMA/NwJUIABCgICAgICAgMA/NwJEIAAgAyoCMCIYIAQgAyoCKCIXlCIVIAUgAyoCLCIQlCISkpI4AnAgACADKgIkIhYgBCADKgIcIhSUIhkgBSADKgIgIhqUIgSSkjgCbCAAIBggBiAXlCIXIBKSkjgCYCAAIBYgBiAUlCISIASSkjgCXCAAIBggFyAHIBCUIhCSkjgCUCAAIBYgEiAHIBqUIheSkjgCTCAAIBggFSAQkpI4AkAgACAWIBkgF5KSOAI8QQAhAgwCCyALQQFqIQsMAAsLIANB0ABqJAAgAguyAQEBfwJAAkACQAJAIAGLQ//m2y5dRQ0AIAKLQ//m2y5dDQEgBCADjCAClTgCAEEBIQUMAwsgAiAClCABQwAAgMCUIAOUkiIDQwAAAABdRQ0BC0EAIQUMAQsCQCADi0P/5tsuXUUNACAEIAKMIAEgAZKVOAIAQQEhBQwBCyAEIAKMIAORIgOTIAEgAZIiAZU4AgQgBCADIAKTIAGVOAIAQQIhBQsgACAFNgIEIAAgBDYCAAtFAQJ9IAAgAJQiBSAAlCAElEMAAIA/IACTIgQgBCAElCIGlCABlCAGIAJDAABAQJQgAJSUkiAEIAUgA0MAAEBAlJSUkpILUAECfSAAIAIpAgg3AgggACABKgIUIAIqAgAiAyABKgIMlCACKgIEIgQgASoCEJSSkjgCBCAAIAEqAgggAyABKgIAlCAEIAEqAgSUkpI4AgALvAUBBH8jAEHQAmsiCSQAIAlBADYCFCAJQqrVqtUKNwIMIAkgCCkCADcCGCADQQFqIQoCQAJAAkADQCAKQX9qIgpFDQEgAkEEaigCACEDIAIoAgAhCyAJQQA2ArwCIAlCqtWq1Qo3ArQCIAkgCCkCADcCwAIgCUEAOgDLAgJAQQBFDQBBCCEMDAMLIAlBtAJqIAMQGyIMQf//A3ENAiAJIAkoArgCIgwgA2o2ArgCAkAgA0UNACAJKAK0AiAMQQN0aiALIANBA3T8CgAACyACQQhqIQIgCUEgakEIaiAJQbQCakEIaikCADcDACAJQSBqQRBqIAlBtAJqQRBqKAIANgIAIAlBADsBOCAJIAkpArQCNwMgIAkgA0EDcEUiAzoAyAIgCSADOgA0IAlBDGogCUEgahApIgNB//8DcUUNAAsgACADOwGoAQwCCyAJQegBaiAFIAgQGAJAIAkvAYwCIgNFDQAgACADOwGoAQwCCyAJQdQAaiAJQRxqKAIANgIAIAlBzABqIAlBFGopAgA3AgAgCSAJKQIMNwJEIAlB2ABqIAlB6AFqQST8CgAAIAlB/ABqIARBwAD8CgAAIAlB2AFqQgA3AgAgCUHgAWpBADYCACAJQQA6AJMCIAlBAToAkgIgCUIANwLQASAJQYCAgPwDNgLEASAJIAY2AsABIAlBgICA/AM2ArwBIAkgATYCQCAJQQE6AJQCIAlBATsB5AEgCUEBOgDmASAJQgA3A6ACIAlBACkDqL4QNwOYAiAJQYSZEDYCsAIgCSAHKQIANwLIASAJIAlBmAJqNgKsAiAJQcAAaiAJQawCakGcmhAQJCEDIAlBmAJqECoCQCADQf//A3FFDQAgACADOwGoAQwCCyAAQQA7AagBIAAgCUHAAGpBqAH8CgAADAELIAAgDDsBqAELIAlB0AJqJAAL0wMCCH8BfiMAQSBrIgIkAAJAAkACQAJAAkACQCAAKAIIIgMgACgCBCIESw0AIAMhBQNAQX8gBUEBdiAFakECaiIGIAYgBUkbIgUgBE0NAAsgACgCACEHIANFDQEgACgCECEIIAAoAgwhCUEAIQYgAiAFrUIYfiIKQiCIpyIEQQBHOgAQIAQNASAJIAcgA0EYbEECIAqnIgRBACAIKAIIEQAAIghFDQICQCAEDQBBACEEQarVqtV6IQYMBAsgBEEYbiEEIAghBgwDCyAAKAIAIQYMAwtBACEGC0EAIQQLAkAgBkUNACAAIAY2AgAgACAENgIIDAELIAIgAEEMaiIEKQIANwMIIAIgBa1CGH4iCkIgiKciBkEARzoAHAJAIAZFDQBBCCEGDAILIAJBEGogAkEIaiAKpxAWIAIpAxAiCkIgiKciBkH//wNxDQEgCqchBgJAIAAoAgQiCEUNACAGIAAoAgAgCEEYbPwKAAALIAQgByADECsgACAFNgIIIAAgBjYCAAsgACAAKAIEIgVBAWo2AgQgBiAFQRhsaiIFQRBqIAFBEGopAgA3AgAgBUEIaiABQQhqKQIANwIAIAUgASkCADcCAEEAIQYLIAJBIGokACAGC0YBA38gACgCCCEBIAAoAgQhAiAAKAIAIQMCQANAIAFFDQEgASgCACEAIAMgASABKAIEQQJBACACKAIMEQIAIAAhAQwACwsLOAIBfwF+AkAgAkEYbCIDRQ0AIAApAgAiBKcgAUGq1arVeiACGyADQQJBACAEQiCIpygCDBECAAsLwhMCD38BfiMAQTBrIgIkAEEAKAKs1RAiA0EBaiEEAkACQAJAAkACQAJAAkACQAJAIANBEEkNAEEAKAK01RAiBUUNASAFLQAAQQJ0QfyhEGooAgAgA00NAQsgBBAtIgNB//8DcQ0BQQAoArTVECIGDQNBACgCqNUQIgdBACgCsNUQIgNBAnRqIQhBACgCrNUQIQkCQCADRQ0AIAdBqtWq1XogAxshBSAJIQQgCCEDA0AgBEUNAQJAIAUoAgAgAEcNACACQQE6ACQgAkEkaiEEDAcLIARBf2ohBCAFQQRqIQUgA0GsAWohAwwACwtBACAJQQFqNgKs1RAgAkEAOgAoIAggCUGsAWxqIQMgByAJQQJ0aiEFIAJBKGohBAwECyAEEC0iA0H//wNxDQAgAkEYaiAEEC4gAi8BGCIDDQAgAkEcakG41RAgAi0AGhAvIAIvASAiAw0AIAIoAhwhBkEAKAK01RAiA0UNASADQbjVEBAwDAELIAJBDGpBqNUQIAAQMSACLQAQRQ0FIAJBAToAFEEAKAKo1RAiBUEAKAKw1RAiBEECdGpBqtWq1XogBBsgAigCDCIJQawBbGohA0EBDQQgBUGq1arVeiAEGyAJQQJ0aiEFDAMLIAZBBGohA0EAKAKs1RAhCkEAKAKo1RAhC0EAKAKw1RAhBAJAAkACQAJAQQBBAUECIAYtAAAiBUERSRsgBUEJSRsOAwACAQALIARFDQJBACEMA0AgDCAKRg0DIAsgDEECdGooAgAQMiEFQX8gBigCAHRBf3MhDUEAIQkgDCEOA0ACQCADIAUgDXFBAXRqIgQtAAAiCEH/AUcNACAEIA46AAAgBCAJOgABIAxBAWohDAwCCwJAAkAgBC0AASIHQf8BcSAJQf8BcUkNACAJIQcMAQsgBCAOOgAAIAQgCToAASAIIQ4LIAdBAWohCSAFQQFqIQUMAAsLCyAERQ0BQQAhDANAIAwgCkYNAiALIAxBAnRqKAIAEDIhBUF/IAYoAgB0QX9zIQ1BACEJIAwhDgNAAkAgAyAFIA1xQQN0aiIEKAIAIghBf0cNACAEIA42AgAgBCAJNgIEIAxBAWohDAwCCwJAAkAgBCgCBCIHIAlJDQAgCSEHDAELIAQgDjYCACAEIAk2AgQgCCEOCyAHQQFqIQkgBUEBaiEFDAALCwsgBEUNAEEAIQwDQCAMIApGDQEgCyAMQQJ0aigCABAyIQVBfyAGKAIAdEF/cyENQQAhCSAMIQ4DQAJAIAMgBSANcUECdGoiBC8BACIIQf//A0cNACAEIA47AQAgBCAJOwECIAxBAWohDAwCCwJAAkAgBC8BAiIHQf//A3EgCUH//wNxSQ0AIAkhBwwBCyAEIA47AQAgBCAJOwECIAghDgsgB0EBaiEJIAVBAWohBQwACwsLQQAgBjYCtNUQC0EAIQkgBkEEaiEEIAAQMiEDAkACQAJAQQBBAUECIAYtAAAiBUERSRsgBUEJSRsOAwACAQALQQAhCUEAKAKo1RAiCkGq1arVekEAKAKw1RAiBRshDCAKIAVBAnRqIg9BqtWq1XogBRshEEF/IAYoAgB0QX9zIQ5BACgCrNUQIQsDQAJAIAQgAyAOcUEBdGoiDS8AACIHQf8BcSIIQf8BRw0AQQAgC0EBajYCrNUQIA0gCzoAACANIAk6AAEgAkEAOgAsIA8gC0GsAWxqIQMgCiALQQJ0aiEFIAJBLGohBAwECwJAIAwgCEECdGoiBSgCACAARw0AIAJBAToALCAQIAhBrAFsaiEDIAJBLGohBAwECwJAIAlB/wFxIAdBCHYiBU0NAEEAIAtBAWo2AqzVECANIAk6AAEgDSALOgAAQX8gBigCAHRBf3MhBgNAIAVBAWohCQJAIAQgA0EBaiIDIAZxQQF0aiIOLwAAIghB/wFxQf8BRw0AIA4gCToAASAOIAc6AAAgAkEAOgAsIBAgC0GsAWxqIQMgDCALQQJ0aiEFIAJBLGohBAwGCyAFQf8BcSENIAkhBSANIAhBCHYiCkkNACAOIAk6AAEgDiAHOgAAIAghByAKIQUMAAsLIAlBAWohCSADQQFqIQMMAAsLQQAoAqjVECIKQarVqtV6QQAoArDVECIFGyEMIAogBUECdGoiD0Gq1arVeiAFGyEQQX8gBigCAHRBf3MhDkEAKAKs1RAhCwNAAkAgBCADIAlqIgggDnFBA3RqIg0pAgAiEaciB0F/Rw0AQQAgC0EBajYCrNUQIA0gCzYCACANIAk2AgQgAkEAOgAcIA8gC0GsAWxqIQMgCiALQQJ0aiEFIAJBHGohBAwDCwJAIAwgB0ECdGoiBSgCACAARw0AIAJBAToAHCAQIAdBrAFsaiEDIAJBHGohBAwDCwJAIAkgEUIgiKciBU0NAEEAIAtBAWo2AqzVECANIAk2AgQgDSALNgIAQX8gBigCAHRBf3MhDQNAQQAhAwNAAkAgBCAIIANqQQFqIA1xQQN0aiIJKQIAIhGnIg5Bf0cNACAJIAc2AgAgCSAFIANqQQFqNgIEIAJBADoAHCAQIAtBrAFsaiEDIAwgC0ECdGohBSACQRxqIQQMBgsgBSADQQFqIgNqIgZBf2ogEUIgiKciCkkNAAsgCSAHNgIAIAkgBjYCBCAIIANqIQggCiEFIA4hBwwACwsgCUEBaiEJDAALC0EAIQlBACgCqNUQIgpBqtWq1XpBACgCsNUQIgUbIQwgCiAFQQJ0aiIPQarVqtV6IAUbIRBBfyAGKAIAdEF/cyEOQQAoAqzVECELA0ACQCAEIAMgDnFBAnRqIg0oAQAiB0H//wNxIghB//8DRw0AQQAgC0EBajYCrNUQIA0gCzsBACANIAk7AQIgAkEAOgAYIA8gC0GsAWxqIQMgCiALQQJ0aiEFIAJBGGohBAwCCwJAIAwgCEECdGoiBSgCACAARw0AIAJBAToAGCAQIAhBrAFsaiEDIAJBGGohBAwCCwJAIAlB//8DcSAHQRB2IgVNDQBBACALQQFqNgKs1RAgDSAJOwECIA0gCzsBAEF/IAYoAgB0QX9zIQYDQCAFQQFqIQkCQCAEIANBAWoiAyAGcUECdGoiDigBACIIQf//A3FB//8DRw0AIA4gCTsBAiAOIAc7AQAgAkEAOgAYIBAgC0GsAWxqIQMgDCALQQJ0aiEFIAJBGGohBAwECyAFQf//A3EhDSAJIQUgDSAIQRB2IgpJDQAgDiAJOwECIA4gBzsBACAIIQcgCiEFDAALCyAJQQFqIQkgA0EBaiEDDAALCyAELQAAQQFxDQELIAUgADYCAAsgAyABQawB/AoAAEEAIQMLIAJBMGokACADC7MCAwN/AX4DfyMAQSBrIgEkAEEAIQICQEEAKAKw1RAiAyAATw0AA0BBfyADQQF2IANqQQFqIgIgAiADSRsiAyAASQ0ACyABQQApArjVECIENwMAIAFBDGogASADQbABbBDvASABLwEUIgINACABKAIMIQACQAJAQQAoAqzVECIFDQAgASAENwMYIAFBGGpBACgCqNUQQQAoArDVEEGwAWwQjAEMAQsgAEEAKAKo1RAiBkGq1arVekEAKAKw1RAiBxsgBUECdPwKAAAgACADQQJ0aiAGIAdBAnRqQarVqtV6IAcbIAVBrAFs/AoAACABIAQ3AxggAUEYakEAKAKo1RBBACgCsNUQQbABbBCMAUEAIAU2AqzVEAtBACADNgKw1RBBACAANgKo1RALIAFBIGokACACC1IBAX8CQCABQf////8ATQ0AIABBCDYBAA8LIABBADsBACAAIAFBf2pnQX9zQR9xQQFqIgJBAnRB/KEQaigCACABSSACaiIBQQUgAUEFSxs6AAILiAEBAn8jAEEgayIDJAAgAyABKQIANwMIIANBFGogA0EIaiACEO0BIAJ0QQRqEO8BAkACQCADLwEcIgFFDQAgACABOwEEDAELIAMoAhQhAQJAIAMoAhhBfGoiBEUNACABQQRqQf8BIAT8CwALIABBADsBBCABIAI6AAAgACABNgIACyADQSBqJAALOAEBfyMAQRBrIgIkACACIAEpAgA3AwggAkEIaiAAIAAtAAAiARDtASABdEEEahCMASACQRBqJAAL+gMCB38CfiMAQSBrIgMkACABKAIEIQQgASgCACEFIAEoAgghBgJAAkACQAJAAkACQCABKAIMIgFFDQAgAUEEaiEHQQEgAS0AACIIdCEJQQBBAUECIAhBEUkbIAhBCUkbDgMBAgMBCyAGRQ0DQQAhAQNAIAQgAUYNBAJAIAUoAgAgAkcNACAAQQE6AAQgACABNgIADAYLIAVBBGohBSABQQFqIQEMAAsLIAMgATYCFCADIAY2AhAgAyAENgIMIAMgBTYCCCADQRhqIANBCGogAiABIAcgCRA8AkACQCADLQAcDQBCACEKQgAhCwwBCyAHIAMoAhhBAXRqMQAAIQpCgICAgBAhCwsgACALIAqENwIADAMLIAMgATYCFCADIAY2AhAgAyAENgIMIAMgBTYCCCADQRhqIANBCGogAiABIAcgCRA9AkACQCADLQAcDQBCACEKQgAhCwwBCyAHIAMoAhhBAnRqMwEAIQpCgICAgBAhCwsgACALIAqENwIADAILIAMgATYCFCADIAY2AhAgAyAENgIMIAMgBTYCCCADQRhqIANBCGogAiABIAcgCRA+AkACQCADLQAcDQBCACEKQgAhCwwBCyAHIAMoAhhBA3RqNQIAIQpCgICAgBAhCwsgACALIAqENwIADAELIABCADcCAAsgA0EgaiQAC40BAgF/An4jAEEgayIBJAAgAUEQaiAArUKBgICAEH4iAkLb0dCFmtrfgWeFQgAgAkKsmuLTo9Lw+h+FQgAQlQUgASABQRBqQQhqKQMAQtvR0IWa2t+BZ4VCACABKQMQQqvI9cXHrIe7oH+FQgAQlQUgAUEIaikDACECIAEpAwAhAyABQSBqJAAgAiADhacLsQEBAX8jAEHgAmsiCCQAAkAgAQ0AQQBBACgCgNYQIgFBAWo2AoDWEAsgCEEIaiABIAIgAyAEIAUgBiAHQai+EBAoAkACQCAILwGwASIHRQ0AIAAgBzsBBAwBCyAIQbQBaiAIQQhqQagB/AoAACAIQQE6ANwCAkAgASAIQbQBahAsIgdB//8DcUUNACAAIAc7AQQMAQtBAUEBEDQgACABNgIAIABBADsBBAsgCEHgAmokAAteAAJAQQAtAKDXEA0AAkBBAC0AodcQDQBBACAAQQFxOgCh1xALAkBBAC0AotcQDQBBACABQQFxOgCi1xALQQAtAKzXEA0AQQBBAToArNcQQQBBACgCgNcQNgKo1xALC28BAX8CQEEALwHo1RAiAEEBRw0AAkAQNiIARQ0AIABBnJoQEDcLQQBCADcDwNYQQQBBADoA4NYQQQAvAejVECEACwJAIABB//8DcUEDRw0AQQAoAsjWEBEDAEEAQQA2AtDWEEEAQQA2AszWEAtBAAseAQF/AkAQOCIADQBBAA8LIABBACAALQCoAUEBRhsL0AEEAn8BfQF/AX0jAEEQayICJAACQEEALQDE1hBFDQAgAC0AmAEhAyAAKgKQASEEAkACQCABLQAIDQBBmJkQIQVDAACAfyEGDAELIAIgASgCBDYCDCABKgIAIQYgAkEMaiEFCwJAIARDAACAfyADQf8BcSIDGyAGk4tDAAAANF1FDQAgACoClAFDAAAAACADGyAFKgIAk4tDAAAANF0NAQsgAEGQAWoiAyABKQIANwIAIANBCGogAUEIaigCADYCACAAQQE6AKQBCyACQRBqJAALfAEDfyMAQSBrIgAkAEEAIQFBACgC0NUQIQIgAEEQakEAKQKw1RA3AwAgAEEAKQKo1RA3AwggAEEYaiAAQQhqIAIQMQJAIAAtABxFDQAgACgCCCAAKAIQIgFBAnRqQarVqtV6IAEbIAAoAhhBrAFsaiEBCyAAQSBqJAAgAQteAgJ/An4jAEEQayIBJAAgAEEIaiICKQIAIQMgACkCACEEEDUaQQAgAikCADcC2NUQQQAgACkCADcC0NUQIAEgAzcCCCABIAQ3AgAgAUEAKALU1hARBAAgAUEQaiQAC7sIAQt/IwBBEGsiACQAQQAoAtDVECEBAkACQAJAAkACQEEAKAK01RAiAkUNACACQQRqIQNBASACLQAAIgR0IQVBAEEBQQIgBEERSRsgBEEJSRsOAwECAwELQQAoArDVEEUNA0EAKAKs1RAhBUEAKAKo1RAhBEEAIQMDQCAFIANGDQQCQCAEKAIAIAFHDQAgAxA7DAULIARBBGohBCADQQFqIQMMAAsLIABBCGpBqNUQIAEgAiADIAUQPCAALQAMRQ0CIAAoAggiBUEBaiEEIAMgBUEBdGotAAAhBgJAA0AgAyAFQQF0aiEBIAMgBEF/IAIoAgB0QX9zcSIFQQF0aiIHLQAAIghB/wFGDQEgBy0AASIHQf8BcUUNASABIAg6AAAgASAHQX9qOgABIARBAWohBAwACwsgAUH/AToAACAGQQAoAqzVEEF/aiIEIAYgBEsbIQkgBiEIAkADQCAIIAlGDQFBACgCqNUQQarVqtV6QQAoArDVEBsgCEEBaiIBQQJ0aigCABAyIQRBfyACKAIAdEF/cyEFAkADQCABIAMgBCAFcUEBdGoiBy0AAEYNASAEQQFqIQQMAAsLIAcgCDoAACABIQgMAAsLIAYQOwwCCyAAQQhqQajVECABIAIgAyAFED0gAC0ADEUNASAAKAIIIgVBAWohBCADIAVBAnRqLwEAIQYCQANAIAMgBUECdGohASADIARBfyACKAIAdEF/c3EiBUECdGoiBy8BACIIQf//A0YNASAHLwECIgdB//8DcUUNASABIAg7AQAgASAHQX9qOwECIARBAWohBAwACwsgAUH//wM7AQAgBkEAKAKs1RBBf2oiBCAGIARLGyEJIAYhCAJAA0AgCCAJRg0BQQAoAqjVEEGq1arVekEAKAKw1RAbIAhBAWoiAUECdGooAgAQMiEEQX8gAigCAHRBf3MhBQJAA0AgASADIAQgBXFBAnRqIgcvAQBGDQEgBEEBaiEEDAALCyAHIAg7AQAgASEIDAALCyAGEDsMAQsgAEEIakGo1RAgASACIAMgBRA+IAAtAAxFDQAgACgCCCIBQQFqIQYgAyABQQN0aigCACEKQQAhBAJAA0AgAyABQQN0aiEBIAMgBiAEakF/IAIoAgB0QX9zIgVxIghBA3RqIgcoAgAiCUF/Rg0BIAcoAgQiB0UNASABIAk2AgAgASAHQX9qNgIEIARBAWohBCAIIQEMAAsLIAFBfzYCACAKQQAoAqzVEEF/aiIEIAogBEsbIQkgCiEIAkADQCAIIAlGDQFBACEEQQAoAqjVEEGq1arVekEAKAKw1RAbIAhBAWoiAUECdGooAgAQMiEHAkADQCADIAcgBGogBXFBA3RqIgIoAgAgAUYNASAEQQFqIQQMAAsLIAIgCDYCACABIQgMAAsLIAoQOwtB7JgQEDlBAUEBEDQgAEEQaiQAQQALvQEBBn9BACgCqNUQIgFBqtWq1XpBACgCsNUQIgIbIABBAnRqIQMgASACQQJ0aiEEIAAhAQJAA0AgAUEAKAKs1RBBf2oiBU8NASADIANBBGoiBigCADYCACABQQFqIQEgBiEDDAALC0EAIAUgAGsiASABIAVLGyEBIARBqtWq1XogAhsgAEGsAWxqIQMCQANAIAFFDQEgAyADQawBaiIGQawB/AoAACABQX9qIQEgBiEDDAALC0EAIAU2AqzVEAudAQEFfyABKAIAQarVqtV6IAEoAggbIQYgAhAyIQFBfyADKAIAdEF/cyEHQQAhAwNAAkACQCAEIAEgB3EiCEEBdGoiCS0AACIKQf8BRg0AIAktAAFB/wFxIANB/wFxTw0BCyAAQgA3AgAPCwJAIAYgCkECdGooAgAgAkcNACAAQQE6AAQgACAINgIADwsgA0EBaiEDIAFBAWohAQwACwugAQEFfyABKAIAQarVqtV6IAEoAggbIQYgAhAyIQFBfyADKAIAdEF/cyEHQQAhAwNAAkACQCAEIAEgB3EiCEECdGoiCS8BACIKQf//A0YNACAJLwECQf//A3EgA0H//wNxTw0BCyAAQgA3AgAPCwJAIAYgCkECdGooAgAgAkcNACAAQQE6AAQgACAINgIADwsgA0EBaiEDIAFBAWohAQwACwuQAQEFfyABKAIAQarVqtV6IAEoAggbIQYgAhAyIQdBfyADKAIAdEF/cyEIQQAhAQNAAkACQCAEIAcgAWogCHEiCUEDdGoiAygCACIKQX9GDQAgAygCBCABTw0BCyAAQgA3AgAPCwJAIAYgCkECdGooAgAgAkcNACAAQQE6AAQgACAJNgIADwsgAUEBaiEBDAALC6MXBgN/AX4BfwR9AX4OfyMAQeAAayICJAAgAkE4akEAKQKo1hA3AwAgAkEAKQKg1hA3AzAgAkHEAGogAkEwahAMAkACQAJAIAItAEhFDQAgAigCMCACKAI4IgNBAnRqQarVqtV6IAMbIgNFDQAgAyACKAJEQRhsaiIEIAEQQCIDRQ0BIAAgAzYCACAAQQA7AQQMAgtBipAQQREQEQALIAJBDGpBACABQQAoAtjWEBEFAAJAQQApA6i+ECIFp0HMAEECQQAgBUIgiKcoAgARAQAiBg0AIABBCDsBBAwBCyACKgIUIQcgAioCGCEIIAIqAhwhCSACKgIgIQogAikCDCELIAYgAikCJDcCACAGQgA3AiAgBiALNwIYIAYgCjgCFCAGIAk4AhAgBiAIOAIMIAYgBzgCCCAGQShqQgA3AgAgAkEBOgAsIAZCADcCQCAGQoCAgPwDNwI4IAYgBTcCMCAGQQE6AEggBEEQaiEDIAQoAgQiDEEBaiENAkACQAJAAkACQAJAAkACQCAMQRBJDQAgBCgCDCIORQ0BIA4tAABBAnRB/KEQaigCACAMTQ0BCyAEIAMgDRBBIgxB//8DcQ0BIAQoAgwiDw0DIAQoAgAiECAEKAIIIgNBAnRqIREgBCgCBCESAkAgA0UNACAQQarVqtV6IAMbIQ0gAUH///8AcSEOIBIhDCARIQMDQCAMRQ0BAkAgDS8BACANQQJqLQAAQRB0ciAORw0AIAJBAToAVCACQdQAaiEMDAcLIAxBf2ohDCANQQRqIQ0gA0EEaiEDDAALCyAEIBJBAWo2AgQgAkEAOgBYIBEgEkECdCINaiEDIBAgDWohDSACQdgAaiEMDAQLIAQgAyANEEEiDEH//wNxDQAgAkHQAGogDRAuIAIvAVAiDA0AIAJBMGogAyACLQBSEC8gAi8BNCIMDQAgAigCMCEPIAQoAgwiDUUNASANIAMQMAwBCyACQcQAaiAEIAEQQgJAIAItAEhFDQAgAigCRCEDAkACQCAEKAIIIg0NAEGq1arVeiEMQarVqtV6IQ0MAQsgBCgCACIMIA1BAnRqIQ0LIA0gA0ECdCIOaiEDQQENBSAMIA5qIQ0MBAsgACAMOwEEDAULIA9BBGohAyAEKAIEIRMgBCgCACEUIAQoAgghDQJAAkACQAJAQQBBAUECIA8tAAAiDEERSRsgDEEJSRsOAwACAQALIA1FDQJBACEVA0AgFSATRg0DIBQgFUECdGoiDS8BACANQQJqLQAAQRB0chBDIQxBfyAPKAIAdEF/cyERQQAhDiAVIRYDQAJAIAMgDCARcUEBdGoiDS0AACIQQf8BRw0AIA0gFjoAACANIA46AAEgFUEBaiEVDAILAkACQCANLQABIhJB/wFxIA5B/wFxSQ0AIA4hEgwBCyANIBY6AAAgDSAOOgABIBAhFgsgEkEBaiEOIAxBAWohDAwACwsLIA1FDQFBACEVA0AgFSATRg0CIBQgFUECdGoiDS8BACANQQJqLQAAQRB0chBDIQxBfyAPKAIAdEF/cyERQQAhDiAVIRYDQAJAIAMgDCARcUEDdGoiDSgCACIQQX9HDQAgDSAWNgIAIA0gDjYCBCAVQQFqIRUMAgsCQAJAIA0oAgQiEiAOSQ0AIA4hEgwBCyANIBY2AgAgDSAONgIEIBAhFgsgEkEBaiEOIAxBAWohDAwACwsLIA1FDQBBACEVA0AgFSATRg0BIBQgFUECdGoiDS8BACANQQJqLQAAQRB0chBDIQxBfyAPKAIAdEF/cyERQQAhDiAVIRYDQAJAIAMgDCARcUECdGoiDS8BACIQQf//A0cNACANIBY7AQAgDSAOOwECIBVBAWohFQwCCwJAAkAgDS8BAiISQf//A3EgDkH//wNxSQ0AIA4hEgwBCyANIBY7AQAgDSAOOwECIBAhFgsgEkEBaiEOIAxBAWohDAwACwsLIAQgDzYCDAtBACEOIA9BBGohDCABEEMhAwJAAkACQEEAQQFBAiAPLQAAIg1BEUkbIA1BCUkbDgMAAgEACyAEKAIAIhdBqtWq1XogBCgCCCINGyEVIBcgDUECdGoiGEGq1arVeiANGyEZQX8gDygCAHRBf3MhFiAEKAIEIRRBACEOIAFB////AHEhEwNAAkAgDCADIBZxQQF0aiIRLwAAIhJB/wFxIhBB/wFHDQAgBCAUQQFqNgIEIBEgFDoAACARIA46AAEgAkEAOgBcIBggFEECdCINaiEDIBcgDWohDSACQdwAaiEMDAQLAkAgFSAQQQJ0aiINLwEAIA1BAmotAABBEHRyIBNHDQAgAkEBOgBcIBkgEEECdGohAyACQdwAaiEMDAQLAkAgDkH/AXEgEkEIdiINTQ0AIAQgFEEBajYCBCARIA46AAEgESAUOgAAQX8gDygCAHRBf3MhDwNAIA1BAWohDgJAIAwgA0EBaiIDIA9xQQF0aiIWLwAAIhBB/wFxQf8BRw0AIBYgDjoAASAWIBI6AAAgAkEAOgBcIBkgFEECdCINaiEDIBUgDWohDSACQdwAaiEMDAYLIA1B/wFxIREgDiENIBEgEEEIdiITSQ0AIBYgDjoAASAWIBI6AAAgECESIBMhDQwACwsgDkEBaiEOIANBAWohAwwACwsgBCgCACIXQarVqtV6IAQoAggiDRshFSAXIA1BAnRqIhhBqtWq1XogDRshGUF/IA8oAgB0QX9zIRYgBCgCBCEUIAFB////AHEhEwNAAkAgDCADIA5qIhAgFnFBA3RqIhEpAgAiBaciEkF/Rw0AIAQgFEEBajYCBCARIBQ2AgAgESAONgIEIAJBADoAMCAYIBRBAnQiDWohAyAXIA1qIQ0gAkEwaiEMDAMLAkAgFSASQQJ0aiINLwEAIA1BAmotAABBEHRyIBNHDQAgAkEBOgAwIBkgEkECdGohAyACQTBqIQwMAwsCQCAOIAVCIIinIg1NDQAgBCAUQQFqNgIEIBEgDjYCBCARIBQ2AgBBfyAPKAIAdEF/cyERA0BBACEDA0ACQCAMIBAgA2pBAWogEXFBA3RqIg4pAgAiBaciFkF/Rw0AIA4gEjYCACAOIA0gA2pBAWo2AgQgAkEAOgAwIBkgFEECdCINaiEDIBUgDWohDSACQTBqIQwMBgsgDSADQQFqIgNqIg9Bf2ogBUIgiKciE0kNAAsgDiASNgIAIA4gDzYCBCAQIANqIRAgEyENIBYhEgwACwsgDkEBaiEODAALCyAEKAIAIhdBqtWq1XogBCgCCCINGyEVIBcgDUECdGoiGEGq1arVeiANGyEZQX8gDygCAHRBf3MhFiAEKAIEIRRBACEOIAFB////AHEhEwNAAkAgDCADIBZxQQJ0aiIRKAEAIhJB//8DcSIQQf//A0cNACAEIBRBAWo2AgQgESAUOwEAIBEgDjsBAiACQQA6AFAgGCAUQQJ0Ig1qIQMgFyANaiENIAJB0ABqIQwMAgsCQCAVIBBBAnRqIg0vAQAgDUECai0AAEEQdHIgE0cNACACQQE6AFAgGSAQQQJ0aiEDIAJB0ABqIQwMAgsCQCAOQf//A3EgEkEQdiINTQ0AIAQgFEEBajYCBCARIA47AQIgESAUOwEAQX8gDygCAHRBf3MhDwNAIA1BAWohDgJAIAwgA0EBaiIDIA9xQQJ0aiIWKAEAIhBB//8DcUH//wNHDQAgFiAOOwECIBYgEjsBACACQQA6AFAgGSAUQQJ0Ig1qIQMgFSANaiENIAJB0ABqIQwMBAsgDUH//wNxIREgDiENIBEgEEEQdiITSQ0AIBYgDjsBAiAWIBI7AQAgECESIBMhDQwACwsgDkEBaiEOIANBAWohAwwACwsgDC0AAEEBcQ0BCyANIAE7AQAgDUECaiABQf///wBxQRB2OgAACyADIAY2AgACQCAEIAEQQCIDRQ0AIABBADsBBCAAIAM2AgAMAQtBjIcQQSsQEQALIAJB4ABqJAALewEBfyMAQSBrIgIkACACQQhqQQhqIABBCGopAgA3AwAgAiAAKQIANwMIIAJBGGogAkEIaiABEEICQAJAIAItABwNAEEAIQAMAQsgAigCCCACKAIQIgBBAnRqQarVqtV6IAAbIAIoAhhBAnRqKAIAIQALIAJBIGokACAAC5YCAwN/AX4DfyMAQSBrIgMkAEEAIQQCQCAAKAIIIgUgAk8NAANAQX8gBUEBdiAFakEQaiIEIAQgBUkbIgUgAkkNAAsgAyABKQIAIgY3AwAgA0EMaiADIAVBA3QQ7wEgAy8BFCIEDQAgAygCDCECAkACQCAAKAIEIgENACADIAY3AxggA0EYaiAAKAIAIAAoAghBA3QQjAEMAQsgAiAAKAIAIgdBqtWq1XogACgCCCIIGyABQQJ0Ign8CgAAIAIgBUECdGogByAIQQJ0akGq1arVeiAIGyAJ/AoAACADIAY3AxggA0EYaiAAKAIAIAAoAghBA3QQjAEgACABNgIECyAAIAU2AgggACACNgIACyADQSBqJAAgBAv7BAMGfwF+AX8gASgCACEDIAEoAgghBAJAAkACQAJAAkACQAJAIAEoAgwiBUUNACADQarVqtV6IAQbIQZBACEBIAVBBGohBCACEEMhA0F/IAUoAgB0QX9zIQdBAEEBQQIgBS0AACIFQRFJGyAFQQlJGw4DAQQDAQsgBEUNASABKAIEIQRBACEBIAJB////AHEhBwNAIAQgAUYNAgJAIAMvAQAgA0ECai0AAEEQdHIgB0cNACAAQQE6AAQgACABNgIADwsgA0EEaiEDIAFBAWohAQwACwsgAkH///8AcSEIQQAhAQNAQgAhCSAEIAMgB3FBAXRqIgItAAAiBUH/AUYNBCACLQABQf8BcSABQf8BcUkNBAJAIAYgBUECdGoiAi8BACACQQJqLQAAQRB0ciAIRw0AQoCAgIAQIQkMBgsgAUEBaiEBIANBAWohAwwACwsgAEIANwIADwsgAkH///8AcSEKA0BCACEJQQAhCAJAAkAgBCADIAFqIAdxQQN0aiICKAIAIgVBf0YNACACKAIEIAFJDQAgBiAFQQJ0aiICLwEAIAJBAmotAABBEHRyIApHDQFCgICAgBAhCSAFIQgLIAAgCSAIrYQ3AgAPCyABQQFqIQEMAAsLIAJB////AHEhCEEAIQECQAJAA0BCACEJIAQgAyAHcUECdGoiAi8BACIFQf//A0YNASACLwECQf//A3EgAUH//wNxSQ0BAkAgBiAFQQJ0aiICLwEAIAJBAmotAABBEHRyIAhHDQBCgICAgBAhCQwDCyABQQFqIQEgA0EBaiEDDAALC0EAIQULIAAgCSAFrYQ3AgAPC0EAIQULIAAgCSAFrYQ3AgALtAECAX8CfiMAQTBrIgEkACABIAA7ASwgASAAQYCA/ABxQRB2OgAuIAFBGGogATEALUIIhiAArUL/AYNCEIaEIAExAC6EQtvR0IWa2t+BZ4VCAEKsmuLTo9Lw+h9CABCVBSABQQhqIAFBGGpBCGopAwBC29HQhZra34FnhUIAIAEpAxhCrMj1xcesh7ugf4VCABCVBSABQQhqQQhqKQMAIQIgASkDCCEDIAFBMGokACACIAOFpwudLRABfwF+AX8CfQF/AX0HfwF+BX8BfQN/An0BfwV9DH8CfSMAQdADayIEJAAgBEEANgIkIARCqtWq1Qo3AhwgBEEAKQOovhAiBTcCKCAEIAEpAlg3A5gDIARBmANqIAEoAkwgASgCVBBFIAFCADcCUCABQcwAaiEGIAEqApABIAEqApQBlCIHjCEIIAFBDGoiCSABQRxqEBMhCiABKAIIIQsgASgCBCEMQQAhDQNAAkACQAJAIA0gC08NAAJAIAwgDWoiDiwAACIPQQBIDQBBASEPDAMLAkAgD0H/AXFBmJwQai0AACIQQfEBRg0AIA0gEEEHcSIPaiALSw0AIA5BAWotAAAiEUKAwYKEiRAgEEEBdkH4AHGtIhKIp0GwAXFJDQAgEUK///78+xEgEoinQf8BcUsNAAJAAkAgD0F+ag4DBQABBQsgDkECaiwAAEG/f0oNAUEDIQ8MBAsgDkECaiwAAEG/f0oNACAOQQNqLAAAQb9/Sg0AQQQhDwwDCyAAQQI7ARAMAQsgBEEAOgAyIARBADsBMCAEQbACaiETIARBmAFqQThqIRQgBEHEAGpBOGohFSAEQZgDakEIaiEWQQAhF0MAAAAAIRhBACEOQQAhGUEAIRpBACEbIAghHEMAAAAAIR0DQAJAAkAgFyALSQ0AQQAhDUEAIQ8MAQsgBEHIA2ogDCAXaiINLQAAEEYgFyAELQDKAyIPaiEXCwJAAkACQAJAAkACQCANRQ0AIARBmANqIA0gDxBHAkACQCAELwGYAyAELQCaA0EfcUEQdHIiHkHgwABGDQAgDkEBcSINRQ0BIB5BCkcNASAELwEwIAQtADJBEHRyQf///wBxQeDAAEcNAQsgBCAeOwE0IAQgHkEQdjoANiAEQTRqIQ0MBgsgGw0EIBkgAk8NAQwECyABKAJQIg0NAQwCCyABKAJQIRsMAgsgBigCACANQdQAbGpBfGpBAToAAAsCQCAZIAJHDQAgASgCUCEbCwJAIBkgA0cNACABKAJQIRoLIARByAJqIAkQSCAEQewCaiAEQcgCakHglRAQJyABQgA3AkQgAUKAgID8AzcCNCABQoCAgPyDgIDAPzcCJCAJIAQpAuwCNwIAIAlBCGogBEHsAmpBCGopAgA3AgAgASAEKgLcAiIYIAQqAtQCIh9DAAAAAJQgHCAEKgLYAiIglCIhkpI4AkAgASAEKgLQAiIIIAQqAsgCIiJDAAAAAJQgHCAEKgLMAiIjlCIckpI4AjwgASAYIB8gCiAdEJwFIh2UIh8gIZKSOAIwIAEgCCAdICKUIiEgHJKSOAIsIAEgGCAfICBDAAAAAJSSkjgCICABIAggISAjQwAAAACUkpI4AhwgBCAFNwKIAyAEQQA2AoQDIARCqtWq1Qo3AvwCIAQgBCkCKCISNwPAAyAEQRBqIARBwANqIAQoAhwiDSAEKAIkIg4gBCgCICIPEEkCQAJAIAQoAhAiGUUNACAEKAIUISQgBEEANgIkIARCqtWq1Qo3AhwMAQsgBEGYA2ogBEHAA2ogDxBKAkAgBC8BoAMiDw0AIAQoApgDIRkCQCAEKAKcAyIkRQ0AIBkgDSAkQQJ0/AoAAAsgBCASNwPIAyAEQcgDaiANIA4QSyAEQgA3AiAMAQsgACAPOwEQDAQLIARBiANqIRdBACElQarVqtV6ISZBACEQQQAhEQJAAkADQAJAAkACQAJAAkAgESAkRg0AIARBlANqIBkgEUECdGoiDS8BACANQQJqLQAAQRB0ciAEQZADahBMIAQvAZQDIg1FDQFBqL4QIBkgJBBLIAAgDTsBEAwLCwJAIAEoAggiDUUNACAFpyABKAIEIA1BAEEAIAVCIIinKAIMEQIACyAEIAU3A8ADIAQgBEHAA2ogBCgC/AIiDiAEKAKEAyIQIAQoAoADIg8QTQJAIAQoAgAiDUUNACAEKAIEIQ8MBwsgBEGYA2ogBEHAA2ogDxBOIAQvAaADIg0NASAEKAKYAyENAkAgBCgCnAMiD0UNACANIA4gD/wKAAALIAQgBCkCiAM3A8gDIARByANqIA4gEBBPDAYLIAQgECAELQCWAyIeaiIOIBBJIg06AJgDIAQgDToAyAMCQCAOIBBPDQBBCCENDAULAkAgJSAOSQ0AICYhDyAlIQ0MAwsgJSENA0BBfyANQQF2IA1qQcAAaiIPIA8gDUkbIg0gDkkNAAsgBEEIaiAXICYgJSANEE0CQCAEKAIIIg9FDQAgBCgCDCENDAILIARBmANqIBcgDRBOIAQvAaADIg0NBCAEKAKcAyENIAQoApgDIQ8CQCAQRQ0AIA8gJiAQ/AoAAAsgFyAmICUQTwwBC0GovhAgGSAkEEsgACANOwEQDAgLIAQgDzYC/AIgBCANNgKEAwsgBCAONgKAAwJAIB5FDQAgDyAQaiAEQZADaiAe/AoAAAsgEUEBaiERIA8hJiANISUgDiEQDAALC0GovhAgGSAkEEsgACANOwEQDAQLIAFBAToAnAEgASAPNgIIIAEgDTYCBCAAQQA7ARAgACAaNgIMIAAgGzYCCCAAIA82AgQgACANNgIAQai+ECAZICQQSwwDCwJAIBoNACAZIANJDQAgASgCUCEaCyAEQThqIB4QPwJAIAQvATwiD0UNACAAIA87ARAMAwsgBCAELwEwOwFAIAQgBC0AMjoAQiAEKAI4IicqAhAhICAnKgIIISEgASoCkAEhIkMAAAAAIR8CQCANRQ0AIARBwANqIAQvAUAgBC0AQkEQdHIiDxA/AkACQAJAAkACQAJAAkAgBC8BxAMiDQ0AIBYgBCgCwAMiKEEoaikCADcDACAEICgpAiA3A5gDIARByANqIARBmANqIB4QQgJAAkACQCAELQDMAw0AIChBIGohDiAoQTBqIRAgDyAeQQAoAtzWEBEGACEfICgoAiQiDUEBaiEPAkAgDUEQSQ0AICgoAiwiEUUNAiARLQAAQQJ0QfyhEGooAgAgDU0NAgsgDiAQIA8QQSINQf//A3ENAiAoKAIsIikNBSAoKAIgIhEgKCgCKCINQQJ0aiElICgoAiQhEAJAIA1FDQAgEUGq1arVeiANGyEPIBAhDiAlIQ0DQCAORQ0BAkAgDy8BACAPQQJqLQAAQRB0ciAeRw0AIARBAToAtAMgBEG0A2ohDgwJCyAOQX9qIQ4gD0EEaiEPIA1BBGohDQwACwsgKCAQQQFqNgIkIARBADoAuAMgJSAQQQJ0Ig9qIQ0gESAPaiEPIARBuANqIQ4MBgsgBCgCmAMgBCgCoAMiDUECdGpBqtWq1XogDRsgBCgCyANBAnRqKgIAIR8MCAsgDiAQIA8QQSINQf//A3ENACAEQbADaiAPEC4gBC8BsAMiDQ0AIARBmANqIBAgBC0AsgMQLyAELwGcAyINDQAgBCgCmAMhKSAoKAIsIg1FDQIgDSAQEDAMAgsgBEHIA2ogDiAeEEIgBC0AzANFDQACQAJAICgoAigiDQ0AQarVqtV6IQ9BqtWq1XohDQwBCyAOKAIAIg8gDUECdGohDQsgDSAEKALIA0ECdCIOaiENQQENBSAPIA5qIQ8MBAsgACANOwEQDAkLIClBBGohDSAoKAIkISogKCgCICErICgoAighDwJAAkACQAJAQQBBAUECICktAAAiDkERSRsgDkEJSRsOAwACAQALIA9FDQJBACEsA0AgLCAqRg0DICsgLEECdGoiDy8BACAPQQJqLQAAQRB0chBDIQ5BfyApKAIAdEF/cyEmQQAhECAsISQDQAJAIA0gDiAmcUEBdGoiDy0AACIlQf8BRw0AIA8gJDoAACAPIBA6AAEgLEEBaiEsDAILAkACQCAPLQABIhFB/wFxIBBB/wFxSQ0AIBAhEQwBCyAPICQ6AAAgDyAQOgABICUhJAsgEUEBaiEQIA5BAWohDgwACwsLIA9FDQFBACEsA0AgLCAqRg0CICsgLEECdGoiDy8BACAPQQJqLQAAQRB0chBDIRBBfyApKAIAdEF/cyEmQQAhDiAsISQDQAJAIA0gECAmcUEDdGoiDygCACIlQX9HDQAgDyAkNgIAIA8gDjYCBCAsQQFqISwMAgsCQAJAIA8oAgQiESAOSQ0AIA4hEQwBCyAPICQ2AgAgDyAONgIEICUhJAsgEUEBaiEOIBBBAWohEAwACwsLIA9FDQBBACEsA0AgLCAqRg0BICsgLEECdGoiDy8BACAPQQJqLQAAQRB0chBDIQ5BfyApKAIAdEF/cyEmQQAhECAsISQDQAJAIA0gDiAmcUECdGoiDy8BACIlQf//A0cNACAPICQ7AQAgDyAQOwECICxBAWohLAwCCwJAAkAgDy8BAiIRQf//A3EgEEH//wNxSQ0AIBAhEQwBCyAPICQ7AQAgDyAQOwECICUhJAsgEUEBaiEQIA5BAWohDgwACwsLICggKTYCLAsgKUEEaiEOIB4QQyENAkACQAJAQQBBAUECICktAAAiD0ERSRsgD0EJSRsOAwACAQALICgoAiAiK0Gq1arVeiAoKAIoIg8bISQgKyAPQQJ0aiItQarVqtV6IA8bIS5BfyApKAIAdEF/cyEmICgoAiQhKkEAIRADQAJAIA4gDSAmcUEBdGoiJS8AACIRQf8BcSIPQf8BRw0AICggKkEBajYCJCAlICo6AAAgJSAQOgABIARBADoAvAMgLSAqQQJ0Ig9qIQ0gKyAPaiEPIARBvANqIQ4MBAsCQCAkIA9BAnQiLGoiDy8BACAPQQJqLQAAQRB0ciAeRw0AIARBAToAvAMgLiAsaiENIARBvANqIQ4MBAsCQCAQQf8BcSARQQh2Ig9NDQAgKCAqQQFqNgIkICUgEDoAASAlICo6AABBfyApKAIAdEF/cyEsA0AgD0EBaiEQAkAgDiANQQFqIg0gLHFBAXRqIigvAAAiJUH/AXFB/wFHDQAgKCAQOgABICggEToAACAEQQA6ALwDIC4gKkECdCIPaiENICQgD2ohDyAEQbwDaiEODAYLIA9B/wFxISYgECEPICYgJUEIdiIpSQ0AICggEDoAASAoIBE6AAAgJSERICkhDwwACwsgEEEBaiEQIA1BAWohDQwACwsgKCgCICIuQarVqtV6ICgoAigiDxshLCAuIA9BAnRqIi9BqtWq1XogDxshLUF/ICkoAgB0QX9zISQgKCgCJCErQQAhEANAAkAgDiANIBBqIiUgJHFBA3RqIiYpAgAiEqciEUF/Rw0AICggK0EBajYCJCAmICs2AgAgJiAQNgIEIARBADoAmAMgLyArQQJ0Ig9qIQ0gLiAPaiEPIARBmANqIQ4MAwsCQCAsIBFBAnQiKmoiDy8BACAPQQJqLQAAQRB0ciAeRw0AIARBAToAmAMgLSAqaiENIARBmANqIQ4MAwsCQCAQIBJCIIinIg9NDQAgKCArQQFqNgIkICYgEDYCBCAmICs2AgBBfyApKAIAdEF/cyEmA0BBACENA0ACQCAOICUgDWpBAWogJnFBA3RqIhApAgAiEqciJEF/Rw0AIBAgETYCACAQIA8gDWpBAWo2AgQgBEEAOgCYAyAtICtBAnQiD2ohDSAsIA9qIQ8gBEGYA2ohDgwGCyAPIA1BAWoiDWoiKEF/aiASQiCIpyIpSQ0ACyAQIBE2AgAgECAoNgIEICUgDWohJSApIQ8gJCERDAALCyAQQQFqIRAMAAsLICgoAiAiK0Gq1arVeiAoKAIoIg8bISQgKyAPQQJ0aiItQarVqtV6IA8bIS5BfyApKAIAdEF/cyEmICgoAiQhKkEAIRADQAJAIA4gDSAmcUECdGoiJSgBACIRQf//A3EiD0H//wNHDQAgKCAqQQFqNgIkICUgKjsBACAlIBA7AQIgBEEAOgCwAyAtICpBAnQiD2ohDSArIA9qIQ8gBEGwA2ohDgwCCwJAICQgD0ECdCIsaiIPLwEAIA9BAmotAABBEHRyIB5HDQAgBEEBOgCwAyAuICxqIQ0gBEGwA2ohDgwCCwJAIBBB//8DcSARQRB2Ig9NDQAgKCAqQQFqNgIkICUgEDsBAiAlICo7AQBBfyApKAIAdEF/cyEsA0AgD0EBaiEQAkAgDiANQQFqIg0gLHFBAnRqIigoAQAiJUH//wNxQf//A0cNACAoIBA7AQIgKCAROwEAIARBADoAsAMgLiAqQQJ0Ig9qIQ0gJCAPaiEPIARBsANqIQ4MBAsgD0H//wNxISYgECEPICYgJUEQdiIpSQ0AICggEDsBAiAoIBE7AQAgJSERICkhDwwACwsgEEEBaiEQIA1BAWohDQwACwsgDi0AAEEBcQ0BCyAPIB47AQAgD0ECaiAeQRB2OgAACyANIB84AgALIAEqApABIB+UIR8LICEgIJIgIpQiIyAYIB+SkiEgAkACQCAeQQpGIg8NACAgIApeRQ0BCyAIIAeTIQhDAAAAACEYAkAgASgCUCINRQ0AIAYoAgAgDUHUAGxqQXxqQQE6AAALQwAAAAAhHwsCQCAgIApeRQ0AAkAgBEEcakHgwAAQUCINQf//A3FFDQAgACANOwEQDAQLIBVCADcCACAVQQhqQgA3AgAgBEKAgID8AzcCbCAEQoCAgPyDgIDAPzcCXCAEQoCAgICAgIDAPzcCTCAEQQA6AJQBIAEqApABISAgBCAIOAKQASAEIAggIEMAAAAAlCIgkiIhOAJ4IAQgGDgCjAEgBCAYICCSIiI4AnQgBCAhOAJoIAQgIjgCRCAEICAgIpIiIjgCZCAEICAgIZIiIDgCWCAEICI4AlQgBCAgOAJIAkAgBiAEQcQAahBRIg1B//8DcUUNACAAIA07ARAMBAsCQCAEQRxqQQoQUCINQf//A3FFDQAgACANOwEQDAQLIBRCADcCACAUQQhqQgA3AgAgBEKAgID8AzcCwAEgBEKAgID8g4CAwD83ArABIARCgICAgICAgMA/NwKgASAEQQA6AOgBIAEqApABISAgBCAIOALkASAEIAggIEMAAAAAlCIgkiIhOALMASAEIBg4AuABIAQgGCAgkiIiOALIASAEICE4ArwBIAQgIjgCmAEgBCAgICKSIiI4ArgBIAQgICAhkiIgOAKsASAEICI4AqgBIAQgIDgCnAEgBiAEQZgBahBRIg1B//8DcUUNACAAIA07ARAMAwsgASoCkAEhICAnKgIMISEgJyoCFCEiICcqAhAhMCAnKgIIITECQCAEQRxqIB4QUCINQf//A3FFDQAgACANOwEQDAMLIBMgHjsBACATQQJqIB5BEHYiDToAACAEIB47AewBIARCADcCqAIgBCAIICEgIJSSIiE4AqQCIARCgICA/AM3ApgCIAQgITgClAIgBEKAgID8g4CAwD83AogCIARCgICAgICAgMA/NwL4ASAEIAg4ArwCIARBAToAtAIgBCANOgDuASAEIA86AMACIAQgIiAglCAhkiIiOAKEAiAEICI4AvQBIAQgGDgCuAIgBCAYIB+SIDEgIJSSIiI4AqACIAQgIjgC8AEgBCAwICCUICKSIiA4ApACIAQgIDgCgAICQCAGIARB8AFqEFEiD0H//wNxRQ0AIAAgDzsBEAwDCyAEIB47AcQCIAQgDToAxgIgBEHEAmohDSAcICEQpQUhHCAdIBggIyAfkpIiGBCcBSEdCyAEIA0vAQA7ATAgBCANQQJqLQAAOgAyQQEhDiAZQQFqIRkMAAsLIARB0ANqJAAPCyAPIA1qIQ0MAAsLOQIBfwF+AkAgAkHUAGwiA0UNACAAKQIAIgSnIAFBqtWq1XogAhsgA0ECQQAgBEIgiKcoAgwRAgALC2UAAkACQCABwEEASA0AQZieECEBDAELAkAgAUHgAXFBwAFHDQBBnJ4QIQEMAQsCQCABQfABcUHgAUcNAEGgnhAhAQwBC0GknhBBqJ4QIAFB+AFxQfABRhshAQsgACABKAEANgEAC/AEAQN/IwBBIGsiAyQAAkACQAJAAkACQCACQX9qDgQAAQIDAAsgA0EAOgACIANBADsBBCADIAEtAAA7AQAgAyEBDAMLAkAgAS0AASICQcABcUGAAUYNACADQoCAgIAwNwMIIANBCGohAQwDCwJAIAEtAABBH3EiAUEBSw0AIANCgICAgMAANwMIIANBCGohAQwDCyADQQA6AAogA0EAOwEMIAMgAUEGdCACQT9xcjsBCCADQQhqIQEMAgtBAyECAkACQCABLQABIgRBwAFxQYABRw0AIAEtAAIiBUHAAXFBgAFHDQBBBCECIARBP3FBBnQgAS0AAEEPcUEMdHIiAUH/D0sNAQsgAyACOwEUIANBEGohAQwCCwJAIAFBgPADcUGAsANHDQAgA0KAgICA0AA3AxAgA0EQaiEBDAILIANBADoAEiADQQA7ARQgAyABIAVBP3FyOwEQIANBEGohAQwBCwJAIAEtAAEiAkHAAXFBgAFGDQAgA0KAgICAMDcDGCADQRhqIQEMAQsCQCABLQACIgRBwAFxQYABRg0AIANCgICAgDA3AxggA0EYaiEBDAELAkAgAS0AAyIFQcABcUGAAUYNACADQoCAgIAwNwMYIANBGGohAQwBCwJAIAJBP3FBBnQgAS0AAEEHcUEMdHIiAUH/B0sNACADQoCAgIDAADcDGCADQRhqIQEMAQsCQCABQYCIAUkNACADQoCAgIDgADcDGCADQRhqIQEMAQsgA0EAOwEcIAMgASAEQT9xckEGdCAFQT9xciIBOwEYIAMgAUEQdjoAGiADQRhqIQELIAAgASkDADcCACADQSBqJAALngIDAX8EfQR+IwBBsAFrIgIkACACQQRqIAFBwAD8CgAAIAEqAgAhAyABKgIEIQQgAkEEaiABQRBqEFIhBSACQoCAgICAgIDAPzcChAEgAkIANwJ8IAIgBRCeBSIGOAJ4IAIgBRCnBSIFOAJ0IAJBADYCcCACIAWMOAJsIAIgBjgCaCACQYCAgPwDNgJkIAJCADcCXCACIAQ4AlggAkKAgICAgICAwD83AlAgAiADOAJMIAJCgICA/AM3AkQgAkGMAWogAkHEAGogAkHoAGoQUyACKQKMASEHIAIpApQBIQggAikCnAEhCSACKQKkASEKIAAgAioCrAE4AiAgACAKNwIYIAAgCTcCECAAIAg3AgggACAHNwIAIAJBsAFqJAALwgECAX8BfiMAQRBrIgUkACAFIAEpAgAiBjcDAAJAAkAgBA0AIAUgAiADEEtBACEBDAELAkAgA0UNACAFIARB/////wNLOgAMIARBgICAgARPDQBBACEBAkAgBqcgAiADQQJ0QQIgBEECdCIDQQAgBkIgiKcoAggRAAAiAg0AQQAhAgwCCyACQarVqtV6IAMbIQIgBEH/////A3FBACADGyEBDAELQQAhAkEAIQELIAAgAjYCACAAIAE2AgQgBUEQaiQAC7QBAgF/AX4jAEEwayIDJAAgAyABKQIANwMYIAMgAkH/////A0s6ACwCQAJAAkACQCACQYCAgIAESQ0AQQghAQwBCyADQSBqIANBGGogAkECdBAWIAMpAyAiBEIgiKciAUH//wNxRQ0BCyADIAE7AQggAyECDAELIAMgAjYCECADIAQ+AgwgA0EAOwEUIANBDGohAgsgACACKQIANwIAIABBCGogAkEIaigCADYCACADQTBqJAALOAIBfwF+AkAgAkECdCIDRQ0AIAApAgAiBKcgAUGq1arVeiACGyADQQJBACAEQiCIpygCDBECAAsLjgMBAn8jAEEQayIDJAACQAJAIAFB////AHEiBEH/AEsNAEEAKAKYnhAhBAwBCwJAIARB/w9LDQBBACgCnJ4QIQQMAQsCQCABQf///wBxIgRB//8DSw0AQQAoAqCeECEEDAELQQAoAqSeEEEKIARBgIDEAEkbIQQLAkACQCAEQf//A3FFDQAMAQsCQAJAAkACQAJAAkAgBEEQdiIEQQdxQX9qDgQAAQIDAAsgAiABOgAADAQLIAIgAUE/cUGAAXI6AAEgAiABQQZ2QcABcjoAAAwDCyABQYDw/wBxQYCwA0cNAUEJIQRBACEBDAMLIAIgAUE/cUGAAXI6AAMgAiABQQZ2QT9xQYABcjoAAiACIAFBDHZBP3FBgAFyOgABIAIgAUGAgPAAcUESdkHwAXI6AAAMAQsgAiABQT9xQYABcjoAAiACIAFBDHZB4AFyOgAAIAIgAUEGdkE/cUGAAXI6AAELIAMgBEEHcSIBOgAOQQAhBAsgAEEAOgADIAAgAToAAiAAIAQ7AQAgA0EQaiQAC5QBAwF/AX4BfyMAQRBrIgUkACAFIAEpAgAiBjcDAAJAAkAgBA0AIAUgAiADEE9BACEHIAIhAQwBC0EAIQECQAJAIANFDQBBACEHQQANAkEAIQEgBqcgAiADQQAgBEEAIAZCIIinKAIIEQAAIgMNAQtBACEHDAELIAMhASAEIQcLIAAgATYCACAAIAc2AgQgBUEQaiQAC4YBAQF/IwBBMGsiAyQAIAMgASkCADcDCCADQRBqIANBCGogAhDAAQJAAkAgAy8BFCIBRQ0AIAMgATsBICADQRhqIQIMAQsgA0EAOwEsIAMgAjYCKCADIAMoAhA2AiQgA0EkaiECCyAAIAIpAgA3AgAgAEEIaiACQQhqKAIANgIAIANBMGokAAsoAQF+AkAgAkUNACAAKQIAIgOnIAEgAkEAQQAgA0IgiKcoAgwRAgALC5wCAQd/IwBBIGsiAiQAAkACQAJAAkAgACgCCCIDIAAoAgQiBEsNACADIQUDQEF/IAVBAXYgBWpBEGoiBiAGIAVJGyIFIARNDQALIAJBCGogAEEMaiIEIAAoAgAiByADIAUQSQJAIAIoAggiBkUNACACKAIMIQUMAgsgAkEUaiAEIAUQSiACLwEcIgUNAyACKAIYIQUgAigCFCEGAkAgACgCBCIIRQ0AIAYgACgCACAIQQJ0/AoAAAsgBCAHIAMQSwwBCyAAKAIAIQYMAQsgACAGNgIAIAAgBTYCCCAAKAIEIQQLIAAgBEEBajYCBCAGIARBAnRqIgUgATsBACAFQQJqIAFBgID8AHFBEHY6AABBACEFCyACQSBqJAAgBQu4AwIIfwF+IwBBIGsiAiQAAkACQAJAAkACQAJAIAAoAggiAyAAKAIEIgRLDQAgAyEFA0BBfyAFQQF2IAVqQQFqIgYgBiAFSRsiBSAETQ0ACyAAKAIAIQcgA0UNASAAKAIQIQggACgCDCEJQQAhBiACIAWtQtQAfiIKQiCIpyIEQQBHOgAQIAQNASAJIAcgA0HUAGxBAiAKpyIEQQAgCCgCCBEAACIIRQ0CAkAgBA0AQQAhBEGq1arVeiEGDAQLIARB1ABuIQQgCCEGDAMLIAAoAgAhBgwDC0EAIQYLQQAhBAsCQCAGRQ0AIAAgBjYCACAAIAQ2AggMAQsgAiAAQQxqIgQpAgA3AwggAiAFrULUAH4iCkIgiKciBkEARzoAHAJAIAZFDQBBCCEGDAILIAJBEGogAkEIaiAKpxAWIAIpAxAiCkIgiKciBkH//wNxDQEgCqchBgJAIAAoAgQiCEUNACAGIAAoAgAgCEHUAGz8CgAACyAEIAcgAxBFIAAgBTYCCCAAIAY2AgALIAAgACgCBCIFQQFqNgIEIAYgBUHUAGxqIAFB1AD8CgAAQQAhBgsgAkEgaiQAIAYLGgAgASoCBCAAKgIEkyABKgIAIAAqAgCTEGoLvAIBEn0gASoCCCEDIAEqAgAhBCABKgIEIQUgASoCFCEGIAEqAgwhByABKgIQIQggAioCGCEJIAIqAgAhCiACKgIMIQsgAioCHCEMIAIqAgQhDSACKgIQIQ4gACACKgIIIg8gASoCGCIQlCACKgIUIhEgASoCHCISlJIgAioCICITIAEqAiAiFJSSOAIgIAAgDSAQlCAOIBKUkiAMIBSUkjgCHCAAIAogEJQgCyASlJIgCSAUlJI4AhggACAPIAeUIBEgCJSSIBMgBpSSOAIUIAAgDSAHlCAOIAiUkiAMIAaUkjgCECAAIAogB5QgCyAIlJIgCSAGlJI4AgwgACAEIA+UIAUgEZSSIAMgE5SSOAIIIAAgBCANlCAFIA6UkiADIAyUkjgCBCAAIAQgCpQgBSALlJIgAyAJlJI4AgALowEBAn8jAEEgayIFJAACQAJAAkAQVSIGRQ0AIAVBqL4QIAEgAhBWIAUvAQgiAkUNASAAIAI7ARAMAgtB7JEQQTMQEQALIAYgBSkCADcCBCAFQQxqIAYgAyAEEEQCQCAFLwEcIgZFDQAgACAGOwEQDAELQQFBARA0IABBADsBECAAIAUpAgw3AgAgAEEIaiAFQQxqQQhqKQIANwIACyAFQSBqJAALJAEBfwJAEDgiAA0AQQAPC0EAIAAgAC0AqAFBHnRBHnVBf0obC3gBAX8jAEEgayIEJAAgBCABKQIANwMIIARBFGogBEEIaiADEE4CQAJAIAQvARwiAUUNACAAIAE7AQgMAQsgBCgCFCEBAkAgBCgCGCIDRQ0AIAEgAiAD/AoAAAsgACADNgIEIAAgATYCACAAQQA7AQgLIARBIGokAAubAwMCfwJ9AX4jAEGwBGsiCCQAAkAgAQ0AQQBBACgCgNYQIgFBAWo2AoDWEAsgCCAGLQAIQQFxIgk6AKwEIAYqAgQhCiAGKgIAIQsgCEHsA2ogBUGovhAQGAJAAkACQCAILwGQBCIGDQAgCEHYAmogBEHAAPwKAAAgCEEBOgCUBCAHKQIAIQwgCEG4A2ogCEHsA2pBJPwKAAAgCCAJOgDkAyAIIAo4AuADIAggCzgC3AMgCEGAgID8AzYCtAMgCCAMNwKsAyAIQQApA6i+EDcCpAMgCEEANgKgAyAIQqrVqtUKNwKYAyAIIAM2AtQCIAggAjYC0AIgCCABNgLMAiAIIAgtAJQEOgDoAyAIQZgEaiAIQcwCakEAQQAQRCAILwGoBCIGRQ0BCyAAIAY7AaABDAELIAggCEHMAmpBoAH8CgAAIAhBoAFqIAhBoAH8CgAAIAhBAjoAyAICQCABIAhBoAFqECwiAUH//wNxRQ0AIAAgATsBoAEMAQtBAUEBEDQgAEEAOwGgASAAIAhBoAH8CgAACyAIQbAEaiQAC7oBAQF/IwBBIGsiAiQAIAJCqtWq1Qo3AgggAkEANgIQIAJBACkDqL4QNwIUAkACQCACQQhqIAEQGiIBQf//A3FFDQAgACABOwEYDAELAkAgAkEIakGcmRAQGiIBQf//A3FFDQAgACABOwEYDAELIABBADsBGCAAIAIpAgg3AgAgAEEAOgAUIABBCGogAkEIakEIaikCADcCACAAQRBqIAJBCGpBEGooAgA2AgAgAkEAOgAcCyACQSBqJAALnQsEA38BfQN/A30jAEGQBGsiAiQAQQAhAwJAAkACQAJAAkACQAJAQQAvAejVEEF/ag4DAQIAAwtBwNUQEDkQVSIEDQRBAEEAKAKA1hAiBEEBajYCgNYQIAJCADcCkAIgAiABQwAAgL+SIgU4AowCIAIgADgCiAIgAkKAgID8AzcCgAIgAiAFOAL8ASACIABDAACWQ5IiBTgC+AEgAkKAgID8g4CAwD83AvABIAIgATgC7AEgAiAFOALoASACQoCAgICAgIDAPzcC4AEgAiABOALcASACIAA4AtgBIAJB5ANqQai+EEGikxBBARBWIAIvAewDIgMNBSACQZgCaiAEIAIoAuQDIAIoAugDIAJB2AFqQZCXEEGolxBBxJgQEFcgAi8BuAMiAw0FIAJBCGogAkGYAmpBoAH8CgAAIAJBADYCtAEgAkIANwKsASACIAIoAgg2AqgBIAJBqAFqEDkgAkEIaiEEDAQLEDYNAkEAKALs1hARBwAhA0EAKALw1hARBwAhBCACQQE6ALwBIAIgBDYCuAEgAkHAAWpBAEGq1arVekEAQaSZEEGsmBAgAyACQbgBahAzIAIvAcQBIgMNBCACQQA2AtQBIAJCADcCzAEgAiACKALAATYCyAEgAkHIAWoQOQwCC0EAKALA1RBFDQBBwNUQEDkLQQAoAtDVECIERQ0CQQAhAwJAQQAoAsDVECIGQX9qQQhLDQBBACEDQQBBAjoA6tUQDAMLIARB6AdJDQIgBCAGRw0CQQAhA0EAIAE4AuTVEEEAIAA4AuDVEEEAQQA6AOrVEAwCCwJAEDYiBw0AQemBEEE0EBEAC0EAIQNBAEEBOgDg1hAgB0EEaiEIAkAgBygCCA0AAkADQCADQcAARg0BIAcgA2oiBEE8aiIGIANBpJkQaikCADcCACAEQcQAaiADQayZEGopAgA3AgAgBiAGKgIAIACSOAIAIARBwABqIgQgBCoCACABkjgCACADQRBqIQMMAAsLIAJBmAJqQeiZEBBYIAIvAbACIgMNAiAIIAJBmAJqECkiA0H//wNxDQJBACEDQQBCgICAgBA3A8DWEAwCCyAHQQE6AKQBIAJBwANqIAdBPGoiAxAeIAJB5ANqIAJBwANqEB8gAiACKgL4AyACKgLwAyAAlCACKgL0AyABlJKSIgU4AowEIAIgAioC7AMgAioC5AMgAJQgAioC6AMgAZSSkiIBOAKIBAJAAkACQEEALQDE1hBFDQAgCCgCACEEQQAoAsDWECEGIAJB2AFqIAMQHiACQZgCaiACQdgBahAfIAQgBkEYbGoiBC0AFA0BIAIqAqgCIQkgAioCmAIhACAEKAIEIgNBAk0NAgJAAkAgBCgCACADQQN0aiIDQXBqKgIAIgpD+QIVUF5FDQAgAkK3h+mNBTcDmAIMAQsgAiADQXxqKgIAIgsgCyADQXRqKgIAk5I4ApwCIAIgA0F4aioCACILIAsgCpOSOAKYAgsgBCACQZgCahAaIgNB//8DcUUNAgwECyACQZgCaiACQYgEahBYIAIvAbACIgMNAyAIIAJBmAJqECkiA0H//wNxDQNBACEDQQBBAToAxNYQQQAgBygCCEF/ajYCwNYQDAMLQcKUEEEvEBEACyAEQZyZEBAaIgNB//8DcQ0BAkAgBCgCACIDKgIAIAGTiyAAi0MAACBBlF1FDQAgAyoCBCAFk4sgCYtDAAAgQZRdRQ0AIARBAToAFEEAIQMMAgsgBCACQYgEahAaIQMMAQtBACEDIAQoAgQgBCgCCEEAKALk1hARCAACQEEAKALE1RAiBEUNAEEAIAQ2AtTVEEEAIARBf2oiBDYCzNYQQQBBACgCuNcQNgK81xBBACAENgLQ1hAgBCAEQQAoAujWEBEIAAtBAEEDOgDq1RALIAJBkARqJAAgAwsiAEEAIAA2AszWEEEAIAE2AtDWEEEAQQAoArjXEDYCvNcQC5gBAQF/AkACQAJAAkACQAJAQQAvAejVEA4EAAECAwQLAkBBAC0A6tUQQQNxQQFHDQBBwNUQEDlBAA8LQQBBAToA6tUQQQFBARA0QQAPC0EBQQEQNBA2IgBFDQIgABBcQQAPC0EBQQEQNBA2IgBFDQIgABBcDAILQQBBAToA6tUQC0EADwtBAEIANwLU1RBBAEEANgLc1RBBAAtNAAJAQQAtAMTWEEUNACAAKAIEQQAoAsDWEEEYbGotABRBAXFFDQAgAEIANwKQAUEAQgA3A8DWECAAQZgBakEANgIAC0EAQQA6AODWEAutFAgFfwZ9AX8BfQF/AX0BfwF+IwBBsAJrIgIkAEEAIQMCQAJAAkACQAJAAkACQAJAAkBBAC8B6NUQIgRBAUcNABA2IgRFDQggAiABOAIMIAIgADgCCEEALQDg1hBFDQNBAC0AxNYQRQ0HIAQoAgRBACgCwNYQQRhsaiIFLQAUIQYgBSgCACEDIAUoAgQhBSACQYgCaiAEQTxqEB4gAkHkAWogAkGIAmogAyADIAMgBUEDdGpBeGogBkEBcRsgBUECRhsQIyACQeQBaiACQQhqEBNDAAAgQV5FDQEgBCACQQhqEF4MBwsgBEEDRw0BQQAtAOrVEEEDcUEDRw0BEFVFDQZBACEDQQAoAsDVEEEAKALQ1RBHDQdBACEDQQAoAsTVECIERQ0HQQAhA0EAKALU1RAiBUUNB0EAIQNBAEEAKAK41xA2ArzXEEEAIARBf2oiBCAFQX9qIgUgBCAFSRsiBjYCzNYQQQAgBCAFIAQgBUsbIgQ2AtDWECAGIARBACgC6NYQEQgADAcLIARBnJkQEF4MBQsgBEECRg0DEDgiBkUNBCAGIAYtAKgBQQJzQQNxQQJ0QcC+EGooAgBqIQVBACEDAkACQEEALQDq1RBBA3EOBAEHAAcBC0EAKALA1RAhAyACIAA4AnggAiABOAJ8IAJBlAFqIAUQHiACQbgBaiACQZQBahAfIAIqAswBIAIqAsQBIACUIAIqAsgBIAGUkpIhByACKgLAASACKgK4ASAAlCACKgK8ASABlJKSIQECQAJAAkACQAJAAkACQAJAAkACQCADQX9qDgkAAQIDBAUGBwgACyACQZQBakMAAIA/IAGTIAdDAACAP0MAAAAAEF8MCAsgAkGUAWogASAHQwAAAABDAAAAABBfDAcLIAJBlAFqIAFDAACAPyAHk0MAAAAAQwAAgD8QXwwGCyACQZQBakMAAIA/IAGTQwAAgD8gB5NDAACAP0MAAIA/EF8MBQsgAkGUAWpDAACAPyAHQwAAAABDAAAAABBfDAQLIAJBlAFqIAFDAACAP0MAAAAAQwAAAAAQXwwDCyACQZQBakMAAIA/QwAAgD8gB5NDAAAAAEMAAIA/EF8MAgsgAkGUAWpDAACAPyABk0MAAIA/QwAAgD9DAAAAABBfDAELIAIgBSoCBCAFKgIkkkMAAAA/lDgC4AEgAiAFKgIAIAUqAiCSQwAAAD+UOALcASAFIAVBMGoiAxBSIQEgAkHcAWogAkH4AGoQUiEAIAIqAqQBIQcgAioClAEhCCACKgKgASEJIAIqApgBIQogAkGUAWpDAAAAP0MAAAA/EGAgBSAFQRBqEBMhCyAFIAMQEyEMIAJB5AFqIAJBlAFqQST8CgAAIAJCgICAgICAgMA/NwKkAiACQgA3ApwCIAIgACABkyIBjCABIAggB5QgCiAJlF0bIgEQngUiADgCmAIgAiABEKcFIgEgCyAMlSIHlDgClAIgAkEANgKQAiACIAGMIAeVOAKMAiACIAA4AogCIAJBlAFqIAJB5AFqIAJBiAJqEFMgAkGUAWpDAAAAv0MAAAC/EGALQQAhAyAFIAVBEGoiDRBSIQ4gBSAFQTBqIg8QUiEQIAIqAqgBIQcgAioCpAEhCCACKgKgASEJIAIqApwBIQogAioCmAEhCyACKgKUASEMAkADQCADQcAARg0BIAUgA2oiBEEEaiAHIAkgA0GkmRBqKgIAIgGUIAggA0GomRBqKgIAIgCUkpI4AgAgBCAKIAwgAZQgCyAAlJKSOAIAIANBEGohAwwACwsgBSANEBNDAACAP10NAgwDC0EAIQNBACoC5NUQIQdBACABOALk1RBBACoC4NUQIQhBACAAOALg1RAgASAHkyEBIAAgCJMhAAJAA0AgA0HAAEYNASAFIANqIgQgACAEKgIAkjgCACAEQQRqIgQgASAEKgIAkjgCACADQRBqIQMMAAsLQQAhA0EBQQAQNAwFCyACQQE6AJACIAIgAikDCDcDiAIgBCACQYgCahA3DAMLIAUgBSoCACAOEJ4FIgGSOAIQIAUgBSoCBCAOEKcFIgCSOAIUIAUgASAFKgIwkjgCICAFIAAgBSoCNJI4AiQLAkAgBSAPEBNDAACAP11FDQAgBSAFKgIAIBAQngUiAZI4AjAgBSAFKgIEIBAQpwUiAJI4AjQgBSABIAUqAhCSOAIgIAUgACAFKgIUkjgCJAsCQAJAAkAgBi0AqAEOAwIAAQILIAZBAToApQEMAQsgAkGAAWogBkEAKALM1hBBACgC0NYQEEQgAi8BkAEiAw0DQQAvAejVEEEDRw0AIAIoAoABIAIoAoQBQQAoAvTWEBEIAAtBACEDQQFBABA0DAILQQAhA0EAKALY1RBFDQEQNiIERQ0BIAJBEGogBEE8ahAeIAJBNGogAkEQahAfIAIqAkggAioCQCAAlCACKgJEIAGUkpIhByACKgI8IAIqAjQgAJQgAioCOCABlJKSIQEgBCgCBEEAKALU1RBBGGxqIgNBfGotAAAhDyADQWxqKAIAIQ0gA0FoaigCACEDAkACQAJAAkACQAJAAkACQAJAAkBBACgC2NUQIgZBf2oiBUEDcA4CAAECCyAHIAMgBUEDdGoiESoCBJMhACABIBEqAgCTIQgCQAJAIAUNACAPQQFxRQ0AIA1Bf2ohDwwBCyAFRQ0IIAZBfmohDwsgAyAPQQN0aiIPKgIAIglD+QIVUF4NByAPIAggCZI4AgAgDyAAIA8qAgSSOAIEDAcLIAVBAUcNASAPQQFxRQ0BIAIgDUF/ajYCWCACQdgAaiEPDAMLAkAgBiANRw0AIA9BAXENAgtBxJgQIQ8CQCAGQQFqIgYgDU8NACACQQE6AGwgAiAGNgJoIAJB6ABqIQ8LIAMgBUEDdGpBCGopAgAiEqchDSASQiCIpyEGDAQLQcSYECEPIAVBAkkNAiACIAZBfWo2AmAgAkHgAGohDwwBCyADKAIEIQYgAygCACENQcyYECEPDAILIA9BAToABAsgAyAFQQN0aiINQXxqKAIAIQYgDUF4aigCACENCyAPKQIAIhJCgICAgPAfg1ANASASpyEPAkACQCADIAVBA3RqIhEqAgAiCEP5AhVQXkUNAEMAAAAAIQBDt0O6USEIDAELIAa+IgAgESoCBJMgAJIhACANviIJIAiTIAmSIQgLIAIgADgCdCACIAg4AnAgAkHwAGogAyAPQQN0aiIPEBNDAACAP11FDQECQAJAIAFD+QIVUF5FDQBDAAAAACEAQ7dDulEhCAwBCyAGviIAIAeTIACSIQAgDb4iCCABkyAIkiEICyAPIAA4AgQgDyAIOAIADAELIAYgDUF/ak8NACADIAZBA3RqIgYqAgAiCUP5AhVQXg0AIAYgCCAJkjgCACAGIAAgBioCBJI4AgQLIAMgBUEDdGoiAyAHOAIEIAMgATgCACAEQQE6AKQBC0EAIQMLIAJBsAJqJAAgAwukAgEFfyMAQeAAayICJAACQEEALQDE1hBFDQBBACgCwNYQIQMCQCABKgIAQ/kCFVBeDQAgAiAAQTxqEB4gAkEkaiACEB8gAkHIAGogAkEkaiABECMgAkHIAGohAQsgACgCBCADQRhsaiIEKAIEIQUgBCgCACEDAkACQCAELQAUIgRFDQAgAiADKQIANwNQIAJB0ABqIQYMAQsgAiADIAVBA3RqQXhqKQIANwNQIAJB0ABqIQYLIAJB2ABqIAYgARAcAkACQCAERQ0AIAMgASkCADcCCCADIAVBA3RqQXhqIAIpA1g3AgAMAQsCQCAFQQJHDQAgAyABKQIANwIIDAELIAMgBUEDdGpBcGogAikDWDcCAAsgAEEBOgCkAQsgAkHgAGokAAuRAQEBfyMAQfAAayIFJAAgBUEEaiAAQST8CgAAIAVBgICA/AM2AkggBUIANwJAIAVBADYCNCAFQQA2AiwgBSACOAI4IAVDAACAPyACkyAElDgCPCAFIAE4AiggBUMAAIA/IAGTIAOUOAIwIAVBzABqIAVBBGogBUEoahBTIAAgBUHMAGpBJPwKAAAgBUHwAGokAAt9AQF/IwBB8ABrIgMkACADQQRqIABBJPwKAAAgA0GAgID8AzYCSCADQgA3AkAgAyACOAI8IANCgICAgICAgMA/NwI0IAMgATgCMCADQoCAgPwDNwIoIANBzABqIANBBGogA0EoahBTIAAgA0HMAGpBJPwKAAAgA0HwAGokAAtTAgF9AnxDAACAfyECAkAgAItDAACAf1sNACABi0MAAIB/Ww0AQwAAwH8hAiAAIABcDQAgASABXA0AIAC7IgMgAyABuyIEIASiEKQFn7YhAgsgAgs6ABA1GkEAIAA7AejVEAJAIABB//8DcUEDRw0AEFUiAEUNACAAKAIEIAAoAghBACgC5NYQEQgAC0EACyYAAkBBAC8B6NUQDQAQVUUNAEEDEGIaQQNBACgC+NYQEQQAC0EACx8AQQBCADcCwNUQQQBBAToA6tUQQQBCADcCyNUQQQALrwMCA38CfSMAQdAAayIDJAACQAJAAkAgAS0ApAENACABLQClAUUNAQsgA0EMaiABIAIgAUGQAWoiBBAdAkAgAy8BFCIFRQ0AIAAgBTsBCAwCCwJAIAMoAhBBA0sNACAAQgA3AgAgAEEIakEANgIADAILAkAgASACIAQQJCIFQf//A3FFDQAgACAFOwEIDAILIANBGGogASACIAQQHQJAIAMvASAiAkUNACAAIAI7AQgMAgsCQCADKAIcIgQNACAAQgA3AgAgAEEIakEANgIADAILIAMoAhghBSABQTxqIgIgAUHMAGoQEyEGIAIgAUHsAGoQEyEHIANCgICAgICAgMA/NwJAIANCADcCOCADIAc4AjQgA0EANgIwIANCADcCKCADIAY4AiQgASgCGCABKAIcEA4hBiAFIQEgBCECAkADQCACRQ0BIANByABqIANBJGogARAjIAEgBiADKgJIkjgCACABQQRqIAYgAyoCTJI4AgAgAUEIaiEBIAJBf2ohAgwACwsgACAENgIEIAAgBTYCACAAQQA7AQgMAQtB8pQQQcoAEBEACyADQdAAaiQAC5oOBgd/AX0BfwJ9CX8EfSMAQdABayIAJAAgAEGEmRA2AhwgAEIANwMQIABBACkDqL4QNwMIIAAgAEEIajYCGCAAIAApAxg3AyBBACgCqNUQQQAoArDVECIBQQJ0akGq1arVeiABGyECQQAoAqzVECEDQQAhAQJAAkADQCABIANGDQEgAUGsAWwhBCABQQFqIgUhASACIARqIgYtAKgBQR50QR51QX9KDQAgBSEBIAYtAJwBRQ0AIAYoAmwgBigCcBAOIQcgBigCTEHAAGohASAGKAJQIQQDQAJAIAQNACAFIQEMAgsgACABLwEAOwHEASAAIAFBAmotAAA6AMYBAkAgAUEEai0AAEUN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zAB+IgdCIIinIgRBAEc6AAwgBA0AAkAgBqcgAiADQcwAbEECIAenIgRBACAGQiCIpygCCBEAACICDQBBACECDAILAkAgBA0AQQAhAUGq1arVeiECDAILIARBzABuIQEMAQtBACECQQAhAQsgACACNgIAIAAgATYCBCAFQRBqJAALtQECAX8BfiMAQTBrIgMkACADIAEpAgA3AxggAyACrULMAH4iBEIgiKciAUEARzoALAJAAkACQAJAIAFFDQBBCCEBDAELIANBIGogA0EYaiAEpxAWIAMpAyAiBEIgiKciAUH//wNxRQ0BCyADIAE7AQggAyECDAELIAMgAjYCECADIAQ+AgwgA0EAOwEUIANBDGohAgsgACACKQIANwIAIABBCGogAkEIaigCADYCACADQTBqJAALOQIBfwF+AkAgAkHMAGwiA0UNACAAKQIAIgSnIAFBqtWq1XogAhsgA0ECQQAgBEIgiKcoAgwRAgALC/YRAhl/Cn0jAEGwGWsiACQAQQAhAQJAQQAvAejVEEEBRg0AQQAoAqjVEEEAKAKw1RAiAkECdGpBqtWq1XogAhshAyAAQSBqIQQgAEEEaiEFIABBxAJqIQYgAEGIAmpBhAFqIQcgAEGIAmpByABqIQggAEGIAmpBIGohCSAAQYgCakEEaiEKIABB+ARqQYQBaiELIABB+ARqQcgAaiEMIABB+ARqQSBqIQ0gAEH4BGpBBGohDkEAKAKs1RAhD0EAIQIDQAJAAkAgAiAPRg0AIAJBAWohECADIAJBrAFsaiICQYQBaiERIAJByABqIRIgAkEgaiETIAJBBGohASACKAKAASEUIAIoAkQhFSACKAIcIRYgAigCGCEXIAIoAgAhGAJAAkACQCACLQCoAUEDcQ4DAAECAAsgBSABKQIANwIAIAVBEGogAUEQaigCADYCACAFQQhqIAFBCGopAgA3AgAgBCATQST8CgAAIAAgFTYCRCAAIBY2AhwgACAXNgIYIAAgGDYCAEEAIQFBhJoQIRECQANAIAFBwAFGDQEgAEHIAGogAWoiAkEcakEANgIAIAJBFGpCADcCACACQRBqIBg2AgAgAiAFIBEoAgBBBHRqIhMpAgA3AgAgAkEIaiATQQhqKQIANwIAIBFBBGohESABQSBqIQEMAAsLIABByABqQQYgFUEAKAL81hAoAhwRBQAM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FUH8AGz8CgAACyABICA3A6AIIAFBoAhqIBIgHBCZAQwFCyACKQJ0ISIgAigCaCEjIAFBmAdqQRBqIANBEGopAgA3AwAgAUGYB2pBCGogA0EIaikCADcDACABQegEakEIaiIkIAJB1ABqKQIANwMAIAFB6ARqQRBqIiUgAkHcAGooAgA2AgAgASADKQIANwOYByABIAIpAkw3A+gEIAEgBDcCwAdBACEmIAFBADYCvAcgAUKq1arVCjcCtAcDQAJAAkACQCAmIB1GDQAgHiAmQRhsaiICKAIEIScgAigCACEoIAEoArwHIikhAgJAICkgASgCuAciEk0NACABKAK0ByEDDAMLA0BBfyACQQF2IAJqQQhqIgMgAyACSRsiAiASTQ0ACyABQRBqIA0gASgCtAciKiApIAIQIAJAIAEoAhAiA0UNACABKAIUIQIMAgsgAUHsB2ogDSACECEgAS8B9AciAg0JIAEoAvAHIQIgASgC7AchAwJAIBJFDQAgAyAqIBJBA3T8CgAACyANICogKRAiDAELIAEgASkCwAciKzcDyAcgAUEIaiABQcgHaiABKAK0ByIDIAEoArwHIikgASgCuAciAhAgAkACQCABKAIIIhJFDQAgASgCDCEmDAELIAFB7AdqIAFByAdqIAIQISABLwH0ByICDQkgASgC7AchEgJAIAEoAvAHIiZFDQAgEiADICZBA3T8CgAACyABICs3A6AIIAFBoAhqIAMgKRAiCyABIAQ3AtQHIAFBADYC0AcgAUKq1arVCjcCyAcgG0EBaiEDAkADQCADQX9qIgNFDQEgHEEEaioCACEAIBwqAgAhISAMIBxBCGpBLPwKAAAgASAAOALwByABICE4AuwHIAsgDBCQASABIAA4AqQIIAEgITgCoAggHEE0aiEcIAFByAdqIAFBoAhqEJEBIgJB//8DcUUNAAwKCwsgAUHgB2ogAUHIB2oQlQEgAS8B6AciAg0IIAEpAuAHISsgCCABKQPoBDcCACAIQQhqICQpAwA3AgAgCEEQaiAlKAIANgIAIAlBCGogCkEIaigCADYCACAJIAopAgA3AgAgAUEBOgD0BSABICA3AuQFIAEgEzYC4AUgASAiNwLYBSABIBQ2AtQFIAEgFTYC0AUgASAjNgLMBSABIBY3AsQFIAEgFzYCrAUgASAYNgKoBSABIBk3AqAFIAEgGjgCnAUgASAmNgKEBSABIBI2AoAFIAEgHzYC/AQgASArNwKIBSARIQMgAUHYA2ogAUH8BGoQlgEiAkH//wNxRQ0FDAgLIAEgAzYCtAcgASACNgK8BwsgASASQQFqNgK4ByADIBJBA3RqIgIgJzYCBCACICg2AgAgJkEBaiEmDAALCyAHIBIpAgA3AgAgBiADKQIANwIAIAdBCGogEkEIaigCADYCACAGQQhqIANBCGopAgA3AgAgBkEQaiADQRBqKQIANwIAIAFBADoA5AQgASAfNgKwBCABIBg2AqwEIAEgGTcCpAQgASAaOAKgBCABIBs2AoQEIAEgHDYCgAQgASAdNgLwAyABIB42AuwDIBEhAyABQdgDaiABQewDahCWASICQf//A3FFDQEMBAsgAioClAEhLCACKgKQASEtIAIoAoQBISYgIKchKSAgQiCIpyEnIAFBkAZqQQhqIiggEkEIaigCADYCACABQfgFakEIaiIqIANBCGopAgA3AwAgAUH4BWpBEGoiIyADQRBqKQIANwMAIAEgEikCADcDkAYgASADKQIANwP4BSACLQCYASESIAEgBDcCpAcgAUEANgKgByABQqrVqtUKNwKYByAUQQFqIQMCQANAIANBf2oiA0UNASAVQQRqKgIAIQAgFSoCACEhIAwgFUEIakEs/AoAACABIAA4AvAHIAEgITgC7AcgCyAMEJABIAEgADgCpAggASAhOAKgCCAVQTRqIRUgAUGYB2ogAUGgCGoQkQEiAkH//wNxRQ0ADAULCyABQcgHaiABQZgHahCVASABLwHQByICDQMgASkCyAchICAPQQhqICgoAgA2AgAgDyABKQOQBjcCACAOIAEpA/gFNwIAIA5BCGogKikDADcCACAOQRBqICMpAwA3AgAgAUECOgCUByABIBY3AowHIAEgLDgChAcgASAtOAKAByABICc2AvwGIAEgKTYC+AYgASAmNgL0BiABIBM2AvAGIAEgIDcC6AYgASAXNgLkBiABIBg2AuAGIAEgGTcC2AYgASAaOALUBiABIBs2ArgGIAEgHDYCtAYgASAdNgKkBiABIB42AqAGIAEgHzYCnAYgASASQQFxOgCIByARIQMgAUHYA2ogAUGcBmoQlgEiAkH//wNxRQ0ADAMLC0HjhBBB6gAQEQALIAEgFTYCKCABIAM2AiQg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ACABKgIAk4tDbxKDOl1FDQIgACoCBCABKgIEk4tDbxKDOl1FDQIgACoCCCABKgIIk4tDbxKDOl1FDQIgACoCDCABKgIMk4tDbxKDOl1FDQIgACgCFCIEIAEoAhRHDQIgACgCECEAIAEoAhAhBSAEQQFqIQEDQCABQX9qIgFFIQMgAUUNAyACQSBqQRBqIABBEGooAgA2AgAgAkEgakEIaiAAQQhqKQIANwMAIAIgACkCADcDICACQSBqIAUQrQEhBCAFQRRqIQUgAEEUaiEAIARBAXENAAwDCwtBACEDIAEtABxBAUcNASAAKgIAIAEqAgCTi0MAAAA0XUUNASAAKgIEIAEqAgSTi0NvEoM6XUUNASAAKgIIIAEqAgiTi0NvEoM6XUUNASAAKgIMIAEqAgyTi0NvEoM6XUUNASAAKgIQIAEqAhCTi0NvEoM6XUUNASAAKAIYIgQgASgCGEcNASAAKAIUIQAgASgCFCEFIARBAWohAQNAIAFBf2oiAUUhAyABRQ0CIAJBOGpBEGogAEEQaigCADYCACACQThqQQhqIABBCGopAgA3AwAgAiAAKQIANwM4IAJBOGogBRCtASEEIAVBFGohBSAAQRRqIQAgBEEBcQ0ADAILCyACQQhqIABBCGopAgA3AwAgAiAAKQIANwMAQQAhAyABLQAcQQJHDQAgAkEQakEIaiABQQhqKQIANwMAIAIgASkCADcDEEEAIQADQCAAQQRqIgFBFEYiAw0BIAJBEGogAGohBSACIABqIQQgASEAIAQqAgAgBSoCAJOLQwAAADRdDQALCyACQdAAaiQAIAMLCwBBACAANgLU1hALFABBACABNgKE1xBBACAANgLs1hALCwBBACAANgL41hALOABBACABNgLI1hBBACAANgLk1hBBACACNgL01hBBACADNgLo1hBBACAENgLY1hBBACAFNgLc1hALHQBBACABNgKw1xBBACAANgLw1hBBACACNgK01xALTAEBfwJAAkBBACgChNYQDQBBACgCwNkQQQFqIQAMAQsCQEEALQDE2RANAEEAQQE6AMTZEAtBAEEANgKE1hBBASEAC0EAIAA2AsDZEAssAQF/IwBBEGsiBCQAIARBCGogASACIAMQ7AEgACAEKQMINwIAIARBEGokAAtzAgR/AX4jAEEQayIDJAAgACgCBCEEIAAoAgAh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QSBrIgIkACACQQhqQQhqIAFBCGopAgA3AwAgAiABKQIANwMIIAIgAS0AECIBQQFxOgAYIAJBCGogASAAEQgAIAJBIGokAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBB/KwQIQIMAwsCQCACQYjaEGooAgANACACQYjaEGogAzYCACAEQQA7AQQgBCACQbikEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBBhK0QIQIMAgsCQCACQbikEGooAgAgA0cNACACQYjaEGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALDgAgASgCACAAEQQAQQALGAAgASABKAIEIAEoAgggABEJADYCAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBB/KwQIQIMAwsCQCACQYjbEGooAgANACACQYjbEGogAzYCACAEQQA7AQQgBCACQbilEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBBhK0QIQIMAgsCQCACQbilEGooAgAgA0cNACACQYjbEGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALEwAgASgCACABKAIEIAARCABBAAsOACABLwEAIAARBABBAAvbAQEBfyMAQRBrIgQkAAJAAkAgAg0AQUAhAgNAAkAgAg0AQfysECECDAMLAkAgAkHI2xBqKAIADQAgAkHI2xBqIAM2AgAgBEEAOwEEIAQgAkH4pRBqKAIANgIAIAQhAgwDCyACQQRqIQIMAAsLQUAhAgNAAkAgAg0AQYStECECDAILAkAgAkH4pRBqKAIAIANHDQAgAkHI2xBqIgIoAgAhAyACQQA2AgAgBEEAOwEMIAQgAzYCCCAEQQhqIQIMAgsgAkEEaiECDAALCyAAIAIpAgA3AgAgBEEQaiQACxMAIAEoAgAgASgCBCAAEQgAQQAL2wEBAX8jAEEQayIEJAACQAJAIAINAEFAIQIDQAJAIAINAEH8rBAhAgwDCwJAIAJBgNgQaigCAA0AIAJBgNgQaiADNgIAIARBADsBBCAEIAJBpJ8QaigCADYCACAEIQIMAwsgAkEEaiECDAALC0FAIQIDQAJAIAINAEGErRAhAgwCCwJAIAJBpJ8QaigCACADRw0AIAJBgNgQaiICKAIAIQMgAkEANgIAIARBADsBDCAEIAM2AgggBEEIaiECDAILIAJBBGohAgwACwsgACACKQIANwIAIARBEGokAAttAQF/IwBBIGsiAiQAIAIgASgCICABLwEkIAFBJmotAABBEHRyIAARBQAgAUEYaiACQRhqKQIANwIAIAFBEGogAkEQaikCADcCACABQQhqIAJBCGopAgA3AgAgASACKQIANwIAIAJBIGokAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBB/KwQIQIMAwsCQCACQYzcEGooAgANACACQYzcEGogAzYCACAEQQA7AQQgBCACQbimEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBBhK0QIQIMAgsCQCACQbimEGooAgAgA0cNACACQYzcEGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALMAAgASABLwEEIAFBBmotAABBEHRyIAEvAQggAUEKai0AAEEQdHIgABEGADgCAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBB/KwQIQIMAwsCQCACQczcEGooAgANACACQczcEGogAzYCACAEQQA7AQQgBCACQfimEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBBhK0QIQIMAgsCQCACQfimEGooAgAgA0cNACACQczcEGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALJwAgASgCACABKAIEIAEoAgggASgCDCABKAIQIAEoAhQgABENAEEAC2kCAn8CfSMAQSBrIgIkACACQQRqQQxqIAFBDGopAgA3AgAgAiABKAIAIgM2AgQgAiABKQIENwIIIAIgASoCFCIEOAIYIAIgASoCGCIFOAIcIAMgAkEIaiAEIAUgABELACACQSBqJABBAAvbAQEBfyMAQRBrIgQkAAJAAkAgAg0AQUAhAgNAAkAgAg0AQfysECECDAMLAkAgAkGM3RBqKAIADQAgAkGM3RBqIAM2AgAgBEEAOwEEIAQgAkG4pxBqKAIANgIAIAQhAgwDCyACQQRqIQIMAAsLQUAhAgNAAkAgAg0AQYStECECDAILAkAgAkG4pxBqKAIAIANHDQAgAkGM3RBqIgIoAgAhAyACQQA2AgAgBEEAOwEMIAQgAzYCCCAEQQhqIQIMAgsgAkEEaiECDAALCyAAIAIpAgA3AgAgBEEQaiQACxgAIAEoAgAgASgCBCABKAIIIAARBQBBAAsiACABIAEqAgAgASoCBCABKgIIIAEqAgwgABEOADsBEEEACxMAIAEgASoCACAAEQ8AOwEEQQALwQEBBn8jAEGAAWsiAiQAIAIgASgCCCIDNgIIIAIgASgCECIENgIQIAIgASgCDCIFNgIMIAJBFGoiBiABQRRqQcAA/AoAACACQQhqQdwAaiABQeQAaikCADcCACACQdwAaiABQdwAaikCADcCACACIAEpAlQ3AlQgAiABKAJsIgc2AmwgAiABKQJwNwJwIAJB+ABqIAMgBSAEIAYgAkHUAGogByACQfAAaiAAERAAIAEgAikDeDcCACACQYABaiQAQQALDgAgASAAEQcAOwEAQQALNwEBfyMAQRBrIgIkACACQQhqIAFBCGopAgA3AwAgAiABKQIANwMAIAIgABEEACACQRBqJABBAAvbAQEBfyMAQRBrIgQkAAJAAkAgAg0AQUAhAgNAAkAgAg0AQfysECECDAMLAkAgAkHA2BBqKAIADQAgAkHA2BBqIAM2AgAgBEEAOwEEIAQgAkHknxBqKAIANgIAIAQhAgwDCyACQQRqIQIMAAsLQUAhAgNAAkAgAg0AQYStECECDAILAkAgAkHknxBqKAIAIANHDQAgAkHA2BBqIgIoAgAhAyACQQA2AgAgBEEAOwEMIAQgAzYCCCAEQQhqIQIMAgsgAkEEaiECDAALCyAAIAIpAgA3AgAgBEEQaiQAC2QBAX8jAEEgayICJAAgAkEMaiABKAIUIAEoAhggASgCHCABKAIgIAARAgAgAUEQaiACQQxqQRBqKAIANgIAIAFBCGogAkEMakEIaikCADcCACABIAIpAgw3AgAgAkEgaiQAQQALGAAgASABKgIAIAEqAgQgABERADsBCEEACwkAIAARAwBBAAvbAQEBfyMAQRBrIgQkAAJAAkAgAg0AQUAhAgNAAkAgAg0AQfysECECDAMLAkAgAkGA2RBqKAIADQAgAkGA2RBqIAM2AgAgBEEAOwEEIAQgAkGkoBBqKAIANgIAIAQhAgwDCyACQQRqIQIMAAsLQUAhAgNAAkAgAg0AQYStECECDAILAkAgAkGkoBBqKAIAIANHDQAgAkGA2RBqIgIoAgAhAyACQQA2AgAgBEEAOwEMIAQgAzYCCCAEQQhqIQIMAgsgAkEEaiECDAALCyAAIAIpAgA3AgAgBEEQaiQACxMAIAEoAgAgASgCBCAAEQgAQQAL2wEBAX8jAEEQayIEJAACQAJAIAINAEFAIQIDQAJAIAINAEH8rBAhAgwDCwJAIAJBwNkQaigCAA0AIAJBwNkQaiADNgIAIARBADsBBCAEIAJB5KAQaigCADYCACAEIQIMAwsgAkEEaiECDAALC0FAIQIDQAJAIAINAEGErRAhAgwCCwJAIAJB5KAQaigCACADRw0AIAJBwNkQaiICKAIAIQMgAkEANgIAIARBADsBDCAEIAM2AgggBEEIaiECDAILIAJBBGohAgwACwsgACACKQIANwIAIARBEGokAAsTACABIAEtAAIgABESADsBAEEAC1MBAn8jAEEgayICJAAgAkEIakEIaiABQQhqKQIANwMAIAIgASkCADcDCCACIAEtABIiA0EBcToAGCABIAJBCGogAyAAEQkAOwEQIAJBIGokAEEACyIAIAEgASgCACABKAIEIAEoAgggASgCDCAAEQEAOwEQQQALEwAgASABLwECIAAREgA7AQBBAAtdAQJ/IwBBIGsiAiQAIAJBEGogAUEQaikCADcDACACQQhqIAFBCGopAgA3AwAgAiABKQIANwMAIAIgAS0AGiIDQQFxOgAYIAEgAiADIAARCQA7ARggAkEgaiQAQQALRgECfyMAQdAAayICJAAgAkEMaiABQcAA/AoAACACIAEtAEIiA0EBcToATCABIAJBDGogAyAAEQkAOwFAIAJB0ABqJABBAAuLAgIBfwF+IwBBEGsiBCQAAkACQCADDQBCACEFDAELIAEoAgAhASAEIAM2AgggBCACNgIEAkACQAJAAkACQAJAAkACQCABIARBBGpBASAEQQxqEAFB//8DcSIDQW1qDgQBBwcCAAsCQCADQUFqDgIGBQALIANBzABGDQUCQCADQQhHDQBCgICAgMAFIQUMCAsgA0EdRg0CIANBM0YNAyADDQYgBDUCDCEFDAcLQoCAgICwBCEFDAYLQoCAgIDABCEFDAULQoCAgIDQBCEFDAQLQoCAgIDwACEFDAMLQoCAgICQBSEFDAILQoCAgICABSEFDAELQoCAgICgBiEFCyAAIAU3AgAgBEEQaiQACyUAQQJBA0EAIABB/wFxIgBBEUkbIABBCUkbQQJ0QfC+EGooAgALHQAgASABKAIAIAEoAgQgASgCCCAAERMAOwEMQQALnAECAX8BfiMAQTBrIgMkACADIAEpAgA3AxgCQAJAAkACQEEBDQBBCCEBDAELIANBIGogA0EYaiACEBYgAykDICIEQiCIpyIBQf//A3FFDQELIAMgATsBCCADIQEMAQsgAyACNgIQIAMgBD4CDCADQQA7ARQgA0EMaiEBCyAAIAEpAgA3AgAgAEEIaiABQQhqKAIANgIAIANBMGokAAsOACABIAARBwA2AgBBAAvbAQEBfyMAQRBrIgQkAAJAAkAgAg0AQUAhAgNAAkAgAg0AQfysECECDAMLAkAgAkHI2hBqKAIADQAgAkHI2hBqIAM2AgAgBEEAOwEEIAQgAkH4pBBqKAIANgIAIAQhAgwDCyACQQRqIQIMAAsLQUAhAgNAAkAgAg0AQYStECECDAILAkAgAkH4pBBqKAIAIANHDQAgAkHI2hBqIgIoAgAhAyACQQA2AgAgBEEAOwEMIAQgAzYCCCAEQQhqIQIMAgsgAkEEaiECDAALCyAAIAIpAgA3AgAgBEEQaiQACxAAIAAgAUEAKALA1xAQ8wELXQEBfyMAQRBrIgMkACADIAE2AgwgAyAANgIIAkACQAJAAkAgAiADQQhqQQgQtgIOBAADAQIACyADQRBqJAAPC0HkkhBBIhARAAtByZIQQRoQEQALQa6SEEEaEBEACxAAIAAgAUEAKALE1xAQ8wELEAAgACABQQAoAsjXEBDzAQsQACAAIAFBACgCzNcQEPMBCxAAIAAgAUEAKALQ1xAQ8wELEAAgACABQQAoAtTXEBDzAQsQACAAIAFBACgC2NcQEPMBCxAAIAAgAUEAKALc1xAQ8wELEAAgACABQQAoAuDXEBDzAQsQACAAIAFBACgC5NcQEPMBCxAAIAAgAUEAKALo1xAQ8wELEAAgACABQQAoAuzXEBDzAQsQACAAIAFBACgC8NcQEPMBCxAAIAAgAUEAKAL01xAQ8wELEAAgACABQQAoAvjXEBDzAQsQACAAIAFBACgC/NcQEPMBC1ABAX8jAEEgayIBJAAgAUEIakEIaiAAQQhqKQIANwMAIAEgACkCADcDCCABQQA2AhggAUEAKAKA2BAiADYCHCABQQhqIAAQhAIgAUEgaiQAC2YBAX8jAEEQayICJAAgAkEIaiAAQQhqKQIANwMAIAIgACkCADcDAAJAAkACQAJAIAEgAkEQELYCDgQAAwECAAsgAkEQaiQADwtB5JIQQSIQEQALQcmSEEEaEBEAC0GukhBBGhARAAtQAQF/IwBBIGsiASQAIAFBCGpBCGogAEEIaikCADcDACABIAApAgA3AwggAUEANgIYIAFBACgChNgQIgA2AhwgAUEIaiAAEIQCIAFBIGokAAtQAQF/IwBBIGsiASQAIAFBCGpBCGogAEEIaikCADcDACABIAApAgA3AwggAUEANgIYIAFBACgCiNgQIgA2AhwgAUEIaiAAEIQCIAFBIGokAAtQAQF/IwBBIGsiASQAIAFBCGpBCGogAEEIaikCADcDACABIAApAgA3AwggAUEANgIYIAFBACgCjNgQIgA2AhwgAUEIaiAAEIQCIAFBIGokAAtQAQF/IwBBIGsiASQAIAFBCGpBCGogAEEIaikCADcDACABIAApAgA3AwggAUEANgIYIAFBACgCkNgQIgA2AhwgAUEIaiAAEIQCIAFBIGokAAtQAQF/IwBBIGsiASQAIAFBCGpBCGogAEEIaikCADcDACABIAApAgA3AwggAUEANgIYIAFBACgClNgQIgA2AhwgAUEIaiAAEIQCIAFBIGokAAtQAQF/IwBBIGsiASQAIAFBCGpBCGogAEEIaikCADcDACABIAApAgA3AwggAUEANgIYIAFBACgCmNgQIgA2AhwgAUEIaiAAEIQCIAFBIGokAAtQAQF/IwBBIGsiASQAIAFBCGpBCGogAEEIaikCADcDACABIAApAgA3AwggAUEANgIYIAFBACgCnNgQIgA2AhwgAUEIaiAAEIQCIAFBIGokAAtQAQF/IwBBIGsiASQAIAFBCGpBCGogAEEIaikCADcDACABIAApAgA3AwggAUEANgIYIAFBACgCoNgQIgA2AhwgAUEIaiAAEIQCIAFBIGokAAtQAQF/IwBBIGsiASQAIAFBCGpBCGogAEEIaikCADcDACABIAApAgA3AwggAUEANgIYIAFBACgCpNgQIgA2AhwgAUEIaiAAEIQCIAFBIGokAAtQAQF/IwBBIGsiASQAIAFBCGpBCGogAEEIaikCADcDACABIAApAgA3AwggAUEANgIYIAFBACgCqNgQIgA2AhwgAUEIaiAAEIQCIAFBIGokAAtQAQF/IwBBIGsiASQAIAFBCGpBCGogAEEIaikCADcDACABIAApAgA3AwggAUEANgIYIAFBACgCrNgQIgA2AhwgAUEIaiAAEIQCIAFBIGokAAtQAQF/IwBBIGsiASQAIAFBCGpBCGogAEEIaikCADcDACABIAApAgA3AwggAUEANgIYIAFBACgCsNgQIgA2AhwgAUEIaiAAEIQCIAFBIGokAAtQAQF/IwBBIGsiASQAIAFBCGpBCGogAEEIaikCADcDACABIAApAgA3AwggAUEANgIYIAFBACgCtNgQIgA2AhwgAUEIaiAAEIQCIAFBIGokAAtQAQF/IwBBIGsiASQAIAFBCGpBCGogAEEIaikCADcDACABIAApAgA3AwggAUEANgIYIAFBACgCuNgQIgA2AhwgAUEIaiAAEIQCIAFBIGokAAtQAQF/IwBBIGsiASQAIAFBCGpBCGogAEEIaikCADcDACABIAApAgA3AwggAUEANgIYIAFBACgCvNgQIgA2AhwgAUEIaiAAEIQCIAFBIGokAAsMAEEAKALA2BAQlQILPgACQAJAAkACQCAAQarVqtV6QQAQtgIOBAADAQIACw8LQeSSEEEiEBEAC0HJkhBBGhARAAtBrpIQQRoQEQALDABBACgCxNgQEJUCCwwAQQAoAsjYEBCVAgsMAEEAKALM2BAQlQILDABBACgC0NgQEJUCCwwAQQAoAtTYEBCVAgsMAEEAKALY2BAQlQILDABBACgC3NgQEJUCCwwAQQAoAuDYEBCVAgsMAEEAKALk2BAQlQILDABBACgC6NgQEJUCCwwAQQAoAuzYEBCVAgsMAEEAKALw2BAQlQILDABBACgC9NgQEJUCCwwAQQAoAvjYEBCVAgsMAEEAKAL82BAQlQILEAAgACABQQAoAoDZEBCmAgtdAQF/IwBBEGsiAyQAIAMgATYCDCADIAA2AggCQAJAAkACQCACIANBCGpBCBC2Ag4EAAMBAgALIANBEGokAA8LQeSSEEEiEBEAC0HJkhBBGhARAAtBrpIQQRoQEQALEAAgACABQQAoAoTZEBCmAgsQACAAIAFBACgCiNkQEKYCCxAAIAAgAUEAKAKM2RAQpgILEAAgACABQQAoApDZEBCmAgsQACAAIAFBACgClNkQEKYCCxAAIAAgAUEAKAKY2RAQpgILEAAgACABQQAoApzZEBCmAgsQACAAIAFBACgCoNkQEKYCCxAAIAAgAUEAKAKk2RAQpgILEAAgACABQQAoAqjZEBCmAgsQACAAIAFBACgCrNkQEKYCCxAAIAAgAUEAKAKw2RAQpgILEAAgACABQQAoArTZEBCmAgsQACAAIAFBACgCuNkQEKYCCxAAIAAgAUEAKAK82RAQpgILSgECfyMAQRBrIgMkAEEAIQQCQEEALQDI2xANACADQX82AgggAyADQQhqNgIMIANBCGohBAsgACABIAIgBBACIQQgA0EQaiQAIAQLfgEBfyMAQTBrIgIkACACQRBqIAFBEGopAgA3AwAgAkEIaiABQQhqKQIANwMAIAJBIGogAUEgaikCADcDACACQShqIAFBKGopAgA3AwAgAiABKQIANwMAIAIgASkCGDcDGCABIAIgAkEYaiAAEQkAQQFxOgAwIAJBMGokAEEACxgAIAEoAgAgASgCBCABKAIIIAARBQBBAAvbAQEBfyMAQRBrIgQkAAJAAkAgAg0AQUAhAgNAAkAgAg0AQfysECECDAMLAkAgAkHM3RBqKAIADQAgAkHM3RBqIAM2AgAgBEEAOwEEIAQgAkG8qBBqKAIANgIAIAQhAgwDCyACQQRqIQIMAAsLQUAhAgNAAkAgAg0AQYStECECDAILAkAgAkG8qBBqKAIAIANHDQAgAkHM3RBqIgIoAgAhAyACQQA2AgAgBEEAOwEMIAQgAzYCCCAEQQhqIQIMAgsgAkEEaiECDAALCyAAIAIpAgA3AgAgBEEQaiQACxMAIAEoAgAgASgCBCAAEQgAQQAL2wEBAX8jAEEQayIEJAACQAJAIAINAEFAIQIDQAJAIAINAEH8rBAhAgwDCwJAIAJBjN4QaigCAA0AIAJBjN4QaiADNgIAIARBADsBBCAEIAJB/KgQaigCADYCACAEIQIMAwsgAkEEaiECDAALC0FAIQIDQAJAIAINAEGErRAhAgwCCwJAIAJB/KgQaigCACADRw0AIAJBjN4QaiICKAIAIQMgAkEANgIAIARBADsBDCAEIAM2AgggBEEIaiECDAILIAJBBGohAgwACwsgACACKQIANwIAIARBEGokAAsiACABKAIAIAEoAgQgASgCCCABKAIMIAEoAhAgABECAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBB/KwQIQIMAwsCQCACQczeEGooAgANACACQczeEGogAzYCACAEQQA7AQQgBCACQbypEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBBhK0QIQIMAgsCQCACQbypEGooAgAgA0cNACACQczeEGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALHQAgASgCACABKAIEIAEoAgggASgCDCAAEQoAQQAL2wEBAX8jAEEQayIEJAACQAJAIAINAEFAIQIDQAJAIAINAEH8rBAhAgwDCwJAIAJBjN8QaigCAA0AIAJBjN8QaiADNgIAIARBADsBBCAEIAJB/KkQaigCADYCACAEIQIMAwsgAkEEaiECDAALC0FAIQIDQAJAIAINAEGErRAhAgwCCwJAIAJB/KkQaigCACADRw0AIAJBjN8QaiICKAIAIQMgAkEANgIAIARBADsBDCAEIAM2AgggBEEIaiECDAILIAJBBGohAgwACwsgACACKQIANwIAIARBEGokAAtnAQR/IwBBIGsiAiQAIAJBBGpBFGogAUEUaikCADcCACACIAEoAgAiAzYCBCACIAEoAgQiBDYCCCACIAEoAggiBTYCDCACIAEpAgw3AhAgAyAEIAUgAkEQaiAAEQoAIAJBIGokAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBB/KwQIQIMAwsCQCACQczfEGooAgANACACQczfEGogAzYCACAEQQA7AQQgBCACQbyqEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBBhK0QIQIMAgsCQCACQbyqEGooAgAgA0cNACACQczfEGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALJwAgASgCACABKAIEIAEoAgggASgCDCABKgIQIAEqAhQgABEMAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBB/KwQIQIMAwsCQCACQYzgEGooAgANACACQYzgEGogAzYCACAEQQA7AQQgBCACQfyqEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBBhK0QIQIMAgsCQCACQfyqEGooAgAgA0cNACACQYzgEGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAALXQEEfyMAQZADayICJAAgAiABKAL0AiIDNgIEIAIgASgC8AIiBDYCACACQRBqIgUgAUHwAvwKAAAgAiABKAL4AiIBNgKAAyAEIAMgBSABIAARCgAgAkGQA2okAEEAC9sBAQF/IwBBEGsiBCQAAkACQCACDQBBQCECA0ACQCACDQBB/KwQIQIMAwsCQCACQczgEGooAgANACACQczgEGogAzYCACAEQQA7AQQgBCACQbyrEGooAgA2AgAgBCECDAMLIAJBBGohAgwACwtBQCECA0ACQCACDQBBhK0QIQIMAgsCQCACQbyrEGooAgAgA0cNACACQczgEGoiAigCACEDIAJBADYCACAEQQA7AQwgBCADNgIIIARBCGohAgwCCyACQQRqIQIMAAsLIAAgAikCADcCACAEQRBqJAAL2wEBAX8jAEEQayIEJAACQAJAIAINAEFAIQIDQAJAIAINAEH8rBAhAgwDCwJAIAJBjOEQaigCAA0AIAJBjOEQaiADNgIAIARBADsBBCAEIAJB/KsQaigCADYCACAEIQIMAwsgAkEEaiECDAALC0FAIQIDQAJAIAINAEGErRAhAgwCCwJAIAJB/KsQaigCACADRw0AIAJBjOEQaiICKAIAIQMgAkEANgIAIARBADsBDCAEIAM2AgggBEEIaiECDAILIAJBBGohAgwACwsgACACKQIANwIAIARBEGokAAvbAQEBfyMAQRBrIgQkAAJAAkAgAg0AQUAhAgNAAkAgAg0AQfysECECDAMLAkAgAkHM4RBqKAIADQAgAkHM4RBqIAM2AgAgBEEAOwEEIAQgAkG8rBBqKAIANgIAIAQhAgwDCyACQQRqIQIMAAsLQUAhAgNAAkAgAg0AQYStECECDAILAkAgAkG8rBBqKAIAIANHDQAgAkHM4RBqIgIoAgAhAyACQQA2AgAgBEEAOwEMIAQgAzYCCCAEQQhqIQIMAgsgAkEEaiECDAALCyAAIAIpAgA3AgAgBEEQaiQAC1QBA38jAEEgayICJAAgAiABKAIEIgM2AhAgAiABKAIAIgQ2AgwgAiABKQIINwIUIAIgASgCECIBNgIcIAQgAyACQRRqIAEgABEKACACQSBqJABBAAvbAQEBfyMAQRBrIgQkAAJAAkAgAg0AQUAhAgNAAkAgAg0AQfysECECDAMLAkAgAkGM4hBqKAIADQAgAkGM4hBqIAM2AgAgBEEAOwEEIAQgAkH8rBBqKAIANgIAIAQhAgwDCyACQQRqIQIMAAsLQUAhAgNAAkAgAg0AQYStECECDAILAkAgAkH8rBBqKAIAIANHDQAgAkGM4hBqIgIoAgAhAyACQQA2AgAgBEEAOwEMIAQgAzYCCCAEQQhqIQIMAgsgAkEEaiECDAALCyAAIAIpAgA3AgAgBEEQaiQAC0gBAX8jAEEgayICJAAgAiABKQIINwMIIAIgASkCEDcDECACQRhqIAJBCGogAkEQaiAAEQUAIAEgAikDGDcCACACQSBqJABBAAs7AQF/IwBBEGsiAiQAIAIgASkCBDcDACACIAEpAgw3AwggASACIAJBCGogABEGADgCACACQRBqJABBAAsvAQF/IwBBEGsiAiQAIAIgASkCBDcDCCABIAJBCGogABEUADgCACACQRBqJABBAAtrAQF/IwBBMGsiAiQAIAJBEGogAUEQaikCADcDACACQSBqIAFBIGopAgA3AwAgAiABKQIINwMIIAIgASkCGDcDGCACQShqIAJBCGogAkEIakEQaiAAEQUAIAEgAikDKDcCACACQTBqJABBAAtbAQF/IwBBIGsiAiQAIAJBCGogAUEMaikCADcDACACQRhqIAFBHGopAgA3AwAgAiABKQIENwMAIAIgASkCFDcDECABIAIgAkEQaiAAEQYAOAIAIAJBIGokAEEAC0kBAX8jAEEgayICJAAgAkEQaiABQRBqKQIANwMAIAIgASkCCDcDCCACQRhqIAJBCGogABEIACABIAIpAxg3AgAgAkEgaiQAQQALVgEBfyMAQSBrIgIkACACQQhqIABBCGopAgA3AwAgAiAAKQIANwMAIAIgAUEBcToAECACQQA2AhQgAkEAKALI2RAiADYCGCACIAEgABDRAiACQSBqJAALdgEBfyMAQSBrIgMkACADQQhqQQhqIABBCGopAgA3AwAgAyAAKQIANwMIIAMgAUEBcToAGAJAAkACQAJAIAIgA0EIakEUELYCDgQAAwECAAsgA0EgaiQADwtB5JIQQSIQEQALQcmSEEEaEBEAC0GukhBBGhARAAtWAQF/IwBBIGsiAiQAIAJBCGogAEEIaikCADcDACACIAApAgA3AwAgAiABQQFxOgAQIAJBADYCFCACQQAoAszZECIANgIYIAIgASAAENECIAJBIGokAAtWAQF/IwBBIGsiAiQAIAJBCGogAEEIaikCADcDACACIAApAgA3AwAgAiABQQFxOgAQIAJBADYCFCACQQAoAtDZECIANgIYIAIgASAAENECIAJBIGokAAtWAQF/IwBBIGsiAiQAIAJBCGogAEEIaikCADcDACACIAApAgA3AwAgAiABQQFxOgAQIAJBADYCFCACQQAoAtTZECIANgIYIAIgASAAENECIAJBIGokAAtWAQF/IwBBIGsiAiQAIAJBCGogAEEIaikCADcDACACIAApAgA3AwAgAiABQQFxOgAQIAJBADYCFCACQQAoAtjZECIANgIYIAIgASAAENECIAJBIGokAAtWAQF/IwBBIGsiAiQAIAJBCGogAEEIaikCADcDACACIAApAgA3AwAgAiABQQFxOgAQIAJBADYCFCACQQAoAtzZECIANgIYIAIgASAAENECIAJBIGokAAtWAQF/IwBBIGsiAiQAIAJBCGogAEEIaikCADcDACACIAApAgA3AwAgAiABQQFxOgAQIAJBADYCFCACQQAoAuDZECIANgIYIAIgASAAENECIAJBIGokAAtWAQF/IwBBIGsiAiQAIAJBCGogAEEIaikCADcDACACIAApAgA3AwAgAiABQQFxOgAQIAJBADYCFCACQQAoAuTZECIANgIYIAIgASAAENECIAJBIGokAAtWAQF/IwBBIGsiAiQAIAJBCGogAEEIaikCADcDACACIAApAgA3AwAgAiABQQFxOgAQIAJBADYCFCACQQAoAujZECIANgIYIAIgASAAENECIAJBIGokAAtWAQF/IwBBIGsiAiQAIAJBCGogAEEIaikCADcDACACIAApAgA3AwAgAiABQQFxOgAQIAJBADYCFCACQQAoAuzZECIANgIYIAIgASAAENECIAJBIGokAAtWAQF/IwBBIGsiAiQAIAJBCGogAEEIaikCADcDACACIAApAgA3AwAgAiABQQFxOgAQIAJBADYCFCACQQAoAvDZECIANgIYIAIgASAAENECIAJBIGokAAtWAQF/IwBBIGsiAiQAIAJBCGogAEEIaikCADcDACACIAApAgA3AwAgAiABQQFxOgAQIAJBADYCFCACQQAoAvTZECIANgIYIAIgASAAENECIAJBIGokAAtWAQF/IwBBIGsiAiQAIAJBCGogAEEIaikCADcDACACIAApAgA3AwAgAiABQQFxOgAQIAJBADYCFCACQQAoAvjZECIANgIYIAIgASAAENECIAJBIGokAAtWAQF/IwBBIGsiAiQAIAJBCGogAEEIaikCADcDACACIAApAgA3AwAgAiABQQFxOgAQIAJBADYCFCACQQAoAvzZECIANgIYIAIgASAAENECIAJBIGokAAtWAQF/IwBBIGsiAiQAIAJBCGogAEEIaikCADcDACACIAApAgA3AwAgAiABQQFxOgAQIAJBADYCFCACQQAoAoDaECIANgIYIAIgASAAENECIAJBIGokAAtWAQF/IwBBIGsiAiQAIAJBCGogAEEIaikCADcDACACIAApAgA3AwAgAiABQQFxOgAQIAJBADYCFCACQQAoAoTaECIANgIYIAIgASAAENECIAJBIGokAAsMAEEAKAKI2hAQ4gILWAEBfyMAQRBrIgEkAAJAAkACQAJAIAAgAUEMakEEELYCDgQAAwECAAsgASgCDCEAIAFBEGokACAADwtB5JIQQSIQEQALQcmSEEEaEBEAC0GukhBBGhARAAsMAEEAKAKM2hAQ4gILDABBACgCkNoQEOICCwwAQQAoApTaEBDiAgsMAEEAKAKY2hAQ4gILDABBACgCnNoQEOICCwwAQQAoAqDaEBDiAgsMAEEAKAKk2hAQ4gILDABBACgCqNoQEOICCwwAQQAoAqzaEBDiAgsMAEEAKAKw2hAQ4gILDABBACgCtNoQEOICCwwAQQAoArjaEBDiAgsMAEEAKAK82hAQ4gILDABBACgCwNoQEOICCwwAQQAoAsTaEBDiAgsQACAAIAFBACgCyNoQEPMCC2YBAX8jAEEQayIDJAAgAyABNgIMIAMgADYCCAJAAkACQAJAIAIgA0EEakEMELYCDgQAAwECAAsgAygCBCEBIANBEGokACABDwtB5JIQQSIQEQALQcmSEEEaEBEAC0GukhBBGhARAAsQACAAIAFBACgCzNoQEPMCCxAAIAAgAUEAKALQ2hAQ8wILEAAgACABQQAoAtTaEBDzAgsQACAAIAFBACgC2NoQEPMCCxAAIAAgAUEAKALc2hAQ8wILEAAgACABQQAoAuDaEBDzAgsQACAAIAFBACgC5NoQEPMCCxAAIAAgAUEAKALo2hAQ8wILEAAgACABQQAoAuzaEBDzAgsQACAAIAFBACgC8NoQEPMCCxAAIAAgAUEAKAL02hAQ8wILEAAgACABQQAoAvjaEBDzAgsQACAAIAFBACgC/NoQEPMCCxAAIAAgAUEAKAKA2xAQ8wILEAAgACABQQAoAoTbEBDzAgsOACAAQQAoAojbEBCEAwtWAQF/IwBBEGsiAiQAIAIgADsBDgJAAkACQAJAIAEgAkEOakECELYCDgQAAwECAAsgAkEQaiQADwtB5JIQQSIQEQALQcmSEEEaEBEAC0GukhBBGhARAAsOACAAQQAoAozbEBCEAwsOACAAQQAoApDbEBCEAwsOACAAQQAoApTbEBCEAwsOACAAQQAoApjbEBCEAwsOACAAQQAoApzbEBCEAwsOACAAQQAoAqDbEBCEAwsOACAAQQAoAqTbEBCEAwsOACAAQQAoAqjbEBCEAwsOACAAQQAoAqzbEBCEAwsOACAAQQAoArDbEBCEAwsOACAAQQAoArTbEBCEAwsOACAAQQAoArjbEBCEAwsOACAAQQAoArzbEBCEAwsOACAAQQAoAsDbEBCEAwsOACAAQQAoAsTbEBCEAwteAQF/IwBBIGsiAyQAIAMgASACQQAoAszbEBCVAyAAQRhqIANBGGopAgA3AgAgAEEQaiADQRBqKQIANwIAIABBCGogA0EIaikCADcCACAAIAMpAgA3AgAgA0EgaiQAC7MBAQF/IwBBMGsiBCQAIAQgAjsBLCAEQS5qIAJBgID8AHFBEHY6AAAgBCABNgIoAkACQAJAAkAgAyAEQQhqQSgQtgIOBAADAQIACyAAIAQpAgg3AgAgAEEYaiAEQQhqQRhqKQIANwIAIABBEGogBEEIakEQaikCADcCACAAQQhqIARBCGpBCGopAgA3AgAgBEEwaiQADwtB5JIQQSIQEQALQcmSEEEaEBEAC0GukhBBGhARAAteAQF/IwBBIGsiAyQAIAMgASACQQAoAtDbEBCVAyAAQRhqIANBGGopAgA3AgAgAEEQaiADQRBqKQIANwIAIABBCGogA0EIaikCADcCACAAIAMpAgA3AgAgA0EgaiQAC14BAX8jAEEgayIDJAAgAyABIAJBACgC1NsQEJUDIABBGGogA0EYaikCADcCACAAQRBqIANBEGopAgA3AgAgAEEIaiADQQhqKQIANwIAIAAgAykCADcCACADQSBqJAALXgEBfyMAQSBrIgMkACADIAEgAkEAKALY2xAQlQMgAEEYaiADQRhqKQIANwIAIABBEGogA0EQaikCADcCACAAQQhqIANBCGopAgA3AgAgACADKQIANwIAIANBIGokAAteAQF/IwBBIGsiAyQAIAMgASACQQAoAtzbEBCVAyAAQRhqIANBGGopAgA3AgAgAEEQaiADQRBqKQIANwIAIABBCGogA0EIaikCADcCACAAIAMpAgA3AgAgA0EgaiQAC14BAX8jAEEgayIDJAAgAyABIAJBACgC4NsQEJUDIABBGGogA0EYaikCADcCACAAQRBqIANBEGopAgA3AgAgAEEIaiADQQhqKQIANwIAIAAgAykCADcCACADQSBqJAALXgEBfyMAQSBrIgMkACADIAEgAkEAKALk2xAQlQMgAEEYaiADQRhqKQIANwIAIABBEGogA0EQaikCADcCACAAQQhqIANBCGopAgA3AgAgACADKQIANwIAIANBIGokAAteAQF/IwBBIGsiAyQAIAMgASACQQAoAujbEBCVAyAAQRhqIANBGGopAgA3AgAgAEEQaiADQRBqKQIANwIAIABBCGogA0EIaikCADcCACAAIAMpAgA3AgAgA0EgaiQAC14BAX8jAEEgayIDJAAgAyABIAJBACgC7NsQEJUDIABBGGogA0EYaikCADcCACAAQRBqIANBEGopAgA3AgAgAEEIaiADQQhqKQIANwIAIAAgAykCADcCACADQSBqJAALXgEBfyMAQSBrIgMkACADIAEgAkEAKALw2xAQlQMgAEEYaiADQRhqKQIANwIAIABBEGogA0EQaikCADcCACAAQQhqIANBCGopAgA3AgAgACADKQIANwIAIANBIGokAAteAQF/IwBBIGsiAyQAIAMgASACQQAoAvTbEBCVAyAAQRhqIANBGGopAgA3AgAgAEEQaiADQRBqKQIANwIAIABBCGogA0EIaikCADcCACAAIAMpAgA3AgAgA0EgaiQAC14BAX8jAEEgayIDJAAgAyABIAJBACgC+NsQEJUDIABBGGogA0EYaikCADcCACAAQRBqIANBEGopAgA3AgAgAEEIaiADQQhqKQIANwIAIAAgAykCADcCACADQSBqJAALXgEBfyMAQSBrIgMkACADIAEgAkEAKAL82xAQlQMgAEEYaiADQRhqKQIANwIAIABBEGogA0EQaikCADcCACAAQQhqIANBCGopAgA3AgAgACADKQIANwIAIANBIGokAAteAQF/IwBBIGsiAyQAIAMgASACQQAoAoDcEBCVAyAAQRhqIANBGGopAgA3AgAgAEEQaiADQRBqKQIANwIAIABBCGogA0EIaikCADcCACAAIAMpAgA3AgAgA0EgaiQAC14BAX8jAEEgayIDJAAgAyABIAJBACgChNwQEJUDIABBGGogA0EYaikCADcCACAAQRBqIANBEGopAgA3AgAgAEEIaiADQQhqKQIANwIAIAAgAykCADcCACADQSBqJAALXgEBfyMAQSBrIgMkACADIAEgAkEAKAKI3BAQlQMgAEEYaiADQRhqKQIANwIAIABBEGogA0EQaikCADcCACAAQQhqIANBCGopAgA3AgAgACADKQIANwIAIANBIGokAAsQACAAIAFBACgCjNwQEKYDC44BAgF/AX0jAEEQayIDJAAgAyABOwEMIANBDmogAUGAgPwAcUEQdjoAACADIAA7AQggA0EKaiAAQYCA/ABxQRB2OgAAAkACQAJAAkAgAiADQQRqQQwQtgIOBAADAQIACyADKgIEIQQgA0EQaiQAIAQPC0HkkhBBIhARAAtByZIQQRoQEQALQa6SEEEaEBEACxAAIAAgAUEAKAKQ3BAQpgMLEAAgACABQQAoApTcEBCmAwsQACAAIAFBACgCmNwQEKYDCxAAIAAgAUEAKAKc3BAQpgMLEAAgACABQQAoAqDcEBCmAwsQACAAIAFBACgCpNwQEKYDCxAAIAAgAUEAKAKo3BAQpgMLEAAgACABQQAoAqzcEBCmAwsQACAAIAFBACgCsNwQEKYDCxAAIAAgAUEAKAK03BAQpgMLEAAgACABQQAoArjcEBCmAwsQACAAIAFBACgCvNwQEKYDCxAAIAAgAUEAKALA3BAQpgMLEAAgACABQQAoAsTcEBCmAwsQACAAIAFBACgCyNwQEKYDC2gBAX8jAEEwayIEJAAgBEEYaiABQQhqKQIANwIAIAQgAzgCJCAEIAI4AiAgBCAANgIMIAQgASkCADcCECAEQQA2AiggBEEAKALM3BAiATYCLCAAIARBEGogAiADIAEQtwMgBEEwaiQAC34BAX8jAEEgayIFJAAgBUEQaiABQQhqKQIANwIAIAUgAzgCHCAFIAI4AhggBSAANgIEIAUgASkCADcCCAJAAkACQAJAIAQgBUEEakEcELYCDgQAAwECAAsgBUEgaiQADwtB5JIQQSIQEQALQcmSEEEaEBEAC0GukhBBGhARAAtoAQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcCACAEIAM4AiQgBCACOAIgIAQgADYCDCAEIAEpAgA3AhAgBEEANgIoIARBACgC0NwQIgE2AiwgACAEQRBqIAIgAyABELcDIARBMGokAAtoAQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcCACAEIAM4AiQgBCACOAIgIAQgADYCDCAEIAEpAgA3AhAgBEEANgIoIARBACgC1NwQIgE2AiwgACAEQRBqIAIgAyABELcDIARBMGokAAtoAQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcCACAEIAM4AiQgBCACOAIgIAQgADYCDCAEIAEpAgA3AhAgBEEANgIoIARBACgC2NwQIgE2AiwgACAEQRBqIAIgAyABELcDIARBMGokAAtoAQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcCACAEIAM4AiQgBCACOAIgIAQgADYCDCAEIAEpAgA3AhAgBEEANgIoIARBACgC3NwQIgE2AiwgACAEQRBqIAIgAyABELcDIARBMGokAAtoAQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcCACAEIAM4AiQgBCACOAIgIAQgADYCDCAEIAEpAgA3AhAgBEEANgIoIARBACgC4NwQIgE2AiwgACAEQRBqIAIgAyABELcDIARBMGokAAtoAQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcCACAEIAM4AiQgBCACOAIgIAQgADYCDCAEIAEpAgA3AhAgBEEANgIoIARBACgC5NwQIgE2AiwgACAEQRBqIAIgAyABELcDIARBMGokAAtoAQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcCACAEIAM4AiQgBCACOAIgIAQgADYCDCAEIAEpAgA3AhAgBEEANgIoIARBACgC6NwQIgE2AiwgACAEQRBqIAIgAyABELcDIARBMGokAAtoAQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcCACAEIAM4AiQgBCACOAIgIAQgADYCDCAEIAEpAgA3AhAgBEEANgIoIARBACgC7NwQIgE2AiwgACAEQRBqIAIgAyABELcDIARBMGokAAtoAQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcCACAEIAM4AiQgBCACOAIgIAQgADYCDCAEIAEpAgA3AhAgBEEANgIoIARBACgC8NwQIgE2AiwgACAEQRBqIAIgAyABELcDIARBMGokAAtoAQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcCACAEIAM4AiQgBCACOAIgIAQgADYCDCAEIAEpAgA3AhAgBEEANgIoIARBACgC9NwQIgE2AiwgACAEQRBqIAIgAyABELcDIARBMGokAAtoAQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcCACAEIAM4AiQgBCACOAIgIAQgADYCDCAEIAEpAgA3AhAgBEEANgIoIARBACgC+NwQIgE2AiwgACAEQRBqIAIgAyABELcDIARBMGokAAtoAQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcCACAEIAM4AiQgBCACOAIgIAQgADYCDCAEIAEpAgA3AhAgBEEANgIoIARBACgC/NwQIgE2AiwgACAEQRBqIAIgAyABELcDIARBMGokAAtoAQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcCACAEIAM4AiQgBCACOAIgIAQgADYCDCAEIAEpAgA3AhAgBEEANgIoIARBACgCgN0QIgE2AiwgACAEQRBqIAIgAyABELcDIARBMGokAAtoAQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcCACAEIAM4AiQgBCACOAIgIAQgADYCDCAEIAEpAgA3AhAgBEEANgIoIARBACgChN0QIgE2AiwgACAEQRBqIAIgAyABELcDIARBMGokAAtoAQF/IwBBMGsiBCQAIARBGGogAUEIaikCADcCACAEIAM4AiQgBCACOAIgIAQgADYCDCAEIAEpAgA3AhAgBEEANgIoIARBACgCiN0QIgE2AiwgACAEQRBqIAIgAyABELcDIARBMGokAAtVAQF/IwBBEGsiBCQAIAQgACkCADcDCCADQQFqIQACQANAAkAgAEF/aiIADQBBACEDDAILIARBCGogASACELYBIgNB//8DcUUNAAsLIARBEGokACADC4QBAgF/AX4jAEEgayIDJABCACEEAkAgAkGAAU8NACADQRBqIAEpAwhCACAAQgAQlQUgAyABKQMAQgAgAEIAEJUFIANBCGopAwAiBCADKQMQfCIAIAJBP3EiAq2IIANBEGpBCGopAwAgACAEVK18QgGGIAJBP3OthoQhBAsgA0EgaiQAIAQLRQICfwF+QQAhAkEAIQMDfwJAAkAgAFANACAAIABCBYAiBEIFfn1CAFENASADIQILIAIgAU8PCyADQQFqIQMgBCEADAALC4cBAQJ/QQAhAwJAIAItAAxFDQAgAUEtOgAAIAItAAwhAwsgASADQQFxaiEEAkACQCACKQMAUA0AIARBAmpBAC0AiIoQOgAAIARBAC8AhooQOwAADAELIARBAmpBAC0AvowQOgAAIARBAC8AvIwQOwAACyAAIAE2AgAgAEEEQQMgA0EBcRs2AgQL/wIEAn8BfgF/B34jAEEgayIEJAAgASgCCCEFIAEpAwAiBhDMAyEHAkACQAJAIAJBAXENACAFQQBMDQEgByADaiAFakF/aiECDAILIANBAWohAgwBCyAHIANqIgIgBWpBACACQQAgBWtLGyECCwJAIAIgB08NACAHIAVqIQMgByACQX9zaiEHAkADQCAHRQ0BIAdBf2ohByAGQgqAIQYMAAsLIAMgAkF/c2ohBSAGIAZCCoAiCEIKfn1CBVQNACAIQgF8IgYhCEIAIQkCQANAIARBEGogCCAJQgpCABCYBSAEIAQpAxAiCiAEQRBqQQhqKQMAIgtCCkIAEJUFIAggCYQiDFANASAJIARBCGopAwB9IQ0gCCAEKQMAIglUIQcgCCAJfSEOIAohCCALIQkgDiANIAetfYRQDQALCwJAIAxCAFENACADIAJrIQUMAQsgBUECaiEFIAZCCoAhBgsgACAFNgIIIAAgBjcDACAAIAEtAAxBAXE6AAwgBEEgaiQAC4kCAAJAIABCgICE/qbe4RFUDQBBEQ8LAkAgAEL//5mm6q/jAVgNAEEQDwsCQCAAQv//6IOx3hZYDQBBDw8LAkAgAEL/v8rzhKMCWA0AQQ4PCwJAIABC/5+UpY0dWA0AQQ0PCwJAIABC/8/bw/QCWA0AQQwPCwJAIABC/8evoCVYDQBBCw8LAkAgAEL/k+vcA1gNAEEKDwsCQCAAQv/B1y9YDQBBCQ8LAkAgAEL/rOIEWA0AQQgPCwJAIABCv4Q9WA0AQQcPCwJAIABCn40GWA0AQQYPCwJAIABCj84AWA0AQQUPCwJAIABC5wdYDQBBBA8LAkAgAELjAFgNAEEDDwtBAkEBIABCCVYbC7cBAwJ/An4BfyACIABqQX9qIQBBACEDA0ACQCADQQJqIgQgAkkNAAJAA0AgAyACTw0BIAEgASkDACIFQgqAIgY3AwAgACAFIAZCCn59p0EwcjoAACAAQX9qIQAgA0EBaiEDDAALCw8LIAEgASkDACIFQuQAgCIGNwMAIABBf2ogBSAGQuQAfn2nIgNB/wFxQQpuIgdBMHI6AAAgACADIAdBCmxrQTByOgAAIABBfmohACAEIQMMAAsLEgAgACABIAJBACgCjN0QEM8DC2QBAX8jAEEQayIEJAAgBCACNgIMIAQgATYCCCAEIAA2AgQCQAJAAkACQCADIARBBGpBDBC2Ag4EAAMBAgALIARBEGokAA8LQeSSEEEiEBEAC0HJkhBBGhARAAtBrpIQQRoQEQALEgAgACABIAJBACgCkN0QEM8DCxIAIAAgASACQQAoApTdEBDPAwsSACAAIAEgAkEAKAKY3RAQzwMLEgAgACABIAJBACgCnN0QEM8DCxIAIAAgASACQQAoAqDdEBDPAwsSACAAIAEgAkEAKAKk3RAQzwMLEgAgACABIAJBACgCqN0QEM8DCxIAIAAgASACQQAoAqzdEBDPAwsSACAAIAEgAkEAKAKw3RAQzwMLEgAgACABIAJBACgCtN0QEM8DCxIAIAAgASACQQAoArjdEBDPAwsSACAAIAEgAkEAKAK83RAQzwMLEgAgACABIAJBACgCwN0QEM8DCxIAIAAgASACQQAoAsTdEBDPAwsSACAAIAEgAkEAKALI3RAQzwMLEAAgACABQQAoAszdEBDgAwtdAQF/IwBBEGsiAyQAIAMgATYCDCADIAA2AggCQAJAAkACQCACIANBCGpBCBC2Ag4EAAMBAgALIANBEGokAA8LQeSSEEEiEBEAC0HJkhBBGhARAAtBrpIQQRoQEQALEAAgACABQQAoAtDdEBDgAwsQACAAIAFBACgC1N0QEOADCxAAIAAgAUEAKALY3RAQ4AMLEAAgACABQQAoAtzdEBDgAwsQACAAIAFBACgC4N0QEOADCxAAIAAgAUEAKALk3RAQ4AMLEAAgACABQQAoAujdEBDgAwsQACAAIAFBACgC7N0QEOADCxAAIAAgAUEAKALw3RAQ4AMLEAAgACABQQAoAvTdEBDgAwsQACAAIAFBACgC+N0QEOADCxAAIAAgAUEAKAL83RAQ4AMLEAAgACABQQAoAoDeEBDgAwsQACAAIAFBACgChN4QEOADCxAAIAAgAUEAKAKI3hAQ4AMLFgAgACABIAIgAyAEQQAoAozeEBDxAwtyAQF/IwBBIGsiBiQAIAYgBDYCHCAGIAM2AhggBiACNgIUIAYgATYCECAGIAA2AgwCQAJAAkACQCAFIAZBDGpBFBC2Ag4EAAMBAgALIAZBIGokAA8LQeSSEEEiEBEAC0HJkhBBGhARAAtBrpIQQRoQEQALFgAgACABIAIgAyAEQQAoApDeEBDxAwsWACAAIAEgAiADIARBACgClN4QEPEDCxYAIAAgASACIAMgBEEAKAKY3hAQ8QMLFgAgACABIAIgAyAEQQAoApzeEBDxAwsWACAAIAEgAiADIARBACgCoN4QEPEDCxYAIAAgASACIAMgBEEAKAKk3hAQ8QMLFgAgACABIAIgAyAEQQAoAqjeEBDxAwsWACAAIAEgAiADIARBACgCrN4QEPEDCxYAIAAgASACIAMgBEEAKAKw3hAQ8QMLFgAgACABIAIgAyAEQQAoArTeEBDxAwsWACAAIAEgAiADIARBACgCuN4QEPEDCxYAIAAgASACIAMgBEEAKAK83hAQ8QMLFgAgACABIAIgAyAEQQAoAsDeEBDxAwsWACAAIAEgAiADIARBACgCxN4QEPEDCxYAIAAgASACIAMgBEEAKALI3hAQ8QMLFAAgACABIAIgA0EAKALM3hAQggQLaAEBfyMAQRBrIgUkACAFIAM2AgwgBSACNgIIIAUgATYCBCAFIAA2AgACQAJAAkACQCAEIAVBEBC2Ag4EAAMBAgALIAVBEGokAA8LQeSSEEEiEBEAC0HJkhBBGhARAAtBrpIQQRoQEQALFAAgACABIAIgA0EAKALQ3hAQggQLFAAgACABIAIgA0EAKALU3hAQggQLFAAgACABIAIgA0EAKALY3hAQggQLFAAgACABIAIgA0EAKALc3hAQggQLFAAgACABIAIgA0EAKALg3hAQggQLFAAgACABIAIgA0EAKALk3hAQggQLFAAgACABIAIgA0EAKALo3hAQggQLFAAgACABIAIgA0EAKALs3hAQggQLFAAgACABIAIgA0EAKALw3hAQggQLFAAgACABIAIgA0EAKAL03hAQggQLFAAgACABIAIgA0EAKAL43hAQggQLFAAgACABIAIgA0EAKAL83hAQggQLFAAgACABIAIgA0EAKAKA3xAQggQLFAAgACABIAIgA0EAKAKE3xAQggQLFAAgACABIAIgA0EAKAKI3xAQggQLaAEBfyMAQTBrIgQkACAEQSBqIANBCGopAgA3AgAgBCACNgIUIAQgATYCECAEIAA2AgwgBCADKQIANwIYIARBADYCKCAEQQAoAozfECIDNgIsIAAgASACIARBGGogAxCTBCAEQTBqJAALfgEBfyMAQSBrIgUkACAFQRhqIANBCGopAgA3AgAgBSACNgIMIAUgATYCCCAFIAA2AgQgBSADKQIANwIQAkACQAJAAkAgBCAFQQRqQRwQtgIOBAADAQIACyAFQSBqJAAPC0HkkhBBIhARAAtByZIQQRoQEQALQa6SEEEaEBEAC2gBAX8jAEEwayIEJAAgBEEgaiADQQhqKQIANwIAIAQgAjYCFCAEIAE2AhAgBCAANgIMIAQgAykCADcCGCAEQQA2AiggBEEAKAKQ3xAiAzYCLCAAIAEgAiAEQRhqIAMQkwQgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEgaiADQQhqKQIANwIAIAQgAjYCFCAEIAE2AhAgBCAANgIMIAQgAykCADcCGCAEQQA2AiggBEEAKAKU3xAiAzYCLCAAIAEgAiAEQRhqIAMQkwQgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEgaiADQQhqKQIANwIAIAQgAjYCFCAEIAE2AhAgBCAANgIMIAQgAykCADcCGCAEQQA2AiggBEEAKAKY3xAiAzYCLCAAIAEgAiAEQRhqIAMQkwQgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEgaiADQQhqKQIANwIAIAQgAjYCFCAEIAE2AhAgBCAANgIMIAQgAykCADcCGCAEQQA2AiggBEEAKAKc3xAiAzYCLCAAIAEgAiAEQRhqIAMQkwQgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEgaiADQQhqKQIANwIAIAQgAjYCFCAEIAE2AhAgBCAANgIMIAQgAykCADcCGCAEQQA2AiggBEEAKAKg3xAiAzYCLCAAIAEgAiAEQRhqIAMQkwQgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEgaiADQQhqKQIANwIAIAQgAjYCFCAEIAE2AhAgBCAANgIMIAQgAykCADcCGCAEQQA2AiggBEEAKAKk3xAiAzYCLCAAIAEgAiAEQRhqIAMQkwQgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEgaiADQQhqKQIANwIAIAQgAjYCFCAEIAE2AhAgBCAANgIMIAQgAykCADcCGCAEQQA2AiggBEEAKAKo3xAiAzYCLCAAIAEgAiAEQRhqIAMQkwQgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEgaiADQQhqKQIANwIAIAQgAjYCFCAEIAE2AhAgBCAANgIMIAQgAykCADcCGCAEQQA2AiggBEEAKAKs3xAiAzYCLCAAIAEgAiAEQRhqIAMQkwQgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEgaiADQQhqKQIANwIAIAQgAjYCFCAEIAE2AhAgBCAANgIMIAQgAykCADcCGCAEQQA2AiggBEEAKAKw3xAiAzYCLCAAIAEgAiAEQRhqIAMQkwQgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEgaiADQQhqKQIANwIAIAQgAjYCFCAEIAE2AhAgBCAANgIMIAQgAykCADcCGCAEQQA2AiggBEEAKAK03xAiAzYCLCAAIAEgAiAEQRhqIAMQkwQgBEEwaiQAC2gBAX8jAEEwayIEJAAgBEEgaiADQQhqKQIANwIAIAQgAjYCFCAEIAE2AhAgBCAANgIMIAQgAykCADcCGCAEQQA2AiggBEEAKAK43xAiAzYCLCAA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NgIEIAQgADYCACAEQQA2AoQDIARBACgCqOAQIgI2AogDIAAgASAFIAMgAhC1BCAEQZADaiQAC2ABAn8jAEGQA2siBCQAIARBEGoiBSACQfAC/AoAACAEIAM2AoADIAQgATYCBCAEIAA2AgAgBEEANgKEAyAEQQAoAqzgECICNgKIAyAAIAEgBSADIAIQtQQgBEGQA2okAAtgAQJ/IwBBkANrIgQkACAEQRBqIgUgAkHwAvwKAAAgBCADNgKAAyAEIAE2AgQgBCAANgIAIARBADYChAMgBEEAKAKw4BAiAjYCiAMgACABIAUgAyACELUEIARBkANqJAALYAECfyMAQZADayIEJAAgBEEQaiIFIAJB8AL8CgAAIAQgAzYCgAMgBCABNgIEIAQgADYCACAEQQA2AoQDIARBACgCtOAQIgI2AogDIAAgASAFIAMgAhC1BCAEQZADaiQAC2ABAn8jAEGQA2siBCQAIARBEGoiBSACQfAC/AoAACAEIAM2AoADIAQgATYCBCAEIAA2AgAgBEEANgKEAyAEQQAoArjgECICNgKIAyAAIAEgBSADIAIQtQQgBEGQA2okAAtgAQJ/IwBBkANrIgQkACAEQRBqIgUgAkHwAvwKAAAgBCADNgKAAyAEIAE2AgQgBCAANgIAIARBADYChAMgBEEAKAK84BAiAjYCiAMgACABIAUgAyACELUEIARBkANqJAALYAECfyMAQZADayIEJAAgBEEQaiIFIAJB8AL8CgAAIAQgAzYCgAMgBCABNgIEIAQgADYCACAEQQA2AoQDIARBACgCwOAQIgI2AogDIAAgASAFIAMgAhC1BCAEQZADaiQAC2ABAn8jAEGQA2siBCQAIARBEGoiBSACQfAC/AoAACAEIAM2AoADIAQgATYCBCAEIAA2AgAgBEEANgKEAyAEQQAoAsTgECICNgKIAyAAIAEgBSADIAIQtQQgBEGQA2okAAtgAQJ/IwBBkANrIgQkACAEQRBqIgUgAkHwAvwKAAAgBCADNgKAAyAEIAE2AgQgBCAANgIAIARBADYChAMgBEEAKALI4BAiAjYCiAMgACABIAUgAyACELUEIARBkANqJAALEgAgACABIAJBACgCzOAQEM8DCxIAIAAgASACQQAoAtDgEBDPAwsSACAAIAEgAkEAKALU4BAQzwMLEgAgACABIAJBACgC2OAQEM8DCxIAIAAgASACQQAoAtzgEBDPAwsSACAAIAEgAkEAKALg4BAQzwMLEgAgACABIAJBACgC5OAQEM8DCxIAIAAgASACQQAoAujgEBDPAwsSACAAIAEgAkEAKALs4BAQzwMLEgAgACABIAJBACgC8OAQEM8DCxIAIAAgASACQQAoAvTgEBDPAwsSACAAIAEgAkEAKAL44BAQzwMLEgAgACABIAJBACgC/OAQEM8DCxIAIAAgASACQQAoAoDhEBDPAwsSACAAIAEgAkEAKAKE4RAQzwMLEgAgACABIAJBACgCiOEQEM8DCxAAIAAgAUEAKAKM4RAQ4AMLEAAgACABQQAoApDhEBDgAwsQACAAIAFBACgClOEQEOADCxAAIAAgAUEAKAKY4RAQ4AMLEAAgACABQQAoApzhEBDgAwsQACAAIAFBACgCoOEQEOADCxAAIAAgAUEAKAKk4RAQ4AMLEAAgACABQQAoAqjhEBDgAwsQACAAIAFBACgCrOEQEOADCxAAIAAgAUEAKAKw4RAQ4AMLEAAgACABQQAoArThEBDgAwsQACAAIAFBACgCuOEQEOADCxAAIAAgAUEAKAK84RAQ4AMLEAAgACABQQAoAsDhEBDgAwsQACAAIAFBACgCxOEQEOADCxAAIAAgAUEAKALI4RAQ4AMLWAEBfyMAQSBrIgQkACAEIAM2AhQgBCABNgIIIAQgADYCBCAEIAIpAgA3AgwgBEEANgIYIARBACgCzOEQIgI2AhwgACABIARBDGogAyACEOYEIARBIGokAAtuAQF/IwBBIGsiBSQAIAUgAzYCHCAFIAE2AhAgBSAANgIMIAUgAikCADcCFAJAAkACQAJAIAQgBUEMakEUELYCDgQAAwECAAsgBUEgaiQADwtB5JIQQSIQEQALQcmSEEEaEBEAC0GukhBBGhARAAtYAQF/IwBBIGsiBCQAIAQgAzYCFCAEIAE2AgggBCAANgIEIAQgAikCADcCDCAEQQA2AhggBEEAKALQ4RAiAjYCHCAAIAEgBEEMaiADIAIQ5gQgBEEgaiQAC1gBAX8jAEEgayIEJAAgBCADNgIUIAQgATYCCCAEIAA2AgQgBCACKQIANwIMIARBADYCGCAEQQAoAtThECICNgIcIAAgASAEQQxqIAMgAhDmBCAEQSBqJAALWAEBfyMAQSBrIgQkACAEIAM2AhQgBCABNgIIIAQgADYCBCAEIAIpAgA3AgwgBEEANgIYIARBACgC2OEQIgI2AhwgACABIARBDGogAyACEOYEIARBIGokAAtYAQF/IwBBIGsiBCQAIAQgAzYCFCAEIAE2AgggBCAANgIEIAQgAikCADcCDCAEQQA2AhggBEEAKALc4RAiAjYCHCAAIAEgBEEMaiADIAIQ5gQgBEEgaiQAC1gBAX8jAEEgayIEJAAgBCADNgIUIAQgATYCCCAEIAA2AgQgBCACKQIANwIMIARBADYCGCAEQQAoAuDhECICNgIcIAAgASAEQQxqIAMgAhDmBCAEQSBqJAALWAEBfyMAQSBrIgQkACAEIAM2AhQgBCABNgIIIAQgADYCBCAEIAIpAgA3AgwgBEEANgIYIARBACgC5OEQIgI2AhwgACABIARBDGogAyACEOYEIARBIGokAAtYAQF/IwBBIGsiBCQAIAQgAzYCFCAEIAE2AgggBCAANgIEIAQgAikCADcCDCAEQQA2AhggBEEAKALo4RAiAjYCHCAAIAEgBEEMaiADIAIQ5gQgBEEgaiQAC1gBAX8jAEEgayIEJAAgBCADNgIUIAQgATYCCCAEIAA2AgQgBCACKQIANwIMIARBADYCGCAEQQAoAuzhECICNgIcIAAgASAEQQxqIAMgAhDmBCAEQSBqJAALWAEBfyMAQSBrIgQkACAEIAM2AhQgBCABNgIIIAQgADYCBCAEIAIpAgA3AgwgBEEANgIYIARBACgC8OEQIgI2AhwgACABIARBDGogAyACEOYEIARBIGokAAtYAQF/IwBBIGsiBCQAIAQgAzYCFCAEIAE2AgggBCAANgIEIAQgAikCADcCDCAEQQA2AhggBEEAKAL04RAiAjYCHCAAIAEgBEEMaiADIAIQ5gQgBEEgaiQAC1gBAX8jAEEgayIEJAAgBCADNgIUIAQgATYCCCAEIAA2AgQgBCACKQIANwIMIARBADYCGCAEQQAoAvjhECICNgIcIAAgASAEQQxqIAMgAhDmBCAEQSBqJAALWAEBfyMAQSBrIgQkACAEIAM2AhQgBCABNgIIIAQgADYCBCAEIAIpAgA3AgwgBEEANgIYIARBACgC/OEQIgI2AhwgACABIARBDGogAyACEOYEIARBIGokAAtYAQF/IwBBIGsiBCQAIAQgAzYCFCAEIAE2AgggBCAANgIEIAQgAikCADcCDCAEQQA2AhggBEEAKAKA4hAiAjYCHCAAIAEgBEEMaiADIAIQ5gQgBEEgaiQAC1gBAX8jAEEgayIEJAAgBCADNgIUIAQgATYCCCAEIAA2AgQgBCACKQIANwIMIARBADYCGCAEQQAoAoTiECICNgIcIAAgASAEQQxqIAMgAhDmBCAEQSBqJAALWAEBfyMAQSBrIgQkACAEIAM2AhQgBCABNgIIIAQgADYCBCAEIAIpAgA3AgwgBEEANgIYIARBACgCiOIQIgI2AhwgACABIARBDGogAyACEOYEIARBIGokAAugAQEBfyMAQcAAayICJAAgAkEYaiABQRhqKQIANwMAIAJBEGogAUEQaikCADcDACACQQhqIAFBCGopAgA3AwAgAkEoaiABQShqKQIANwMAIAJBMGogAUEwaikCADcDACACQThqIAFBOGopAgA3AwAgAiABKQIANwMAIAIgASkCIDcDICABIAIgAkEgaiAAEQkAQQFxOgBAIAJBwABqJABBAAtKAQJ/IwBBkAFrIgIkACACIAFByAD8CgAAIAJByABqIgMgAUHIAGpByAD8CgAAIAEgAiADIAARCQBBAXE6AJABIAJBkAFqJABBAAtKAQJ/IwBB4AFrIgIkACACIAFB8AD8CgAAIAJB8ABqIgMgAUHwAGpB8AD8CgAAIAEgAiADIAARCQBBAXE6AOABIAJB4AFqJABBAAtKAQJ/IwBB8AFrIgIkACACIAFB+AD8CgAAIAJB+ABqIgMgAUH4AGpB+AD8CgAAIAEgAiADIAARCQBBAXE6APABIAJB8AFqJABBAAtnAQF/IwBBIGsiAiQAIAJBCGpBCGogAUEIaigCADYCACACQQhqQRRqIAFBFGooAgA2AgAgAiABKQIANwMIIAIgASkCDDcCFCABIAJBCGogAkEUaiAAEQkAQQFxOgAYIAJBIGokAEEAC40BAQF/IwBBMGsiAiQAIAJBCGpBEGogAUEQaigCADYCACACQQhqQQhqIAFBCGopAgA3AwAgAkEIakEcaiABQRxqKQIANwIAIAJBCGpBJGogAUEkaigCADYCACACIAEpAgA3AwggAiABKQIUNwIcIAEgAkEIaiACQRxqIAARCQBBAXE6ACggAkEwaiQAQQALCwBBAEEBOgDI2xALRQIBfwF+IwBBEGsi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SRshBAJAIAFBAEgNAAJAQf4BIARrIAFODQAgA0GAgID8B3K+DwsCQCAEIAFqIgVBAEoNACACIAF0IANyvg8LAkAgBEEASg0AIAJBASAEa3RB////A3EgBUEXdHIgA3K+DwsgAUEXdCACar4PC0EAIARrIAFIDQECQEFpIARrIAFMDQAgA74PCyAEQQBKQRd0IAJB////A3FyQQAgAWsiBUEBIAQgAWprIgEgBSABSBtBf2oiAXZBAWpBAXYgAmggAUEfcUZBf3NxIANyviEACyAADwsgAUEXdCACar4LyQEDAX8BfgJ/QQAhAgJAAkACQCABvSIDQjSIpyIEQf8PcSIFRQ0AIAVB/w9HDQEMAgsgA0L/////////B4NQDQEgA0KAgICAgICAgIB/g0IAIAMgA0IMhnmnIgJBAWqthkL/////////B4MgAkE/cUEySxuEQoCAgICAgIDwP4QhA0GCeCACayECDAELIANC/////////4eAf4NCgICAgICAgPA/hCEDIARB/w9xQYJ4aiECCyAAQQA2AgwgACACNgIIIAAgAzcDAAvUAgIDfgJ/AkACQCAAIABiDQAgAL0iAkL///////////8Ag0KAgICAgICA+P8AWg0AIAJCgICAgICAgICAf4MhA0ELIAJCAYYiBHmnayAEQjWIpyAEQoCAgICAgIAQVBshBQJAIAFBAEgNAAJAQf4PIAVrIAFODQAgA0KAgICAgICA+P8AhL8PCwJAIAUgAWoiBkEASg0AIAIgAUE/ca2GIAOEvw8LAkAgBUEASg0AIAJBASAFa62GQv////////8HgyAGrUI0hoQgA4S/DwsgAa1CNIYgAny/DwtBACABayEGQQAgBWsgAUgNAQJAQUwgBWsgAUwNACADvw8LIAVBAEqtQjSGIAJC/////////weDhCAGQQEgBSABamsiASAGIAFIG0F/akE/ca0iBIhCAXxCAYggAnogBFGtQn+FgyADhL8hAAsgAA8LIAIgBq1CNIZ9vwsnAAJAIAAgAFwNAAJAIAEgAVsNACAADwsgASAAIAAgAV0bIQELIAELaAIBfgF/AkACQCAAvUL///////////8AgyIBQjSIpyICQf8PRg0AIAINAQJAIAFQRQ0AQYCAgIB4DwtBjXggAXmnaw8LQYCAgIB4Qf////8HIAFCgICAgICAgPj/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AKAhDyAIQXhqIQgMAAsLIAEgD5ogDyAaGzkDAAwBCyABIA+aIA8gGhs5AwAgAkEAIAJBAEobIQggBSsD8AEgD6EhDyAFQfABakEIaiEHAkADQCAIRQ0BIAhBf2ohCCAPIAcrAwCgIQ8gB0EIaiEHDAALCyABIA+aIA8gGhs5AwgLIAVBsARqJAAgGUEHcQ8LIAkgDyAHKAIAt6I5AwAgB0F8aiEHIAlBeGohCSAIQX9qIQggD0QAAAAAAABwPqIhDwwACwsgBUGQA2ogCUEDdGogDzkDACAKQQhqIQogCUEBaiEJDAALCyACIA85AwAgAkEIaiECIAhBf2ohCCAJQQRqIQkgB0EBaiEHDAALC9ICAgN/A30CQAJAIAAgAFwNACAAvCIBQR92IQICQAJAAkACQAJAAkACQCABQf////8HcSIDQc/YupUESw0AIANBmOTF9QNNDQEgA0GSq5T8A00NAgwECyADQYCAgPwHSw0GAkAgAUEASA0AIANBmOTFlQRJDQAgAEMAAAB/lA8LIAFBf0oNA0MAAAAAIQQgA0G047+WBEsNBwwDCyADQYCAgMgDTQ0BQQAhA0MAAAAAIQUgACEEDAQLIAJBAXMgAmshAwwCCyAAQwAAgD+SDwsgAEM7qrg/lCACQQJ0QZjVEGoqAgCS/AAhAwsgACADsiIEQwByMb+UkiIAIARDjr6/NZQiBZMhBAsgACAEIAQgBCAElCIGIAZDFVI1u5RDj6oqPpKUkyIGlEMAAABAIAaTlSAFk5JDAACAP5IhBCADRQ0BIAQgAxCZBQ8LIAAhBAsgBAuYBQMDfwJ8AX4jAEEwayIDJAACQAJAAkAgAL1C////////////AINC//////////f/AFYNACABvUL///////////8Ag0KAgICAgICA+P8AVA0BCyAAIAGiIAKgIQIMAQsgAr1C////////////AINC//////////f/AFYNAAJAAkAgAEQAAAAAAAAAAGENACABRAAAAAAAAAAAYg0BCyAAIAGiIAKgIQIMAQsCQCACRAAAAAAAAAAAYg0AIAAgAaIhAgwBCyADIAAQmgUgAysDACEAIAMoAgghBCADQRBqIAEQmgUgAysDECEBIAMoAhghBSADQSBqIAIQmgUgAysDICECAkACQCAFIARqIgQgAygCKGsiBUHrAEgNACACvUKAgICAgICAgIB/g0KAgICAgICACIS/IQYMAQsgAkEAIAVrEJsFIQYLIAAgAEQAAAACAACgQaIiAiAAIAKhoCICoSIHIAEgAUQAAAACAACgQaIiACABIAChoCIAoSIBoiAHIACiIAIgAaKgIgEgAiAAoiICIAIgAaAiAKGgoCEBAkAgACAGoCICRAAAAAAAAAAAYg0AIAIgASAEEJsFoCECDAELAkAgASABIAYgAiAAoSIHoSAAIAIgB6GhoCIGoCIAIAahIgehIAYgACAHoaGgIgFEAAAAAAAAAABhDQAgAL0iCKdBAXENACAIQgGEIAG9IAiFQj6Ifb8hAAsgAiAAoCEBAkAgAhCdBSAEakGCeE4NACAAIAEgAqEiBqEgAiAGIAGhoKAiAkQAAAAAAAAAAGENACABvSIIQgGDUCAIQjSIp0H/D3FBACAEa0dGDQAgCCACvSAIhUI+iEICg31CAXy/IQELIAEgBBCbBSECCyADQTBqJAAgAgsnAAJAIAAgAFwNAAJAIAEgAVsNACAADwsgACABIAAgAV0bIQELIAELggICAn8CfQJAAkACQCAAvCIBQYCAgARODQBDAACA/0MAAMB/IABDAAAAAFsiAhshAyACDQIgAUEASA0CIABDAAAATJS8IQFB6H4hAgwBCyAAIQMgAUH////7B0sNAUGBfyECQwAAAAAhAyABQYCAgPwDRg0BCyACIAFBjfarAmoiAUEXdmqyIgNDgHExP5QgAUH///8DcUHzidT5A2q+QwAAgL+SIgAgA0PR9xc3lCAAIABDAAAAQJKVIgMgACAAQwAAAD+UlCIEIAMgA5QiACAAIACUIgBD7umRPpRDqqoqP5KUIAAgAEMmnng+lEMTzsw+kpSSkpSSIASTkpIhAwsgAwuZAwIDfwF8IwBBEGsiASQAAkACQCAAvCICQf////8HcSIDQdqfpPoDSw0AIANBgICAzANJDQEgALsQoAUhAAwBCwJAAkACQAJAIANB0qftgwRJDQAgA0HW44iHBE8NAyAAuyEEIANB4Nu/hQRPDQEgAkF/Sg0CIARE0iEzf3zZEkCgEJ8FIQAMBAsgALshBAJAIANB5JfbgARJDQBEGC1EVPshCcBEGC1EVPshCUAgAkF/ShsgBKCaEKAFIQAMBAsCQCACQX9KDQAgBEQYLURU+yH5P6AQnwWMIQAMBAsgBEQYLURU+yH5v6AQnwUhAAwDC0QYLURU+yEZwEQYLURU+yEZQCACQX9KGyAEoBCgBSEADAILIARE0iEzf3zZEsCgEJ8FjCEADAELAkAgA0H////7B0sNACAAIAFBCGoQoQUhAyABKwMIIQQCQAJAAkACQCADQQNxDgQAAQIDAAsgBBCgBSEADAQLIAQQnwUhAAwDCyAEmhCgBSEADAILIAQQnwWMIQAMAQsgACAAkyEACyABQRBqJAAgAAsLrFYCAEGAgBALoFV4AAAAeQAAAHoAAAB7AAAAeyAuLi4gfQB7AG9wYWNpdHkAT3V0T2ZNZW1vcnkAbWF4X3kAbWluX3kAc2hhcGVzLmJvdW5kaW5nX2JveC5Cb3VuZGluZ0JveABpbWFnZXMuUGlja1ZlcnRleABpbmRleABtYXhfeABtaW5feAByZW5kZXJEcmF3AHYAdQB0ZXh0AFRleHQAZGlzdF9zdGFydABzZWxlY3Rpb25fc3RhcnQAc2xvdABzZXRTbmFwc2hvdABzbmFwc2hvdHMuUHJvamVjdFNuYXBzaG90AHN0b3BzX2NvdW50AFNlbGVjdGVkIHNoYXBlIGFzc2V0IHNob3VsZCBiZSBwcmVzZW50IGF0IHRoaXMgcG9pbnQAdG9Qb2ludAB0eXBlcy5Qb2ludABjb250ZW50AHVwZGF0ZVRleHRDb250ZW50AGltcG9ydFVpRWxlbWVudABpbmRleC5QbGFjZW1lbnQAc2RmLnNkZi5Vbmlmb3JtTGluZWFyR3JhZGllbnQAc2RmLmZpbGwuU2VyaWFsaXplZExpbmVhckdyYWRpZW50AHNkZi5maWxsLkxpbmVhckdyYWRpZW50AHNkZi5zZGYuVW5pZm9ybVJhZGlhbEdyYWRpZW50AHNkZi5maWxsLlNlcmlhbGl6ZWRSYWRpYWxHcmFkaWVudABzZGYuZmlsbC5SYWRpYWxHcmFkaWVudAB0ZXh0cy50ZXh0cy5Db21wdXRlVGV4dFJlc3VsdABsaW5lX2hlaWdodAByZW1vdmVBc3NldABvZmZzZXQAYml0T2Zmc2V0AGdlbmVyYXRlTmV3U25hcHNob3QgY2FsbGVkIHdpdGggd2l0aF9zbmFwc2hvdCA9PSBmYWxzZSBhbmQgY29tbWl0ID09IGZhbHNlLCBzbyB0aGlzIGZ1bmN0aW9uIGhhcyBOTyBlZmZlY3QAYXNzZXRfcHJvcHMuU2VyaWFsaXplZFNkZkVmZmVjdABzZGYuc2RmLkVmZmVjdAByYWRpdXMAcG9pbnRzAGFzc2V0cwBzZGZfZWZmZWN0cwBzdG9wcwB0eXBvX3Byb3BzAHNldFNlbGVjdGVkQXNzZXRQcm9wcwBhc3NldF9wcm9wcy5TZXJpYWxpemVkUHJvcHMAY29ubmVjdFdlYkdwdVByb2dyYW1zAGluZGV4LldlYkdwdVByb2dyYW1zAEZhaWxlZCB0byByZXRyaWV2ZSBzdG9yZWQgY2hhcmFjdGVyIGRldGFpbHMAdGV4dHMuZm9udHMuU2VyaWFsaXplZENoYXJEZXRhaWxzAGNvbm5lY3RDYWNoZUNhbGxiYWNrcwBwYXRocwBzZXRQYXRocwBmbGFncwBjb21wdXRlU2RmcwBjb21taXRDaGFuZ2VzAGJvdW5kcwBzZXRTZWxlY3RlZEFzc2V0Qm91bmRzAGRyYXdfYmx1cgBnYXVzc2lhbkJsdXIAY29sb3IAY2VudGVyAGZpbHRlcgBhc3NldF9wcm9wcy5GaWx0ZXIAbGluZWFyAHNkZi5zZGYuVW5pZm9ybUdyYWRpZW50U3RvcABzZGYuZmlsbC5HcmFkaWVudFN0b3AAb25Qb2ludGVyVXAAcmFkaXVzX3JhdGlvAGFuZ2xlVG8Ab25Qb2ludGVyRG93bgBzZXRDYXJldFBvc2l0aW9uAGRlc3RpbmF0aW9uAGFsaWduAG5hbgBzZGYuc2RmLkRyYXdVbmlmb3JtAHNoYXBlcy5zaGFwZXMuUGlja1VuaWZvcm0Ac2V0VG9vbAB0eXBlcy5Ub29sAGZpbGwAc2RmLmZpbGwuU2VyaWFsaXplZEZpbGwAc2RmLmZpbGwuRmlsbAByZXR2YWwAcmFkaWFsAHRpY2sAb25Qb2ludGVyRG91YmxlQ2xpY2sAcmVuZGVyUGljawBvblVwZGF0ZVBpY2sAVGV4dENhbGxiYWNrAGNvbm5lY3RPbkFzc2V0U2VsZWN0aW9uQ2FsbGJhY2sAb25VcGRhdGVUb29sQ2FsbGJhY2sAY29ubmVjdE9uQXNzZXRVcGRhdGVDYWxsYmFjawBsZW5ndGgAd2lkdGgAY29ubmVjdFR5cGluZwBwYWRkaW5nAGltZwBpbmYAVXRmOENhbm5vdEVuY29kZVN1cnJvZ2F0ZUhhbGYAZGlmZgBjbGVhcl9zZGYAY29tYmluZV9zZGYAZ2VuZXJhdGVVaUVsZW1lbnRzU2RmAGZvbnRfc2l6ZQBiaXRTaXplAGJ5dGVTaXplAG9uUG9pbnRlck1vdmUAb25Qb2ludGVyTGVhdmUAZGVpbml0U3RhdGUAZHJhd190ZXh0dXJlAHBpY2tfdGV4dHVyZQBjb25uZWN0Q3JlYXRlU2RmVGV4dHVyZQBzdHJ1Y3R1cmUAc2lnbmF0dXJlAGNvbXBhcmUAdHlwZQBkcmF3X3NoYXBlAHBpY2tfc2hhcGUAY29tcHV0ZV9zaGFwZQBEcmF3U2hhcGUARWRpdFNoYXBlAGFkZFNoYXBlAE5vbmUAbmFtZQBkcmF3X3RyaWFuZ2xlAHBpY2tfdHJpYW5nbGUATWF0cml4IG5vdCBpbnZlcnRpYmxlAHVwZGF0ZVJlbmRlclNjYWxlAHVwZGF0ZUNhY2hlAENvZGVwb2ludFRvb0xhcmdlAHRyaWFuZ2xlcy5EcmF3SW5zdGFuY2UAdHJpYW5nbGVzLlBpY2tJbnN0YW5jZQBkaXN0YW5jZQBGb250IElEIG5vdCBmb3VuZABkaXN0X2VuZABzZWxlY3Rpb25fZW5kAG1pZABzb2xpZABzZGYuc2RmLlVuaWZvcm1Tb2xpZABzZGZfdGV4dHVyZV9pZABjYWNoZV90ZXh0dXJlX2lkAHR5cGVzLkFzc2V0U2VyaWFsaXplZAB0ZXh0cy50ZXh0cy5TZXJpYWxpemVkAHRleHRzLnR5cG9ncmFwaHlfcHJvcHMuU2VyaWFsaXplZABzaGFwZXMuc2hhcGVzLlNlcmlhbGl6ZWQAaW1hZ2VzLlNlcmlhbGl6ZWQAdXBkYXRlVGV4dENvbnRlbnQgY2FsbGVkIGJ1dCBubyB0ZXh0IGFzc2V0IHNlbGVjdGVkAGlzX3NkZl9zaGFyZWQASmF2YVNjcmlwdCBmdW5jdGlvbiBmYWlsZWQATXVsdGl0aHJlYWRpbmcgbm90IGVuYWJsZWQAUHJvbWlzZSBlbmNvdW50ZXJlZCBpbiBtYWluIHRocmVhZAB0eXBlcy5Qb2ludFVWAEFTU0VUX0lEX01JTgBIAEludmFsaWRVdGY4ADUANAAzAHAyAHAxAHAwAHsgLgAs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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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"),e=new Uint8Array(A.length);for(let t=0;t<A.length;t++)e[t]=A.charCodeAt(t);return await new Promise((A=>setTimeout(A,0))),e.buffer})();FI.loadModule(MI,{memoryInitial:5,tableInitial:468,multithreaded:!1}),FI.linkVariables(!1);const{constructor:RI}=NI,LI=FI.getSpecialExports(),{connectWebGpuPrograms:zI,connectOnAssetUpdateCallback:qI,connectOnAssetSelectionCallback:JI,connectCreateSdfTexture:OI,onUpdateToolCallback:KI,SerializedCharDetails:TI,TextCallback:YI,connectTyping:HI,connectCacheCallbacks:PI,ASSET_ID_MIN:VI,initState:_I,updateRenderScale:WI,addShape:XI,removeAsset:jI,onUpdatePick:ZI,updateTextContent:$I,onPointerDown:AC,onPointerUp:eC,onPointerMove:tC,onPointerDoubleClick:iC,onPointerLeave:nC,commitChanges:rC,computeSdfs:sC,updateCache:aC,setCaretPosition:oC,renderDraw:gC,renderPick:IC,setSnapshot:CC,deinitState:QC,importUiElement:cC,generateUiElementsSdf:BC,setTool:lC,tick:EC,setSelectedAssetProps:uC,setSelectedAssetBounds:fC}=RI;await LI.init(),i()}catch(A){i(A)}}),1)},191:(A,e,t)=>{A.exports=t.p+"40dc20eab8f7c9f3.ttf"},2804:A=>{A.exports='<svg width="100%" height="100%" viewBox="0 0 417 417" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/">\n <path d="M314.628,297.396C332.174,273.76 342.561,244.497 342.561,212.827C342.561,143.329 292.564,85.41 226.6,73.137C216.426,71.244 209.703,61.447 211.596,51.274C213.489,41.1 223.286,34.377 233.459,36.27C316.841,51.784 380.061,124.978 380.061,212.827C380.061,253.008 366.839,290.126 344.51,320.06L391.536,320.06C403.034,320.06 412.369,329.395 412.369,340.893C412.369,352.391 403.034,361.727 391.536,361.727L293.794,361.727C282.288,361.727 272.961,352.399 272.961,340.893L272.961,243.151C272.961,231.653 282.296,222.318 293.794,222.318C305.293,222.318 314.628,231.653 314.628,243.151L314.628,297.396ZM67.746,91.893L23.592,91.893C12.093,91.893 2.758,82.558 2.758,71.059C2.758,59.561 12.093,50.226 23.592,50.226L121.333,50.226C132.839,50.226 142.167,59.554 142.167,71.059L142.167,168.801C142.167,180.299 132.832,189.635 121.333,189.635C109.835,189.635 100.5,180.299 100.5,168.801L100.5,111.903C74.501,137.66 58.384,173.375 58.384,212.827C58.384,282.095 108.051,339.86 173.69,352.393C183.855,354.334 190.531,364.163 188.59,374.327C186.649,384.492 176.821,391.169 166.656,389.228C83.685,373.385 20.884,300.385 20.884,212.827C20.884,166.265 38.638,123.815 67.746,91.893Z"/>\n</svg>\n'},7256:()=>{},1285:(A,e,t)=>{var i=t(1388),n=t(6560),r=(t(4540),t(8e3));(0,n.co)({init(){this.accessorCache=new Map},getAccessor(A,e){const{type:t,bitSize:n,bitOffset:s,byteSize:a}=e,o=[],g=void 0===a&&(7&n||7&s);g&&o.push("Unaligned");let I=i.hQ[t];n>32&&(t===i.Z9.Int||t===i.Z9.Uint)&&(I=n<=64?`Big${I}`:`Jumbo${I}`),o.push(I,`${t===i.Z9.Bool&&a?8*a:n}`),g&&o.push(`@${s}`);const C=A+o.join("");let Q=DataView.prototype[C];if(Q)return Q;if(Q=this.accessorCache.get(C),Q)return Q;for(;o.length>0;){const t=`getAccessor${o.join("")}`;if(Q=this[t]?.(A,e))break;o.pop()}if(!Q)throw new Error(`No accessor available: ${C}`);return(0,r.n8)(Q,"name",(0,r.vQ)(C)),this.accessorCache.set(C,Q),Q}})},9592:(A,e,t)=>{var i=t(1388);(0,t(6560).co)({getAccessorBool(A,e){const{byteSize:t}=e,n=8*t,r=this.getAccessor(A,{type:i.Z9.Uint,bitSize:n,byteSize:t});if("get"===A)return function(A,e){return!!r.call(this,A,e)};{const A=n<=32?0:0n,e=n<=32?1:1n;return function(t,i,n){r.call(this,t,i?e:A,n)}}}})},5239:(A,e,t)=>{var i=t(1388);(0,t(6560).co)({getAccessorInt(A,e){const{bitSize:t,byteSize:n}=e;if(n){const e=this.getAccessor(A,{type:i.Z9.Uint,bitSize:8*n,byteSize:n}),r=2**(t-1),s=r-1;return"get"===A?function(A,t){const i=e.call(this,A,t);return(i&s)-(i&r)}:function(A,t,i){const n=t<0?r|t&s:t&s;e.call(this,A,n,i)}}}})},2148:(A,e,t)=>{(0,t(6560).co)({getAccessorUint(A,e){const{bitSize:t,byteSize:i}=e;if(i){const n=this.getAccessor(A,{...e,bitSize:8*i}),r=2**t-1;return"get"===A?function(A,e){return n.call(this,A,e)&r}:function(A,e,t){const i=e&r;n.call(this,A,i,t)}}}})},1388:(A,e,t)=>{t.d(e,{AD:()=>s,EK:()=>n,F7:()=>y,M_:()=>g,Nt:()=>C,Q6:()=>I,Q9:()=>p,UT:()=>Q,Z9:()=>u,Zm:()=>B,e2:()=>E,ev:()=>i,hQ:()=>f,pK:()=>h,sU:()=>o,sl:()=>l,tv:()=>c,uE:()=>a,yi:()=>r});const i={Primitive:0,Array:1,Struct:2,Union:3,ErrorUnion:4,ErrorSet:5,Enum:6,Optional:7,Pointer:8,Slice:9,Vector:10,Opaque:11,ArgStruct:12,VariadicStruct:13,Function:14},n=Object.keys(i),r={HasValue:1,HasObject:2,HasPointer:4,HasSlot:8},s={IsSize:16},a={HasSentinel:16,IsString:32,IsTypedArray:64,IsClampedArray:128},o={IsExtern:16,IsPacked:32,IsIterator:64,IsTuple:128,IsAllocator:256,IsPromise:512,IsGenerator:1024,IsAbortSignal:2048,IsOptional:4096,IsReader:8192,IsWriter:16384},g={HasSelector:16,HasTag:32,HasInaccessible:64,IsExtern:128,IsPacked:256,IsIterator:512},I={IsOpenEnded:16,IsIterator:32},C={HasSelector:16},Q={HasLength:16,IsMultiple:32,IsSingle:64,IsConst:128,IsNullable:256},c={HasSentinel:16,IsString:32,IsTypedArray:64,IsClampedArray:128,IsOpaque:256},B={IsGlobal:16},l={IsTypedArray:16,IsClampedArray:32},E={HasOptions:16,IsThrowing:32,IsAsync:64},u={Void:0,Bool:1,Int:2,Uint:3,Float:4,Object:5,Type:6,Literal:7,Null:8,Undefined:9,Unsupported:10},f=Object.keys(u),h={IsRequired:1,IsReadOnly:2,IsPartOfSet:4,IsSelector:8,IsMethod:16,IsSentinel:32,IsBackingInt:64,IsString:128},p={OK:0,Failure:1,Deadlock:2,Disabled:3},y={IsInactive:1,IsImmutable:2,IgnoreUncreated:4,IgnoreInactive:8,IgnoreArguments:16,IgnoreRetval:32}},6560:(A,e,t)=>{t.d(e,{NP:()=>s,co:()=>r});var i=t(8e3);const n={name:"",mixins:[]};function r(A){return n.mixins.includes(A)||n.mixins.push(A),A}function s(){return function(A,e){const t=[],n=function(){for(const A of t)A.call(this)},{prototype:r}=n;(0,i.n8)(n,"name",(0,i.vQ)(A));for(const A of e)for(let[e,n]of Object.entries(A))if("init"===e)t.push(n);else{if("function"==typeof n);else{let A=r[e];if(void 0!==A)if(A?.constructor===Object)n=Object.assign({...A},n);else if(A!==n)throw new Error(`Duplicate property: ${e}`)}(0,i.n8)(r,e,(0,i.vQ)(n))}return n}(n.name,n.mixins)}},4762:(A,e,t)=>{t.d(e,{BC:()=>s,BY:()=>U,FD:()=>_,G9:()=>w,Ho:()=>c,Jc:()=>K,L2:()=>f,O0:()=>a,Pd:()=>k,QB:()=>G,Qm:()=>S,SB:()=>y,UQ:()=>R,Uv:()=>v,V0:()=>P,Vp:()=>L,Y8:()=>h,Z6:()=>B,Zb:()=>I,_L:()=>p,_l:()=>M,a6:()=>V,b$:()=>x,ci:()=>o,ck:()=>q,d_:()=>T,iS:()=>C,if:()=>E,is:()=>u,it:()=>l,nz:()=>m,qG:()=>b,qx:()=>H,t7:()=>g,to:()=>Q,v2:()=>J,vp:()=>O,x1:()=>F,xH:()=>d,xp:()=>N,zy:()=>D});var i=t(1388),n=t(4540),r=t(8e3);Error;class s extends SyntaxError{constructor(A){super(`Cannot convert ${A} to an Int`)}}class a extends TypeError{constructor(){super("Unsupported")}}class o extends TypeError{constructor(A){const{name:e}=A;super(`An initializer must be provided to the constructor of ${e}, even when the intended value is undefined`)}}class g extends TypeError{constructor(A,e,t=null){const{name:n,type:r,byteSize:s}=A,a=e.byteLength,o=1!==s?"s":"";let g;if(r!==i.ev.Slice||t){g=`${n} has ${r===i.ev.Slice?t.length*s:s} byte${o}, received ${a}`}else g=`${n} has elements that are ${s} byte${o} in length, received ${a}`;super(g)}}class I extends TypeError{constructor(A){const{type:e,byteSize:t,typedArray:n}=A,r=1!==t?"s":"",s=["ArrayBuffer","DataView"].map(X);let a;n&&s.push(X(n.name)),a=e===i.ev.Slice?`Expecting ${Z(s)} that can accommodate items ${t} byte${r} in length`:`Expecting ${Z(s)} that is ${t} byte${r} in length`,super(a)}}class C extends TypeError{constructor(A,e){const{name:t}=A;let i;i="number"==typeof e||"bigint"==typeof e?`Value given does not correspond to an item of enum ${t}: ${e}`:`Enum item of the type ${t} expected, received ${e}`,super(i)}}class Q extends TypeError{constructor(A,e){const{name:t}=A,i=typeof e;let n;"string"===i||"number"===i||_(e)?(_(e)&&(e=`{ error: ${JSON.stringify(e.error)} }`),n=`Error ${i} does not corresponds to any error in error set ${t}: ${e}`):n=`Error of the type ${t} expected, received ${e}`,super(n)}}class c extends TypeError{constructor(A){const{name:e}=A;super(`Error given is not a part of error set ${e}`)}}TypeError;class B extends TypeError{constructor(A){const{name:e}=A;super(`Only one property of ${e} can be given a value`)}}class l extends TypeError{constructor(A,e,t){super(`Accessing property ${e} when ${t} is active`)}}class E extends TypeError{constructor(A,e,t){const{name:i,instance:{members:n}}=A;super(`${i} needs an initializer for one of its union properties: ${n.slice(0,t?-1:void 0).map((A=>A.name)).join(", ")}`)}}class u extends TypeError{constructor(A,e,t){const{name:i}=A,n=[];if(Array.isArray(e))for(const A of e)n.push(X(A));else n.push(X(e));const r=W(t);super(`${i} expects ${Z(n)} as argument, received ${r}`)}}class f extends u{constructor(A,e,t=!1){const{instance:{members:[s]},type:a,constructor:o}=A,g=[],I=(0,r.BF)(s);if(I){let A;switch(s.structure?.type){case i.ev.Enum:A="enum item";break;case i.ev.ErrorSet:A="error";break;default:A=I}g.push(`array of ${A}s`)}else g.push("array of objects");o[n.pM]&&g.push(o[n.pM].name),a===i.ev.Slice&&t&&g.push("length"),super(A,g.join(" or "),e)}}class h extends TypeError{constructor(A,e,t){const{name:i,length:n,instance:{members:[r]}}=A,{structure:{constructor:s}}=r,{length:a,constructor:o}=t,g=e?.length??n,I=1!==g?"s":"";let C;C=o===s?"only a single one":o.child===s?`a slice/array that has ${a}`:`${a} initializer${a>1?"s":""}`,super(`${i} has ${g} element${I}, received ${C}`)}}class p extends TypeError{constructor(A,e){super(A<0?"Length of slice cannot be negative":`Length of slice can be ${e} or less, received ${A}`)}}class y extends TypeError{constructor(A,e){const{name:t}=A;super(`Missing initializers for ${t}: ${e.join(", ")}`)}}class d extends TypeError{constructor(A,e){const{name:t,instance:{members:i}}=A;let n;n=i.find((A=>A.name===e))?`Comptime value cannot be changed: ${e}`:`${t} does not have a property with that name: ${e}`,super(n)}}class m extends Error{constructor(A,e,t=!1){super();const i=i=>{e-=i;const n=1!==(A-=i)?"s":"",r=t?"at least ":"";this.message=`Expecting ${r}${A} argument${n}, received ${e}`,this.stack=Y(this.stack,"new Arg(")};i(0),(0,r.n8)(this,n.q6,{value:i,enumerable:!1})}}class b extends Error{constructor(){super("Undefined argument")}}class D extends TypeError{constructor(){super("Non-slice pointers can only be created with the help of the new operator")}}class S extends TypeError{constructor(){super("Casting to function is not allowed")}}class w extends TypeError{constructor(A,e){const{name:t}=A,{constructor:{name:i}}=e;super(`Conversion of ${i} to ${t} requires an explicit cast`)}}TypeError;TypeError;class v extends TypeError{constructor(A,e){super(`Unable to simultaneously align memory to ${e}-byte and ${A}-byte boundary`)}}TypeError;class k extends TypeError{constructor(A,e){const t=W(e);super(`Expected ${X(A)}, received ${t}`)}}class x extends TypeError{constructor(){super("Pointers within an untagged union are not accessible")}}class U extends TypeError{constructor(){super("Null pointer")}}class N extends TypeError{constructor(A){super(`Object has been freed already: ${A.constructor.name}`)}}class G extends TypeError{constructor(A,e){const{name:t}=A;let i;if(null!=e){const A=e instanceof Object&&e.constructor!==Object?`${e.constructor.name} object`:typeof e;i=`${j(A)} ${A}`}else i=e+"";super(`${t} cannot point to ${i}`)}}class F extends TypeError{constructor(){super("Pointers in Zig memory cannot point to garbage-collected object")}}TypeError;class M extends RangeError{constructor(A,e){const{name:t}=A;super(`Index exceeds the size of ${t??"array"}: ${e}`)}}class R extends TypeError{constructor(A){const{name:e}=A;super(`${void 0!==e?`Property ${e}`:"Element"} can only be undefined`)}}class L extends TypeError{constructor(A){const{name:e,structure:{name:t}}=A;super(`Unable to create ${t} as it is not situated on a byte boundary: ${e}`)}}class z extends TypeError{constructor(){super("Unable to modify read-only object")}}class q extends TypeError{constructor(A){const{name:e}=A;super(`${e} cannot point to a read-only object`)}}TypeError;TypeError;TypeError;class J extends TypeError{constructor(){super("Unexpected async generator")}}class O extends Error{constructor(A,e=0){if(A instanceof Error)return super(A.message),A.stack=Y(this.stack,e),A;super(A??"Error encountered in Zig code")}}class K extends O{constructor(A){super("Program exited"),this.code=A}}function T(A,e){const t=t=>{e-=t,A.message=`args[${e}]: ${A.message}`,A.stack=Y(A.stack,"new Arg(")};return t(0),(0,r.n8)(A,n.q6,{value:t,enumerable:!1}),A}function Y(A,e){if("string"==typeof A){const t=A.split("\n"),i=t.findIndex((A=>A.includes(e)));-1!==i&&(t.splice(1,i),A=t.join("\n"))}return A}function H(A,e,t){return t instanceof RangeError&&!(t instanceof M)&&(t=new M(A,e)),t}function P(){throw new z}function V(A){let e=A.replace(/_/g," ");try{e=e.replace(/(\p{Uppercase}+)(\p{Lowercase}*)/gu,((A,e,t)=>1===e.length?` ${e.toLocaleLowerCase()}${t}`:t?A:` ${e}`)).trimStart()}catch(A){}return e.charAt(0).toLocaleUpperCase()+e.substring(1)}function _(A){return"object"==typeof A&&"string"==typeof A.error&&1===Object.keys(A).length}function W(A){const e=typeof A;let t;return t="object"===e?A?Object.prototype.toString.call(A):"null":e,X(t)}function X(A){return`${j(A)} ${A}`}function j(A){return/^\W*[aeiou]/i.test(A)?"an":"a"}function Z(A,e="or"){const t=` ${e} `;return A.length>2?A.slice(0,-1).join(", ")+t+A[A.length-1]:A.join(t)}},4358:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4540);(0,n.co)({init(){this.variables=[]},getSpecialExports(){const A=A=>{if(void 0===A)throw new Error("Not a Zig type");return A};return{init:(...A)=>this.initialize?.(...A),abandon:()=>this.abandonModule?.(),connect:A=>this.consoleObject=A,sizeOf:e=>A(e?.[r.SK]),alignOf:e=>A(e?.[r.Ec]),typeOf:e=>s[A(e?.[r.ZE])]}},recreateStructures(A,e){Object.assign(this,e);const t=(A,e)=>{for(const[t,i]of Object.entries(e))A[t]=n(i);return A},i=A=>A.length?A.buffer:new ArrayBuffer(0),n=A=>{const{memory:e,structure:n,actual:s}=A;if(e){if(s)return s;{const{array:s,offset:a,length:o}=e,g=this.obtainView(i(s),a,o),{handle:I,const:C}=A,Q=n?.constructor,c=A.actual=Q.call(r.M0,g);return C&&this.makeReadOnly(c),A.slots&&t(c[r._f],A.slots),I&&this.variables.push({handle:I,object:c}),c}}return n},s=new Map;for(const e of A){for(const A of[e.instance,e.static])if(A.template){const{slots:e,memory:t,handle:n}=A.template,a=A.template={};if(t){const{array:A,offset:e,length:s}=t;a[r.Qy]=this.obtainView(i(A),e,s),n&&this.variables.push({handle:n,object:a})}if(e){const A=a[r._f]={};s.set(A,e)}}this.defineStructure(e)}for(const[A,e]of s)t(A,e);for(const e of A)this.finalizeStructure(e)}});const s=i.EK.map((A=>A.replace(/([a-z])([A-Z])/g,"$1 $2").toLowerCase()))},4828:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540);(0,n.co)({init(){this.jsFunctionThunkMap=new Map,this.jsFunctionCallerMap=new Map,this.jsFunctionControllerMap=new Map,this.jsFunctionIdMap=new WeakMap,this.jsFunctionNextId=1},getFunctionId(A){let e=this.jsFunctionIdMap.get(A);return void 0===e&&(e=this.jsFunctionNextId++,this.jsFunctionIdMap.set(A,e)),e},getFunctionThunk(A,e){const t=this.getFunctionId(A);let i=this.jsFunctionThunkMap.get(t);if(void 0===i){const A=this.getViewAddress(e[s.Qy]),n=this.createJsThunk(A,t);if(!n)throw new Error("Unable to create function thunk");i=this.obtainZigView(n,0),this.jsFunctionThunkMap.set(t,i),this.jsFunctionControllerMap.set(t,e)}return i},createInboundCaller(A,e){const t=this.getFunctionId(A);return this.jsFunctionCallerMap.set(t,((t,n)=>{let a=i.Q9.OK,o=!1;try{const g=e(t);if(s.g9 in g){g[s.g9]("reset");const A=this.startContext();this.updatePointerTargets(A,g,!0),this.updateShadowTargets(A),this.endContext()}const I=function(A){try{if(!(e[s.du]&&A instanceof Error))throw A;g[s.zg](A)}catch(e){a=i.Q9.Failure,console.error(A)}},C=function(A){try{g[s.zg](A)}catch(A){a=i.Q9.Failure,console.error(A)}};try{const e=A(...g),t=g.hasOwnProperty(s.zg);if("Promise"===e?.[Symbol.toStringTag])if(n||t){const A=e.then(C,I);n&&A.then((()=>this.finalizeAsyncCall(n,a))),o=!0,a=i.Q9.OK}else a=i.Q9.Deadlock;else if(e?.[Symbol.asyncIterator]){if(!g.hasOwnProperty(s.wg))throw new r.v2;this.pipeContents(e,g),a=i.Q9.OK}else null==e&&t||C(e)}catch(A){I(A)}}catch(A){console.error(A),a=i.Q9.Failure}return n&&!o&&this.finalizeAsyncCall(n,a),a})),function(...e){return A(...e)}},defineArgIterator(A){const e=this,t=A.filter((({structure:A})=>A.type===i.ev.Struct&&A.flags&i.sU.IsAllocator)).length;return{value(){let n,r=0,a=0,o=0;const g=[];for(const[I,{structure:C,type:Q}]of A.entries())try{let A,c,B=this[I];Q===i.Z9.Object&&B?.[s.Qy]?.[s.Dr]&&(B=new B.constructor(B)),C.type===i.ev.Struct&&(C.flags&i.sU.IsAllocator?(A=1===t?"allocator":"allocator"+ ++r,c=this[s.Gz]=B):C.flags&i.sU.IsPromise?(A="callback",1==++a&&(c=e.createPromiseCallback(this,B))):C.flags&i.sU.IsGenerator?(A="callback",1==++a&&(c=e.createGeneratorCallback(this,B))):C.flags&i.sU.IsAbortSignal&&(A="signal",1==++o&&(c=e.createInboundSignal(B)))),void 0!==A?void 0!==c&&(n||={},n[A]=c):g.push(B)}catch(A){g.push(A)}return n&&g.push(n),g[Symbol.iterator]()}}},handleJsCall(A,e,t,n=0){const r=this.obtainZigView(e,t,!1),s=this.jsFunctionCallerMap.get(A);return s?s(r,n):i.Q9.Failure},releaseFunction(A){const e=this.jsFunctionThunkMap.get(A),t=this.jsFunctionControllerMap.get(A);if(e&&t){const i=this.getViewAddress(t[s.Qy]),n=this.getViewAddress(e);this.destroyJsThunk(i,n),this.releaseZigView(e),A&&(this.jsFunctionThunkMap.delete(A),this.jsFunctionCallerMap.delete(A),this.jsFunctionControllerMap.delete(A))}},freeFunction(A){this.releaseFunction(this.getFunctionId(A))},exports:{handleJsCall:{argType:"iiii",returnType:"i"},releaseFunction:{argType:"i"}},imports:{createJsThunk:{argType:"ii",returnType:"i"},destroyJsThunk:{argType:"ii",returnType:"i"},finalizeAsyncCall:{argType:"ii"}}})},6973:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540);(0,n.co)({createOutboundCaller(A,e){const t=this,i=function(...n){if(!t.runThunk)return t.initPromise.then((()=>i(...n)));const a=new e(n,this?.[s.Gz]);try{return t.invokeThunk(A,i,a)}catch(A){if(A instanceof r.Jc&&0===A.code)return;throw A}};return i},copyArguments(A,e,t,n,a){let o=0,g=0,I=0;const C=A[s.Bl];for(const{type:s,structure:Q}of t){let t,c,B,l;if(Q.type===i.ev.Struct)if(Q.flags&i.sU.IsAllocator){t=(1==++I?n?.allocator??n?.allocator1:n?.[`allocator${I}`])??this.createDefaultAllocator(A,Q)}else Q.flags&i.sU.IsPromise?(c||=this.createPromise(Q,A,n?.callback),t=c):Q.flags&i.sU.IsGenerator?(B||=this.createGenerator(Q,A,n?.callback),t=B):Q.flags&i.sU.IsAbortSignal?(l||=this.createSignal(Q,n?.signal),t=l):Q.flags&i.sU.IsReader?t=this.createReader(e[g++]):Q.flags&i.sU.IsWriter&&(t=this.createWriter(e[g++]));if(void 0===t&&(t=e[g++],void 0===t&&s!==i.Z9.Void))throw new r.qG;try{C[o++].call(A,t,a)}catch(A){throw(0,r.d_)(A,o-1)}}},invokeThunk(A,e,t){const i=this.startContext(),n=t[s.iw],a=this.getViewAddress(A[s.Qy]),o=this.getViewAddress(e[s.Qy]),g=s.vm in t,I=s.g9 in t;I&&this.updatePointerAddresses(i,t);const C=this.getShadowAddress(i,t,null,!1),Q=n?this.getShadowAddress(i,n):0;this.updateShadows(i);const c=()=>{this.updateShadowTargets(i),I&&this.updatePointerTargets(i,t),this.libc&&this.flushStdout?.(),this.flushConsole?.(),this.endContext()};g&&(t[s.vm]=c);if(!(n?this.runVariadicThunk(a,o,C,Q,n.length):this.runThunk(a,o,C)))throw c(),new r.vp;if(t[s.sF]?.(this.findShadowView(t[s.Qy])),g){let A=null;try{A=t.retval}catch(e){A=new r.vp(e,1)}return null!=A?(e[s.fM]&&A&&(A=A.string),t[s.zg](A)):e[s.fM]&&(t[s.fM]=!0),t[s.eR]??t[s._d]}c();try{const{retval:A}=t;return e[s.fM]&&A?A.string:A}catch(A){throw new r.vp(A,1)}},imports:{runThunk:{argType:"iii",returnType:"b"},runVariadicThunk:{argType:"iiiii",returnType:"b"}}})},2427:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4540),s=t(8e3);(0,n.co)({init(){const A={type:i.Z9.Int,bitSize:8,byteSize:1},e={type:i.Z9.Int,bitSize:16,byteSize:2},t={type:i.Z9.Int,bitSize:32,byteSize:4},n=this.getAccessor("get",A),r=this.getAccessor("set",A),a=this.getAccessor("get",e),o=this.getAccessor("set",e),g=this.getAccessor("get",t),I=this.getAccessor("set",t);this.copiers={0:s.Ie,1:function(A,e){r.call(A,0,n.call(e,0))},2:function(A,e){o.call(A,0,a.call(e,0,!0),!0)},4:function(A,e){I.call(A,0,g.call(e,0,!0),!0)},8:function(A,e){I.call(A,0,g.call(e,0,!0),!0),I.call(A,4,g.call(e,4,!0),!0)},16:function(A,e){I.call(A,0,g.call(e,0,!0),!0),I.call(A,4,g.call(e,4,!0),!0),I.call(A,8,g.call(e,8,!0),!0),I.call(A,12,g.call(e,12,!0),!0)},any:function(A,e){let t=0,i=A.byteLength;for(;t+4<=i;)I.call(A,t,g.call(e,t,!0),!0),t+=4;for(;t+1<=i;)r.call(A,t,n.call(e,t)),t++}},this.resetters={0:s.Ie,1:function(A,e){r.call(A,e,0)},2:function(A,e){o.call(A,e,0,!0)},4:function(A,e){I.call(A,e,0,!0)},8:function(A,e){I.call(A,e+0,0,!0),I.call(A,e+4,0,!0)},16:function(A,e){I.call(A,e+0,0,!0),I.call(A,e+4,0,!0),I.call(A,e+8,0,!0),I.call(A,e+12,0,!0)},any:function(A,e,t){let i=e;for(;i+4<=t;)I.call(A,i,0,!0),i+=4;for(;i+1<=t;)r.call(A,i,0),i++}}},defineCopier(A,e){const t=this.getCopyFunction(A,e);return{value(A){this[r.zN]?.(),A[r.zN]?.();const e=A[r.Qy],i=this[r.Qy];t(i,e)}}},defineResetter(A,e){const t=this.getResetFunction(e);return{value(){this[r.zN]?.();const i=this[r.Qy];t(i,A,e)}}},getCopyFunction(A,e=!1){return(e?void 0:this.copiers[A])??this.copiers.any},getResetFunction(A){return this.resetters[A]??this.resetters.any},...{defineRetvalCopier({byteSize:A,bitOffset:e}){if(A>0){const t=this,i=e>>3,n=this.getCopyFunction(A);return{value(e){const s=this[r.Qy],{address:a}=e[r.Dr],o=new DataView(t.memory.buffer,a+i,A),g=new DataView(s.buffer,s.byteOffset+i,A);n(g,o)}}}},copyExternBytes(A,e,t){const{memory:i}=this,n=new DataView(i.buffer,e,t);this.getCopyFunction(t)(A,n)}}})},1669:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762);(0,n.co)({addIntConversion:A=>function(e,t){const n=A.call(this,e,t),{flags:s,bitSize:a}=t;if("set"===e)return a>32?function(A,e,t){n.call(this,A,BigInt(e),t)}:function(A,e,t){const i=Number(e);if(!isFinite(i))throw new r.BC(e);n.call(this,A,i,t)};{const{flags:A}=t.structure;if(A&i.AD.IsSize&&a>32){const A=BigInt(Number.MAX_SAFE_INTEGER),e=BigInt(Number.MIN_SAFE_INTEGER);return function(t,i){const r=n.call(this,t,i);return e<=r&&r<=A?Number(r):r}}}return n}})},6929:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540),s=t(8e3);(0,i.co)({init(){this.isMemoryMapping=!0,this.memoryList=[],this.contextCount=0},startContext(){return++this.contextCount,{shadowList:[]}},endContext(){if(0==--this.contextCount){for(const{shadowDV:A}of this.memoryList)A&&this.freeShadowMemory(A);this.memoryList.splice(0)}},getShadowAddress(A,e,t,i){const a=e[r.Qy];if(t){if(void 0===t.address){const{start:e,end:g,targets:I}=t;let C,Q=0;for(const A of I){const e=A[r.Qy],t=e.byteOffset,i=A.constructor[r.Ec]??e[r.Ec];(void 0===Q||i>Q)&&(Q=i,C=t)}const c=g-e,B=this.allocateShadowMemory(c+Q,1),l=this.getViewAddress(B),E=(0,s.hJ)((0,s.Au)(l,C-e),Q),u=(0,s.Au)(E,e-C);for(const A of I){const t=A[r.Qy],i=t.byteOffset;if(i!==C){const a=A.constructor[r.Ec]??t[r.Ec];if((0,s.on)((0,s.Au)(u,i-e),a))throw new n.Uv(a,Q)}}const f=B.byteOffset+Number(u-l),h=new DataView(B.buffer,f,c);h[r.Dr]={address:u,len:c,align:1,unalignedAddress:l,type:o.Scratch};const p=new DataView(a.buffer,Number(e),c),y=this.registerMemory(u,c,1,i,p,h);A.shadowList.push(y),t.address=u}return(0,s.Au)(t.address,a.byteOffset-t.start)}{const t=e.constructor[r.Ec]??a[r.Ec],n=a.byteLength,s=this.allocateShadowMemory(n,t),o=this.getViewAddress(s),g=this.registerMemory(o,n,1,i,a,s);return A.shadowList.push(g),o}},updateShadows(A){const e=this.getCopyFunction();for(let{targetDV:t,shadowDV:i}of A.shadowList)i=this.restoreView(i),e(i,t)},updateShadowTargets(A){const e=this.getCopyFunction();for(let{targetDV:t,shadowDV:i,writable:n}of A.shadowList)n&&(i=this.restoreView(i),e(t,i))},registerMemory(A,e,t,i,n,r){const s=a(this.memoryList,A);let o=this.memoryList[s-1];return o?.address===A&&o.len===e?o.writable||=i:(o={address:A,len:e,align:t,writable:i,targetDV:n,shadowDV:r},this.memoryList.splice(s,0,o)),o},unregisterMemory(A,e){const t=a(this.memoryList,A),i=this.memoryList[t-1];if(i?.address===A&&i.len===e)return this.memoryList.splice(t-1,1),i},findMemory(A,e,t,i){let n=t*(i??0);const o=a(this.memoryList,e),g=this.memoryList[o-1];let I;if(g?.address===e&&g.len===n)I=g.targetDV;else if(g?.address<=e&&(0,s.Au)(e,n)<=(0,s.Au)(g.address,g.len)){const A=Number(e-g.address),t=void 0===i,{targetDV:s}=g;t&&(n=s.byteLength-A),I=this.obtainView(s.buffer,s.byteOffset+A,n),t&&(I[r.Ec]=g.align)}if(I){let{targetDV:e,shadowDV:t}=g;if(t&&A&&!A.shadowList.includes(g)){t=this.restoreView(t);this.getCopyFunction()(e,t)}}else I=this.obtainZigView(e,n);return I},findShadowView(A){for(const{shadowDV:e,targetDV:t}of this.memoryList)if(t===A)return e},releaseZigView(A){const e=A[r.Dr],t=e?.address;t&&t!==s.Y$&&(e.address=s.Y$)},getViewAddress(A){const e=A[r.Dr];if(e)return e.address;{const e=this.getBufferAddress(A.buffer);return(0,s.Au)(e,A.byteOffset)}},...{imports:{allocateScratchMemory:{argType:"ii",returnType:"i"},freeScratchMemory:{argType:"iii"}},exports:{getViewAddress:{argType:"v",returnType:"i"}},usizeMaxBuffer:new ArrayBuffer(0),allocateShadowMemory(A,e){const t=A?this.allocateScratchMemory(A,e):0;if(!t&&A)throw new Error("Out of memory");const i=this.obtainZigView(t,A),n=i?.[r.Dr];return n&&(n.align=e),i},freeShadowMemory(A){const{address:e,unalignedAddress:t,len:i,align:n}=A[r.Dr];i&&this.freeScratchMemory(t??e,i,n),this.releaseZigView(A)},obtainZigView(A,e,t=!0){if((0,s.cv)(A)&&(A=e>0?0:s.Fy),!A&&e)return null;let i,{buffer:n}=this.memory;return A===s.Fy&&(n=this.usizeMaxBuffer,A=s.$k,e=0),t?i=this.obtainView(n,A,e):(i=new DataView(n,A,e),i[r.Dr]={address:A,len:e}),i},getTargetAddress(A,e,t,i){const n=e[r.Qy];return n[r.Dr]?this.getViewAddress(n):0===n.byteLength?0:this.getShadowAddress(A,e,t,i)},getBufferAddress:A=>0}});function a(A,e){return(0,s.ZG)(A,e,(A=>A.address))}const o={Normal:0,Scratch:1}},4936:(A,e,t)=>{var i=t(6560),n=t(8e3);(0,i.co)({init(){this.abandoned=!1,this.destructors=[],this.nextValueIndex=1,this.valueMap=new Map,this.valueIndices=new Map,this.options=null,this.executable=null,this.memory=null,this.table=null,this.initialTableLength=0,this.exportedFunctions=null},abandonModule(){if(!this.abandoned){for(const A of this.destructors.reverse())A();this.abandoned=!0}},...{imports:{initialize:{argType:""}},exports:{displayPanic:{argType:"ii"}},async initialize(A){this.setCustomWASI?.(A),await this.initPromise},getObjectIndex(A){if(null!=A){let e=this.valueIndices.get(A);return void 0===e&&(e=this.nextValueIndex++,this.valueIndices.set(A,e),this.valueMap.set(e,A)),e}return 0},fromWebAssembly(A,e){switch(A){case"v":case"s":return this.valueMap.get(e);case"i":return e;case"b":return!!e}},toWebAssembly(A,e){switch(A){case"v":case"s":return this.getObjectIndex(e);case"i":return e;case"b":return e?1:0}},exportFunction(A,e="",t="",i){return A?(...i)=>{i=i.map(((A,t)=>this.fromWebAssembly(e.charAt(t),A)));const n=A.apply(this,i);return this.toWebAssembly(t,n)}:()=>{}},importFunction(A,e="",t=""){return(...i)=>{i=i.map(((A,t)=>this.toWebAssembly(e.charAt(t),A)));const n=A.apply(this,i);return this.fromWebAssembly(t,n)}},exportFunctions(){const A={};for(const[e,{argType:t,returnType:i,alias:n}]of Object.entries(this.exports)){const r=this[n??e];r&&(A[`_${e}`]=this.exportFunction(r,t,i,e))}return A},importFunctions(A){for(const[e,{argType:t,returnType:i}]of Object.entries(this.imports)){const s=A[e];s&&((0,n.n8)(this,e,(0,n.vQ)(this.importFunction(s,t,i))),this.destructors.push((()=>this[e]=r)))}},async instantiateWebAssembly(A,e){const{memoryInitial:t,memoryMax:i,tableInitial:r,multithreaded:s}=this.options=e,a=await A,o="Response"===a[Symbol.toStringTag]?"Streaming":"",g=WebAssembly,I=g["compile"+o],C=this.executable=await I(a),Q=this.exportFunctions(),c={},B={},l={},E=this.exportedModules={env:c,wasi:B,wasi_snapshot_preview1:l};for(const{module:A,name:e,kind:t}of g.Module.imports(C))"function"===t&&("env"===A?c[e]=Q[e]??n.Ie:"wasi_snapshot_preview1"===A?l[e]=this.getWASIHandler(e):"wasi"===A&&(B[e]=this.getThreadHandler?.(e)??n.Ie));return this.memory=c.memory=new g.Memory({initial:t,maximum:i,shared:s}),this.table=c.__indirect_function_table=new g.Table({initial:r,element:"anyfunc",shared:s}),this.initialTableLength=r,g.instantiate(C,E)},loadModule(A,e){return this.initPromise=(async()=>{const t=await this.instantiateWebAssembly(A,e),{exports:i}=t;if(this.importFunctions(i),this.customWASI){const A={...i,memory:this.memory},e=new Proxy(t,{get:(e,t)=>"exports"===t?A:e[t]});this.customWASI.initialize?.(e)}this.initialize()})()},displayPanic(A,e){const t=new Uint8Array(this.memory.buffer,A,e),i=(0,n.g7)(t);console.error(`Zig panic: ${i}`)}}});const r=()=>{throw new Error("Module was abandoned")}},9268:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4540);(0,n.co)({linkVariables(A){if(!this.memory)return void(this.initPromise=this.initPromise.then((()=>this.linkVariables(A))));const e=this.getCopyFunction();for(const{object:t,handle:n}of this.variables){const s=t[r.Qy],a=n;let o=t[r.Qy]=this.obtainZigView(a,s.byteLength);A&&e(o,s),t.constructor[r.fV]?.save?.(o,t),this.destructors.push((()=>{o=this.restoreView(t[r.Qy]);const A=t[r.Qy]=this.allocateMemory(o.bytelength);e(A,o)}));const g=A=>{const e=A[r._f];if(e){const A=o.byteOffset;for(const t of Object.values(e))if(t){const e=t[r.Qy];if(e.buffer===s.buffer){const i=A+e.byteOffset-s.byteOffset;t[r.Qy]=this.obtainView(o.buffer,i,e.byteLength),t.constructor[r.fV]?.save?.(o,t),g(t)}}}};g(t),t[r.g9]?.((function(){this[r.q6]()}),i.F7.IgnoreInactive)}},imports:{recreateAddress:{argType:"i",returnType:"i"}}})},7409:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4540),s=t(8e3);(0,n.co)({updatePointerAddresses(A,e){const t=new Map,n=new Map,a=[],o=function(A){const e=this[r.C7];if(void 0===t.get(e)){const A=e[r._f][0];if(A){const i={target:A,writable:!e.constructor.const},g=A[r.Qy];if(g[r.Dr])t.set(e,null);else{t.set(e,A);const I=n.get(g.buffer);if(I){const A=Array.isArray(I)?I:[I],e=(0,s.ZG)(A,g.byteOffset,(A=>A.target[r.Qy].byteOffset));A.splice(e,0,i),Array.isArray(I)||(n.set(g.buffer,A),a.push(A))}else n.set(g.buffer,i);A[r.g9]?.(o,0)}}}},g=i.F7.IgnoreRetval|i.F7.IgnoreInactive;e[r.g9](o,g);const I=this.findTargetClusters(a),C=new Map;for(const A of I)for(const e of A.targets)C.set(e,A);for(const[e,i]of t)if(i){const t=C.get(i),n=t?.writable??!e.constructor.const;e[r.BD]=this.getTargetAddress(A,i,t,n),r.pi in e&&(e[r.pi]=i.length)}},updatePointerTargets(A,e,t=!1){const n=new Map,s=function(e){const t=this[r.C7];if(!n.get(t)){n.set(t,!0);const a=t[r._f][0],o=a&&e&i.F7.IsImmutable?a:t[r.q6](A,!0,!(e&i.F7.IsInactive)),g=t.constructor.const?i.F7.IsImmutable:0;g&i.F7.IsImmutable||a&&!a[r.Qy][r.Dr]&&a[r.g9]?.(s,g),o!==a&&o&&!o[r.Qy][r.Dr]&&o?.[r.g9]?.(s,g)}},a=t?i.F7.IgnoreRetval:0;e[r.g9](s,a)},findTargetClusters(A){const e=[];for(const t of A){let A=null,i=0,n=0,s=null;for(const{target:a,writable:o}of t){const t=a[r.Qy],{byteOffset:g,byteLength:I}=t,C=g+I;let Q=!0;A&&(n>g?(s?s.writable||=o:(s={targets:[A],start:i,end:n,address:void 0,misaligned:void 0,writable:o},e.push(s)),s.targets.push(a),C>n?s.end=C:Q=!1):s=null),Q&&(A=a,i=g,n=C)}}return e}})},3586:(A,e,t)=>{t(1388);var i=t(6560),n=t(8e3);(0,i.co)({init(){this.consoleObject=null,this.consolePending=[],this.consoleTimeout=0},writeToConsole(A){try{const e=new Uint8Array(A.buffer,A.byteOffset,A.byteLength).slice(),t=e.lastIndexOf(10);if(-1===t)this.consolePending.push(e);else{const A=e.subarray(0,t),i=e.subarray(t+1);this.writeToConsoleNow([...this.consolePending,A]),this.consolePending.splice(0),i.length>0&&this.consolePending.push(i)}return clearTimeout(this.consoleTimeout),this.consoleTimeout=0,this.consolePending.length>0&&(this.consoleTimeout=setTimeout((()=>{this.writeToConsoleNow(this.consolePending),this.consolePending.splice(0)}),250)),!0}catch(A){return console.error(A),!1}},writeToConsoleNow(A){const e=this.consoleObject??globalThis.console;e.log?.call?.(e,(0,n.g7)(A))},flushConsole(){this.consolePending.length>0&&(this.writeToConsoleNow(this.consolePending),this.consolePending.splice(0),clearTimeout(this.consoleTimeout))},imports:{flushStdout:{argType:"",returnType:""}}})},2436:(A,e,t)=>{var i=t(6560),n=t(8e3);(0,i.co)({...{exports:{allocateJsThunk:{argType:"ii",returnType:"i"},freeJsThunk:{argType:"ii",returnType:"i"}},init(){this.thunkSources=[],this.thunkMap=new Map},addJsThunkSource(){const{memoryInitial:A,memoryMax:e,tableInitial:t,multithreaded:i}=this.options,r=WebAssembly,s={},a={},o={env:s,wasi:{},wasi_snapshot_preview1:a};for(const{module:A,name:e,kind:t}of r.Module.imports(this.executable))"function"===t&&("env"===A?s[e]=n.Ie:"wasi_snapshot_preview1"===A&&(a[e]=n.Ie));s.memory=new r.Memory({initial:A,maximum:e,shared:i});const g=s.__indirect_function_table=new r.Table({initial:t,element:"anyfunc"}),{exports:I}=new r.Instance(this.executable,o),{createJsThunk:C,destroyJsThunk:Q}=I,c={thunkCount:0,createJsThunk:C,destroyJsThunk:Q,table:g};return this.thunkSources.unshift(c),c},allocateJsThunk(A,e){let t,i=0;for(t of this.thunkSources){i=t.createJsThunk(A,e);break}i||(t=this.addJsThunkSource(),i=t.createJsThunk(A,e));const n=t.table.get(i);let r=0;for(let A=this.table.length-1;A>=this.initialTableLength;A--)if(!this.table.get(A)){r=A;break}return r||(r=this.table.length,this.table.grow(8)),this.table.set(r,n),t.thunkCount++,this.thunkMap.set(n,{source:t,sourceAddress:i}),r},freeJsThunk(A,e){let t=0;const i=this.table.get(e);this.table.set(e,null);const n=this.thunkMap.get(i);if(n){const{source:e,sourceAddress:r}=n;if(t=e.destroyJsThunk(A,r),0==--e.thunkCount){const A=this.thunkSources.indexOf(e);-1!==A&&this.thunkSources.splice(A,1)}this.thunkMap.delete(i)}return t}}})},8738:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({init(){this.viewMap=new WeakMap},extractView(A,e,t=g){const{type:n,byteSize:I,constructor:C}=A;let Q;const c=e?.[Symbol.toStringTag];if(c&&("DataView"===c?Q=this.registerView(e):"ArrayBuffer"===c?Q=this.obtainView(e,0,e.byteLength):(c&&c===C[s.pM]?.name||"Uint8ClampedArray"===c&&C[s.pM]===Uint8Array)&&(Q=this.obtainView(e.buffer,e.byteOffset,e.byteLength))),!Q){const t=e?.[s.Qy];if(t){const{constructor:s,instance:{members:[o]}}=A;if((0,a.pU)(e,s))return t;if(function(A){return A===i.ev.Array||A===i.ev.Vector||A===i.ev.Slice}(n)){const{byteSize:s,structure:{constructor:g}}=o,C=(0,a.be)(e,g);if(void 0!==C){if(n===i.ev.Slice||C*s===I)return t;throw new r.Y8(A,null,e)}}}}return Q?void 0!==I&&o(Q,A):t?.(A,e),Q},assignView(A,e,t,n,a){const{byteSize:g,type:I}=t,C=g??1;if(A[s.Qy]){const n=I===i.ev.Slice?C*A.length:C;if(e.byteLength!==n)throw new r.t7(t,e,A);const a={[s.Qy]:e};A.constructor[s.fd]?.validateData?.(a,A.length),A[s.sF](a)}else{void 0!==g&&o(e,t);const i=e.byteLength/C,r={[s.Qy]:e};A.constructor[s.fd]?.validateData?.(r,i),a&&(n=!0),A[s.IW](n?null:e,i,a),n&&A[s.sF](r)}},findViewAt(A,e,t){let i,n=this.viewMap.get(A);if(n)if(n instanceof DataView)if(n.byteOffset===e&&n.byteLength===t)i=n,n=null;else{const e=n,t=`${e.byteOffset}:${e.byteLength}`;n=new Map([[t,e]]),this.viewMap.set(A,n)}else i=n.get(`${e}:${t}`);return i?.[s.Dr]?.address===a.Y$&&(i=null),{existing:i,entry:n}},obtainView(A,e,t){const{existing:i,entry:n}=this.findViewAt(A,e,t);let r;return i||(r=new DataView(A,e,t),n?n.set(`${e}:${t}`,r):this.viewMap.set(A,r),A!==this.memory?.buffer&&A!==this.usizeMaxBuffer||(r[s.Dr]={address:e,len:t}),r)},registerView(A){if(!A[s.Dr]){const{buffer:e,byteOffset:t,byteLength:i}=A,{existing:n,entry:r}=this.findViewAt(e,t,i);if(n)return n;r?r.set(`${t}:${i}`,A):this.viewMap.set(e,A)}return A},allocateMemory(A,e=0,t=null){return t?.alloc?.(A,e)??this.allocateJSMemory(A,e)},...{allocateJSMemory(A,e){return this.obtainView(new ArrayBuffer(A),0,A)},restoreView(A){const e=A?.[s.Dr];return e?.len>0&&0===A.buffer.byteLength&&(A=this.obtainZigView(e.address,e.len),e.align&&(A[s.Dr].align=e.align)),A},defineRestorer(){const A=this;return{value(){const e=this[s.Qy],t=A.restoreView(e);if(e!==t){const A=this[s.KK]??this;return A[s.Qy]=t,A.constructor[s.fV]?.save?.(t,A[s.rG]??A),!0}return!1}}}}});function o(A,e){const{byteSize:t,type:n}=e;if(!(n===i.ev.Slice?A.byteLength%t==0:A.byteLength===t))throw new r.t7(e,A)}function g(A){throw new r.Zb(A)}},9499:(A,e,t)=>{var i=t(6560),n=t(4762);(0,i.co)({...{init(){this.customWASI=null},setCustomWASI(A){if(A&&this.executable)throw new Error("Cannot set WASI interface after compilation has already begun");this.customWASI=A},getWASIHandler(A){const e=this.customWASI?.wasiImport?.[A];if(e)return e;switch(A){case"fd_write":return(A,e,t,i)=>{if(1===A||2===A){const A=new DataView(this.memory.buffer);let n=0;for(let i=0,r=e;i<t;i++,r+=8){const e=A.getUint32(r,!0),t=A.getUint32(r+4,!0);if(t>0){const A=new DataView(this.memory.buffer,e,t);this.writeToConsole(A),n+=t}}return A.setUint32(i,n,!0),0}return 38};case"fd_prestat_get":return()=>8;case"proc_exit":return A=>{throw new n.Jc(A)};case"random_get":return(A,e)=>{const t=new DataView(this.memory.buffer,A,e);for(let A=0;A<e;A++)t.setUint8(A,Math.floor(256*Math.random()));return 0};default:return()=>38}}}})},1432:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540);(0,i.co)({makeReadOnly(A){o(A)}});const s=Object.getOwnPropertyDescriptors,a=Object.defineProperty;function o(A){const e=A[r.C7];if(e)g(e,["length"]);else{const e=A[r.sO];e?(g(e),function(A){a(A,"set",{value:n.V0});const e=A.get;a(A,"get",{value:function(A){const t=e.call(this,A);return null===t?.[r.KK]&&o(t),t}})}(e)):g(A)}}function g(A,e=[]){const t=s(A.constructor.prototype);for(const[i,r]of Object.entries(t))r.set&&!e.includes(i)&&(r.set=n.V0,a(A,i,r));a(A,r.KK,{value:A})}},4773:(A,e,t)=>{t.d(e,{M:()=>n});var i=t(6560);function n(){return new((0,i.NP)())}},1454:(A,e,t)=>{var i=t(6560),n=t(4540),r=t(8e3);(0,i.co)({defineArrayEntries:()=>(0,r.vQ)(o),defineArrayIterator:()=>(0,r.vQ)(s)});function s(){const A=this[n.sO]??this,e=this.length;let t=0;return{next(){let i,n;if(t<e){const e=t++;i=A.get(e),n=!1}else n=!0;return{value:i,done:n}}}}function a(A){const e=(0,r.L9)(A),t=this[n.sO]??this,i=this.length;let s=0;return{next(){let A,n;if(s<i){const i=s++;A=[i,e((()=>t.get(i)))],n=!1}else n=!0;return{value:A,done:n}}}}function o(A){return{[Symbol.iterator]:a.bind(this,A),length:this.length}}},6402:(A,e,t)=>{var i=t(6560),n=t(4540),r=t(8e3);(0,i.co)({defineStructEntries:()=>(0,r.vQ)(s),defineStructIterator:()=>(0,r.vQ)(a)});function s(A){return{[Symbol.iterator]:o.bind(this,A),length:this[n.n5].length}}function a(A){return s.call(this,A)[Symbol.iterator]()}function o(A){const e=(0,r.L9)(A),t=this,i=this[n.n5];let s=0;return{next(){let A,n;if(s<i.length){const r=i[s++];A=[r,e((()=>t[r]))],n=!1}else n=!0;return{value:A,done:n}}}}},5940:(A,e,t)=>{var i=t(6560),n=t(4540),r=t(8e3);(0,i.co)({defineUnionEntries:()=>(0,r.vQ)(s),defineUnionIterator:()=>(0,r.vQ)(a)});function s(A){return{[Symbol.iterator]:o.bind(this,A),length:this[n.n5].length}}function a(A){return s.call(this,A)[Symbol.iterator]()}function o(A){const e=(0,r.L9)(A),t=this,i=this[n.n5],s=this[n.XS];let a=0;return{next(){let A,n;if(a<i.length){const r=i[a++];A=[r,e((()=>s[r].call(t)))],n=!1}else n=!0;return{value:A,done:n}}}}},804:(A,e,t)=>{var i=t(6560),n=t(8e3);(0,i.co)({defineVectorEntries:()=>(0,n.vQ)(a),defineVectorIterator:()=>(0,n.vQ)(r)});function r(){const A=this,e=this.length;let t=0;return{next(){let i,n;if(t<e){const e=t++;i=A[e],n=!1}else n=!0;return{value:i,done:n}}}}function s(){const A=this,e=this.length;let t=0;return{next(){let i,n;if(t<e){const e=t++;i=[e,A[e]],n=!1}else n=!0;return{value:i,done:n}}}}function a(){return{[Symbol.iterator]:s.bind(this),length:this.length}}},9098:(A,e,t)=>{t.d(e,{E:()=>n});var i=t(1388);(0,t(6560).co)({defineMember(A,e=!0){if(!A)return{};const{type:t,structure:n}=A,r=this[`defineMember${i.hQ[t]}`].call(this,A);if(e&&n){const{type:e}=n,t=this[`transformDescriptor${i.EK[e]}`];if(t)return t.call(this,r,A)}return r}});function n(A,{get:e,set:t}){return void 0!==A?{get:function(){return e.call(this,A)},set:t?function(e,i){return t.call(this,A,e,i)}:void 0}:{get:e,set:t}}},9494:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(8e3);(0,i.co)({defineBase64(A){const e=this;return(0,r.NV)({get(){return(0,r.WG)(this.dataView)},set(t,i){if("string"!=typeof t)throw new n.Pd("string",t);const s=(0,r.y4)(t);e.assignView(this,s,A,!1,i)}})}})},337:(A,e,t)=>{(0,t(6560).co)({defineMemberBool(A){return this.defineMemberUsing(A,this.getAccessor)}})},3971:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(8e3);(0,i.co)({defineClampedArray(A){const e=this,t=Uint8ClampedArray;return(0,r.NV)({get(){const A=this.typedArray;return new t(A.buffer,A.byteOffset,A.length)},set(i,r){if(i?.[Symbol.toStringTag]!==t.name)throw new n.Pd(t.name,i);const s=new DataView(i.buffer,i.byteOffset,i.byteLength);e.assignView(this,s,A,!0,r)}})}})},7431:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540),s=t(8e3);(0,i.co)({defineDataView(A){const e=this;return(0,s.NV)({get(){this[r.zN]?.();return this[r.Qy]},set(t,i){if("DataView"!==t?.[Symbol.toStringTag])throw new n.Pd("DataView",t);e.assignView(this,t,A,!0,i)}})}})},7591:(A,e,t)=>{(0,t(6560).co)({defineMemberFloat(A){return this.defineMemberUsing(A,this.getAccessor)}})},6717:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(9098);(0,n.co)({defineMemberObject:A=>(0,a.E)(A.slot,{get:A.flags&i.pK.IsString?I:A.structure.flags&i.yi.HasValue?o:g,set:A.flags&i.pK.IsReadOnly?r.V0:C})});function o(A){return g.call(this,A).$}function g(A){return this[s._f][A]??this[s.tZ](A)}function I(A){const e=g.call(this,A).$;return e?e.string:e}function C(A,e,t){g.call(this,A)[s.Zv](e,t)}},2164:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540);(0,i.co)({...{defineMemberUsing(A,e){const{littleEndian:t}=this,{bitOffset:i,byteSize:s}=A,a=e.call(this,"get",A),o=e.call(this,"set",A);if(void 0!==i){const A=i>>3;return{get:function(){try{return a.call(this[r.Qy],A,t)}catch(e){if(e instanceof TypeError&&this[r.zN]?.())return a.call(this[r.Qy],A,t);throw e}},set:function(e){try{return o.call(this[r.Qy],A,e,t)}catch(i){if(i instanceof TypeError&&this[r.zN]?.())return o.call(this[r.Qy],A,e,t);throw i}}}}return{get:function(e){try{return a.call(this[r.Qy],e*s,t)}catch(i){if(i instanceof TypeError&&this[r.zN]?.())return a.call(this[r.Qy],e*s,t);throw(0,n.qx)(A,e,i)}},set:function(e,i){try{return o.call(this[r.Qy],e*s,i,t)}catch(a){if(a instanceof TypeError&&this[r.zN]?.())return o.call(this[r.Qy],e*s,i,t);throw(0,n.qx)(A,e,a)}}}}}})},5496:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540),s=t(8e3);(0,i.co)({defineString(A){const e=this,{byteSize:t}=A.instance.members[0],i="utf-"+8*t;return(0,s.NV)({get(){let A=(0,s.g7)(this.typedArray,i);const e=this.constructor[r.fd]?.value;return void 0!==e&&A.charCodeAt(A.length-1)===e&&(A=A.slice(0,-1)),A},set(t,a){if("string"!=typeof t)throw new n.Pd("string",t);const o=this.constructor[r.fd]?.value;void 0!==o&&t.charCodeAt(t.length-1)!==o&&(t+=String.fromCharCode(o));const g=(0,s.wx)(t,i),I=new DataView(g.buffer);e.assignView(this,I,A,!1,a)}})}})},6135:(A,e,t)=>{var i=t(6560),n=t(3456);(0,i.co)({defineToJSON:()=>({value(){return(0,n.F)(this,!0)}})})},9813:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540),s=t(9098);(0,i.co)({defineMemberType(A,e){const{slot:t}=A;return(0,s.E)(t,{get(A){const e=this[r._f][A];return e?.constructor},set:n.V0})}})},3793:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(8e3);(0,i.co)({defineTypedArray(A){const e=this,t=this.getTypedArray(A);return(0,r.NV)({get(){const A=this.dataView,e=A.byteLength/t.BYTES_PER_ELEMENT;return new t(A.buffer,A.byteOffset,e)},set(i,r){if(i?.[Symbol.toStringTag]!==t.name)throw new n.Pd(t.name,i);const s=new DataView(i.buffer,i.byteOffset,i.byteLength);e.assignView(this,s,A,!0,r)}})}})},8305:(A,e,t)=>{(0,t(6560).co)({defineMemberUint(A){let e=this.getAccessor;return this.runtimeSafety&&(e=this.addRuntimeCheck(e)),e=this.addIntConversion(e),this.defineMemberUsing(A,e)}})},3456:(A,e,t)=>{t.d(e,{F:()=>g});var i=t(1388),n=t(6560),r=t(4540),s=t(8e3);(0,n.co)({defineValueOf:()=>({value(){return g(this,!1)}})});const a=BigInt(Number.MAX_SAFE_INTEGER),o=BigInt(Number.MIN_SAFE_INTEGER);function g(A,e){const t={error:e?"return":"throw"},n=(0,s.L9)(t),g=new Map,I=function(A){const s="function"==typeof A?i.ev.Struct:A?.constructor?.[r.ZE];if(void 0===s){if(e){if("bigint"==typeof A&&o<=A&&A<=a)return Number(A);if(A instanceof Error)return{error:A.message}}return A}let C=g.get(A);if(void 0===C){let e;switch(s){case i.ev.Struct:e=A[r.lf](t),C=A.constructor[r.Wg]&i.sU.IsTuple?[]:{};break;case i.ev.Union:e=A[r.lf](t),C={};break;case i.ev.Array:case i.ev.Vector:case i.ev.Slice:e=A[r.lf](),C=[];break;case i.ev.Pointer:try{C=A["*"]}catch(A){C=Symbol.for("inaccessible")}break;case i.ev.Enum:C=n((()=>String(A)));break;case i.ev.Opaque:C={};break;default:C=n((()=>A.$))}if(C=I(C),g.set(A,C),e)for(const[A,t]of e)C[A]=I(t)}return C};return I(A)}},8539:(A,e,t)=>{var i=t(6560),n=t(4762);(0,i.co)({defineMemberVoid(A,e){const{bitOffset:t}=A;return{get(){},set:void 0!==t?function(e){if(void 0!==e)throw new n.UQ(A)}:function(e,t){if(void 0!==t)throw new n.UQ(A);if(e<0||e>=this.length)throw new n._l(A,e)}}}})},7679:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineStructure(A){const{type:e,byteSize:t}=A,n=this[`define${i.EK[e]}`],r=[],o={},g={dataView:this.defineDataView(A),base64:this.defineBase64(A),toJSON:this.defineToJSON(),valueOf:this.defineValueOf(),[s.KK]:{value:null},[s.Bl]:(0,a.vQ)(o),[s.Rk]:(0,a.vQ)(r),[s.sF]:this.defineCopier(t),[s.zN]:this.defineRestorer()},I=A.constructor=n.call(this,A,g);for(const[A,e]of Object.entries(g)){const t=e?.set;t&&!o[A]&&"$"!==A&&(o[A]=t,r.push(A))}return(0,a.ny)(I.prototype,g),I},finalizeStructure(A){const{name:e,type:t,constructor:n,align:r,byteSize:o,flags:g,signature:I,static:{members:C,template:Q}}=A,c=[],B={name:(0,a.vQ)(e),toJSON:this.defineToJSON(),valueOf:this.defineValueOf(),[s.J2]:(0,a.vQ)(I),[s.M0]:(0,a.vQ)(this),[s.Ec]:(0,a.vQ)(r),[s.SK]:(0,a.vQ)(o),[s.ZE]:(0,a.vQ)(t),[s.Wg]:(0,a.vQ)(g),[s.n5]:(0,a.vQ)(c),[s.pM]:(0,a.vQ)(this.getTypedArray(A)),[Symbol.iterator]:this.defineStructIterator(),[s.lf]:this.defineStructEntries(),[s.n5]:(0,a.vQ)(c)},l={[Symbol.toStringTag]:(0,a.vQ)(e)};for(const A of C){const{name:e,slot:t,flags:n}=A;if(A.structure.type===i.ev.Function){let r=Q[s._f][t];n&i.pK.IsString&&(r[s.fM]=!0),B[e]=(0,a.vQ)(r),r.name||(0,a.n8)(r,"name",(0,a.vQ)(e));const[o,g]=/^(get|set)\s+([\s\S]+)/.exec(e)?.slice(1)??[],I="get"===o?0:1;if(o&&r.length===I){B[g]||={};B[g][o]=r}if(A.flags&i.pK.IsMethod){const A=function(...A){try{return r(this,...A)}catch(A){throw A[s.q6]?.(1),A}};if((0,a.ny)(A,{name:(0,a.vQ)(e),length:(0,a.vQ)(r.length-1)}),l[e]=(0,a.vQ)(A),o&&A.length===I){(l[g]||={})[o]=A}}}else B[e]=this.defineMember(A),c.push(e)}B[s._f]=c.length>0&&(0,a.vQ)(Q[s._f]);const E=this[`finalize${i.EK[t]}`];!1!==E?.call(this,A,B,l)&&((0,a.ny)(n.prototype,l),(0,a.ny)(n,B))},createConstructor(A,e={}){const{type:t,byteSize:n,align:o,flags:g,instance:{members:I,template:C}}=A,{onCastError:Q}=e;let c;if(C?.[s._f]){const A=I.filter((A=>A.flags&i.pK.IsReadOnly));A.length>0&&(c=A.map((A=>A.slot)))}const B=new a.UF,l=this,E=function(e,a={}){const{allocator:I}=a,u=this instanceof E;let f,h;if(u){if(0===arguments.length)throw new r.ci(A);if(f=this,g&i.yi.HasSlot&&(f[s._f]={}),s.IW in f)f[s.Zv](e,I),h=f[s.Qy];else{const A=t!==i.ev.Pointer?I:null;f[s.Qy]=h=l.allocateMemory(n,o,A)}}else{if(s.mL in E&&(f=E[s.mL].call(this,e,a),!1!==f))return f;if(h=l.extractView(A,e,Q),f=B.find(h))return f;f=Object.create(E.prototype),s.IW in f?l.assignView(f,h,A,!1,!1):f[s.Qy]=h,g&i.yi.HasSlot&&(f[s._f]={})}if(c)for(const A of c)f[s._f][A]=C[s._f][A];return f[s.f$]?.(),u&&(s.IW in f||f[s.Zv](e,I)),s.vm in f&&(f=f[s.vm]()),B.save(h,f)};return(0,a.n8)(E,s.fV,(0,a.vQ)(B)),C?.[s.Qy]&&(0,a.n8)(C,s.zN,this.defineRestorer()),E},createApplier(A){const{instance:{template:e}}=A;return function(t,i){const n=Object.keys(t),a=this[s.Rk],o=this[s.Bl];for(const e of n)if(!(e in o))throw new r.xH(A,e);let g=0,I=0,C=0,Q=0;for(const A of a){const e=o[A];e.special?A in t&&Q++:(g++,A in t?I++:e.required&&C++)}if(0!==C&&0===Q){const e=a.filter((A=>o[A].required&&!(A in t)));throw new r.SB(A,e)}if(Q+I>n.length)for(const A of a)A in t&&(n.includes(A)||n.push(A));I<g&&0===Q&&e&&e[s.Qy]&&this[s.sF](e);for(const A of n){o[A].call(this,t[A],i)}return n.length}},getTypedArray(A){const{type:e,instance:t}=A;if(void 0!==e&&t){const[A]=t.members;switch(e){case i.ev.Enum:case i.ev.ErrorSet:case i.ev.Primitive:{const{byteSize:e,type:t}=A,n=t===i.Z9.Float?"Float":t===i.Z9.Int?"Int":"Uint",r=e>4&&t!==i.Z9.Float?"Big":"";return globalThis[r+n+8*e+"Array"]}case i.ev.Array:case i.ev.Slice:case i.ev.Vector:return this.getTypedArray(A.structure)}}}})},2244:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineArgStruct(A,e){const{flags:t,byteSize:n,align:o,length:g,instance:{members:I}}=A,C=this,Q=I.slice(1),c=function(A,e){const a=this instanceof c;let I,B;if(a?(I=this,B=C.allocateMemory(n,o)):(I=Object.create(c.prototype),B=A),I[s.Qy]=B,t&i.yi.HasSlot&&(I[s._f]={}),!a)return I;{let n;if(t&i.e2.HasOptions&&A.length===g+1&&(n=A.pop()),A.length!==g)throw new r.nz(g,A.length);t&i.e2.IsAsync&&(I[s.vm]=null),C.copyArguments(I,A,Q,n,e)}};for(const A of I)e[A.name]=this.defineMember(A);const B=e.retval.set;return e.length=(0,a.vQ)(Q.length),e[s.tZ]=t&i.yi.HasObject&&this.defineVivificatorStruct(A),e[s.g9]=t&i.yi.HasPointer&&this.defineVisitorArgStruct(I),e[s.zg]=(0,a.vQ)((function(A){B.call(this,A,this[s.Gz])})),e[Symbol.iterator]=this.defineArgIterator?.(Q),e[s.sF]=this.defineRetvalCopier(I[0]),c},finalizeArgStruct(A,e){const{flags:t}=A;e[s.du]=(0,a.vQ)(!!(t&i.e2.IsThrowing))}})},9433:(A,e,t)=>{var i=t(6560),n=t(4540),r=t(8e3);(0,i.co)({defineFinalizerArray:({get:A,set:e})=>({value(){const t=new Proxy(this,s);return(0,r.ny)(this,{[n.rG]:{value:t},get:{value:A.bind(this)},set:e&&{value:e.bind(this)}}),t}}),defineVivificatorArray(A){const{instance:{members:[e]}}=A,{byteSize:t,structure:i}=e,r=this;return{value:function(A){const{constructor:e}=i;this[n.zN]?.();const s=this[n.Qy],a=s.byteOffset+t*A,o=r.obtainView(s.buffer,a,t);return this[n._f][A]=e.call(n.f7,o)}}}});const s={get(A,e){const t="symbol"==typeof e?0:0|e;return 0!==t||t==e?A.get(t):e===n.sO?A:A[e]},set(A,e,t){const i="symbol"==typeof e?0:0|e;return 0!==i||i==e?A.set(i,t):A[e]=t,!0},deleteProperty(A,e){const t="symbol"==typeof e?0:0|e;return 0===t&&t!=e&&(delete A[e],!0)},has(A,e){const t="symbol"==typeof e?0:0|e;return 0!==t||t==e?t>=0&&t<A.length:A[e]},ownKeys(A){const e=[];for(let t=0,i=A.length;t<i;t++)e.push(`${t}`);return e.push("length",n.rG),e},getOwnPropertyDescriptor(A,e){const t="symbol"==typeof e?0:0|e;return 0===t&&t!=e?Object.getOwnPropertyDescriptor(A,e):t>=0&&t<A.length?{value:A.get(t),enumerable:!0,writable:!0,configurable:!0}:void 0}}},3509:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineArray(A,e){const{length:t,instance:{members:[n]},flags:o}=A,g=this.createApplier(A),I=this.defineMember(n),{set:C}=I,Q=this.createConstructor(A),c=function(e,n){if((0,a.pU)(e,Q))this[s.sF](e),o&i.yi.HasPointer&&this[s.g9]("copy",i.F7.Vivificate,e);else if("string"==typeof e&&o&i.uE.IsString&&(e={string:e}),e?.[Symbol.iterator]){if((e=(0,a.FU)(e)).length!==t)throw new r.Y8(A,this,e);let i=0;for(const A of e)C.call(this,i++,A,n)}else if(e&&"object"==typeof e){if(0===g.call(this,e))throw new r.L2(A,e)}else if(void 0!==e)throw new r.L2(A,e)};return e.$={get:a.V_,set:c},e.length=(0,a.vQ)(t),e.entries=e[s.lf]=this.defineArrayEntries(),o&i.uE.IsTypedArray&&(e.typedArray=this.defineTypedArray(A),o&i.uE.IsString&&(e.string=this.defineString(A)),o&i.uE.IsClampedArray&&(e.clampedArray=this.defineClampedArray(A))),e[Symbol.iterator]=this.defineArrayIterator(),e[s.Zv]=(0,a.vQ)(c),e[s.vm]=this.defineFinalizerArray(I),e[s.tZ]=o&i.yi.HasObject&&this.defineVivificatorArray(A),e[s.g9]=o&i.yi.HasPointer&&this.defineVisitorArray(),Q},finalizeArray(A,e){const{flags:t,instance:{members:[n]}}=A;e.child=(0,a.vQ)(n.structure.constructor),e[s.fd]=t&i.uE.HasSentinel&&this.defineSentinel(A)}})},8371:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineEnum(A,e){const{instance:{members:[t]}}=A,i=this.defineMember(t),{get:n,set:o}=i,{get:g}=this.defineMember(t,!1),I=this.createApplier(A),C=["string","number","tagged union"],Q=this.createConstructor(A,{onCastError(A,e){throw new r.is(A,C,e)}});return e.$=i,e.toString=(0,a.vQ)(a.dI),e[Symbol.toPrimitive]={value(A){switch(A){case"string":case"default":return this.$[s.o_];default:return g.call(this)}}},e[s.Zv]=(0,a.vQ)((function(e){if(e&&"object"==typeof e){if(0===I.call(this,e))throw new r.is(A,C,e)}else void 0!==e&&o.call(this,e)})),Q},finalizeEnum(A,e){const{flags:t,constructor:n,instance:{members:[r]},static:{members:o,template:g}}=A,I=g[s._f],{get:C,set:Q}=this.defineMember(r,!1),c={};for(const{name:A,flags:t,slot:n}of o)if(t&i.pK.IsPartOfSet){const t=I[n];(0,a.n8)(t,s.o_,(0,a.vQ)(A));const i=C.call(t);e[A]={value:t,writable:!1},c[i]=t}e[s.mL]={value(A){if("string"==typeof A)return n[A];if("number"==typeof A||"bigint"==typeof A){let e=c[A];if(!e&&t&i.Q6.IsOpenEnded){e=new n(void 0),Q.call(e,A);const t=`${A}`;(0,a.n8)(e,s.o_,(0,a.vQ)(t)),(0,a.n8)(n,t,(0,a.vQ)(e)),c[A]=e}return e}return A instanceof n?A:A?.[s.Dk]instanceof n&&A[s.Dk]}},e[s.pM]=(0,a.vQ)(this.getTypedArray(A))},transformDescriptorEnum(A,e){const{type:t,structure:n}=e;if(t===i.Z9.Object)return A;const s=function(A){const{constructor:e}=n,t=e(A);if(!t)throw new r.iS(n,A);return t},{get:a,set:o}=A;return{get:0===a.length?function(){const A=a.call(this);return s(A)}:function(A){const e=a.call(this,A);return s(e)},set:1===o.length?function(A){A=s(A)[Symbol.toPrimitive](),o.call(this,A)}:function(A,e){const t=s(e);o.call(this,A,t[Symbol.toPrimitive]())}}}})},903:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({init(){this.ZigError=null,this.globalItemsByIndex={},this.globalErrorSet=null},defineErrorSet(A,e){const{instance:{members:[t]},byteSize:n,flags:g}=A;if(!this.ZigError){this.ZigError=class extends o{};const A={type:i.ev.ErrorSet,flags:i.Zm.IsGlobal,byteSize:n,name:"anyerror",instance:{members:[t]},static:{members:[],template:{SLOTS:{}}}},e=this.defineStructure(A);this.finalizeStructure(A),this.globalErrorSet=e}if(this.globalErrorSet&&g&i.Zm.IsGlobal)return this.globalErrorSet;const I=this.defineMember(t),{set:C}=I,Q=["string","number"],c=this.createApplier(A),B=this.createConstructor(A,{onCastError(A,e){throw new r.is(A,Q,e)}});return e.$=I,e[s.Zv]=(0,a.vQ)((function(e){if(e instanceof B[s.tp])C.call(this,e);else if(e&&"object"==typeof e&&!(0,r.FD)(e)){if(0===c.call(this,e))throw new r.is(A,Q,e)}else void 0!==e&&C.call(this,e)})),B},finalizeErrorSet(A,e){const{constructor:t,flags:n,instance:{members:[o]},static:{members:g,template:I}}=A;if(this.globalErrorSet&&n&i.Zm.IsGlobal)return!1;const C=I?.[s._f]??{},Q=n&i.Zm.IsGlobal?this.globalItemsByIndex:{},{get:c}=this.defineMember(o,!1);for(const{name:A,slot:t}of g){const i=C[t],n=c.call(i);let r=this.globalItemsByIndex[n];const o=!!r;r||(r=new this.ZigError(A,n));const g=(0,a.vQ)(r);e[A]=g;const I=`${r}`;e[I]=g,Q[n]=r,o||((0,a.ny)(this.globalErrorSet,{[A]:g,[I]:g}),this.globalErrorSet[s.n5].push(A),this.globalItemsByIndex[n]=r)}e[s.mL]={value:A=>"number"==typeof A?Q[A]:"string"==typeof A?t[A]:A instanceof t[s.tp]?Q[Number(A)]:(0,r.FD)(A)?t[`Error: ${A.error}`]:A instanceof Error&&t[`${A}`]},e[s.tp]=(0,a.vQ)(this.ZigError)},transformDescriptorErrorSet(A,e){const{type:t,structure:n}=e;if(t===i.Z9.Object)return A;const s=A=>{const{constructor:e,flags:t}=n,s=e(A);if(!s){if(t&i.Zm.IsGlobal&&"number"==typeof A){const e=new this.ZigError(`Unknown error: ${A}`,A);return this.globalItemsByIndex[A]=e,(0,a.n8)(this.globalErrorSet,`${e}`,(0,a.vQ)(e)),e}throw A instanceof Error?new r.Ho(n):new r.to(n,A)}return s},{get:o,set:g}=A;return{get:0===o.length?function(){const A=o.call(this);return s(A)}:function(A){const e=o.call(this,A);return s(e)},set:1===g.length?function(A){const e=s(A);A=Number(e),g.call(this,A)}:function(A,e){const t=s(e);e=Number(t),g.call(this,A,e)}}}});class o extends Error{constructor(A,e){super((0,r.a6)(A)),this.number=e,this.stack=void 0}[Symbol.toPrimitive](A){switch(A){case"string":case"default":return Error.prototype.toString.call(this,A);default:return this.number}}toJSON(){return{error:this.message}}}},3692:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineErrorUnion(A,e){const{instance:{members:[t,n]},flags:o}=A,{get:g,set:I}=this.defineMember(t),{get:C,set:Q}=this.defineMember(n),{get:c,set:B}=this.defineMember(n,!1),l=t.type===i.Z9.Void,E=n.structure.constructor,u=function(){this[s.Ut](),this[s.g9]?.("clear")},f=this.createApplier(A),h=function(A,e){if((0,a.pU)(A,d))this[s.sF](A),o&i.yi.HasPointer&&(c.call(this)||this[s.g9]("copy",0,A));else if(A instanceof E[s.tp]&&E(A))Q.call(this,A),u.call(this);else if(void 0!==A||l)try{I.call(this,A,e),B.call(this,0)}catch(e){if(A instanceof Error){const e=E(A)??E.Unexpected;if(!e)throw new r.Ho(n.structure);Q.call(this,e),u.call(this)}else if((0,r.FD)(A))Q.call(this,A),u.call(this);else{if(!A||"object"!=typeof A)throw e;if(0===f.call(this,A))throw e}}},{bitOffset:p,byteSize:y}=t,d=this.createConstructor(A);return e.$={get:function(){if(c.call(this))throw C.call(this);return g.call(this)},set:h},e[s.Zv]=(0,a.vQ)(h),e[s.tZ]=o&i.yi.HasObject&&this.defineVivificatorStruct(A),e[s.Ut]=this.defineResetter(p/8,y),e[s.g9]=o&i.yi.HasPointer&&this.defineVisitorErrorUnion(t,c),d}})},7382:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineFunction(A,e){const{instance:{members:[t],template:n},static:{template:o}}=A,g=new a.UF,{structure:{constructor:I}}=t,C=this,Q=function(e){const t=this instanceof Q;let c,B;if(t){if(0===arguments.length)throw new r.ci(A);if("function"!=typeof e)throw new r.Pd("function",e);if(I[s.ZE]===i.ev.VariadicStruct||!o)throw new r.O0;c=C.getFunctionThunk(e,o)}else{if(this!==s.M0)throw new r.Qm;c=e}if(B=g.find(c))return B;const l=I.prototype.length,E=t?C.createInboundCaller(e,I):C.createOutboundCaller(n,I);return(0,a.ny)(E,{length:(0,a.vQ)(l),name:(0,a.vQ)(t?e.name:"")}),Object.setPrototypeOf(E,Q.prototype),E[s.Qy]=c,g.save(c,E),E};return Object.setPrototypeOf(Q.prototype,Function.prototype),e.valueOf=e.toJSON=(0,a.vQ)(a.Ng),Q},finalizeFunction(A,e,t){t[Symbol.toStringTag]=void 0}})},3750:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4540),s=t(8e3);(0,n.co)({defineOptional(A,e){const{instance:{members:[t,n]},flags:a}=A,{get:o,set:g}=this.defineMember(t),{get:I,set:C}=this.defineMember(n),Q=t.type===i.Z9.Void,c=function(A,e){(0,s.pU)(A,B)?(this[r.sF](A),a&i.yi.HasPointer&&I.call(this)&&this[r.g9]("copy",i.F7.Vivificate,A)):null===A?(C.call(this,0),this[r.Ut]?.(),this[r.g9]?.("clear")):(void 0!==A||Q)&&(g.call(this,A,e),a&i.Nt.HasSelector?C.call(this,1):a&i.yi.HasPointer&&(I.call(this)||C.call(this,13)))},B=A.constructor=this.createConstructor(A),{bitOffset:l,byteSize:E}=t;return e.$={get:function(){return I.call(this)?o.call(this):(this[r.g9]?.("clear"),null)},set:c},e[r.Zv]=(0,s.vQ)(c),e[r.Ut]=a&i.Nt.HasSelector&&this.defineResetter(l/8,E),e[r.tZ]=a&i.yi.HasObject&&this.defineVivificatorStruct(A),e[r.g9]=a&i.yi.HasPointer&&this.defineVisitorOptional(t,I),B}})},1425:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({definePointer(A,e){const{flags:t,byteSize:n,instance:{members:[I]}}=A,{structure:c}=I,{type:B,flags:l,byteSize:E=1}=c,u=t&i.UT.HasLength?n/2:n,{get:f,set:h}=this.defineMember({type:i.Z9.Uint,bitOffset:0,bitSize:8*u,byteSize:u,structure:{byteSize:u}}),{get:p,set:y}=t&i.UT.HasLength?this.defineMember({type:i.Z9.Uint,bitOffset:8*u,bitSize:8*u,byteSize:u,structure:{flags:i.AD.IsSize,byteSize:u}}):{},d=function(A,e=!0,n=!0){if(e||this[s.Qy][s.Dr]){if(!n)return this[s._f][0]=void 0;{const e=U.child,n=f.call(this),r=t&i.UT.HasLength?p.call(this):B===i.ev.Slice&&l&i.tv.HasSentinel?k.findSentinel(n,e[s.fd].bytes)+1:1;if(n!==this[s.c6]||r!==this[s.uL]){const a=k.findMemory(A,n,r,e[s.SK]),o=a?e.call(s.M0,a):null;return this[s._f][0]=o,this[s.c6]=n,this[s.uL]=r,t&i.UT.HasLength&&(this[s.E2]=null),o}}}return this[s._f][0]},m=function(A){h.call(this,A),this[s.c6]=A},b=l&i.tv.HasSentinel?1:0,D=t&i.UT.HasLength||l&i.tv.HasSentinel?function(A){y?.call?.(this,A-b),this[s.uL]=A}:null,S=function(){const A=this[s.C7]??this,e=!A[s._f][0],n=d.call(A,null,e);if(!n){if(t&i.UT.IsNullable)return null;throw new r.BY}return t&i.UT.IsConst?C(n):n},w=l&i.yi.HasValue?function(){return S.call(this).$}:S,v=t&i.UT.IsConst?r.V0:function(A){return S.call(this).$=A},k=this,x=function(e,n){const I=c.constructor;if(o(e,I)){if(!(t&i.UT.IsConst)&&e.constructor.const)throw new r.G9(A,e);e=e[s._f][0]}else if(t&i.UT.IsMultiple)g(e,I,t)&&(e=I(e[s._f][0][s.Qy]));else if(B===i.ev.Slice&&l&i.tv.IsOpaque&&e)if(e.constructor[s.ZE]===i.ev.Pointer)e=e[s.Qn]?.[s.Qy];else if(e[s.Qy])e=e[s.Qy];else if(e?.buffer instanceof ArrayBuffer&&!(e instanceof Uint8Array||e instanceof DataView)){const{byteOffset:A,byteLength:t}=e;void 0!==A&&void 0!==t&&(e=new DataView(e.buffer,A,t))}if(e instanceof I){e[s.zN]?.();const n=e[s.KK];if(n){if(!(t&i.UT.IsConst))throw new r.ck(A);e=n}}else if((0,a.pU)(e,I))e=I.call(s.M0,e[s.Qy]);else if(t&i.UT.IsSingle&&t&i.UT.IsMultiple&&e instanceof I.child)e=I(e[s.Qy]);else if(function(A,e){const t=A?.[Symbol.toStringTag];if(t){const i=e[s.pM];if(i)switch(t){case i.name:case"DataView":return!0;case"ArrayBuffer":return i===Uint8Array||i===Int8Array;case"Uint8ClampedArray":return i===Uint8Array}if(e.child&&void 0!==(0,a.be)(A,e.child))return!0}return!1}(e,I)){e=I(k.extractView(c,e))}else if(null==e||e[s.Qy]){if(!(void 0===e||t&i.UT.IsNullable&&null===e))throw new r.QB(A,e)}else{if(t&i.UT.IsSingle&&t&i.UT.IsMultiple&&"object"==typeof e&&!e[Symbol.iterator]){let A=!0;const t=I.prototype[s.Bl];for(const i of Object.keys(e)){const e=t[i];if(e?.special){A=!1;break}}A&&(e=[e])}if(s.pM in I&&e?.buffer&&e[Symbol.iterator])throw new r.QB(A,e);e=new I(e,{allocator:n})}const C=e?.[s.Qy]?.[s.Dr];if(C?.address===a.Y$)throw new r.xp(e);this[s.Qn]=e},U=this.createConstructor(A);return e["*"]={get:w,set:v},e.$={get:a.V_,set:x},e.length={get:function(){const A=S.call(this);return A?A.length:0},set:function(A){A|=0;const e=S.call(this);if(!e){if(0!==A)throw new r._L(A,0);return}if(e.length===A)return;e[s.zN]?.();const n=e[s.Qy],a=n[s.Dr];let o;if(!a)if(t&i.UT.HasLength)this[s.E2]||=e.length,o=this[s.E2];else{o=(n.buffer.byteLength-n.byteOffset)/E|0}if(A<0||A>o)throw new r._L(A,o);const g=A*E,I=a?k.obtainZigView(a.address,g):k.obtainView(n.buffer,n.byteOffset,g),C=c.constructor;this[s._f][0]=C.call(s.M0,I),D?.call?.(this,A)}},e.slice=B===i.ev.Slice&&{value(A,e){const t=this[s.Qn].slice(A,e);return new U(t)}},e.subarray=B===i.ev.Slice&&{value(A,e,t){const i=this[s.Qn].subarray(A,e,t);return new U(i)}},e[Symbol.toPrimitive]=B===i.ev.Primitive&&{value(A){return this[s.Qn][Symbol.toPrimitive](A)}},e[s.Zv]=(0,a.vQ)(x),e[s.vm]={value(){const A=B!==i.ev.Pointer?Q:{};let e;B===i.ev.Function?(e=function(){},e[s.Qy]=this[s.Qy],e[s._f]=this[s._f],Object.setPrototypeOf(e,U.prototype)):e=this;const t=new Proxy(e,A);return Object.defineProperty(e,s.rG,{value:t}),t}},e[s.Qn]={get:S,set:function(A){if(void 0===A)return;const e=this[s.C7]??this;if(A){const t=A[s.Qy][s.Dr];if(t){const{address:e,js:i}=t;m.call(this,e),D?.call?.(this,A.length),i&&(A[s.Qy][s.Dr]=void 0)}else if(e[s.Qy][s.Dr])throw new r.x1}else e[s.Qy][s.Dr]&&(m.call(this,0),D?.call?.(this,0));e[s._f][0]=A??null,t&i.UT.HasLength&&(e[s.E2]=null)}},e[s.q6]=(0,a.vQ)(d),e[s.BD]={set:m},e[s.pi]={set:D},e[s.g9]=this.defineVisitor(),e[s.c6]=(0,a.vQ)(0),e[s.uL]=(0,a.vQ)(0),e[s.E2]=t&i.UT.HasLength&&(0,a.vQ)(null),e.dataView=e.base64=void 0,U},finalizePointer(A,e){const{flags:t,constructor:n,instance:{members:[I]}}=A,{structure:C}=I,{type:Q,constructor:c}=C;e.child=c?(0,a.vQ)(c):{get:()=>C.constructor},e.const=(0,a.vQ)(!!(t&i.UT.IsConst)),e[s.mL]={value(e,a){if(this===s.M0||this===s.f7||e instanceof n)return!1;if(o(e,c))return new n(c(e["*"]),a);if(g(e,c,t))return new n(e);if(Q===i.ev.Slice)return new n(c(e),a);throw new r.zy(A)}}}});function o(A,e){return(0,a.xN)(A?.constructor?.child,e)&&A["*"]}function g(A,e,t){if(t&i.UT.IsMultiple){if(A?.constructor?.child?.child===e.child&&A["*"])return!0;if(t&i.UT.IsSingle&&o(A,e.child))return!0}return!1}const I=new WeakMap;function C(A){let e=I.get(A);if(!e){const t=A[s.C7];e=t?new Proxy(t,c):new Proxy(A,B),I.set(A,e)}return e}const Q={get(A,e){if(e===s.C7)return A;if(e in A)return A[e];return A[s.Qn][e]},set(A,e,t){if(e in A)A[e]=t;else{A[s.Qn][e]=t}return!0},deleteProperty(A,e){if(e in A)delete A[e];else{delete A[s.Qn][e]}return!0},has(A,e){if(e in A)return!0;return e in A[s.Qn]},apply:(A,e,t)=>A["*"].apply(e,t)},c={...Q,set(A,e,t){if(e in A)(0,r.V0)();else{A[s.Qn][e]=t}return!0}},B={get(A,e){if(e===s.KK)return A;{const t=A[e];return t?.[s.Qy]?C(t):t}},set(A,e,t){(0,r.V0)()}}},8773:(A,e,t)=>{var i=t(6560),n=t(4762),r=t(4540),s=t(8e3);(0,i.co)({definePrimitive(A,e){const{instance:{members:[t]}}=A,i=this.createApplier(A),{get:a,set:o}=this.defineMember(t),g=function(e){if((0,s.pU)(e,I))this[r.sF](e);else if(e&&"object"==typeof e){if(0===i.call(this,e)){const i=(0,s.BF)(t);throw new n.is(A,i,e)}}else void 0!==e&&o.call(this,e)},I=this.createConstructor(A);return e.$={get:a,set:g},e[r.Zv]=(0,s.vQ)(g),e[Symbol.toPrimitive]=(0,s.vQ)(a),I},finalizePrimitive(A,e){const{instance:{members:[t]}}=A;e[r.Qt]=(0,s.vQ)(t.bitSize),e[r.uT]=(0,s.vQ)(t.type)}})},3086:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineSlice(A,e){const{align:t,flags:n,byteSize:I,name:C,instance:{members:[Q]}}=A,{byteSize:c,structure:B}=Q,l=this,E=function(A,e,i){A||(A=l.allocateMemory(e*c,t,i)),this[s.Qy]=A,this[s.pi]=e},u=function(e,t){if(t!==this[s.pi])throw new r.Y8(A,this,e)},f=this.defineMember(Q),{set:h}=f,p=this.createApplier(A),y=function(e,t){if((0,a.pU)(e,m))this[s.Qy]?u.call(this,e,e.length):E.call(this,null,e.length,t),this[s.sF](e),n&i.yi.HasPointer&&this[s.g9]("copy",i.F7.Vivificate,e);else if("string"==typeof e&&n&i.tv.IsString)y.call(this,{string:e},t);else if(e?.[Symbol.iterator]){e=(0,a.FU)(e),this[s.Qy]?u.call(this,e,e.length):E.call(this,null,e.length,t);let A=0;for(const i of e)m[s.fd]?.validateValue(i,A,e.length),h.call(this,A++,i,t)}else if("number"==typeof e){if(!(!this[s.Qy]&&e>=0&&isFinite(e)))throw new r.L2(A,e,!this[s.Qy]);E.call(this,null,e,t)}else if(e&&"object"==typeof e){if(0===p.call(this,e,t))throw new r.L2(A,e)}else if(void 0!==e)throw new r.L2(A,e)},d=function(A,e){const t=this[s.pi],i=this[s.Qy];A=void 0===A?0:g(A,t),e=void 0===e?t:g(e,t);const n=A*c,r=e*c-n;return l.obtainView(i.buffer,i.byteOffset+n,r)},m=this.createConstructor(A);return e.$={get:a.V_,set:y},e.length={get:o},n&i.tv.IsTypedArray&&(e.typedArray=this.defineTypedArray(A),n&i.tv.IsString&&(e.string=this.defineString(A)),n&i.tv.IsClampedArray&&(e.clampedArray=this.defineClampedArray(A))),e.entries=e[s.lf]=this.defineArrayEntries(),e.subarray={value(A,e){const t=d.call(this,A,e);return m(t)}},e.slice={value(A,e,i={}){const{zig:n=!1}=i,r=d.call(this,A,e),a=l.allocateMemory(r.byteLength,t,n),o=m(a);return o[s.sF]({[s.Qy]:r}),o}},e[Symbol.iterator]=this.defineArrayIterator(),e[s.IW]=(0,a.vQ)(E),e[s.sF]=this.defineCopier(I,!0),e[s.Zv]=(0,a.vQ)(y),e[s.vm]=this.defineFinalizerArray(f),e[s.tZ]=n&i.yi.HasObject&&this.defineVivificatorArray(A),e[s.g9]=n&i.yi.HasPointer&&this.defineVisitorArray(),m},finalizeSlice(A,e){const{flags:t,instance:{members:[n]}}=A;e.child=(0,a.vQ)(n.structure.constructor),e[s.fd]=t&i.tv.HasSentinel&&this.defineSentinel(A)}});function o(){return this[s.pi]}function g(A,e){return(A|=0)<0?(A=e+A)<0&&(A=0):A>e&&(A=e),A}},8991:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540);(0,n.co)({defineVivificatorStruct(A){const{instance:{members:e}}=A,t={};for(const A of e.filter((A=>A.type===i.Z9.Object)))t[A.slot]=A;const n=this;return{value(A){const e=t[A],{bitOffset:i,byteSize:a,structure:{constructor:o}}=e;this[s.zN]?.();const g=this[s.Qy],I=g.byteOffset+(i>>3);let C=a;if(void 0===C){if(7&i)throw new r.Vp(e);C=e.bitSize>>3}const Q=n.obtainView(g.buffer,I,C);return this[s._f][A]=o.call(s.f7,Q)}}}})},8771:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineStruct(A,e){const{flags:t,length:n,instance:{members:o}}=A,g=o.find((A=>A.flags&i.pK.IsBackingInt)),I=g&&this.defineMember(g),C=this.createApplier(A),Q=function(e,n){if((0,a.pU)(e,c))this[s.sF](e),t&i.yi.HasPointer&&this[s.g9]("copy",0,e);else if(e&&"object"==typeof e)C.call(this,e,n);else if("number"!=typeof e&&"bigint"!=typeof e||!I){if(void 0!==e)throw new r.is(A,"object",e)}else I.set.call(this,e)},c=this.createConstructor(A),B=e[s.Bl].value,l=e[s.Rk].value,E=[];for(const A of o.filter((A=>!!A.name))){const{name:t,flags:n}=A,{set:r}=e[t]=this.defineMember(A);r&&(n&i.pK.IsRequired&&(r.required=!0),B[t]=r,l.push(t)),E.push(t)}return e.$={get:a.Ng,set:Q},e.length=(0,a.vQ)(n),e.entries=t&i.sU.IsTuple&&this.defineVectorEntries(),e[Symbol.toPrimitive]=I&&{value(A){return"string"===A?Object.prototype.toString.call(this):I.get.call(this)}},e[Symbol.iterator]=t&i.sU.IsIterator?this.defineZigIterator():t&i.sU.IsTuple?this.defineVectorIterator():this.defineStructIterator(),e[s.Zv]=(0,a.vQ)(Q),e[s.tZ]=t&i.yi.HasObject&&this.defineVivificatorStruct(A),e[s.g9]=t&i.yi.HasPointer&&this.defineVisitorStruct(o),e[s.lf]=t&i.sU.IsTuple?this.defineVectorEntries():this.defineStructEntries(),e[s.n5]=(0,a.vQ)(E),t&i.sU.IsAllocator&&(e.alloc=this.defineAlloc(),e.free=this.defineFree(),e.dupe=this.defineDupe()),c}})},2799:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineUnion(A,e){const{flags:t,instance:{members:n}}=A,o=!!(t&i.M_.HasSelector),I=o?n.slice(0,-1):n,C=o?n[n.length-1]:null,{get:Q,set:c}=this.defineMember(C),{get:B}=this.defineMember(C,!1),l=t&i.M_.HasTag?function(){return Q.call(this)[s.o_]}:function(){const A=Q.call(this);return I[A].name},E=t&i.M_.HasTag?function(A){const{constructor:e}=C.structure;c.call(this,e[A])}:function(A){const e=I.findIndex((e=>e.name===A));c.call(this,e)},u=this.createApplier(A),f=function(e,n){if((0,a.pU)(e,h))this[s.sF](e),t&i.yi.HasPointer&&this[s.g9]("copy",i.F7.Vivificate,e);else if(e&&"object"==typeof e){let t=0;for(const A of m)A in e&&t++;if(t>1)throw new r.Z6(A);if(0===u.call(this,e,n))throw new r.if(A,e,o)}else if(void 0!==e)throw new r.is(A,"object with a single property",e)},h=this.createConstructor(A),p={},y=e[s.Bl].value,d=e[s.Rk].value,m=[];for(const n of I){const{name:a}=n,{get:g,set:I}=this.defineMember(n),C=o?function(){const e=l.call(this);if(a!==e){if(t&i.M_.HasTag)return null;throw new r.it(A,a,e)}return this[s.g9]?.("clear"),g.call(this)}:g,Q=o&&I?function(e){const t=l.call(this);if(a!==t)throw new r.it(A,a,t);I.call(this,e)}:I,c=o&&I?function(A){E.call(this,a),I.call(this,A),this[s.g9]?.("clear")}:I;e[a]={get:C,set:Q},y[a]=c,p[a]=g,d.push(a),m.push(a)}e.$={get:function(){return this},set:f},e[Symbol.iterator]=t&i.M_.IsIterator?this.defineZigIterator():this.defineUnionIterator(),e[Symbol.toPrimitive]=t&i.M_.HasTag&&{value(A){switch(A){case"string":case"default":return l.call(this);default:return B.call(this)}}};const{comptime:b}=this;return e[s.f$]=t&i.M_.HasInaccessible&&{value(){return b||this[s.g9](g),this[s.g9]=a.Ie,this}},e[s.Zv]=(0,a.vQ)(f),e[s.Dk]=t&i.M_.HasTag&&{get:Q,set:c},e[s.tZ]=t&i.yi.HasObject&&this.defineVivificatorStruct(A),e[s.g9]=t&i.yi.HasPointer&&this.defineVisitorUnion(I,t&i.M_.HasTag?B:null),e[s.lf]=this.defineUnionEntries(),e[s.n5]=t&i.M_.HasTag?{get(){return[l.call(this)]}}:(0,a.vQ)(m),e[s.XS]=(0,a.vQ)(p),h},finalizeUnion(A,e){const{flags:t,instance:{members:n}}=A;t&i.M_.HasTag&&(e.tag=(0,a.vQ)(n[n.length-1].structure.constructor))}});function o(){throw new r.b$}function g(){const A={get:o,set:o};(0,a.ny)(this[s.C7],{"*":A,$:A,[s.C7]:A,[s.Qn]:A})}},4233:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(4762),s=t(4540),a=t(8e3);(0,n.co)({defineVector(A,e){const{flags:t,length:n,instance:{members:[o]}}=A,g=this.createApplier(A),I=function(e){if((0,a.pU)(e,C))this[s.sF](e),t&i.yi.HasPointer&&this[s.g9]("copy",i.F7.Vivificate,e);else if(e?.[Symbol.iterator]){let t=e.length;if("number"!=typeof t&&(t=(e=[...e]).length),t!==n)throw new r.Y8(A,this,e);let i=0;for(const A of e)this[i++]=A}else if(e&&"object"==typeof e){if(0===g.call(this,e))throw new r.L2(A,e)}else if(void 0!==e)throw new r.L2(A,e)},C=this.createConstructor(A,{initializer:I}),{bitSize:Q}=o;for(let A=0,r=0;A<n;A++,r+=Q)t&i.yi.HasPointer?e[A]=this.defineMember({...o,slot:A}):e[A]=this.defineMember({...o,bitOffset:r});return e.$={get:a.Ng,set:I},e.length=(0,a.vQ)(n),t&i.sl.IsTypedArray&&(e.typedArray=this.defineTypedArray(A),t&i.sl.IsClampedArray&&(e.clampedArray=this.defineClampedArray(A))),e.entries=e[s.lf]=this.defineVectorEntries(),e[Symbol.iterator]=this.defineVectorIterator(),e[s.Zv]=(0,a.vQ)(I),e[s.tZ]=t&i.yi.HasObject&&this.defineVivificatorArray(A),e[s.g9]=t&i.yi.HasPointer&&this.defineVisitorArray(),C},finalizeVector(A,e){const{instance:{members:[t]}}=A;e.child=(0,a.vQ)(t.structure.constructor)}})},4540:(A,e,t)=>{t.d(e,{BD:()=>m,Bl:()=>L,C7:()=>E,Dk:()=>B,Dr:()=>g,E2:()=>y,Ec:()=>U,Gz:()=>K,IW:()=>j,J2:()=>T,KK:()=>N,M0:()=>G,Qn:()=>h,Qt:()=>x,Qy:()=>s,Rk:()=>d,SK:()=>k,Ut:()=>V,Wg:()=>Q,XS:()=>R,ZE:()=>C,Zv:()=>Z,_d:()=>O,_f:()=>a,c6:()=>D,du:()=>q,eR:()=>J,f$:()=>$,f7:()=>o,fM:()=>Y,fV:()=>v,fd:()=>u,g9:()=>W,iw:()=>F,lf:()=>p,mL:()=>eA,n5:()=>l,o_:()=>I,pM:()=>z,pi:()=>b,q6:()=>H,rG:()=>w,sF:()=>X,sO:()=>f,tZ:()=>_,tp:()=>c,uL:()=>S,uT:()=>M,vm:()=>AA,wg:()=>iA,zN:()=>P,zg:()=>tA});const i=globalThis[Symbol.for("ZIGAR")]||={};function n(A){return i[A]||=Symbol(A)}function r(A){return n(A)}const s=r("memory"),a=r("slots"),o=r("parent"),g=r("zig"),I=r("name"),C=r("type"),Q=r("flags"),c=r("class"),B=r("tag"),l=r("props"),E=r("pointer"),u=r("sentinel"),f=r("array"),h=(r("items"),r("target")),p=r("entries"),y=r("max length"),d=r("keys"),m=r("address"),b=r("length"),D=r("last address"),S=r("last length"),w=r("proxy"),v=r("cache"),k=r("size"),x=r("bit size"),U=r("align"),N=r("const target"),G=r("environment"),F=r("attributes"),M=r("primitive"),R=r("getters"),L=r("setters"),z=r("typed array"),q=r("throwing"),J=r("promise"),O=r("generator"),K=r("allocator"),T=(r("fallback"),r("signature")),Y=r("string retval"),H=r("update"),P=r("restore"),V=r("reset"),_=r("vivificate"),W=r("visit"),X=r("copy"),j=r("shape"),Z=r("initialize"),$=r("restrict"),AA=r("finalize"),eA=r("cast"),tA=r("return"),iA=r("yield")},8e3:(A,e,t)=>{t.d(e,{$k:()=>h,Au:()=>m,BF:()=>g,FU:()=>b,Fy:()=>p,Ie:()=>N,L9:()=>o,NV:()=>v,Ng:()=>k,UF:()=>G,V_:()=>x,WG:()=>Q,Y$:()=>y,ZG:()=>E,be:()=>D,cv:()=>d,dI:()=>U,g7:()=>I,hJ:()=>f,n8:()=>r,ny:()=>s,on:()=>u,pU:()=>w,vQ:()=>a,wx:()=>C,xN:()=>S,y4:()=>c});var i=t(1388),n=t(4540);function r(A,e,t){if(t){const{set:i,get:n,value:r,enumerable:s,configurable:a=!0,writable:o=!0}=t;Object.defineProperty(A,e,n||i?{get:n,set:i,configurable:a,enumerable:s}:{value:r,configurable:a,enumerable:s,writable:o})}return A}function s(A,e){for(const[t,i]of Object.entries(e))r(A,t,i);for(const t of Object.getOwnPropertySymbols(e)){r(A,t,e[t])}return A}function a(A){return void 0!==A?{value:A}:void 0}function o(A){return"return"===A?.error?A=>{try{return A()}catch(A){return A}}:A=>A()}function g({type:A,bitSize:e}){switch(A){case i.Z9.Bool:return"boolean";case i.Z9.Int:case i.Z9.Uint:if(e>32)return"bigint";case i.Z9.Float:return"number"}}function I(A,e="utf-8"){const t=B[e]||=new TextDecoder(e);let i;if(Array.isArray(A))if(1===A.length)i=A[0];else{let e=0;for(const t of A)e+=t.length;const{constructor:t}=A[0];i=new t(e);let n=0;for(const e of A)i.set(e,n),n+=e.length}else i=A;return"SharedArrayBuffer"===i.buffer[Symbol.toStringTag]&&(i=new i.constructor(i)),t.decode(i)}function C(A,e="utf-8"){if("utf-16"===e){const{length:e}=A,t=new Uint16Array(e);for(let i=0;i<e;i++)t[i]=A.charCodeAt(i);return t}return(l[e]||=new TextEncoder).encode(A)}function Q(A){const e=new Uint8Array(A.buffer,A.byteOffset,A.byteLength),t=String.fromCharCode.apply(null,e);return btoa(t)}function c(A){const e=atob(A),t=new Uint8Array(e.length);for(let A=0;A<t.byteLength;A++)t[A]=e.charCodeAt(A);return new DataView(t.buffer)}const B={},l={};function E(A,e,t){let i=0,n=A.length;if(0===n)return 0;for(;i<n;){const r=Math.floor((i+n)/2);t(A[r])<=e?i=r+1:n=r}return n}const u=function(A,e){return!!e&&!!(A&e-1)},f=function(A,e){return A+(e-1)&~(e-1)},h=0,p=4294967295,y=-1,d=function(A){return 2863311530===A||-1431655766===A},m=function(A,e){return A+e};function b(A){if("number"==typeof A.length)return A;const e=A[Symbol.iterator](),t=e.next(),i=t.value?.length;if("number"==typeof i&&"length"===Object.keys(t.value).join())return Object.assign(function*(){let A;for(;!(A=e.next()).done;)yield A.value}(),{length:i});{const A=[];let i=t;for(;!i.done;)A.push(i.value),i=e.next();return A}}function D(A,e){const{constructor:t}=A;return t===e?1:t.child===e?A.length:void 0}function S(A,e){return A===e||A?.[n.J2]===e[n.J2]&&A?.[n.M0]!==e?.[n.M0]}function w(A,e){return A instanceof e||S(A?.constructor,e)}function v({get:A,set:e}){return A.special=e.special=!0,{get:A,set:e}}function k(){return this}function x(){return this[n.rG]}function U(){return String(this)}function N(){}class G{map=new WeakMap;find(A){return this.map.get(A)}save(A,e){return this.map.set(A,e),e}}},8502:(A,e,t)=>{t.d(e,{k:()=>a});var i=t(1388),n=t(6560),r=t(4762),s=t(4540);(0,n.co)({defineVisitor:()=>({value(A,e,t){let i;i="string"==typeof A?o[A]:A,i.call(this,e,t)}})});function a(A,e,t,n){let r,a=this[s._f][A];if(!a){if(t&i.F7.IgnoreUncreated)return;a=this[s.tZ](A)}n&&(r=n[s._f][A],!r)||a[s.g9](e,t,r)}const o={copy(A,e){const t=e[s._f][0];if(this[s.Qy][s.Dr]&&t&&!t[s.Qy][s.Dr])throw new r.x1;this[s._f][0]=t},clear(A){A&i.F7.IsInactive&&(this[s._f][0]=void 0)},reset(){this[s._f][0]=void 0,this[s.c6]=void 0}}},9025:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(8502);(0,n.co)({defineVisitorArgStruct(A){const e=[];let t;for(const[n,{slot:r,structure:s}]of A.entries())s.flags&i.yi.HasPointer&&(0===n?t=r:e.push(r));return{value(A,n,s){if(!(n&i.F7.IgnoreArguments)&&e.length>0)for(const t of e)r.k.call(this,t,A,n|i.F7.IsImmutable,s);n&i.F7.IgnoreRetval||void 0===t||r.k.call(this,t,A,n,s)}}}})},9426:(A,e,t)=>{var i=t(6560),n=t(8502);(0,i.co)({defineVisitorArray:()=>({value(A,e,t){for(let i=0,r=this.length;i<r;i++)n.k.call(this,i,A,e,t)}})})},2059:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(8502);(0,n.co)({defineVisitorErrorUnion(A,e){const{slot:t}=A;return{value(A,n,s){e.call(this)&&(n|=i.F7.IsInactive),n&i.F7.IsInactive&&n&i.F7.IgnoreInactive||r.k.call(this,t,A,n,s)}}}})},1991:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(8502);(0,n.co)({defineVisitorOptional(A,e){const{slot:t}=A;return{value(A,n,s){e.call(this)||(n|=i.F7.IsInactive),n&i.F7.IsInactive&&n&i.F7.IgnoreInactive||r.k.call(this,t,A,n,s)}}}})},5558:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(8502);(0,n.co)({defineVisitorStruct(A){const e=A.filter((A=>A.structure?.flags&i.yi.HasPointer)).map((A=>A.slot));return{value(A,t,i){for(const n of e)r.k.call(this,n,A,t,i)}}}})},6584:(A,e,t)=>{var i=t(1388),n=t(6560),r=t(8502);(0,n.co)({defineVisitorUnion(A,e){const t=[];for(const[e,{slot:n,structure:r}]of A.entries())r?.flags&i.yi.HasPointer&&t.push({index:e,slot:n});return{value(A,n,s){const a=e?.call(this);for(const{index:e,slot:o}of t){let t=n;e!==a&&(t|=i.F7.IsInactive),t&i.F7.IsInactive&&t&i.F7.IgnoreInactive||r.k.call(this,o,A,t,s)}}}}})}},r={};function s(A){var e=r[A];if(void 0!==e)return e.exports;var t=r[A]={exports:{}};return n[A](t,t.exports,s),t.exports}A="function"==typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",e="function"==typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",t="function"==typeof Symbol?Symbol("webpack error"):"__webpack_error__",i=A=>{A&&A.d<1&&(A.d=1,A.forEach((A=>A.r--)),A.forEach((A=>A.r--?A.r++:A())))},s.a=(n,r,s)=>{var a;s&&((a=[]).d=-1);var o,g,I,C=new Set,Q=n.exports,c=new Promise(((A,e)=>{I=e,g=A}));c[e]=Q,c[A]=A=>(a&&A(a),C.forEach(A),c.catch((A=>{}))),n.exports=c,r((n=>{var r;o=(n=>n.map((n=>{if(null!==n&&"object"==typeof n){if(n[A])return n;if(n.then){var r=[];r.d=0,n.then((A=>{s[e]=A,i(r)}),(A=>{s[t]=A,i(r)}));var s={};return s[A]=A=>A(r),s}}var a={};return a[A]=A=>{},a[e]=n,a})))(n);var s=()=>o.map((A=>{if(A[t])throw A[t];return A[e]})),g=new Promise((e=>{(r=()=>e(s)).r=0;var t=A=>A!==a&&!C.has(A)&&(C.add(A),A&&!A.d&&(r.r++,A.push(r)));o.map((e=>e[A](t)))}));return r.r?g:s()}),(A=>(A?I(c[t]=A):g(Q),i(a)))),a&&a.d<0&&(a.d=0)},s.d=(A,e)=>{for(var t in e)s.o(e,t)&&!s.o(A,t)&&Object.defineProperty(A,t,{enumerable:!0,get:e[t]})},s.o=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),(()=>{var A;if("string"==typeof import.meta.url&&(A=import.meta.url),!A)throw new Error("Automatic publicPath is not supported in this browser");A=A.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s.p=A})();var a=s(8156),o=(a=await a).b,g=a.A;export{o as CreatorTool,g as default};
2
2
  //# sourceMappingURL=index.mjs.map