@rive-app/canvas-advanced-lite 2.41.0 → 2.41.1

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.
@@ -1,94 +1,96 @@
1
- var Rive=(()=>{var _scriptName=globalThis.document?.currentScript?.src;return async function(moduleArg={}){var moduleRtn;var k=moduleArg,aa=!!globalThis.window,ba=!!globalThis.WorkerGlobalScope;
2
- function fa(){function b(h){const g=d;c=a=0;d=new Map;g.forEach(m=>{try{m(h)}catch(n){console.error(n)}});this.ab();e&&e.xb()}let a=0,c=0,d=new Map,e=null,f=null;this.requestAnimationFrame=function(h){a||=requestAnimationFrame(b.bind(this));const g=++c;d.set(g,h);return g};this.cancelAnimationFrame=function(h){d.delete(h);a&&0==d.size&&(cancelAnimationFrame(a),a=0)};this.vb=function(h){f&&(document.body.remove(f),f=null);h||(f=document.createElement("div"),f.style.backgroundColor="black",f.style.position=
3
- "fixed",f.style.right=0,f.style.top=0,f.style.color="white",f.style.padding="4px",f.innerHTML="RIVE FPS",h=function(g){f.innerHTML="RIVE FPS "+g.toFixed(1)},document.body.appendChild(f));e=new function(){let g=0,m=0;this.xb=function(){var n=performance.now();m?(++g,n-=m,1E3<n&&(h(1E3*g/n),g=m=0)):(m=n,g=0)}}};this.sb=function(){f&&(document.body.remove(f),f=null);e=null};this.ab=function(){}}
4
- function ja(b){console.assert(!0);const a=new Map;let c=-Infinity;this.push=function(d){d=d+((1<<b)-1)>>b;a.has(d)&&clearTimeout(a.get(d));a.set(d,setTimeout(function(){a.delete(d);0==a.length?c=-Infinity:d==c&&(c=Math.max(...a.keys()),console.assert(c<d))},1E3));c=Math.max(d,c);return c<<b}}const ka=k.onRuntimeInitialized;
5
- k.onRuntimeInitialized=function(){ka&&ka();let b=k.decodeAudio;k.decodeAudio=function(f,h){f=b(f);h(f)};let a=k.decodeFont;k.decodeFont=function(f,h){f=a(f);h(f)};let c=k.setFallbackFontCb;k.setFallbackFontCallback="function"===typeof c?function(f){c(f)}:function(){console.warn("Module.setFallbackFontCallback called, but text support is not enabled in this build.")};const d=k.FileAssetLoader;k.ptrToAsset=f=>{let h=k.ptrToFileAsset(f);return h.isImage?k.ptrToImageAsset(f):h.isFont?k.ptrToFontAsset(f):
6
- h.isAudio?k.ptrToAudioAsset(f):h};k.CustomFileAssetLoader=d.extend("CustomFileAssetLoader",{__construct:function({loadContents:f}){this.__parent.__construct.call(this);this.mb=f},loadContents:function(f,h){f=k.ptrToAsset(f);return this.mb(f,h)}});k.CDNFileAssetLoader=d.extend("CDNFileAssetLoader",{__construct:function(){this.__parent.__construct.call(this)},loadContents:function(f){let h=k.ptrToAsset(f);f=h.cdnUuid;if(""===f)return!1;(function(g,m){var n=new XMLHttpRequest;n.responseType="arraybuffer";
7
- n.onreadystatechange=function(){4==n.readyState&&200==n.status&&m(n)};n.open("GET",g,!0);n.send(null)})(h.cdnBaseUrl+"/"+f,g=>{h.decode(new Uint8Array(g.response))});return!0}});k.FallbackFileAssetLoader=d.extend("FallbackFileAssetLoader",{__construct:function(){this.__parent.__construct.call(this);this.$a=[]},addLoader:function(f){this.$a.push(f)},loadContents:function(f,h){for(let g of this.$a)if(g.loadContents(f,h))return!0;return!1}});let e=k.computeAlignment;k.computeAlignment=function(f,h,g,
1
+ var Rive=(()=>{var _scriptName=globalThis.document?.currentScript?.src;return async function(moduleArg={}){var moduleRtn;var l=moduleArg,aa=!!globalThis.window,ba=!!globalThis.WorkerGlobalScope;
2
+ function ea(){function b(h){const g=d;c=a=0;d=new Map;g.forEach(m=>{try{m(h)}catch(n){console.error(n)}});this.rb();e&&e.Pb()}let a=0,c=0,d=new Map,e=null,f=null;this.requestAnimationFrame=function(h){a||=requestAnimationFrame(b.bind(this));const g=++c;d.set(g,h);return g};this.cancelAnimationFrame=function(h){d.delete(h);a&&0==d.size&&(cancelAnimationFrame(a),a=0)};this.Nb=function(h){f&&(document.body.remove(f),f=null);h||(f=document.createElement("div"),f.style.backgroundColor="black",f.style.position=
3
+ "fixed",f.style.right=0,f.style.top=0,f.style.color="white",f.style.padding="4px",f.innerHTML="RIVE FPS",h=function(g){f.innerHTML="RIVE FPS "+g.toFixed(1)},document.body.appendChild(f));e=new function(){let g=0,m=0;this.Pb=function(){var n=performance.now();m?(++g,n-=m,1E3<n&&(h(1E3*g/n),g=m=0)):(m=n,g=0)}}};this.Kb=function(){f&&(document.body.remove(f),f=null);e=null};this.rb=function(){}}
4
+ function ia(b){console.assert(!0);const a=new Map;let c=-Infinity;this.push=function(d){d=d+((1<<b)-1)>>b;a.has(d)&&clearTimeout(a.get(d));a.set(d,setTimeout(function(){a.delete(d);0==a.length?c=-Infinity:d==c&&(c=Math.max(...a.keys()),console.assert(c<d))},1E3));c=Math.max(d,c);return c<<b}}const ja=l.onRuntimeInitialized;
5
+ l.onRuntimeInitialized=function(){ja&&ja();let b=l.decodeAudio;l.decodeAudio=function(f,h){f=b(f);h(f)};let a=l.decodeFont;l.decodeFont=function(f,h){f=a(f);h(f)};let c=l.setFallbackFontCb;l.setFallbackFontCallback="function"===typeof c?function(f){c(f)}:function(){console.warn("Module.setFallbackFontCallback called, but text support is not enabled in this build.")};const d=l.FileAssetLoader;l.ptrToAsset=f=>{let h=l.ptrToFileAsset(f);return h.isImage?l.ptrToImageAsset(f):h.isFont?l.ptrToFontAsset(f):
6
+ h.isAudio?l.ptrToAudioAsset(f):h};l.CustomFileAssetLoader=d.extend("CustomFileAssetLoader",{__construct:function({loadContents:f}){this.__parent.__construct.call(this);this.Fb=f},loadContents:function(f,h){f=l.ptrToAsset(f);return this.Fb(f,h)}});l.CDNFileAssetLoader=d.extend("CDNFileAssetLoader",{__construct:function(){this.__parent.__construct.call(this)},loadContents:function(f){let h=l.ptrToAsset(f);f=h.cdnUuid;if(""===f)return!1;(function(g,m){var n=new XMLHttpRequest;n.responseType="arraybuffer";
7
+ n.onreadystatechange=function(){4==n.readyState&&200==n.status&&m(n)};n.open("GET",g,!0);n.send(null)})(h.cdnBaseUrl+"/"+f,g=>{h.decode(new Uint8Array(g.response))});return!0}});l.FallbackFileAssetLoader=d.extend("FallbackFileAssetLoader",{__construct:function(){this.__parent.__construct.call(this);this.qb=[]},addLoader:function(f){this.qb.push(f)},loadContents:function(f,h){for(let g of this.qb)if(g.loadContents(f,h))return!0;return!1}});let e=l.computeAlignment;l.computeAlignment=function(f,h,g,
8
8
  m,n=1){return e.call(this,f,h,g,m,n)}};
9
- const la="createConicGradient createImageData createLinearGradient createPattern createRadialGradient getContextAttributes getImageData getLineDash getTransform isContextLost isPointInPath isPointInStroke measureText".split(" "),ma=new function(){function b(){if(!a){var t=document.createElement("canvas"),v={alpha:1,depth:0,stencil:0,antialias:0,premultipliedAlpha:1,preserveDrawingBuffer:0,powerPreference:"high-performance",failIfMajorPerformanceCaveat:0,enableExtensionsByDefault:1,explicitSwapControl:1,
10
- renderViaOffscreenBackBuffer:1};let p;if(/iPhone|iPad|iPod/i.test(navigator.userAgent)){if(p=t.getContext("webgl",v),c=1,!p)return console.log("No WebGL support. Image mesh will not be drawn."),!1}else if(p=t.getContext("webgl2",v))c=2;else if(p=t.getContext("webgl",v))c=1;else return console.log("No WebGL support. Image mesh will not be drawn."),!1;p=new Proxy(p,{get(F,r){if(F.isContextLost()){if(m||(console.error("Cannot render the mesh because the GL Context was lost. Tried to invoke ",r),m=!0),
11
- "function"===typeof F[r])return function(){}}else return"function"===typeof F[r]?function(...G){return F[r].apply(F,G)}:F[r]},set(F,r,G){if(F.isContextLost())m||(console.error("Cannot render the mesh because the GL Context was lost. Tried to set property "+r),m=!0);else return F[r]=G,!0}});d=Math.min(p.getParameter(p.MAX_RENDERBUFFER_SIZE),p.getParameter(p.MAX_TEXTURE_SIZE));function I(F,r,G){r=p.createShader(r);p.shaderSource(r,G);p.compileShader(r);G=p.getShaderInfoLog(r);if(0<(G||"").length)throw G;
12
- p.attachShader(F,r)}t=p.createProgram();I(t,p.VERTEX_SHADER,"attribute vec2 vertex;\n attribute vec2 uv;\n uniform vec4 mat;\n uniform vec2 translate;\n varying vec2 st;\n void main() {\n st = uv;\n gl_Position = vec4(mat2(mat) * vertex + translate, 0, 1);\n }");I(t,p.FRAGMENT_SHADER,"precision highp float;\n uniform sampler2D image;\n varying vec2 st;\n void main() {\n gl_FragColor = texture2D(image, st);\n }");
9
+ const ka="createConicGradient createImageData createLinearGradient createPattern createRadialGradient getContextAttributes getImageData getLineDash getTransform isContextLost isPointInPath isPointInStroke measureText".split(" "),la=new function(){function b(){if(!a){var t=document.createElement("canvas"),v={alpha:1,depth:0,stencil:0,antialias:0,premultipliedAlpha:1,preserveDrawingBuffer:0,powerPreference:"high-performance",failIfMajorPerformanceCaveat:0,enableExtensionsByDefault:1,explicitSwapControl:1,
10
+ renderViaOffscreenBackBuffer:1};let p;if(/iPhone|iPad|iPod/i.test(navigator.userAgent)){if(p=t.getContext("webgl",v),c=1,!p)return console.log("No WebGL support. Image mesh will not be drawn."),!1}else if(p=t.getContext("webgl2",v))c=2;else if(p=t.getContext("webgl",v))c=1;else return console.log("No WebGL support. Image mesh will not be drawn."),!1;p=new Proxy(p,{get(G,r){if(G.isContextLost()){if(m||(console.error("Cannot render the mesh because the GL Context was lost. Tried to invoke ",r),m=!0),
11
+ "function"===typeof G[r])return function(){}}else return"function"===typeof G[r]?function(...E){return G[r].apply(G,E)}:G[r]},set(G,r,E){if(G.isContextLost())m||(console.error("Cannot render the mesh because the GL Context was lost. Tried to set property "+r),m=!0);else return G[r]=E,!0}});d=Math.min(p.getParameter(p.MAX_RENDERBUFFER_SIZE),p.getParameter(p.MAX_TEXTURE_SIZE));function I(G,r,E){r=p.createShader(r);p.shaderSource(r,E);p.compileShader(r);E=p.getShaderInfoLog(r);if(0<(E||"").length)throw E;
12
+ p.attachShader(G,r)}t=p.createProgram();I(t,p.VERTEX_SHADER,"attribute vec2 vertex;\n attribute vec2 uv;\n uniform vec4 mat;\n uniform vec2 translate;\n varying vec2 st;\n void main() {\n st = uv;\n gl_Position = vec4(mat2(mat) * vertex + translate, 0, 1);\n }");I(t,p.FRAGMENT_SHADER,"precision highp float;\n uniform sampler2D image;\n varying vec2 st;\n void main() {\n gl_FragColor = texture2D(image, st);\n }");
13
13
  p.bindAttribLocation(t,0,"vertex");p.bindAttribLocation(t,1,"uv");p.linkProgram(t);v=p.getProgramInfoLog(t);if(0<(v||"").trim().length)throw v;e=p.getUniformLocation(t,"mat");f=p.getUniformLocation(t,"translate");p.useProgram(t);p.bindBuffer(p.ARRAY_BUFFER,p.createBuffer());p.enableVertexAttribArray(0);p.enableVertexAttribArray(1);p.bindBuffer(p.ELEMENT_ARRAY_BUFFER,p.createBuffer());p.uniform1i(p.getUniformLocation(t,"image"),0);p.pixelStorei(p.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);a=p}return!0}let a=
14
- null,c=0,d=0,e=null,f=null,h=0,g=0,m=!1;b();this.Gb=function(){b();return d};this.rb=function(t){a.deleteTexture&&a.deleteTexture(t)};this.qb=function(t){if(!b())return null;const v=a.createTexture();if(!v)return null;a.bindTexture(a.TEXTURE_2D,v);a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,t);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR);2==c?(a.texParameteri(a.TEXTURE_2D,
15
- a.TEXTURE_MIN_FILTER,a.LINEAR_MIPMAP_LINEAR),a.generateMipmap(a.TEXTURE_2D)):a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR);return v};const n=new ja(8),u=new ja(8),x=new ja(10),w=new ja(10);this.ub=function(t,v,p,I,F){if(b()){var r=n.push(t),G=u.push(v);if(a.canvas){if(a.canvas.width!=r||a.canvas.height!=G)a.canvas.width=r,a.canvas.height=G;a.viewport(0,G-v,t,v);a.disable(a.SCISSOR_TEST);a.clearColor(0,0,0,0);a.clear(a.COLOR_BUFFER_BIT);a.enable(a.SCISSOR_TEST);p.sort((E,U)=>U.fb-E.fb);
16
- r=x.push(I);h!=r&&(a.bufferData(a.ARRAY_BUFFER,8*r,a.DYNAMIC_DRAW),h=r);r=0;for(var L of p)a.bufferSubData(a.ARRAY_BUFFER,r,L.Oa),r+=4*L.Oa.length;console.assert(r==4*I);for(var O of p)a.bufferSubData(a.ARRAY_BUFFER,r,O.ib),r+=4*O.ib.length;console.assert(r==8*I);r=w.push(F);g!=r&&(a.bufferData(a.ELEMENT_ARRAY_BUFFER,2*r,a.DYNAMIC_DRAW),g=r);L=0;for(var ca of p)a.bufferSubData(a.ELEMENT_ARRAY_BUFFER,L,ca.indices),L+=2*ca.indices.length;console.assert(L==2*F);ca=0;O=!0;r=L=0;for(const E of p){E.image.Ja!=
17
- ca&&(a.bindTexture(a.TEXTURE_2D,E.image.Ia||null),ca=E.image.Ja);E.Jb?(a.scissor(E.Ta,G-E.Ua-E.Za,E.Qb,E.Za),O=!0):O&&(a.scissor(0,G-v,t,v),O=!1);p=2/t;const U=-2/v;a.uniform4f(e,E.ua[0]*p*E.Ea,E.ua[1]*U*E.Fa,E.ua[2]*p*E.Ea,E.ua[3]*U*E.Fa);a.uniform2f(f,E.ua[4]*p*E.Ea+p*(E.Ta-E.Hb*E.Ea)-1,E.ua[5]*U*E.Fa+U*(E.Ua-E.Ib*E.Fa)+1);a.vertexAttribPointer(0,2,a.FLOAT,!1,0,r);a.vertexAttribPointer(1,2,a.FLOAT,!1,0,r+4*I);a.drawElements(a.TRIANGLES,E.indices.length,a.UNSIGNED_SHORT,L);r+=4*E.Oa.length;L+=2*
18
- E.indices.length}console.assert(r==4*I);console.assert(L==2*F)}}};this.canvas=function(){return b()&&a.canvas}},na=k.onRuntimeInitialized;
19
- k.onRuntimeInitialized=function(){function b(l){switch(l){case n.srcOver:return"source-over";case n.screen:return"screen";case n.overlay:return"overlay";case n.darken:return"darken";case n.lighten:return"lighten";case n.colorDodge:return"color-dodge";case n.colorBurn:return"color-burn";case n.hardLight:return"hard-light";case n.softLight:return"soft-light";case n.difference:return"difference";case n.exclusion:return"exclusion";case n.multiply:return"multiply";case n.hue:return"hue";case n.saturation:return"saturation";
20
- case n.color:return"color";case n.luminosity:return"luminosity"}}function a(l){return"rgba("+((16711680&l)>>>16)+","+((65280&l)>>>8)+","+((255&l)>>>0)+","+((4278190080&l)>>>24)/255+")"}function c(){0<G.length&&(ma.ub(r.drawWidth(),r.drawHeight(),G,L,O),G=[],O=L=0,r.reset(512,512));for(const l of F){for(const q of l.ma)q();l.ma=[]}F.clear()}na&&na();var d=k.RenderPaintStyle;const e=k.RenderPath,f=k.RenderPaint,h=k.Renderer,g=k.StrokeCap,m=k.StrokeJoin,n=k.BlendMode,u=d.fill,x=d.stroke,w=k.FillRule.evenOdd;
21
- let t=1;var v=k.RenderImage.extend("CanvasRenderImage",{__construct:function({ya:l,Da:q}={}){this.__parent.__construct.call(this);this.Ja=t;t=t+1&2147483647||1;this.ya=l;this.Da=q},__destruct:function(){this.Ia&&(ma.rb(this.Ia),URL.revokeObjectURL(this.Ra));this.__parent.__destruct.call(this)},decode:function(l){var q=this;q.Da&&q.Da(q);var D=new Image;q.Ra=URL.createObjectURL(new Blob([l],{type:"image/png"}));D.onload=function(){q.lb=D;q.Ia=ma.qb(D);q.size(D.width,D.height);q.ya&&q.ya(q)};D.src=
22
- q.Ra}}),p=e.extend("CanvasRenderPath",{__construct:function(){this.__parent.__construct.call(this);this.ra=new Path2D},rewind:function(){this.ra=new Path2D},addPath:function(l,q,D,B,y,C,A){var H=this.ra,ha=H.addPath;l=l.ra;const N=new DOMMatrix;N.a=q;N.b=D;N.c=B;N.d=y;N.e=C;N.f=A;ha.call(H,l,N)},fillRule:function(l){this.Qa=l},moveTo:function(l,q){this.ra.moveTo(l,q)},lineTo:function(l,q){this.ra.lineTo(l,q)},cubicTo:function(l,q,D,B,y,C){this.ra.bezierCurveTo(l,q,D,B,y,C)},close:function(){this.ra.closePath()}}),
23
- I=f.extend("CanvasRenderPaint",{color:function(l){this.Sa=a(l)},thickness:function(l){this.ob=l},join:function(l){switch(l){case m.miter:this.Ha="miter";break;case m.round:this.Ha="round";break;case m.bevel:this.Ha="bevel"}},cap:function(l){switch(l){case g.butt:this.Ga="butt";break;case g.round:this.Ga="round";break;case g.square:this.Ga="square"}},style:function(l){this.nb=l},blendMode:function(l){this.kb=b(l)},clearGradient:function(){this.wa=null},linearGradient:function(l,q,D,B){this.wa={gb:l,
24
- hb:q,Wa:D,Xa:B,Na:[]}},radialGradient:function(l,q,D,B){this.wa={gb:l,hb:q,Wa:D,Xa:B,Na:[],Eb:!0}},addStop:function(l,q){this.wa.Na.push({color:l,stop:q})},completeGradient:function(){},draw:function(l,q,D,B){let y=this.nb;var C=this.Sa,A=this.wa;const H=l.globalCompositeOperation,ha=l.globalAlpha;l.globalCompositeOperation=this.kb;l.globalAlpha=B;if(null!=A){C=A.gb;const R=A.hb,X=A.Wa;var N=A.Xa;B=A.Na;A.Eb?(A=X-C,N-=R,C=l.createRadialGradient(C,R,0,C,R,Math.sqrt(A*A+N*N))):C=l.createLinearGradient(C,
25
- R,X,N);for(let S=0,V=B.length;S<V;S++)A=B[S],C.addColorStop(A.stop,a(A.color));this.Sa=C;this.wa=null}switch(y){case x:l.strokeStyle=C;l.lineWidth=this.ob;l.lineCap=this.Ga;l.lineJoin=this.Ha;l.stroke(q);break;case u:l.fillStyle=C,l.fill(q,D)}l.globalCompositeOperation=H;l.globalAlpha=ha}});const F=new Set;let r=null,G=[],L=0,O=0;var ca=k.CanvasRenderer=h.extend("Renderer",{__construct:function(l){this.__parent.__construct.call(this);this.qa=[1,0,0,1,0,0];this.ja=[1];this.ga=l.getContext("2d");this.Pa=
26
- l;this.ma=[]},save:function(){this.qa.push(...this.qa.slice(this.qa.length-6));this.ja.push(this.ja[this.ja.length-1]);this.ma.push(this.ga.save.bind(this.ga))},restore:function(){const l=this.qa.length-6;if(6>l)throw"restore() called without matching save().";this.qa.splice(l);this.ja.pop();this.ma.push(this.ga.restore.bind(this.ga))},transform:function(l,q,D,B,y,C){const A=this.qa,H=A.length-6;A.splice(H,6,A[H]*l+A[H+2]*q,A[H+1]*l+A[H+3]*q,A[H]*D+A[H+2]*B,A[H+1]*D+A[H+3]*B,A[H]*y+A[H+2]*C+A[H+4],
27
- A[H+1]*y+A[H+3]*C+A[H+5]);this.ma.push(this.ga.transform.bind(this.ga,l,q,D,B,y,C))},rotate:function(l){const q=Math.sin(l);l=Math.cos(l);this.transform(l,q,-q,l,0,0)},modulateOpacity:function(l){this.ja[this.ja.length-1]*=l},_drawPath:function(l,q){this.ma.push(q.draw.bind(q,this.ga,l.ra,l.Qa===w?"evenodd":"nonzero",Math.max(0,this.ja[this.ja.length-1])))},_drawRiveImage:function(l,q,D,B){var y=l.lb;if(y){var C=this.ga,A=b(D),H=Math.max(0,B*this.ja[this.ja.length-1]);this.ma.push(function(){C.globalCompositeOperation=
28
- A;C.globalAlpha=H;C.drawImage(y,0,0);C.globalAlpha=1})}},_getMatrix:function(l){const q=this.qa,D=q.length-6;for(let B=0;6>B;++B)l[B]=q[D+B]},_drawImageMesh:function(l,q,D,B,y,C,A,H,ha,N,R,X,S,V){let nb,ob,pb;try{nb=k.HEAPF32.slice(y>>2,(y>>2)+C),ob=k.HEAPF32.slice(A>>2,(A>>2)+H),pb=k.HEAPU16.slice(ha>>1,(ha>>1)+N)}catch(Ra){console.error("[Rive] _drawImageMesh: failed to read mesh data from WASM heap. Mesh skipped for this frame.");return}q=this.ga.canvas.width;y=this.ga.canvas.height;A=S-R;H=V-
29
- X;R=Math.max(R,0);X=Math.max(X,0);S=Math.min(S,q);V=Math.min(V,y);const qa=S-R,ra=V-X;console.assert(qa<=Math.min(A,q));console.assert(ra<=Math.min(H,y));if(!(0>=qa||0>=ra)){S=qa<A||ra<H;q=V=1;var da=Math.ceil(qa*V),ea=Math.ceil(ra*q);y=ma.Gb();da>y&&(V*=y/da,da=y);ea>y&&(q*=y/ea,ea=y);r||(r=new k.DynamicRectanizer(y),r.reset(512,512));y=r.addRect(da,ea);0>y&&(c(),F.add(this),y=r.addRect(da,ea),console.assert(0<=y));var qb=y&65535,rb=y>>16;G.push({ua:this.qa.slice(this.qa.length-6),image:l,Ta:qb,
30
- Ua:rb,Hb:R,Ib:X,Qb:da,Za:ea,Ea:V,Fa:q,Oa:nb,ib:ob,indices:pb,Jb:S,fb:l.Ja<<1|(S?1:0)});L+=C;O+=N;var ia=this.ga,cc=b(D),dc=Math.max(0,B*this.ja[this.ja.length-1]);this.ma.push(function(){ia.save();ia.resetTransform();ia.globalCompositeOperation=cc;ia.globalAlpha=dc;const Ra=ma.canvas();Ra&&ia.drawImage(Ra,qb,rb,da,ea,R,X,qa,ra);ia.restore()})}},_clipPath:function(l){this.ma.push(this.ga.clip.bind(this.ga,l.ra,l.Qa===w?"evenodd":"nonzero"))},clear:function(){F.add(this);this.ma.push(this.ga.clearRect.bind(this.ga,
31
- 0,0,this.Pa.width,this.Pa.height))},flush:function(){},translate:function(l,q){this.transform(1,0,0,1,l,q)}});k.makeRenderer=function(l){const q=new ca(l),D=q.ga;return new Proxy(q,{get(B,y){if("function"===typeof B[y])return function(...C){return B[y].apply(B,C)};if("function"===typeof D[y]){if(-1<la.indexOf(y))throw Error("RiveException: Method call to '"+y+"()' is not allowed, as the renderer cannot immediately pass through the return values of any canvas 2d context methods.");
32
- return function(...C){q.ma.push(D[y].bind(D,...C))}}return B[y]},set(B,y,C){if(y in D)return q.ma.push(()=>{D[y]=C}),!0}})};k.decodeImage=function(l,q){(new v({ya:q})).decode(l)};k.renderFactory={makeRenderPaint:function(){return new I},makeRenderPath:function(){return new p},makeRenderImage:function(){let l=U;return new v({Da:()=>{l.total++},ya:()=>{l.loaded++;if(l.loaded===l.total){const q=l.ready;q&&(q(),l.ready=null)}}})}};let E=k.load,U=null;k.load=function(l,q,D=!0){const B=new k.FallbackFileAssetLoader;
33
- void 0!==q&&B.addLoader(q);D&&(q=new k.CDNFileAssetLoader,B.addLoader(q));return new Promise(function(y){let C=null;U={total:0,loaded:0,ready:function(){y(C)}};C=E(l,B);0==U.total&&y(C)})};let ec=k.RendererWrapper.prototype.align;k.RendererWrapper.prototype.align=function(l,q,D,B,y=1){ec.call(this,l,q,D,B,y)};d=new fa;k.requestAnimationFrame=d.requestAnimationFrame.bind(d);k.cancelAnimationFrame=d.cancelAnimationFrame.bind(d);k.enableFPSCounter=d.vb.bind(d);k.disableFPSCounter=d.sb;d.ab=c;k.resolveAnimationFrame=
34
- c;k.cleanup=function(){r&&r.delete()}};var oa="./this.program";ba&&(_scriptName=self.location.href);var pa="",sa,ta;
35
- if(aa||ba){try{pa=(new URL(".",_scriptName)).href}catch{}ba&&(ta=b=>{var a=new XMLHttpRequest;a.open("GET",b,!1);a.responseType="arraybuffer";a.send(null);return new Uint8Array(a.response)});sa=async b=>{if(ua(b))return new Promise((c,d)=>{var e=new XMLHttpRequest;e.open("GET",b,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?c(e.response):d(e.status)};e.onerror=d;e.send(null)});var a=await fetch(b,{credentials:"same-origin"});if(a.ok)return a.arrayBuffer();throw Error(a.status+
36
- " : "+a.url);}}var va=console.log.bind(console),wa=console.error.bind(console),xa,ya=!1,za,ua=b=>b.startsWith("file://"),Aa,Ba,Ca,z,Da,Ea,Fa,J,Ga,Ha,Ia,Ja,Ka=!1;function La(){var b=Ma.buffer;k.HEAP8=Ca=new Int8Array(b);Da=new Int16Array(b);k.HEAPU8=z=new Uint8Array(b);k.HEAPU16=Ea=new Uint16Array(b);k.HEAP32=Fa=new Int32Array(b);k.HEAPU32=J=new Uint32Array(b);k.HEAPF32=Ga=new Float32Array(b);Ha=new Float64Array(b);Ia=new BigInt64Array(b);Ja=new BigUint64Array(b)}
37
- function Na(b){k.onAbort?.(b);b="Aborted("+b+")";wa(b);ya=!0;b=new WebAssembly.RuntimeError(b+". Build with -sASSERTIONS for more info.");Ba?.(b);throw b;}var Oa;async function Pa(b){if(!xa)try{var a=await sa(b);return new Uint8Array(a)}catch{}if(b==Oa&&xa)b=new Uint8Array(xa);else if(ta)b=ta(b);else throw"both async and sync fetching of the wasm failed";return b}
38
- async function Qa(b,a){try{var c=await Pa(b);return await WebAssembly.instantiate(c,a)}catch(d){wa(`failed to asynchronously prepare wasm: ${d}`),Na(d)}}async function Sa(b){var a=Oa;if(!xa&&!ua(a))try{var c=fetch(a,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(c,b)}catch(d){wa(`wasm streaming compile failed: ${d}`),wa("falling back to ArrayBuffer instantiation")}return Qa(a,b)}
39
- class Ta{name="ExitStatus";constructor(b){this.message=`Program terminated with exit(${b})`;this.status=b}}
40
- var Ua=b=>{for(;0<b.length;)b.shift()(k)},Va=[],Wa=[],Xa=()=>{var b=k.preRun.shift();Wa.push(b)},Ya=!0,Za=(b,a)=>Object.defineProperty(a,"name",{value:b}),$a=[],ab=[0,1,,1,null,1,!0,1,!1,1],K=class extends Error{constructor(b){super(b);this.name="BindingError"}},M=b=>{if(!b)throw new K(`Cannot use deleted val. handle = ${b}`);return ab[b]},P=b=>{switch(b){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const a=$a.pop()||ab.length;ab[a]=b;ab[a+1]=1;return a}};
41
- class bb extends Error{}
42
- var Q=b=>{for(var a="";;){var c=z[b++];if(!c)return a;a+=String.fromCharCode(c)}},cb={},db=(b,a)=>{if(void 0===a)throw new K("ptr should not be undefined");for(;b.ha;)a=b.za(a),b=b.ha;return a},eb={},hb=b=>{b=fb(b);var a=Q(b);gb(b);return a},ib=(b,a)=>{var c=eb[b];if(void 0===c)throw b=`${a} has unknown type ${hb(b)}`,new K(b);return c},jb=()=>{},kb=!1,lb=b=>{if(!globalThis.FinalizationRegistry)return lb=a=>a,b;kb=new FinalizationRegistry(a=>{a=a.$;--a.count.value;0===a.count.value&&(a.ia?a.na.pa(a.ia):
43
- a.da.aa.pa(a.ca))});lb=a=>{var c=a.$;c.ia&&kb.register(a,{$:c},a);return a};jb=a=>{kb.unregister(a)};return lb(b)},mb={},sb=b=>{for(;b.length;){var a=b.pop();b.pop()(a)}};function tb(b){return this.ba(J[b>>2])}
44
- var ub={},vb={},wb=class extends Error{constructor(b){super(b);this.name="InternalError"}},W=(b,a,c)=>{function d(g){g=c(g);if(g.length!==b.length)throw new wb("Mismatched type converter count");for(var m=0;m<b.length;++m)T(b[m],g[m])}b.forEach(g=>vb[g]=a);var e=Array(a.length),f=[],h=0;for(let [g,m]of a.entries())eb.hasOwnProperty(m)?e[g]=eb[m]:(f.push(m),ub.hasOwnProperty(m)||(ub[m]=[]),ub[m].push(()=>{e[g]=eb[m];++h;h===f.length&&d(e)}));0===f.length&&d(e)};
45
- function xb(b,a,c={}){var d=a.name;if(!b)throw new K(`type "${d}" must have a positive integer typeid pointer`);if(eb.hasOwnProperty(b)){if(c.Db)return;throw new K(`Cannot register type '${d}' twice`);}eb[b]=a;delete vb[b];ub.hasOwnProperty(b)&&(a=ub[b],delete ub[b],a.forEach(e=>e()))}function T(b,a,c={}){return xb(b,a,c)}
46
- var yb=(b,a,c)=>{switch(a){case 1:return c?d=>Ca[d]:d=>z[d];case 2:return c?d=>Da[d>>1]:d=>Ea[d>>1];case 4:return c?d=>Fa[d>>2]:d=>J[d>>2];case 8:return c?d=>Ia[d>>3]:d=>Ja[d>>3];default:throw new TypeError(`invalid integer width (${a}): ${b}`);}},zb=b=>{throw new K(b.$.da.aa.name+" instance already deleted");},Ab=[];function Bb(){}
47
- var Cb={},Db=(b,a,c)=>{if(void 0===b[a].fa){var d=b[a];b[a]=function(...e){if(!b[a].fa.hasOwnProperty(e.length))throw new K(`Function '${c}' called with an invalid number of arguments (${e.length}) - expects one of (${b[a].fa})!`);return b[a].fa[e.length].apply(this,e)};b[a].fa=[];b[a].fa[d.sa]=d}},Eb=(b,a,c)=>{if(k.hasOwnProperty(b)){if(void 0===c||void 0!==k[b].fa&&void 0!==k[b].fa[c])throw new K(`Cannot register public name '${b}' twice`);Db(k,b,b);if(k[b].fa.hasOwnProperty(c))throw new K(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`);
48
- k[b].fa[c]=a}else k[b]=a,k[b].sa=c},Fb=b=>{b=b.replace(/[^a-zA-Z0-9_]/g,"$");var a=b.charCodeAt(0);return 48<=a&&57>=a?`_${b}`:b};function Gb(b,a,c,d,e,f,h,g){this.name=b;this.constructor=a;this.oa=c;this.pa=d;this.ha=e;this.yb=f;this.za=h;this.tb=g;this.bb=[]}
49
- var Hb=(b,a,c)=>{for(;a!==c;){if(!a.za)throw new K(`Expected null or instance of ${c.name}, got an instance of ${a.name}`);b=a.za(b);a=a.ha}return b},Ib=b=>{if(null===b)return"null";var a=typeof b;return"object"===a||"array"===a||"function"===a?b.toString():""+b};
50
- function Jb(b,a){if(null===a){if(this.Ka)throw new K(`null is not a valid ${this.name}`);return 0}if(!a.$)throw new K(`Cannot pass "${Ib(a)}" as a ${this.name}`);if(!a.$.ca)throw new K(`Cannot pass deleted object as a pointer of type ${this.name}`);return Hb(a.$.ca,a.$.da.aa,this.aa)}
51
- function Kb(b,a){if(null===a){if(this.Ka)throw new K(`null is not a valid ${this.name}`);if(this.Ca){var c=this.Ma();null!==b&&b.push(this.pa,c);return c}return 0}if(!a||!a.$)throw new K(`Cannot pass "${Ib(a)}" as a ${this.name}`);if(!a.$.ca)throw new K(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.Ba&&a.$.da.Ba)throw new K(`Cannot convert argument of type ${a.$.na?a.$.na.name:a.$.da.name} to parameter type ${this.name}`);c=Hb(a.$.ca,a.$.da.aa,this.aa);if(this.Ca){if(void 0===
52
- a.$.ia)throw new K("Passing raw pointer to smart pointer is illegal");switch(this.Pb){case 0:if(a.$.na===this)c=a.$.ia;else throw new K(`Cannot convert argument of type ${a.$.na?a.$.na.name:a.$.da.name} to parameter type ${this.name}`);break;case 1:c=a.$.ia;break;case 2:if(a.$.na===this)c=a.$.ia;else{var d=a.clone();c=this.Lb(c,P(()=>d["delete"]()));null!==b&&b.push(this.pa,c)}break;default:throw new K("Unsupported sharing policy");}}return c}
53
- function Lb(b,a){if(null===a){if(this.Ka)throw new K(`null is not a valid ${this.name}`);return 0}if(!a.$)throw new K(`Cannot pass "${Ib(a)}" as a ${this.name}`);if(!a.$.ca)throw new K(`Cannot pass deleted object as a pointer of type ${this.name}`);if(a.$.da.Ba)throw new K(`Cannot convert argument of type ${a.$.da.name} to parameter type ${this.name}`);return Hb(a.$.ca,a.$.da.aa,this.aa)}
54
- var Mb=(b,a,c)=>{if(a===c)return b;if(void 0===c.ha)return null;b=Mb(b,a,c.ha);return null===b?null:c.tb(b)},Nb=(b,a)=>{a=db(b,a);return cb[a]},Ob=(b,a)=>{if(!a.da||!a.ca)throw new wb("makeClassHandle requires ptr and ptrType");if(!!a.na!==!!a.ia)throw new wb("Both smartPtrType and smartPtr must be specified");a.count={value:1};return lb(Object.create(b,{$:{value:a,writable:!0}}))};
55
- function Pb(b,a,c,d,e,f,h,g,m,n,u){this.name=b;this.aa=a;this.Ka=c;this.Ba=d;this.Ca=e;this.Kb=f;this.Pb=h;this.cb=g;this.Ma=m;this.Lb=n;this.pa=u;e||void 0!==a.ha?this.ea=Kb:(this.ea=d?Jb:Lb,this.ka=null)}var Qb=(b,a,c)=>{if(!k.hasOwnProperty(b))throw new wb("Replacing nonexistent public symbol");void 0!==k[b].fa&&void 0!==c?k[b].fa[c]=a:(k[b]=a,k[b].sa=c)},Y=(b,a)=>{b=Q(b);var c=Rb.get(a);if("function"!=typeof c)throw new K(`unknown function pointer with signature ${b}: ${a}`);return c};
56
- class Sb extends Error{}var Z=(b,a)=>{function c(f){e[f]||eb[f]||(vb[f]?vb[f].forEach(c):(d.push(f),e[f]=!0))}var d=[],e={};a.forEach(c);throw new Sb(`${b}: `+d.map(hb).join([", "]));};function Tb(b){for(var a=1;a<b.length;++a)if(null!==b[a]&&void 0===b[a].ka)return!0;return!1}
57
- function Ub(b,a,c,d,e){var f=a.length;if(2>f)throw new K("argTypes array size mismatch! Must at least get return value and 'this' types!");var h=null!==a[1]&&null!==c,g=Tb(a),m=!a[0].Fb,n=f-2,u=Array(n),x=[],w=[];return Za(b,function(...t){w.length=0;x.length=h?2:1;x[0]=e;if(h){var v=a[1].ea(w,this);x[1]=v}for(var p=0;p<n;++p)u[p]=a[p+2].ea(w,t[p]),x.push(u[p]);t=d(...x);if(g)sb(w);else for(p=h?1:2;p<a.length;p++){var I=1===p?v:u[p-2];null!==a[p].ka&&a[p].ka(I)}v=m?a[0].ba(t):void 0;return v})}
58
- var Vb=(b,a)=>{for(var c=[],d=0;d<b;d++)c.push(J[a+4*d>>2]);return c},Wb=b=>{b=b.trim();const a=b.indexOf("(");return-1===a?b:b.slice(0,a)},Xb=(b,a,c)=>{if(!(b instanceof Object))throw new K(`${c} with invalid "this": ${b}`);if(!(b instanceof a.aa.constructor))throw new K(`${c} incompatible with "this" of type ${b.constructor.name}`);if(!b.$.ca)throw new K(`cannot call emscripten binding method ${c} on deleted object`);return Hb(b.$.ca,b.$.da.aa,a.aa)},Yb=b=>{9<b&&0===--ab[b+1]&&(ab[b]=void 0,$a.push(b))},
59
- Zb={name:"emscripten::val",ba:b=>{var a=M(b);Yb(b);return a},ea:(b,a)=>P(a),la:tb,ka:null},$b=(b,a,c)=>{switch(a){case 1:return c?function(d){return this.ba(Ca[d])}:function(d){return this.ba(z[d])};case 2:return c?function(d){return this.ba(Da[d>>1])}:function(d){return this.ba(Ea[d>>1])};case 4:return c?function(d){return this.ba(Fa[d>>2])}:function(d){return this.ba(J[d>>2])};default:throw new TypeError(`invalid integer width (${a}): ${b}`);}},ac=(b,a)=>{switch(a){case 4:return function(c){return this.ba(Ga[c>>
60
- 2])};case 8:return function(c){return this.ba(Ha[c>>3])};default:throw new TypeError(`invalid float width (${a}): ${b}`);}},bc=(b,a,c)=>{var d=z;if(!(0<c))return 0;var e=a;c=a+c-1;for(var f=0;f<b.length;++f){var h=b.codePointAt(f);if(127>=h){if(a>=c)break;d[a++]=h}else if(2047>=h){if(a+1>=c)break;d[a++]=192|h>>6;d[a++]=128|h&63}else if(65535>=h){if(a+2>=c)break;d[a++]=224|h>>12;d[a++]=128|h>>6&63;d[a++]=128|h&63}else{if(a+3>=c)break;d[a++]=240|h>>18;d[a++]=128|h>>12&63;d[a++]=128|h>>6&63;d[a++]=128|
14
+ null,c=0,d=0,e=null,f=null,h=0,g=0,m=!1;b();this.Yb=function(){b();return d};this.Jb=function(t){a.deleteTexture&&a.deleteTexture(t)};this.Ib=function(t){if(!b())return null;const v=a.createTexture();if(!v)return null;a.bindTexture(a.TEXTURE_2D,v);a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,t);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR);2==c?(a.texParameteri(a.TEXTURE_2D,
15
+ a.TEXTURE_MIN_FILTER,a.LINEAR_MIPMAP_LINEAR),a.generateMipmap(a.TEXTURE_2D)):a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR);return v};const n=new ia(8),u=new ia(8),A=new ia(10),x=new ia(10);this.Mb=function(t,v,p,I,G){if(b()){var r=n.push(t),E=u.push(v);if(a.canvas){if(a.canvas.width!=r||a.canvas.height!=E)a.canvas.width=r,a.canvas.height=E;a.viewport(0,E-v,t,v);a.disable(a.SCISSOR_TEST);a.clearColor(0,0,0,0);a.clear(a.COLOR_BUFFER_BIT);a.enable(a.SCISSOR_TEST);p.sort((F,Z)=>Z.vb-F.vb);
16
+ r=A.push(I);h!=r&&(a.bufferData(a.ARRAY_BUFFER,8*r,a.DYNAMIC_DRAW),h=r);r=0;for(var L of p)a.bufferSubData(a.ARRAY_BUFFER,r,L.ab),r+=4*L.ab.length;console.assert(r==4*I);for(var O of p)a.bufferSubData(a.ARRAY_BUFFER,r,O.yb),r+=4*O.yb.length;console.assert(r==8*I);r=x.push(G);g!=r&&(a.bufferData(a.ELEMENT_ARRAY_BUFFER,2*r,a.DYNAMIC_DRAW),g=r);L=0;for(var W of p)a.bufferSubData(a.ELEMENT_ARRAY_BUFFER,L,W.indices),L+=2*W.indices.length;console.assert(L==2*G);W=0;O=!0;r=L=0;for(const F of p){F.image.Va!=
17
+ W&&(a.bindTexture(a.TEXTURE_2D,F.image.Ta||null),W=F.image.Va);F.ac?(a.scissor(F.ib,E-F.jb-F.pb,F.ic,F.pb),O=!0):O&&(a.scissor(0,E-v,t,v),O=!1);p=2/t;const Z=-2/v;a.uniform4f(e,F.wa[0]*p*F.La,F.wa[1]*Z*F.Ma,F.wa[2]*p*F.La,F.wa[3]*Z*F.Ma);a.uniform2f(f,F.wa[4]*p*F.La+p*(F.ib-F.Zb*F.La)-1,F.wa[5]*Z*F.Ma+Z*(F.jb-F.$b*F.Ma)+1);a.vertexAttribPointer(0,2,a.FLOAT,!1,0,r);a.vertexAttribPointer(1,2,a.FLOAT,!1,0,r+4*I);a.drawElements(a.TRIANGLES,F.indices.length,a.UNSIGNED_SHORT,L);r+=4*F.ab.length;L+=2*F.indices.length}console.assert(r==
18
+ 4*I);console.assert(L==2*G)}}};this.canvas=function(){return b()&&a.canvas}},ma=l.onRuntimeInitialized;
19
+ l.onRuntimeInitialized=function(){function b(k){switch(k){case n.srcOver:return"source-over";case n.screen:return"screen";case n.overlay:return"overlay";case n.darken:return"darken";case n.lighten:return"lighten";case n.colorDodge:return"color-dodge";case n.colorBurn:return"color-burn";case n.hardLight:return"hard-light";case n.softLight:return"soft-light";case n.difference:return"difference";case n.exclusion:return"exclusion";case n.multiply:return"multiply";case n.hue:return"hue";case n.saturation:return"saturation";
20
+ case n.color:return"color";case n.luminosity:return"luminosity"}}function a(k){return"rgba("+((16711680&k)>>>16)+","+((65280&k)>>>8)+","+((255&k)>>>0)+","+((4278190080&k)>>>24)/255+")"}function c(){0<L.length&&(la.Mb(E.drawWidth(),E.drawHeight(),L,O,W),L=[],W=O=0,E.reset(512,512));for(const k of r){for(const q of k.na)q();k.na=[]}r.clear()}ma&&ma();var d=l.RenderPaintStyle;const e=l.RenderPath,f=l.RenderPaint,h=l.Renderer,g=l.StrokeCap,m=l.StrokeJoin,n=l.BlendMode,u=d.fill,A=d.stroke,x=l.FillRule.evenOdd;
21
+ let t=1;var v=l.RenderImage.extend("CanvasRenderImage",{__construct:function({Ba:k,Ka:q}={}){this.__parent.__construct.call(this);this.Va=t;t=t+1&2147483647||1;this.Ba=k;this.Ka=q},__destruct:function(){this.Ta&&(la.Jb(this.Ta),URL.revokeObjectURL(this.gb));this.__parent.__destruct.call(this)},decode:function(k){var q=this;q.Ka&&q.Ka(q);var z=new Image;q.gb=URL.createObjectURL(new Blob([k],{type:"image/png"}));z.onload=function(){q.Eb=z;q.Ta=la.Ib(z);q.size(z.width,z.height);q.Ba&&q.Ba(q)};z.src=
22
+ q.gb}});class p{constructor(){this.Da=this.Ha=0;this.sa=new Path2D}clear(){this.Da=this.Ha=0;this.sa=new Path2D}Gb(k){for(0<this.Ha&&this.Da<k.length&&this.clear();this.Da<k.length;)k[this.Da++](this.sa);this.Ha++;return this.sa}release(k){k===this.sa&&this.Ha--}}var I=e.extend("CanvasRenderPath",{__construct:function(){this.__parent.__construct.call(this);this.Ra=[];this.sa=new p;this.Qa=!1;this.za=null},rewind:function(){this.Ra.length=0;this.sa.clear();this.Qa=!1;this.za=null},addPath:function(k,
23
+ q,z,y,D,w,C){const H=k.Ab();this.ya(fa=>{const M=new DOMMatrix;M.a=q;M.b=z;M.c=y;M.d=D;M.e=w;M.f=C;fa.addPath(H,M)})},fillRule:function(k){this.fb=k},moveTo:function(k,q){this.Qa=!0;const z={kb:!0};this.za=z;this.ya(y=>{y.moveTo(k,q);z.kb&&y.lineTo(k,q)})},lineTo:function(k,q){this.eb();this.Oa();this.ya(z=>{z.lineTo(k,q)})},cubicTo:function(k,q,z,y,D,w){this.eb();this.Oa();this.ya(C=>{C.bezierCurveTo(k,q,z,y,D,w)})},close:function(){this.Oa();this.ya(k=>{k.closePath()})},eb:function(){this.Qa||this.moveTo(0,
24
+ 0)},Oa:function(){null!==this.za&&(this.za.kb=!1,this.za=null)},ya:function(k){this.Ra.push(k)},Na:function(){return this.sa.Gb(this.Ra)},hb:function(k){this.sa.release(k)},Ab:function(){const k=this.Na();this.sa.clear();return k}}),G=f.extend("CanvasRenderPaint",{__construct:function(){this.__parent.__construct.call(this);this.la=[];this.Pa=0;this.Sa=u;this.Wa=a(4278190080);this.Ua=1;this.Ga="miter";this.Fa="butt";this.bb=b(n.srcOver);this.va=null},color:function(k){this.la.push(()=>{this.Wa=a(k)})},
25
+ thickness:function(k){this.la.push(()=>{this.Ua=Math.abs(k)})},join:function(k){this.la.push(()=>{switch(k){case m.miter:this.Ga="miter";break;case m.round:this.Ga="round";break;case m.bevel:this.Ga="bevel"}})},cap:function(k){this.la.push(()=>{switch(k){case g.butt:this.Fa="butt";break;case g.round:this.Fa="round";break;case g.square:this.Fa="square"}})},style:function(k){this.la.push(()=>{this.Sa=k})},blendMode:function(k){this.la.push(()=>{this.bb=b(k)})},clearGradient:function(){this.la.push(()=>
26
+ {this.va=null})},linearGradient:function(k,q,z,y){this.la.push(()=>{this.va={wb:k,xb:q,mb:z,nb:y,$a:[]}})},radialGradient:function(k,q,z,y){this.la.push(()=>{this.va={wb:k,xb:q,mb:z,nb:y,$a:[],Wb:!0}})},addStop:function(k,q){this.la.push(()=>{this.va.$a.push({color:k,stop:q})})},completeGradient:function(){},Bb:function(k,q,z,y){if(this.Sa!==A||0<this.Ua){var D=this.Sa,w=this.Wa,C=this.va,H=k.globalCompositeOperation,fa=k.globalAlpha;k.globalCompositeOperation=this.bb;k.globalAlpha=y;if(null!=C){w=
27
+ C.wb;const S=C.xb,U=C.mb;var M=C.nb;y=C.$a;C.Wb?(C=U-w,M-=S,w=k.createRadialGradient(w,S,0,w,S,Math.sqrt(C*C+M*M))):w=k.createLinearGradient(w,S,U,M);for(let R=0,Aa=y.length;R<Aa;R++)C=y[R],w.addColorStop(C.stop,a(C.color));this.Wa=w;this.va=null}switch(D){case A:k.strokeStyle=w;k.lineWidth=this.Ua;k.lineCap=this.Fa;k.lineJoin=this.Ga;k.stroke(q);break;case u:k.fillStyle=w,k.fill(q,z)}k.globalCompositeOperation=H;k.globalAlpha=fa}},Db:function(){return this.Pa+this.la.length},Cb:function(k){const q=
28
+ k-this.Pa;for(let z=0;z<q;z++)this.la[z]();this.la.splice(0,q);this.Pa=k}});const r=new Set;let E=null,L=[],O=0,W=0;var F=l.CanvasRenderer=h.extend("Renderer",{__construct:function(k){this.__parent.__construct.call(this);this.ra=[1,0,0,1,0,0];this.ja=[1];this.ha=k.getContext("2d");this.cb=k;this.na=[]},save:function(){this.ra.push(...this.ra.slice(this.ra.length-6));this.ja.push(this.ja[this.ja.length-1]);this.na.push(this.ha.save.bind(this.ha))},restore:function(){const k=this.ra.length-6;if(6>k)throw"restore() called without matching save().";
29
+ this.ra.splice(k);this.ja.pop();this.na.push(this.ha.restore.bind(this.ha))},transform:function(k,q,z,y,D,w){const C=this.ra,H=C.length-6;C.splice(H,6,C[H]*k+C[H+2]*q,C[H+1]*k+C[H+3]*q,C[H]*z+C[H+2]*y,C[H+1]*z+C[H+3]*y,C[H]*D+C[H+2]*w+C[H+4],C[H+1]*D+C[H+3]*w+C[H+5]);this.na.push(this.ha.transform.bind(this.ha,k,q,z,y,D,w))},rotate:function(k){const q=Math.sin(k);k=Math.cos(k);this.transform(k,q,-q,k,0,0)},modulateOpacity:function(k){this.ja[this.ja.length-1]*=k},_drawPath:function(k,q){const z=k.fb===
30
+ x?"evenodd":"nonzero",y=Math.max(0,this.ja[this.ja.length-1]),D=k.Na(),w=q.Db();this.na.push(()=>{q.Cb(w);q.Bb(this.ha,D,z,y);k.hb(D)})},_drawRiveImage:function(k,q,z){var y=k.Eb;if(y){var D=this.ha,w=b(q),C=Math.max(0,z*this.ja[this.ja.length-1]);this.na.push(function(){D.globalCompositeOperation=w;D.globalAlpha=C;D.drawImage(y,0,0);D.globalAlpha=1})}},_getMatrix:function(k){const q=this.ra,z=q.length-6;for(let y=0;6>y;++y)k[y]=q[z+y]},_drawImageMesh:function(k,q,z,y,D,w,C,H,fa,M,S,U,R){let Aa,ob,
31
+ pb;try{Aa=l.HEAPF32.slice(y>>2,(y>>2)+D),ob=l.HEAPF32.slice(w>>2,(w>>2)+C),pb=l.HEAPU16.slice(H>>1,(H>>1)+fa)}catch(Ra){console.error("[Rive] _drawImageMesh: failed to read mesh data from WASM heap. Mesh skipped for this frame.");return}y=this.ha.canvas.width;w=this.ha.canvas.height;C=U-M;H=R-S;M=Math.max(M,0);S=Math.max(S,0);U=Math.min(U,y);R=Math.min(R,w);const pa=U-M,qa=R-S;console.assert(pa<=Math.min(C,y));console.assert(qa<=Math.min(H,w));if(!(0>=pa||0>=qa)){U=pa<C||qa<H;y=R=1;var ca=Math.ceil(pa*
32
+ R),da=Math.ceil(qa*y);w=la.Yb();ca>w&&(R*=w/ca,ca=w);da>w&&(y*=w/da,da=w);E||(E=new l.DynamicRectanizer(w),E.reset(512,512));w=E.addRect(ca,da);0>w&&(c(),r.add(this),w=E.addRect(ca,da),console.assert(0<=w));var qb=w&65535,rb=w>>16;L.push({wa:this.ra.slice(this.ra.length-6),image:k,ib:qb,jb:rb,Zb:M,$b:S,ic:ca,pb:da,La:R,Ma:y,ab:Aa,yb:ob,indices:pb,ac:U,vb:k.Va<<1|(U?1:0)});O+=D;W+=fa;var ha=this.ha,cc=b(q),dc=Math.max(0,z*this.ja[this.ja.length-1]);this.na.push(function(){ha.save();ha.resetTransform();
33
+ ha.globalCompositeOperation=cc;ha.globalAlpha=dc;const Ra=la.canvas();Ra&&ha.drawImage(Ra,qb,rb,ca,da,M,S,pa,qa);ha.restore()})}},_clipPath:function(k){const q=k.fb===x?"evenodd":"nonzero",z=k.Na();this.na.push(()=>{this.ha.clip(z,q);k.hb(z)})},beginFrame:function(k=!0){r.add(this);k&&this.na.push(this.ha.clearRect.bind(this.ha,0,0,this.cb.width,this.cb.height))},clear:function(){this.beginFrame(!0)},flush:function(){},translate:function(k,q){this.transform(1,0,0,1,k,q)}});l.makeRenderer=function(k){const q=
34
+ new F(k),z=q.ha;return new Proxy(q,{get(y,D){if("function"===typeof y[D])return function(...w){return y[D].apply(y,w)};if("function"===typeof z[D]){if(-1<ka.indexOf(D))throw Error("RiveException: Method call to '"+D+"()' is not allowed, as the renderer cannot immediately pass through the return values of any canvas 2d context methods.");return function(...w){q.na.push(z[D].bind(z,...w))}}return y[D]},set(y,D,w){if(D in z)return q.na.push(()=>{z[D]=w}),!0}})};l.decodeImage=function(k,
35
+ q){(new v({Ba:q})).decode(k)};l.renderFactory={makeRenderPaint:function(){return new G},makeRenderPath:function(){return new I},makeRenderImage:function(){let k=Sa;return new v({Ka:()=>{k.total++},Ba:()=>{k.loaded++;if(k.loaded===k.total){const q=k.ready;q&&(q(),k.ready=null)}}})}};let Z=l.load,Sa=null;l.load=function(k,q,z=!0){const y=new l.FallbackFileAssetLoader;void 0!==q&&y.addLoader(q);z&&(q=new l.CDNFileAssetLoader,y.addLoader(q));return new Promise(function(D){let w=null;Sa={total:0,loaded:0,
36
+ ready:function(){D(w)}};w=Z(k,y);0==Sa.total&&D(w)})};let ec=l.RendererWrapper.prototype.align;l.RendererWrapper.prototype.align=function(k,q,z,y,D=1){ec.call(this,k,q,z,y,D)};d=new ea;l.requestAnimationFrame=d.requestAnimationFrame.bind(d);l.cancelAnimationFrame=d.cancelAnimationFrame.bind(d);l.enableFPSCounter=d.Nb.bind(d);l.disableFPSCounter=d.Kb;d.rb=c;l.resolveAnimationFrame=c;l.cleanup=function(){E&&E.delete()}};var na="./this.program";ba&&(_scriptName=self.location.href);var oa="",ra,sa;
37
+ if(aa||ba){try{oa=(new URL(".",_scriptName)).href}catch{}ba&&(sa=b=>{var a=new XMLHttpRequest;a.open("GET",b,!1);a.responseType="arraybuffer";a.send(null);return new Uint8Array(a.response)});ra=async b=>{if(ta(b))return new Promise((c,d)=>{var e=new XMLHttpRequest;e.open("GET",b,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?c(e.response):d(e.status)};e.onerror=d;e.send(null)});var a=await fetch(b,{credentials:"same-origin"});if(a.ok)return a.arrayBuffer();throw Error(a.status+
38
+ " : "+a.url);}}var ua=console.log.bind(console),va=console.error.bind(console),wa,xa=!1,ya,ta=b=>b.startsWith("file://"),za,Ba,Ca,B,Da,Ea,Fa,J,Ga,Ha,Ia,Ja,Ka=!1;function La(){var b=Ma.buffer;l.HEAP8=Ca=new Int8Array(b);Da=new Int16Array(b);l.HEAPU8=B=new Uint8Array(b);l.HEAPU16=Ea=new Uint16Array(b);l.HEAP32=Fa=new Int32Array(b);l.HEAPU32=J=new Uint32Array(b);l.HEAPF32=Ga=new Float32Array(b);Ha=new Float64Array(b);Ia=new BigInt64Array(b);Ja=new BigUint64Array(b)}
39
+ function Na(b){l.onAbort?.(b);b="Aborted("+b+")";va(b);xa=!0;b=new WebAssembly.RuntimeError(b+". Build with -sASSERTIONS for more info.");Ba?.(b);throw b;}var Oa;async function Pa(b){if(!wa)try{var a=await ra(b);return new Uint8Array(a)}catch{}if(b==Oa&&wa)b=new Uint8Array(wa);else if(sa)b=sa(b);else throw"both async and sync fetching of the wasm failed";return b}
40
+ async function Qa(b,a){try{var c=await Pa(b);return await WebAssembly.instantiate(c,a)}catch(d){va(`failed to asynchronously prepare wasm: ${d}`),Na(d)}}async function Ta(b){var a=Oa;if(!wa&&!ta(a))try{var c=fetch(a,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(c,b)}catch(d){va(`wasm streaming compile failed: ${d}`),va("falling back to ArrayBuffer instantiation")}return Qa(a,b)}
41
+ class Ua{name="ExitStatus";constructor(b){this.message=`Program terminated with exit(${b})`;this.status=b}}
42
+ var Va=b=>{for(;0<b.length;)b.shift()(l)},Wa=[],Xa=[],Ya=()=>{var b=l.preRun.shift();Xa.push(b)},Za=!0,$a=(b,a)=>Object.defineProperty(a,"name",{value:b}),ab=[],bb=[0,1,,1,null,1,!0,1,!1,1],K=class extends Error{constructor(b){super(b);this.name="BindingError"}},N=b=>{if(!b)throw new K(`Cannot use deleted val. handle = ${b}`);return bb[b]},P=b=>{switch(b){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const a=ab.pop()||bb.length;bb[a]=b;bb[a+1]=1;return a}};
43
+ class cb extends Error{}
44
+ var Q=b=>{for(var a="";;){var c=B[b++];if(!c)return a;a+=String.fromCharCode(c)}},db={},eb=(b,a)=>{if(void 0===a)throw new K("ptr should not be undefined");for(;b.ga;)a=b.Ca(a),b=b.ga;return a},fb={},ib=b=>{b=gb(b);var a=Q(b);hb(b);return a},jb=(b,a)=>{var c=fb[b];if(void 0===c)throw b=`${a} has unknown type ${ib(b)}`,new K(b);return c},kb=()=>{},lb=!1,mb=b=>{if(!globalThis.FinalizationRegistry)return mb=a=>a,b;lb=new FinalizationRegistry(a=>{a=a.$;--a.count.value;0===a.count.value&&(a.ia?a.oa.qa(a.ia):
45
+ a.da.aa.qa(a.ca))});mb=a=>{var c=a.$;c.ia&&lb.register(a,{$:c},a);return a};kb=a=>{lb.unregister(a)};return mb(b)},nb={},sb=b=>{for(;b.length;){var a=b.pop();b.pop()(a)}};function tb(b){return this.ba(J[b>>2])}
46
+ var ub={},vb={},wb=class extends Error{constructor(b){super(b);this.name="InternalError"}},V=(b,a,c)=>{function d(g){g=c(g);if(g.length!==b.length)throw new wb("Mismatched type converter count");for(var m=0;m<b.length;++m)T(b[m],g[m])}b.forEach(g=>vb[g]=a);var e=Array(a.length),f=[],h=0;for(let [g,m]of a.entries())fb.hasOwnProperty(m)?e[g]=fb[m]:(f.push(m),ub.hasOwnProperty(m)||(ub[m]=[]),ub[m].push(()=>{e[g]=fb[m];++h;h===f.length&&d(e)}));0===f.length&&d(e)};
47
+ function xb(b,a,c={}){var d=a.name;if(!b)throw new K(`type "${d}" must have a positive integer typeid pointer`);if(fb.hasOwnProperty(b)){if(c.Vb)return;throw new K(`Cannot register type '${d}' twice`);}fb[b]=a;delete vb[b];ub.hasOwnProperty(b)&&(a=ub[b],delete ub[b],a.forEach(e=>e()))}function T(b,a,c={}){return xb(b,a,c)}
48
+ var yb=(b,a,c)=>{switch(a){case 1:return c?d=>Ca[d]:d=>B[d];case 2:return c?d=>Da[d>>1]:d=>Ea[d>>1];case 4:return c?d=>Fa[d>>2]:d=>J[d>>2];case 8:return c?d=>Ia[d>>3]:d=>Ja[d>>3];default:throw new TypeError(`invalid integer width (${a}): ${b}`);}},zb=b=>{throw new K(b.$.da.aa.name+" instance already deleted");},Ab=[];function Bb(){}
49
+ var Cb={},Db=(b,a,c)=>{if(void 0===b[a].fa){var d=b[a];b[a]=function(...e){if(!b[a].fa.hasOwnProperty(e.length))throw new K(`Function '${c}' called with an invalid number of arguments (${e.length}) - expects one of (${b[a].fa})!`);return b[a].fa[e.length].apply(this,e)};b[a].fa=[];b[a].fa[d.ta]=d}},Eb=(b,a,c)=>{if(l.hasOwnProperty(b)){if(void 0===c||void 0!==l[b].fa&&void 0!==l[b].fa[c])throw new K(`Cannot register public name '${b}' twice`);Db(l,b,b);if(l[b].fa.hasOwnProperty(c))throw new K(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`);
50
+ l[b].fa[c]=a}else l[b]=a,l[b].ta=c},Fb=b=>{b=b.replace(/[^a-zA-Z0-9_]/g,"$");var a=b.charCodeAt(0);return 48<=a&&57>=a?`_${b}`:b};function Gb(b,a,c,d,e,f,h,g){this.name=b;this.constructor=a;this.pa=c;this.qa=d;this.ga=e;this.Qb=f;this.Ca=h;this.Lb=g;this.sb=[]}
51
+ var Hb=(b,a,c)=>{for(;a!==c;){if(!a.Ca)throw new K(`Expected null or instance of ${c.name}, got an instance of ${a.name}`);b=a.Ca(b);a=a.ga}return b},Ib=b=>{if(null===b)return"null";var a=typeof b;return"object"===a||"array"===a||"function"===a?b.toString():""+b};
52
+ function Jb(b,a){if(null===a){if(this.Xa)throw new K(`null is not a valid ${this.name}`);return 0}if(!a.$)throw new K(`Cannot pass "${Ib(a)}" as a ${this.name}`);if(!a.$.ca)throw new K(`Cannot pass deleted object as a pointer of type ${this.name}`);return Hb(a.$.ca,a.$.da.aa,this.aa)}
53
+ function Kb(b,a){if(null===a){if(this.Xa)throw new K(`null is not a valid ${this.name}`);if(this.Ja){var c=this.Za();null!==b&&b.push(this.qa,c);return c}return 0}if(!a||!a.$)throw new K(`Cannot pass "${Ib(a)}" as a ${this.name}`);if(!a.$.ca)throw new K(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.Ia&&a.$.da.Ia)throw new K(`Cannot convert argument of type ${a.$.oa?a.$.oa.name:a.$.da.name} to parameter type ${this.name}`);c=Hb(a.$.ca,a.$.da.aa,this.aa);if(this.Ja){if(void 0===
54
+ a.$.ia)throw new K("Passing raw pointer to smart pointer is illegal");switch(this.hc){case 0:if(a.$.oa===this)c=a.$.ia;else throw new K(`Cannot convert argument of type ${a.$.oa?a.$.oa.name:a.$.da.name} to parameter type ${this.name}`);break;case 1:c=a.$.ia;break;case 2:if(a.$.oa===this)c=a.$.ia;else{var d=a.clone();c=this.cc(c,P(()=>d["delete"]()));null!==b&&b.push(this.qa,c)}break;default:throw new K("Unsupported sharing policy");}}return c}
55
+ function Lb(b,a){if(null===a){if(this.Xa)throw new K(`null is not a valid ${this.name}`);return 0}if(!a.$)throw new K(`Cannot pass "${Ib(a)}" as a ${this.name}`);if(!a.$.ca)throw new K(`Cannot pass deleted object as a pointer of type ${this.name}`);if(a.$.da.Ia)throw new K(`Cannot convert argument of type ${a.$.da.name} to parameter type ${this.name}`);return Hb(a.$.ca,a.$.da.aa,this.aa)}
56
+ var Mb=(b,a,c)=>{if(a===c)return b;if(void 0===c.ga)return null;b=Mb(b,a,c.ga);return null===b?null:c.Lb(b)},Nb=(b,a)=>{a=eb(b,a);return db[a]},Ob=(b,a)=>{if(!a.da||!a.ca)throw new wb("makeClassHandle requires ptr and ptrType");if(!!a.oa!==!!a.ia)throw new wb("Both smartPtrType and smartPtr must be specified");a.count={value:1};return mb(Object.create(b,{$:{value:a,writable:!0}}))};
57
+ function Pb(b,a,c,d,e,f,h,g,m,n,u){this.name=b;this.aa=a;this.Xa=c;this.Ia=d;this.Ja=e;this.bc=f;this.hc=h;this.tb=g;this.Za=m;this.cc=n;this.qa=u;e||void 0!==a.ga?this.ea=Kb:(this.ea=d?Jb:Lb,this.ka=null)}var Qb=(b,a,c)=>{if(!l.hasOwnProperty(b))throw new wb("Replacing nonexistent public symbol");void 0!==l[b].fa&&void 0!==c?l[b].fa[c]=a:(l[b]=a,l[b].ta=c)},X=(b,a)=>{b=Q(b);var c=Rb.get(a);if("function"!=typeof c)throw new K(`unknown function pointer with signature ${b}: ${a}`);return c};
58
+ class Sb extends Error{}var Y=(b,a)=>{function c(f){e[f]||fb[f]||(vb[f]?vb[f].forEach(c):(d.push(f),e[f]=!0))}var d=[],e={};a.forEach(c);throw new Sb(`${b}: `+d.map(ib).join([", "]));};function Tb(b){for(var a=1;a<b.length;++a)if(null!==b[a]&&void 0===b[a].ka)return!0;return!1}
59
+ function Ub(b,a,c,d,e){var f=a.length;if(2>f)throw new K("argTypes array size mismatch! Must at least get return value and 'this' types!");var h=null!==a[1]&&null!==c,g=Tb(a),m=!a[0].Xb,n=f-2,u=Array(n),A=[],x=[];return $a(b,function(...t){x.length=0;A.length=h?2:1;A[0]=e;if(h){var v=a[1].ea(x,this);A[1]=v}for(var p=0;p<n;++p)u[p]=a[p+2].ea(x,t[p]),A.push(u[p]);t=d(...A);if(g)sb(x);else for(p=h?1:2;p<a.length;p++){var I=1===p?v:u[p-2];null!==a[p].ka&&a[p].ka(I)}v=m?a[0].ba(t):void 0;return v})}
60
+ var Vb=(b,a)=>{for(var c=[],d=0;d<b;d++)c.push(J[a+4*d>>2]);return c},Wb=b=>{b=b.trim();const a=b.indexOf("(");return-1===a?b:b.slice(0,a)},Xb=(b,a,c)=>{if(!(b instanceof Object))throw new K(`${c} with invalid "this": ${b}`);if(!(b instanceof a.aa.constructor))throw new K(`${c} incompatible with "this" of type ${b.constructor.name}`);if(!b.$.ca)throw new K(`cannot call emscripten binding method ${c} on deleted object`);return Hb(b.$.ca,b.$.da.aa,a.aa)},Yb=b=>{9<b&&0===--bb[b+1]&&(bb[b]=void 0,ab.push(b))},
61
+ Zb={name:"emscripten::val",ba:b=>{var a=N(b);Yb(b);return a},ea:(b,a)=>P(a),ma:tb,ka:null},$b=(b,a,c)=>{switch(a){case 1:return c?function(d){return this.ba(Ca[d])}:function(d){return this.ba(B[d])};case 2:return c?function(d){return this.ba(Da[d>>1])}:function(d){return this.ba(Ea[d>>1])};case 4:return c?function(d){return this.ba(Fa[d>>2])}:function(d){return this.ba(J[d>>2])};default:throw new TypeError(`invalid integer width (${a}): ${b}`);}},ac=(b,a)=>{switch(a){case 4:return function(c){return this.ba(Ga[c>>
62
+ 2])};case 8:return function(c){return this.ba(Ha[c>>3])};default:throw new TypeError(`invalid float width (${a}): ${b}`);}},bc=(b,a,c)=>{var d=B;if(!(0<c))return 0;var e=a;c=a+c-1;for(var f=0;f<b.length;++f){var h=b.codePointAt(f);if(127>=h){if(a>=c)break;d[a++]=h}else if(2047>=h){if(a+1>=c)break;d[a++]=192|h>>6;d[a++]=128|h&63}else if(65535>=h){if(a+2>=c)break;d[a++]=224|h>>12;d[a++]=128|h>>6&63;d[a++]=128|h&63}else{if(a+3>=c)break;d[a++]=240|h>>18;d[a++]=128|h>>12&63;d[a++]=128|h>>6&63;d[a++]=128|
61
63
  h&63;f++}}d[a]=0;return a-e},fc=b=>{for(var a=0,c=0;c<b.length;++c){var d=b.charCodeAt(c);127>=d?a++:2047>=d?a+=2:55296<=d&&57343>=d?(a+=4,++c):a+=3}return a},gc=globalThis.TextDecoder&&new TextDecoder,hc=(b,a,c,d)=>{c=a+c;if(d)return c;for(;b[a]&&!(a>=c);)++a;return a},ic=(b,a=0,c,d)=>{c=hc(b,a,c,d);if(16<c-a&&b.buffer&&gc)return gc.decode(b.subarray(a,c));for(d="";a<c;){var e=b[a++];if(e&128){var f=b[a++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|f);else{var h=b[a++]&63;e=224==(e&240)?
62
64
  (e&15)<<12|f<<6|h:(e&7)<<18|f<<12|h<<6|b[a++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d},jc=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,kc=(b,a,c)=>{b>>=1;a=hc(Ea,b,a/2,c);if(16<a-b&&jc)return jc.decode(Ea.subarray(b,a));for(c="";b<a;++b)c+=String.fromCharCode(Ea[b]);return c},lc=(b,a,c)=>{c??=2147483647;if(2>c)return 0;c-=2;var d=a;c=c<2*b.length?c/2:b.length;for(var e=0;e<c;++e)Da[a>>1]=
63
65
  b.charCodeAt(e),a+=2;Da[a>>1]=0;return a-d},mc=b=>2*b.length,nc=(b,a,c)=>{var d="";b>>=2;for(var e=0;!(e>=a/4);e++){var f=J[b+e];if(!f&&!c)break;d+=String.fromCodePoint(f)}return d},oc=(b,a,c)=>{c??=2147483647;if(4>c)return 0;var d=a;c=d+c-4;for(var e=0;e<b.length;++e){var f=b.codePointAt(e);65535<f&&e++;Fa[a>>2]=f;a+=4;if(a+4>c)break}Fa[a>>2]=0;return a-d},pc=b=>{for(var a=0,c=0;c<b.length;++c)65535<b.codePointAt(c)&&c++,a+=4;return a},qc=0,rc=[],sc=b=>{var a=rc.length;rc.push(b);return a},tc=(b,
64
- a)=>{for(var c=Array(b),d=0;d<b;++d)c[d]=ib(J[a+4*d>>2],`parameter ${d}`);return c},uc={},vc=b=>{var a=uc[b];return void 0===a?Q(b):a},wc={},xc=b=>{if(!(b instanceof Ta||"unwind"==b))throw b;},yc=b=>{za=b;Ya||0<qc||(k.onExit?.(b),ya=!0);throw new Ta(b);},zc=b=>{if(!ya)try{if(b(),!(Ya||0<qc))try{za=b=za,yc(b)}catch(a){xc(a)}}catch(a){xc(a)}},Ac={},Cc=()=>{if(!Bc){var b={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-",
65
- "_")+".UTF-8",_:oa||"./this.program"},a;for(a in Ac)void 0===Ac[a]?delete b[a]:b[a]=Ac[a];var c=[];for(a in b)c.push(`${a}=${b[a]}`);Bc=c}return Bc},Bc,Dc=[null,[],[]];
66
- (()=>{let b=Bb.prototype;Object.assign(b,{isAliasOf:function(c){if(!(this instanceof Bb&&c instanceof Bb))return!1;var d=this.$.da.aa,e=this.$.ca;c.$=c.$;var f=c.$.da.aa;for(c=c.$.ca;d.ha;)e=d.za(e),d=d.ha;for(;f.ha;)c=f.za(c),f=f.ha;return d===f&&e===c},clone:function(){this.$.ca||zb(this);if(this.$.va)return this.$.count.value+=1,this;var c=lb,d=Object,e=d.create,f=Object.getPrototypeOf(this),h=this.$;c=c(e.call(d,f,{$:{value:{count:h.count,xa:h.xa,va:h.va,ca:h.ca,da:h.da,ia:h.ia,na:h.na}}}));c.$.count.value+=
67
- 1;c.$.xa=!1;return c},["delete"](){this.$.ca||zb(this);if(this.$.xa&&!this.$.va)throw new K("Object already scheduled for deletion");jb(this);var c=this.$;--c.count.value;0===c.count.value&&(c.ia?c.na.pa(c.ia):c.da.aa.pa(c.ca));this.$.va||(this.$.ia=void 0,this.$.ca=void 0)},isDeleted:function(){return!this.$.ca},deleteLater:function(){this.$.ca||zb(this);if(this.$.xa&&!this.$.va)throw new K("Object already scheduled for deletion");Ab.push(this);this.$.xa=!0;return this}});const a=Symbol.dispose;
66
+ a)=>{for(var c=Array(b),d=0;d<b;++d)c[d]=jb(J[a+4*d>>2],`parameter ${d}`);return c},uc={},vc=b=>{var a=uc[b];return void 0===a?Q(b):a},wc={},xc=b=>{if(!(b instanceof Ua||"unwind"==b))throw b;},yc=b=>{ya=b;Za||0<qc||(l.onExit?.(b),xa=!0);throw new Ua(b);},zc=b=>{if(!xa)try{if(b(),!(Za||0<qc))try{ya=b=ya,yc(b)}catch(a){xc(a)}}catch(a){xc(a)}},Ac={},Cc=()=>{if(!Bc){var b={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-",
67
+ "_")+".UTF-8",_:na||"./this.program"},a;for(a in Ac)void 0===Ac[a]?delete b[a]:b[a]=Ac[a];var c=[];for(a in b)c.push(`${a}=${b[a]}`);Bc=c}return Bc},Bc,Dc=[null,[],[]];
68
+ (()=>{let b=Bb.prototype;Object.assign(b,{isAliasOf:function(c){if(!(this instanceof Bb&&c instanceof Bb))return!1;var d=this.$.da.aa,e=this.$.ca;c.$=c.$;var f=c.$.da.aa;for(c=c.$.ca;d.ga;)e=d.Ca(e),d=d.ga;for(;f.ga;)c=f.Ca(c),f=f.ga;return d===f&&e===c},clone:function(){this.$.ca||zb(this);if(this.$.xa)return this.$.count.value+=1,this;var c=mb,d=Object,e=d.create,f=Object.getPrototypeOf(this),h=this.$;c=c(e.call(d,f,{$:{value:{count:h.count,Aa:h.Aa,xa:h.xa,ca:h.ca,da:h.da,ia:h.ia,oa:h.oa}}}));c.$.count.value+=
69
+ 1;c.$.Aa=!1;return c},["delete"](){this.$.ca||zb(this);if(this.$.Aa&&!this.$.xa)throw new K("Object already scheduled for deletion");kb(this);var c=this.$;--c.count.value;0===c.count.value&&(c.ia?c.oa.qa(c.ia):c.da.aa.qa(c.ca));this.$.xa||(this.$.ia=void 0,this.$.ca=void 0)},isDeleted:function(){return!this.$.ca},deleteLater:function(){this.$.ca||zb(this);if(this.$.Aa&&!this.$.xa)throw new K("Object already scheduled for deletion");Ab.push(this);this.$.Aa=!0;return this}});const a=Symbol.dispose;
68
70
  a&&(b[a]=b["delete"])})();
69
- Object.assign(Pb.prototype,{zb(b){this.cb&&(b=this.cb(b));return b},Va(b){this.pa?.(b)},la:tb,ba:function(b){function a(){return this.Ca?Ob(this.aa.oa,{da:this.Kb,ca:c,na:this,ia:b}):Ob(this.aa.oa,{da:this,ca:b})}var c=this.zb(b);if(!c)return this.Va(b),null;var d=Nb(this.aa,c);if(void 0!==d){if(0===d.$.count.value)return d.$.ca=c,d.$.ia=b,d.clone();d=d.clone();this.Va(b);return d}d=this.aa.yb(c);d=Cb[d];if(!d)return a.call(this);d=this.Ba?d.pb:d.pointerType;var e=Mb(c,this.aa,d.aa);return null===
70
- e?a.call(this):this.Ca?Ob(d.aa.oa,{da:d,ca:e,na:this,ia:b}):Ob(d.aa.oa,{da:d,ca:e})}});k.noExitRuntime&&(Ya=k.noExitRuntime);k.print&&(va=k.print);k.printErr&&(wa=k.printErr);k.wasmBinary&&(xa=k.wasmBinary);k.thisProgram&&(oa=k.thisProgram);if(k.preInit)for("function"==typeof k.preInit&&(k.preInit=[k.preInit]);0<k.preInit.length;)k.preInit.shift()();
71
- var gb,Ec,fb,Fc,Ma,Rb,Gc={E:()=>Na(""),n:(b,a,c)=>{b=Q(b);a=ib(a,"wrapper");c=M(c);var d=a.aa,e=d.oa,f=d.ha.oa,h=d.ha.constructor;b=Za(b,function(...g){for(var m of d.ha.bb)if(this[m]===f[m])throw new bb(`Pure virtual function ${m} must be implemented in JavaScript`);Object.defineProperty(this,"__parent",{value:e});this.__construct(...g)});e.__construct=function(...g){if(this===e)throw new K("Pass correct 'this' to __construct");g=h.implement(this,...g);jb(g);var m=g.$;g.notifyOnDestruction();m.va=
72
- !0;Object.defineProperties(this,{$:{value:m}});lb(this);g=m.ca;g=db(d,g);if(cb.hasOwnProperty(g))throw new K(`Tried to register registered instance: ${g}`);cb[g]=this};e.__destruct=function(){if(this===e)throw new K("Pass correct 'this' to __destruct");jb(this);var g=this.$.ca;g=db(d,g);if(cb.hasOwnProperty(g))delete cb[g];else throw new K(`Tried to unregister unregistered instance: ${g}`);};b.prototype=Object.create(e);Object.assign(b.prototype,c);return P(b)},N:b=>{var a=mb[b];delete mb[b];var c=
73
- a.Ma,d=a.pa,e=a.Ya,f=e.map(h=>h.Cb).concat(e.map(h=>h.Nb));W([b],f,h=>{var g={},m,n;for([m,n]of e.entries()){const u=h[m],x=n.Ab,w=n.Bb,t=h[m+e.length],v=n.Mb,p=n.Ob;g[n.wb]={read:I=>u.ba(x(w,I)),write:(I,F)=>{var r=[];v(p,I,t.ea(r,F));sb(r)},optional:u.optional}}return[{name:a.name,ba:u=>{var x={},w;for(w in g)x[w]=g[w].read(u);d(u);return x},ea:(u,x)=>{for(var w in g)if(!(w in x||g[w].optional))throw new TypeError(`Missing field: "${w}"`);var t=c();for(w in g)g[w].write(t,x[w]);null!==u&&u.push(d,
74
- t);return t},la:tb,ka:d}]})},r:(b,a,c,d,e)=>{a=Q(a);d=0n===d;let f=h=>h;if(d){const h=8*c;f=g=>BigInt.asUintN(h,g);e=f(e)}T(b,{name:a,ba:f,ea:(h,g)=>{"number"==typeof g&&(g=BigInt(g));return g},la:yb(a,c,!d),ka:null})},H:(b,a,c,d)=>{a=Q(a);T(b,{name:a,ba:function(e){return!!e},ea:function(e,f){return f?c:d},la:function(e){return this.ba(z[e])},ka:null})},c:(b,a,c,d,e,f,h,g,m,n,u,x,w)=>{u=Q(u);f=Y(e,f);g&&=Y(h,g);n&&=Y(m,n);w=Y(x,w);var t=Fb(u);Eb(t,function(){Z(`Cannot construct ${u} due to unbound types`,
75
- [d])});W([b,a,c],d?[d]:[],v=>{v=v[0];if(d){var p=v.aa;var I=p.oa}else I=Bb.prototype;v=Za(u,function(...L){if(Object.getPrototypeOf(this)!==F)throw new K(`Use 'new' to construct ${u}`);if(void 0===r.ta)throw new K(`${u} has no accessible constructor`);var O=r.ta[L.length];if(void 0===O)throw new K(`Tried to invoke ctor of ${u} with invalid number of parameters (${L.length}) - expected (${Object.keys(r.ta).toString()}) parameters instead!`);return O.apply(this,L)});var F=Object.create(I,{constructor:{value:v}});
76
- v.prototype=F;var r=new Gb(u,v,F,w,p,f,g,n);if(r.ha){var G;(G=r.ha).Aa??(G.Aa=[]);r.ha.Aa.push(r)}p=new Pb(u,r,!0,!1,!1);G=new Pb(u+"*",r,!1,!1,!1);I=new Pb(u+" const*",r,!1,!0,!1);Cb[b]={pointerType:G,pb:I};Qb(t,v);return[p,G,I]})},j:(b,a,c,d,e,f,h)=>{var g=Vb(c,d);a=Q(a);a=Wb(a);f=Y(e,f);W([],[b],m=>{function n(){Z(`Cannot call ${u} due to unbound types`,g)}m=m[0];var u=`${m.name}.${a}`;a.startsWith("@@")&&(a=Symbol[a.substring(2)]);var x=m.aa.constructor;void 0===x[a]?(n.sa=c-1,x[a]=n):(Db(x,a,
77
- u),x[a].fa[c-1]=n);W([],g,w=>{w=Ub(u,[w[0],null].concat(w.slice(1)),null,f,h);void 0===x[a].fa?(w.sa=c-1,x[a]=w):x[a].fa[c-1]=w;if(m.aa.Aa)for(const t of m.aa.Aa)t.constructor.hasOwnProperty(a)||(t.constructor[a]=w);return[]});return[]})},p:(b,a,c,d,e,f,h,g)=>{a=Q(a);f=Y(e,f);W([],[b],m=>{m=m[0];var n=`${m.name}.${a}`,u={get(){Z(`Cannot access ${n} due to unbound types`,[c])},enumerable:!0,configurable:!0};u.set=g?()=>{Z(`Cannot access ${n} due to unbound types`,[c])}:()=>{throw new K(`${n} is a read-only property`);
78
- };Object.defineProperty(m.aa.constructor,a,u);W([],[c],x=>{x=x[0];var w={get(){return x.ba(f(d))},enumerable:!0};g&&(g=Y(h,g),w.set=t=>{var v=[];g(d,x.ea(v,t));sb(v)});Object.defineProperty(m.aa.constructor,a,w);return[]});return[]})},m:(b,a,c,d,e,f)=>{var h=Vb(a,c);e=Y(d,e);W([],[b],g=>{g=g[0];var m=`constructor ${g.name}`;void 0===g.aa.ta&&(g.aa.ta=[]);if(void 0!==g.aa.ta[a-1])throw new K(`Cannot register multiple constructors with identical number of parameters (${a-1}) for class '${g.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);
79
- g.aa.ta[a-1]=()=>{Z(`Cannot construct ${g.name} due to unbound types`,h)};W([],h,n=>{n.splice(1,0,null);g.aa.ta[a-1]=Ub(m,n,null,e,f);return[]});return[]})},a:(b,a,c,d,e,f,h,g)=>{var m=Vb(c,d);a=Q(a);a=Wb(a);f=Y(e,f);W([],[b],n=>{function u(){Z(`Cannot call ${x} due to unbound types`,m)}n=n[0];var x=`${n.name}.${a}`;a.startsWith("@@")&&(a=Symbol[a.substring(2)]);g&&n.aa.bb.push(a);var w=n.aa.oa,t=w[a];void 0===t||void 0===t.fa&&t.className!==n.name&&t.sa===c-2?(u.sa=c-2,u.className=n.name,w[a]=u):
80
- (Db(w,a,x),w[a].fa[c-2]=u);W([],m,v=>{v=Ub(x,v,n,f,h);void 0===w[a].fa?(v.sa=c-2,w[a]=v):w[a].fa[c-2]=v;return[]});return[]})},b:(b,a,c,d,e,f,h,g,m,n)=>{a=Q(a);e=Y(d,e);W([],[b],u=>{u=u[0];var x=`${u.name}.${a}`,w={get(){Z(`Cannot access ${x} due to unbound types`,[c,h])},enumerable:!0,configurable:!0};w.set=m?()=>Z(`Cannot access ${x} due to unbound types`,[c,h]):()=>{throw new K(x+" is a read-only property");};Object.defineProperty(u.aa.oa,a,w);W([],m?[c,h]:[c],t=>{var v=t[0],p={get(){var F=Xb(this,
81
- u,x+" getter");return v.ba(e(f,F))},enumerable:!0};if(m){m=Y(g,m);var I=t[1];p.set=function(F){var r=Xb(this,u,x+" setter"),G=[];m(n,r,I.ea(G,F));sb(G)}}Object.defineProperty(u.aa.oa,a,p);return[]});return[]})},F:b=>T(b,Zb),l:(b,a,c,d,e)=>{a=Q(a);e=0===e?"object":1===e?"number":"string";switch(e){case "object":function h(){}h.values={};T(b,{name:a,constructor:h,valueType:e,ba:function(g){return this.constructor.values[g]},ea:(g,m)=>m.value,la:$b(a,c,d),ka:null});Eb(a,h);break;case "number":var f=
82
- {};T(b,{name:a,La:f,valueType:e,ba:g=>g,ea:(g,m)=>m,la:$b(a,c,d),ka:null});Eb(a,f);delete k[a].sa;break;case "string":f={},T(b,{name:a,jb:{},eb:{},La:f,valueType:e,ba:function(g){return this.eb[g]},ea:function(g,m){return this.jb[m]},la:$b(a,c,d),ka:null}),Eb(a,f),delete k[a].sa}},d:(b,a,c)=>{var d=ib(b,"enum");a=Q(a);switch(d.valueType){case "object":b=d.constructor;d=Object.create(d.constructor.prototype,{value:{value:c},constructor:{value:Za(`${d.name}_${a}`,function(){})}});b.values[c]=d;b[a]=
83
- d;break;case "number":d.La[a]=c;break;case "string":d.jb[a]=c,d.eb[c]=a,d.La[a]=a}},q:(b,a,c)=>{a=Q(a);T(b,{name:a,ba:d=>d,ea:(d,e)=>e,la:ac(a,c),ka:null})},i:(b,a,c,d,e,f)=>{var h=Vb(a,c);b=Q(b);b=Wb(b);e=Y(d,e);Eb(b,function(){Z(`Cannot call ${b} due to unbound types`,h)},a-1);W([],h,g=>{Qb(b,Ub(b,[g[0],null].concat(g.slice(1)),null,e,f),a-1);return[]})},k:(b,a,c,d,e)=>{a=Q(a);let f=g=>g;if(0===d){var h=32-8*c;f=g=>g<<h>>>h;e=f(e)}T(b,{name:a,ba:f,ea:(g,m)=>m,la:yb(a,c,0!==d),ka:null})},h:(b,a,
84
- c)=>{function d(f){return new e(Ca.buffer,J[f+4>>2],J[f>>2])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][a];c=Q(c);T(b,{name:c,ba:d,la:d},{Db:!0})},G:(b,a)=>{a=Q(a);T(b,{name:a,ba(c){var d=(d=c+4)?ic(z,d,J[c>>2],!0):"";gb(c);return d},ea(c,d){d instanceof ArrayBuffer&&(d=new Uint8Array(d));var e="string"==typeof d;if(!(e||ArrayBuffer.isView(d)&&1==d.BYTES_PER_ELEMENT))throw new K("Cannot pass non-string to std::string");
85
- var f=e?fc(d):d.length;var h=Ec(4+f+1),g=h+4;J[h>>2]=f;e?bc(d,g,f+1):z.set(d,g);null!==c&&c.push(gb,h);return h},la:tb,ka(c){gb(c)}})},o:(b,a,c)=>{c=Q(c);if(2===a){var d=kc;var e=lc;var f=mc}else d=nc,e=oc,f=pc;T(b,{name:c,ba:h=>{var g=d(h+4,J[h>>2]*a,!0);gb(h);return g},ea:(h,g)=>{if("string"!=typeof g)throw new K(`Cannot pass non-string to C++ string type ${c}`);var m=f(g),n=Ec(4+m+a);J[n>>2]=m/a;e(g,n+4,m+a);null!==h&&h.push(gb,n);return n},la:tb,ka(h){gb(h)}})},P:(b,a,c,d,e,f)=>{mb[b]={name:Q(a),
86
- Ma:Y(c,d),pa:Y(e,f),Ya:[]}},O:(b,a,c,d,e,f,h,g,m,n)=>{mb[b].Ya.push({wb:Q(a),Cb:c,Ab:Y(d,e),Bb:f,Nb:h,Mb:Y(g,m),Ob:n})},I:(b,a)=>{a=Q(a);T(b,{Fb:!0,name:a,ba:()=>{},ea:()=>{}})},u:()=>{Ya=!1;qc=0},f:(b,a,c)=>{var [d,...e]=tc(b,a),f=d.ea.bind(d),h=e.map(m=>m.la.bind(m));b--;var g=Array(b);a=`methodCaller<(${e.map(m=>m.name)}) => ${d.name}>`;return sc(Za(a,(m,n,u,x)=>{for(var w=0,t=0;t<b;++t)g[t]=h[t](x+w),w+=8;switch(c){case 0:var v=M(m).apply(null,g);break;case 2:v=Reflect.construct(M(m),g);break;
87
- case 3:v=g[0];break;case 1:v=M(m)[vc(n)](...g)}m=[];v=f(m,v);m.length&&(J[u>>2]=P(m));return v}))},R:Yb,J:b=>{b=vc(b);return P(k[b])},K:(b,a)=>{b=M(b);a=M(a);return P(b[a])},L:b=>{9<b&&(ab[b+1]+=1)},e:(b,a,c,d,e)=>rc[b](a,c,d,e),M:()=>P([]),s:b=>P(vc(b)),S:()=>P({}),Q:b=>{var a=M(b);sb(a);Yb(b)},g:(b,a,c)=>{b=M(b);a=M(a);c=M(c);b[a]=c},v:(b,a)=>{wc[b]&&(clearTimeout(wc[b].id),delete wc[b]);if(!a)return 0;var c=setTimeout(()=>{delete wc[b];zc(()=>Fc(b,performance.now()))},a);wc[b]={id:c,Rb:a};return 0},
71
+ Object.assign(Pb.prototype,{Rb(b){this.tb&&(b=this.tb(b));return b},lb(b){this.qa?.(b)},ma:tb,ba:function(b){function a(){return this.Ja?Ob(this.aa.pa,{da:this.bc,ca:c,oa:this,ia:b}):Ob(this.aa.pa,{da:this,ca:b})}var c=this.Rb(b);if(!c)return this.lb(b),null;var d=Nb(this.aa,c);if(void 0!==d){if(0===d.$.count.value)return d.$.ca=c,d.$.ia=b,d.clone();d=d.clone();this.lb(b);return d}d=this.aa.Qb(c);d=Cb[d];if(!d)return a.call(this);d=this.Ia?d.Hb:d.pointerType;var e=Mb(c,this.aa,d.aa);return null===
72
+ e?a.call(this):this.Ja?Ob(d.aa.pa,{da:d,ca:e,oa:this,ia:b}):Ob(d.aa.pa,{da:d,ca:e})}});l.noExitRuntime&&(Za=l.noExitRuntime);l.print&&(ua=l.print);l.printErr&&(va=l.printErr);l.wasmBinary&&(wa=l.wasmBinary);l.thisProgram&&(na=l.thisProgram);if(l.preInit)for("function"==typeof l.preInit&&(l.preInit=[l.preInit]);0<l.preInit.length;)l.preInit.shift()();
73
+ var hb,Ec,gb,Fc,Ma,Rb,Gc={E:()=>Na(""),n:(b,a,c)=>{b=Q(b);a=jb(a,"wrapper");c=N(c);var d=a.aa,e=d.pa,f=d.ga.pa,h=d.ga.constructor;b=$a(b,function(...g){for(var m of d.ga.sb)if(this[m]===f[m])throw new cb(`Pure virtual function ${m} must be implemented in JavaScript`);Object.defineProperty(this,"__parent",{value:e});this.__construct(...g)});e.__construct=function(...g){if(this===e)throw new K("Pass correct 'this' to __construct");g=h.implement(this,...g);kb(g);var m=g.$;g.notifyOnDestruction();m.xa=
74
+ !0;Object.defineProperties(this,{$:{value:m}});mb(this);g=m.ca;g=eb(d,g);if(db.hasOwnProperty(g))throw new K(`Tried to register registered instance: ${g}`);db[g]=this};e.__destruct=function(){if(this===e)throw new K("Pass correct 'this' to __destruct");kb(this);var g=this.$.ca;g=eb(d,g);if(db.hasOwnProperty(g))delete db[g];else throw new K(`Tried to unregister unregistered instance: ${g}`);};b.prototype=Object.create(e);Object.assign(b.prototype,c);return P(b)},N:b=>{var a=nb[b];delete nb[b];var c=
75
+ a.Za,d=a.qa,e=a.ob,f=e.map(h=>h.Ub).concat(e.map(h=>h.ec));V([b],f,h=>{var g={},m,n;for([m,n]of e.entries()){const u=h[m],A=n.Sb,x=n.Tb,t=h[m+e.length],v=n.dc,p=n.fc;g[n.Ob]={read:I=>u.ba(A(x,I)),write:(I,G)=>{var r=[];v(p,I,t.ea(r,G));sb(r)},optional:u.optional}}return[{name:a.name,ba:u=>{var A={},x;for(x in g)A[x]=g[x].read(u);d(u);return A},ea:(u,A)=>{for(var x in g)if(!(x in A||g[x].optional))throw new TypeError(`Missing field: "${x}"`);var t=c();for(x in g)g[x].write(t,A[x]);null!==u&&u.push(d,
76
+ t);return t},ma:tb,ka:d}]})},r:(b,a,c,d,e)=>{a=Q(a);d=0n===d;let f=h=>h;if(d){const h=8*c;f=g=>BigInt.asUintN(h,g);e=f(e)}T(b,{name:a,ba:f,ea:(h,g)=>{"number"==typeof g&&(g=BigInt(g));return g},ma:yb(a,c,!d),ka:null})},H:(b,a,c,d)=>{a=Q(a);T(b,{name:a,ba:function(e){return!!e},ea:function(e,f){return f?c:d},ma:function(e){return this.ba(B[e])},ka:null})},c:(b,a,c,d,e,f,h,g,m,n,u,A,x)=>{u=Q(u);f=X(e,f);g&&=X(h,g);n&&=X(m,n);x=X(A,x);var t=Fb(u);Eb(t,function(){Y(`Cannot construct ${u} due to unbound types`,
77
+ [d])});V([b,a,c],d?[d]:[],v=>{v=v[0];if(d){var p=v.aa;var I=p.pa}else I=Bb.prototype;v=$a(u,function(...L){if(Object.getPrototypeOf(this)!==G)throw new K(`Use 'new' to construct ${u}`);if(void 0===r.ua)throw new K(`${u} has no accessible constructor`);var O=r.ua[L.length];if(void 0===O)throw new K(`Tried to invoke ctor of ${u} with invalid number of parameters (${L.length}) - expected (${Object.keys(r.ua).toString()}) parameters instead!`);return O.apply(this,L)});var G=Object.create(I,{constructor:{value:v}});
78
+ v.prototype=G;var r=new Gb(u,v,G,x,p,f,g,n);if(r.ga){var E;(E=r.ga).Ea??(E.Ea=[]);r.ga.Ea.push(r)}p=new Pb(u,r,!0,!1,!1);E=new Pb(u+"*",r,!1,!1,!1);I=new Pb(u+" const*",r,!1,!0,!1);Cb[b]={pointerType:E,Hb:I};Qb(t,v);return[p,E,I]})},j:(b,a,c,d,e,f,h)=>{var g=Vb(c,d);a=Q(a);a=Wb(a);f=X(e,f);V([],[b],m=>{function n(){Y(`Cannot call ${u} due to unbound types`,g)}m=m[0];var u=`${m.name}.${a}`;a.startsWith("@@")&&(a=Symbol[a.substring(2)]);var A=m.aa.constructor;void 0===A[a]?(n.ta=c-1,A[a]=n):(Db(A,a,
79
+ u),A[a].fa[c-1]=n);V([],g,x=>{x=Ub(u,[x[0],null].concat(x.slice(1)),null,f,h);void 0===A[a].fa?(x.ta=c-1,A[a]=x):A[a].fa[c-1]=x;if(m.aa.Ea)for(const t of m.aa.Ea)t.constructor.hasOwnProperty(a)||(t.constructor[a]=x);return[]});return[]})},p:(b,a,c,d,e,f,h,g)=>{a=Q(a);f=X(e,f);V([],[b],m=>{m=m[0];var n=`${m.name}.${a}`,u={get(){Y(`Cannot access ${n} due to unbound types`,[c])},enumerable:!0,configurable:!0};u.set=g?()=>{Y(`Cannot access ${n} due to unbound types`,[c])}:()=>{throw new K(`${n} is a read-only property`);
80
+ };Object.defineProperty(m.aa.constructor,a,u);V([],[c],A=>{A=A[0];var x={get(){return A.ba(f(d))},enumerable:!0};g&&(g=X(h,g),x.set=t=>{var v=[];g(d,A.ea(v,t));sb(v)});Object.defineProperty(m.aa.constructor,a,x);return[]});return[]})},m:(b,a,c,d,e,f)=>{var h=Vb(a,c);e=X(d,e);V([],[b],g=>{g=g[0];var m=`constructor ${g.name}`;void 0===g.aa.ua&&(g.aa.ua=[]);if(void 0!==g.aa.ua[a-1])throw new K(`Cannot register multiple constructors with identical number of parameters (${a-1}) for class '${g.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);
81
+ g.aa.ua[a-1]=()=>{Y(`Cannot construct ${g.name} due to unbound types`,h)};V([],h,n=>{n.splice(1,0,null);g.aa.ua[a-1]=Ub(m,n,null,e,f);return[]});return[]})},a:(b,a,c,d,e,f,h,g)=>{var m=Vb(c,d);a=Q(a);a=Wb(a);f=X(e,f);V([],[b],n=>{function u(){Y(`Cannot call ${A} due to unbound types`,m)}n=n[0];var A=`${n.name}.${a}`;a.startsWith("@@")&&(a=Symbol[a.substring(2)]);g&&n.aa.sb.push(a);var x=n.aa.pa,t=x[a];void 0===t||void 0===t.fa&&t.className!==n.name&&t.ta===c-2?(u.ta=c-2,u.className=n.name,x[a]=u):
82
+ (Db(x,a,A),x[a].fa[c-2]=u);V([],m,v=>{v=Ub(A,v,n,f,h);void 0===x[a].fa?(v.ta=c-2,x[a]=v):x[a].fa[c-2]=v;return[]});return[]})},b:(b,a,c,d,e,f,h,g,m,n)=>{a=Q(a);e=X(d,e);V([],[b],u=>{u=u[0];var A=`${u.name}.${a}`,x={get(){Y(`Cannot access ${A} due to unbound types`,[c,h])},enumerable:!0,configurable:!0};x.set=m?()=>Y(`Cannot access ${A} due to unbound types`,[c,h]):()=>{throw new K(A+" is a read-only property");};Object.defineProperty(u.aa.pa,a,x);V([],m?[c,h]:[c],t=>{var v=t[0],p={get(){var G=Xb(this,
83
+ u,A+" getter");return v.ba(e(f,G))},enumerable:!0};if(m){m=X(g,m);var I=t[1];p.set=function(G){var r=Xb(this,u,A+" setter"),E=[];m(n,r,I.ea(E,G));sb(E)}}Object.defineProperty(u.aa.pa,a,p);return[]});return[]})},F:b=>T(b,Zb),l:(b,a,c,d,e)=>{a=Q(a);e=0===e?"object":1===e?"number":"string";switch(e){case "object":function h(){}h.values={};T(b,{name:a,constructor:h,valueType:e,ba:function(g){return this.constructor.values[g]},ea:(g,m)=>m.value,ma:$b(a,c,d),ka:null});Eb(a,h);break;case "number":var f=
84
+ {};T(b,{name:a,Ya:f,valueType:e,ba:g=>g,ea:(g,m)=>m,ma:$b(a,c,d),ka:null});Eb(a,f);delete l[a].ta;break;case "string":f={},T(b,{name:a,zb:{},ub:{},Ya:f,valueType:e,ba:function(g){return this.ub[g]},ea:function(g,m){return this.zb[m]},ma:$b(a,c,d),ka:null}),Eb(a,f),delete l[a].ta}},d:(b,a,c)=>{var d=jb(b,"enum");a=Q(a);switch(d.valueType){case "object":b=d.constructor;d=Object.create(d.constructor.prototype,{value:{value:c},constructor:{value:$a(`${d.name}_${a}`,function(){})}});b.values[c]=d;b[a]=
85
+ d;break;case "number":d.Ya[a]=c;break;case "string":d.zb[a]=c,d.ub[c]=a,d.Ya[a]=a}},q:(b,a,c)=>{a=Q(a);T(b,{name:a,ba:d=>d,ea:(d,e)=>e,ma:ac(a,c),ka:null})},i:(b,a,c,d,e,f)=>{var h=Vb(a,c);b=Q(b);b=Wb(b);e=X(d,e);Eb(b,function(){Y(`Cannot call ${b} due to unbound types`,h)},a-1);V([],h,g=>{Qb(b,Ub(b,[g[0],null].concat(g.slice(1)),null,e,f),a-1);return[]})},k:(b,a,c,d,e)=>{a=Q(a);let f=g=>g;if(0===d){var h=32-8*c;f=g=>g<<h>>>h;e=f(e)}T(b,{name:a,ba:f,ea:(g,m)=>m,ma:yb(a,c,0!==d),ka:null})},h:(b,a,
86
+ c)=>{function d(f){return new e(Ca.buffer,J[f+4>>2],J[f>>2])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][a];c=Q(c);T(b,{name:c,ba:d,ma:d},{Vb:!0})},G:(b,a)=>{a=Q(a);T(b,{name:a,ba(c){var d=(d=c+4)?ic(B,d,J[c>>2],!0):"";hb(c);return d},ea(c,d){d instanceof ArrayBuffer&&(d=new Uint8Array(d));var e="string"==typeof d;if(!(e||ArrayBuffer.isView(d)&&1==d.BYTES_PER_ELEMENT))throw new K("Cannot pass non-string to std::string");
87
+ var f=e?fc(d):d.length;var h=Ec(4+f+1),g=h+4;J[h>>2]=f;e?bc(d,g,f+1):B.set(d,g);null!==c&&c.push(hb,h);return h},ma:tb,ka(c){hb(c)}})},o:(b,a,c)=>{c=Q(c);if(2===a){var d=kc;var e=lc;var f=mc}else d=nc,e=oc,f=pc;T(b,{name:c,ba:h=>{var g=d(h+4,J[h>>2]*a,!0);hb(h);return g},ea:(h,g)=>{if("string"!=typeof g)throw new K(`Cannot pass non-string to C++ string type ${c}`);var m=f(g),n=Ec(4+m+a);J[n>>2]=m/a;e(g,n+4,m+a);null!==h&&h.push(hb,n);return n},ma:tb,ka(h){hb(h)}})},P:(b,a,c,d,e,f)=>{nb[b]={name:Q(a),
88
+ Za:X(c,d),qa:X(e,f),ob:[]}},O:(b,a,c,d,e,f,h,g,m,n)=>{nb[b].ob.push({Ob:Q(a),Ub:c,Sb:X(d,e),Tb:f,ec:h,dc:X(g,m),fc:n})},I:(b,a)=>{a=Q(a);T(b,{Xb:!0,name:a,ba:()=>{},ea:()=>{}})},u:()=>{Za=!1;qc=0},f:(b,a,c)=>{var [d,...e]=tc(b,a),f=d.ea.bind(d),h=e.map(m=>m.ma.bind(m));b--;var g=Array(b);a=`methodCaller<(${e.map(m=>m.name)}) => ${d.name}>`;return sc($a(a,(m,n,u,A)=>{for(var x=0,t=0;t<b;++t)g[t]=h[t](A+x),x+=8;switch(c){case 0:var v=N(m).apply(null,g);break;case 2:v=Reflect.construct(N(m),g);break;
89
+ case 3:v=g[0];break;case 1:v=N(m)[vc(n)](...g)}m=[];v=f(m,v);m.length&&(J[u>>2]=P(m));return v}))},R:Yb,J:b=>{b=vc(b);return P(l[b])},K:(b,a)=>{b=N(b);a=N(a);return P(b[a])},L:b=>{9<b&&(bb[b+1]+=1)},e:(b,a,c,d,e)=>rc[b](a,c,d,e),M:()=>P([]),s:b=>P(vc(b)),S:()=>P({}),Q:b=>{var a=N(b);sb(a);Yb(b)},g:(b,a,c)=>{b=N(b);a=N(a);c=N(c);b[a]=c},v:(b,a)=>{wc[b]&&(clearTimeout(wc[b].id),delete wc[b]);if(!a)return 0;var c=setTimeout(()=>{delete wc[b];zc(()=>Fc(b,performance.now()))},a);wc[b]={id:c,jc:a};return 0},
88
90
  w:(b,a,c,d)=>{var e=(new Date).getFullYear(),f=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();J[b>>2]=60*Math.max(f,e);Fa[a>>2]=Number(f!=e);a=h=>{var g=Math.abs(h);return`UTC${0<=h?"-":"+"}${String(Math.floor(g/60)).padStart(2,"0")}${String(g%60).padStart(2,"0")}`};b=a(f);a=a(e);e<f?(bc(b,c,17),bc(a,d,17)):(bc(b,d,17),bc(a,c,17))},z:function(b,a,c){if(!(0<=b&&3>=b))return 28;Ia[c>>3]=BigInt(Math.round(1E6*(0===b?Date.now():performance.now())));return 0},A:b=>{var a=
89
- z.length;b>>>=0;if(2147483648<b)return!1;for(var c=1;4>=c;c*=2){var d=a*(1+.2/c);d=Math.min(d,b+100663296);a:{d=(Math.min(2147483648,65536*Math.ceil(Math.max(b,d)/65536))-Ma.buffer.byteLength+65535)/65536|0;try{Ma.grow(d);La();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1},x:(b,a)=>{var c=0,d=0,e;for(e of Cc()){var f=a+c;J[b+d>>2]=f;c+=bc(e,f,Infinity)+1;d+=4}return 0},y:(b,a)=>{var c=Cc();J[b>>2]=c.length;b=0;for(var d of c)b+=fc(d)+1;J[a>>2]=b;return 0},D:()=>52,B:function(){return 70},
90
- C:(b,a,c,d)=>{for(var e=0,f=0;f<c;f++){var h=J[a>>2],g=J[a+4>>2];a+=8;for(var m=0;m<g;m++){var n=b,u=z[h+m],x=Dc[n];0===u||10===u?((1===n?va:wa)(ic(x)),x.length=0):x.push(u)}e+=g}J[d>>2]=e;return 0},t:yc},Hc;
91
- Hc=await (async function(){function b(c){c=Hc=c.exports;gb=c.V;Ec=c.W;fb=c.X;Fc=c.Z;Ma=c.T;Rb=c.Y;La();return Hc}var a={a:Gc};if(k.instantiateWasm)return new Promise(c=>{k.instantiateWasm(a,(d,e)=>{c(b(d,e))})});Oa??=k.locateFile?k.locateFile("canvas_advanced.wasm",pa):pa+"canvas_advanced.wasm";return b((await Sa(a)).instance)}());
92
- (function(){function b(){k.calledRun=!0;if(!ya){Ka=!0;Hc.U();Aa?.(k);k.onRuntimeInitialized?.();if(k.postRun)for("function"==typeof k.postRun&&(k.postRun=[k.postRun]);k.postRun.length;){var a=k.postRun.shift();Va.push(a)}Ua(Va)}}if(k.preRun)for("function"==typeof k.preRun&&(k.preRun=[k.preRun]);k.preRun.length;)Xa();Ua(Wa);k.setStatus?(k.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>k.setStatus(""),1);b()},1)):b()})();Ka?moduleRtn=k:moduleRtn=new Promise((b,a)=>{Aa=b;Ba=a});
91
+ B.length;b>>>=0;if(2147483648<b)return!1;for(var c=1;4>=c;c*=2){var d=a*(1+.2/c);d=Math.min(d,b+100663296);a:{d=(Math.min(2147483648,65536*Math.ceil(Math.max(b,d)/65536))-Ma.buffer.byteLength+65535)/65536|0;try{Ma.grow(d);La();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1},x:(b,a)=>{var c=0,d=0,e;for(e of Cc()){var f=a+c;J[b+d>>2]=f;c+=bc(e,f,Infinity)+1;d+=4}return 0},y:(b,a)=>{var c=Cc();J[b>>2]=c.length;b=0;for(var d of c)b+=fc(d)+1;J[a>>2]=b;return 0},D:()=>52,B:function(){return 70},
92
+ C:(b,a,c,d)=>{for(var e=0,f=0;f<c;f++){var h=J[a>>2],g=J[a+4>>2];a+=8;for(var m=0;m<g;m++){var n=b,u=B[h+m],A=Dc[n];0===u||10===u?((1===n?ua:va)(ic(A)),A.length=0):A.push(u)}e+=g}J[d>>2]=e;return 0},t:yc},Hc;
93
+ Hc=await (async function(){function b(c){c=Hc=c.exports;hb=c.V;Ec=c.W;gb=c.X;Fc=c.Z;Ma=c.T;Rb=c.Y;La();return Hc}var a={a:Gc};if(l.instantiateWasm)return new Promise(c=>{l.instantiateWasm(a,(d,e)=>{c(b(d,e))})});Oa??=l.locateFile?l.locateFile("canvas_advanced.wasm",oa):oa+"canvas_advanced.wasm";return b((await Ta(a)).instance)}());
94
+ (function(){function b(){l.calledRun=!0;if(!xa){Ka=!0;Hc.U();za?.(l);l.onRuntimeInitialized?.();if(l.postRun)for("function"==typeof l.postRun&&(l.postRun=[l.postRun]);l.postRun.length;){var a=l.postRun.shift();Wa.push(a)}Va(Wa)}}if(l.preRun)for("function"==typeof l.preRun&&(l.preRun=[l.preRun]);l.preRun.length;)Ya();Va(Xa);l.setStatus?(l.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>l.setStatus(""),1);b()},1)):b()})();Ka?moduleRtn=l:moduleRtn=new Promise((b,a)=>{za=b;Ba=a});
93
95
  ;return moduleRtn}})();
94
96
  export default Rive;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rive-app/canvas-advanced-lite",
3
- "version": "2.41.0",
3
+ "version": "2.41.1",
4
4
  "description": "Rive's lite low-level canvas based web api.",
5
5
  "main": "canvas_advanced.mjs",
6
6
  "homepage": "https://rive.app",
package/rive.wasm CHANGED
Binary file
@@ -164,12 +164,19 @@ export declare class RendererWrapper {
164
164
  drawPath(path: RenderPath, paint: RenderPaint): void;
165
165
  clipPath(path: RenderPath): void;
166
166
  /**
167
- * Calls the context's clearRect() function to clear the entire canvas. Crucial to call
168
- * this at the start of the render loop to clear the canvas before drawing the next frame
167
+ * Begins a frame. Crucial to call this at the start of the render loop: besides clearing
168
+ * the canvas, it registers the renderer so that its queued draws actually get flushed.
169
169
  *
170
- * For the underlying API, check
170
+ * Pass clear=false to draw on top of whatever the canvas already holds instead of
171
+ * starting from a blank one.
172
+ *
173
+ * For the underlying clear, check
171
174
  * https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/clearRect
172
175
  */
176
+ beginFrame(clear?: boolean): void;
177
+ /**
178
+ * @deprecated Use {@link beginFrame} instead. Equivalent to `beginFrame(true)`.
179
+ */
173
180
  clear(): void;
174
181
  delete(): void;
175
182
  flush(): void;
@@ -184,7 +191,15 @@ export declare class RendererWrapper {
184
191
 
185
192
  export declare class RenderPathWrapper {
186
193
  reset(): void;
187
- addPath(path: CommandPath, transform: Mat2D): void;
194
+ addPath(
195
+ path: CommandPath,
196
+ xx: number,
197
+ xy: number,
198
+ yx: number,
199
+ yy: number,
200
+ tx: number,
201
+ ty: number,
202
+ ): void;
188
203
  fillRule(value: FillRule): void;
189
204
  moveTo(x: number, y: number): void;
190
205
  lineTo(x: number, y: number): void;
@@ -233,11 +248,11 @@ export declare class Renderer extends RendererWrapper {
233
248
  ): void;
234
249
  }
235
250
 
236
- export declare class CommandPath {}
251
+ export declare class CommandPath { }
237
252
 
238
- export declare class RenderPath extends RenderPathWrapper {}
253
+ export declare class RenderPath extends RenderPathWrapper { }
239
254
 
240
- export declare class RenderPaint extends RenderPaintWrapper {}
255
+ export declare class RenderPaint extends RenderPaintWrapper { }
241
256
 
242
257
  /////////////////////
243
258
  // CANVAS RENDERER //
@@ -287,7 +302,7 @@ export declare class CanvasRenderPaint extends RenderPaint {
287
302
  ): void;
288
303
  }
289
304
 
290
- export declare class CanvasRenderPath extends RenderPath {}
305
+ export declare class CanvasRenderPath extends RenderPath { }
291
306
 
292
307
  export interface CanvasRenderFactory {
293
308
  makeRenderPaint(): CanvasRenderPaint;
@@ -1202,11 +1217,11 @@ export declare class DataEnum {
1202
1217
  get values(): string[];
1203
1218
  }
1204
1219
 
1205
- export declare class SMIBool {}
1220
+ export declare class SMIBool { }
1206
1221
 
1207
- export declare class SMINumber {}
1222
+ export declare class SMINumber { }
1208
1223
 
1209
- export declare class SMITrigger {}
1224
+ export declare class SMITrigger { }
1210
1225
 
1211
1226
  ///////////
1212
1227
  // ENUMS //
@@ -1428,7 +1443,7 @@ export declare class FontAsset extends FileAsset {
1428
1443
  setFont(font: Font | FontWrapper): void;
1429
1444
  }
1430
1445
 
1431
- export declare class FileAssetLoader {}
1446
+ export declare class FileAssetLoader { }
1432
1447
 
1433
1448
  export declare class CustomFileAssetLoader extends FileAssetLoader {
1434
1449
  constructor({ loadContents }: { loadContents: Function });
Binary file