canvaskit-wasm
Version:
A WASM version of Skia's Canvas API
271 lines • 124 kB
JavaScript
var CanvasKitInit = (() => {
var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined;
if (typeof __filename != 'undefined') _scriptName = _scriptName || __filename;
return (
async function(moduleArg = {}) {
var moduleRtn;
var u=moduleArg,fa,ia,ka=new Promise((a,b)=>{fa=a;ia=b}),oa="object"==typeof window,pa="undefined"!=typeof WorkerGlobalScope,qa="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&"renderer"!=process.type;
(function(a){a.Od=a.Od||[];a.Od.push(function(){a.MakeSWCanvasSurface=function(b){var e=b,f="undefined"!==typeof OffscreenCanvas&&e instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||f||(e=document.getElementById(b),e)))throw"Canvas with id "+b+" was not found";if(b=a.MakeSurface(e.width,e.height))b.Hd=e;return b};a.MakeCanvasSurface||(a.MakeCanvasSurface=a.MakeSWCanvasSurface);a.MakeSurface=function(b,e){var f={width:b,height:e,colorType:a.ColorType.RGBA_8888,
alphaType:a.AlphaType.Unpremul,colorSpace:a.ColorSpace.SRGB},h=b*e*4,m=a._malloc(h);if(f=a.Surface._makeRasterDirect(f,m,4*b))f.Hd=null,f.vf=b,f.rf=e,f.tf=h,f.Ve=m,f.getCanvas().clear(a.TRANSPARENT);return f};a.MakeRasterDirectSurface=function(b,e,f){return a.Surface._makeRasterDirect(b,e.byteOffset,f)};a.Surface.prototype.flush=function(b){a.Id(this.Gd);this._flush();if(this.Hd){var e=new Uint8ClampedArray(a.HEAPU8.buffer,this.Ve,this.tf);e=new ImageData(e,this.vf,this.rf);b?this.Hd.getContext("2d").putImageData(e,
0,0,b[0],b[1],b[2]-b[0],b[3]-b[1]):this.Hd.getContext("2d").putImageData(e,0,0)}};a.Surface.prototype.dispose=function(){this.Ve&&a._free(this.Ve);this.delete()};a.Id=a.Id||function(){};a.Pe=a.Pe||function(){return null}})})(u);
(function(a){a.Od=a.Od||[];a.Od.push(function(){function b(m,n,t){return m&&m.hasOwnProperty(n)?m[n]:t}function e(m){var n=ra(sa);sa[n]=m;return n}function f(m,n,t,v){m.bindTexture(m.TEXTURE_2D,n);v||t.alphaType!==a.AlphaType.Premul||m.pixelStorei(m.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);return n}function h(m,n,t){t||n.alphaType!==a.AlphaType.Premul||m.pixelStorei(m.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);m.bindTexture(m.TEXTURE_2D,null)}a.GetWebGLContext=function(m,n){if(!m)throw"null canvas passed into makeWebGLContext";
var t={alpha:b(n,"alpha",1),depth:b(n,"depth",1),stencil:b(n,"stencil",8),antialias:b(n,"antialias",0),premultipliedAlpha:b(n,"premultipliedAlpha",1),preserveDrawingBuffer:b(n,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:b(n,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:b(n,"failIfMajorPerformanceCaveat",0),enableExtensionsByDefault:b(n,"enableExtensionsByDefault",1),explicitSwapControl:b(n,"explicitSwapControl",0),renderViaOffscreenBackBuffer:b(n,"renderViaOffscreenBackBuffer",
0)};t.majorVersion=n&&n.majorVersion?n.majorVersion:"undefined"!==typeof WebGL2RenderingContext?2:1;if(t.explicitSwapControl)throw"explicitSwapControl is not supported";m=ta(m,t);if(!m)return 0;ua(m);H.ce.getExtension("WEBGL_debug_renderer_info");return m};a.deleteContext=function(m){H===ya[m]&&(H=null);"object"==typeof JSEvents&&JSEvents.gg(ya[m].ce.canvas);ya[m]?.ce.canvas&&(ya[m].ce.canvas.pf=void 0);ya[m]=null};a._setTextureCleanup({deleteTexture:function(m,n){var t=sa[n];t&&ya[m].ce.deleteTexture(t);
sa[n]=null}});a.MakeWebGLContext=function(m){if(!this.Id(m))return null;var n=this._MakeGrContext();if(!n)return null;n.Gd=m;var t=n.delete.bind(n);n["delete"]=function(){a.Id(this.Gd);t()}.bind(n);return H.Ze=n};a.MakeGrContext=a.MakeWebGLContext;a.GrDirectContext.prototype.getResourceCacheLimitBytes=function(){a.Id(this.Gd);this._getResourceCacheLimitBytes()};a.GrDirectContext.prototype.getResourceCacheUsageBytes=function(){a.Id(this.Gd);this._getResourceCacheUsageBytes()};a.GrDirectContext.prototype.releaseResourcesAndAbandonContext=
function(){a.Id(this.Gd);this._releaseResourcesAndAbandonContext()};a.GrDirectContext.prototype.setResourceCacheLimitBytes=function(m){a.Id(this.Gd);this._setResourceCacheLimitBytes(m)};a.MakeOnScreenGLSurface=function(m,n,t,v,x,F){if(!this.Id(m.Gd))return null;n=void 0===x||void 0===F?this._MakeOnScreenGLSurface(m,n,t,v):this._MakeOnScreenGLSurface(m,n,t,v,x,F);if(!n)return null;n.Gd=m.Gd;return n};a.MakeRenderTarget=function(){var m=arguments[0];if(!this.Id(m.Gd))return null;if(3===arguments.length){var n=
this._MakeRenderTargetWH(m,arguments[1],arguments[2]);if(!n)return null}else if(2===arguments.length){if(n=this._MakeRenderTargetII(m,arguments[1]),!n)return null}else return null;n.Gd=m.Gd;return n};a.MakeWebGLCanvasSurface=function(m,n,t){n=n||null;var v=m,x="undefined"!==typeof OffscreenCanvas&&v instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&v instanceof HTMLCanvasElement||x||(v=document.getElementById(m),v)))throw"Canvas with id "+m+" was not found";m=this.GetWebGLContext(v,
t);if(!m||0>m)throw"failed to create webgl context: err "+m;m=this.MakeWebGLContext(m);n=this.MakeOnScreenGLSurface(m,v.width,v.height,n);return n?n:(n=v.cloneNode(!0),v.parentNode.replaceChild(n,v),n.classList.add("ck-replaced"),a.MakeSWCanvasSurface(n))};a.MakeCanvasSurface=a.MakeWebGLCanvasSurface;a.Surface.prototype.makeImageFromTexture=function(m,n){a.Id(this.Gd);m=e(m);if(n=this._makeImageFromTexture(this.Gd,m,n))n.Ee=m;return n};a.Surface.prototype.makeImageFromTextureSource=function(m,n,t){n||=
{height:a.Me(m),width:a.Ne(m),colorType:a.ColorType.RGBA_8888,alphaType:t?a.AlphaType.Premul:a.AlphaType.Unpremul};n.colorSpace||(n.colorSpace=a.ColorSpace.SRGB);a.Id(this.Gd);var v=H.ce;t=f(v,v.createTexture(),n,t);2===H.version?v.texImage2D(v.TEXTURE_2D,0,v.RGBA,n.width,n.height,0,v.RGBA,v.UNSIGNED_BYTE,m):v.texImage2D(v.TEXTURE_2D,0,v.RGBA,v.RGBA,v.UNSIGNED_BYTE,m);h(v,n);this._resetContext();return this.makeImageFromTexture(t,n)};a.Surface.prototype.updateTextureFromSource=function(m,n,t){if(m.Ee){a.Id(this.Gd);
var v=m.getImageInfo(),x=H.ce,F=f(x,sa[m.Ee],v,t);2===H.version?x.texImage2D(x.TEXTURE_2D,0,x.RGBA,a.Ne(n),a.Me(n),0,x.RGBA,x.UNSIGNED_BYTE,n):x.texImage2D(x.TEXTURE_2D,0,x.RGBA,x.RGBA,x.UNSIGNED_BYTE,n);h(x,v,t);this._resetContext();sa[m.Ee]=null;m.Ee=e(F);v.colorSpace=m.getColorSpace();n=this._makeImageFromTexture(this.Gd,m.Ee,v);t=m.Fd.Md;x=m.Fd.Rd;m.Fd.Md=n.Fd.Md;m.Fd.Rd=n.Fd.Rd;n.Fd.Md=t;n.Fd.Rd=x;n.delete();v.colorSpace.delete()}};a.MakeLazyImageFromTextureSource=function(m,n,t){n||={height:a.Me(m),
width:a.Ne(m),colorType:a.ColorType.RGBA_8888,alphaType:t?a.AlphaType.Premul:a.AlphaType.Unpremul};n.colorSpace||(n.colorSpace=a.ColorSpace.SRGB);var v={makeTexture:function(){var x=H,F=x.ce,I=f(F,F.createTexture(),n,t);2===x.version?F.texImage2D(F.TEXTURE_2D,0,F.RGBA,n.width,n.height,0,F.RGBA,F.UNSIGNED_BYTE,m):F.texImage2D(F.TEXTURE_2D,0,F.RGBA,F.RGBA,F.UNSIGNED_BYTE,m);h(F,n,t);return e(I)},freeSrc:function(){}};"VideoFrame"===m.constructor.name&&(v.freeSrc=function(){m.close()});return a.Image._makeFromGenerator(n,
v)};a.Id=function(m){return m?ua(m):!1};a.Pe=function(){return H&&H.Ze&&!H.Ze.isDeleted()?H.Ze:null}})})(u);
(function(a){function b(d,c,g,l,q){for(var w=0;w<d.length;w++)c[w*g+(w*q+l+g)%g]=d[w];return c}function e(d){for(var c=d*d,g=Array(c);c--;)g[c]=0===c%(d+1)?1:0;return g}function f(d){return d?d.constructor===Float32Array&&4===d.length:!1}function h(d){return(t(255*d[3])<<24|t(255*d[0])<<16|t(255*d[1])<<8|t(255*d[2])<<0)>>>0}function m(d){if(d&&d._ck)return d;if(d instanceof Float32Array){for(var c=Math.floor(d.length/4),g=new Uint32Array(c),l=0;l<c;l++)g[l]=h(d.slice(4*l,4*(l+1)));return g}if(d instanceof
Uint32Array)return d;if(d instanceof Array&&d[0]instanceof Float32Array)return d.map(h)}function n(d){if(void 0===d)return 1;var c=parseFloat(d);return d&&-1!==d.indexOf("%")?c/100:c}function t(d){return Math.round(Math.max(0,Math.min(d||0,255)))}function v(d,c){c&&c._ck||a._free(d)}function x(d,c,g){if(!d||!d.length)return Q;if(d&&d._ck)return d.byteOffset;var l=a[c].BYTES_PER_ELEMENT;g||=a._malloc(d.length*l);a[c].set(d,g/l);return g}function F(d){var c={Zd:Q,count:d.length,colorType:a.ColorType.RGBA_F32};
if(d instanceof Float32Array)c.Zd=x(d,"HEAPF32"),c.count=d.length/4;else if(d instanceof Uint32Array)c.Zd=x(d,"HEAPU32"),c.colorType=a.ColorType.RGBA_8888;else if(d instanceof Array){if(d&&d.length){for(var g=a._malloc(16*d.length),l=0,q=g/4,w=0;w<d.length;w++)for(var A=0;4>A;A++)a.HEAPF32[q+l]=d[w][A],l++;d=g}else d=Q;c.Zd=d}else throw"Invalid argument to copyFlexibleColorArray, Not a color array "+typeof d;return c}function I(d){if(!d)return Q;var c=Nb.toTypedArray();if(d.length){if(6===d.length||
9===d.length)return x(d,"HEAPF32",va),6===d.length&&a.HEAPF32.set(jd,6+va/4),va;if(16===d.length)return c[0]=d[0],c[1]=d[1],c[2]=d[3],c[3]=d[4],c[4]=d[5],c[5]=d[7],c[6]=d[12],c[7]=d[13],c[8]=d[15],va;throw"invalid matrix size";}if(void 0===d.m11)throw"invalid matrix argument";c[0]=d.m11;c[1]=d.m21;c[2]=d.m41;c[3]=d.m12;c[4]=d.m22;c[5]=d.m42;c[6]=d.m14;c[7]=d.m24;c[8]=d.m44;return va}function O(d){if(!d)return Q;var c=Ob.toTypedArray();if(d.length){if(16!==d.length&&6!==d.length&&9!==d.length)throw"invalid matrix size";
if(16===d.length)return x(d,"HEAPF32",Za);c.fill(0);c[0]=d[0];c[1]=d[1];c[3]=d[2];c[4]=d[3];c[5]=d[4];c[7]=d[5];c[10]=1;c[12]=d[6];c[13]=d[7];c[15]=d[8];6===d.length&&(c[12]=0,c[13]=0,c[15]=1);return Za}if(void 0===d.m11)throw"invalid matrix argument";c[0]=d.m11;c[1]=d.m21;c[2]=d.m31;c[3]=d.m41;c[4]=d.m12;c[5]=d.m22;c[6]=d.m32;c[7]=d.m42;c[8]=d.m13;c[9]=d.m23;c[10]=d.m33;c[11]=d.m43;c[12]=d.m14;c[13]=d.m24;c[14]=d.m34;c[15]=d.m44;return Za}function X(d,c){return x(d,"HEAPF32",c||Ha)}function ha(d,
c,g,l){var q=Pb.toTypedArray();q[0]=d;q[1]=c;q[2]=g;q[3]=l;return Ha}function ea(d){for(var c=new Float32Array(4),g=0;4>g;g++)c[g]=a.HEAPF32[d/4+g];return c}function S(d,c){return x(d,"HEAPF32",c||aa)}function za(d,c){return x(d,"HEAPF32",c||Qb)}function ma(){for(var d=0,c=0;c<arguments.length-1;c+=2)d+=arguments[c]*arguments[c+1];return d}function Oa(d,c,g){for(var l=Array(d.length),q=0;q<g;q++)for(var w=0;w<g;w++){for(var A=0,G=0;G<g;G++)A+=d[g*q+G]*c[g*G+w];l[q*g+w]=A}return l}function $a(d,c){for(var g=
Oa(c[0],c[1],d),l=2;l<c.length;)g=Oa(g,c[l],d),l++;return g}a.Color=function(d,c,g,l){void 0===l&&(l=1);return a.Color4f(t(d)/255,t(c)/255,t(g)/255,l)};a.ColorAsInt=function(d,c,g,l){void 0===l&&(l=255);return(t(l)<<24|t(d)<<16|t(c)<<8|t(g)<<0&268435455)>>>0};a.Color4f=function(d,c,g,l){void 0===l&&(l=1);return Float32Array.of(d,c,g,l)};Object.defineProperty(a,"TRANSPARENT",{get:function(){return a.Color4f(0,0,0,0)}});Object.defineProperty(a,"BLACK",{get:function(){return a.Color4f(0,0,0,1)}});Object.defineProperty(a,
"WHITE",{get:function(){return a.Color4f(1,1,1,1)}});Object.defineProperty(a,"RED",{get:function(){return a.Color4f(1,0,0,1)}});Object.defineProperty(a,"GREEN",{get:function(){return a.Color4f(0,1,0,1)}});Object.defineProperty(a,"BLUE",{get:function(){return a.Color4f(0,0,1,1)}});Object.defineProperty(a,"YELLOW",{get:function(){return a.Color4f(1,1,0,1)}});Object.defineProperty(a,"CYAN",{get:function(){return a.Color4f(0,1,1,1)}});Object.defineProperty(a,"MAGENTA",{get:function(){return a.Color4f(1,
0,1,1)}});a.getColorComponents=function(d){return[Math.floor(255*d[0]),Math.floor(255*d[1]),Math.floor(255*d[2]),d[3]]};a.parseColorString=function(d,c){d=d.toLowerCase();if(d.startsWith("#")){c=255;switch(d.length){case 9:c=parseInt(d.slice(7,9),16);case 7:var g=parseInt(d.slice(1,3),16);var l=parseInt(d.slice(3,5),16);var q=parseInt(d.slice(5,7),16);break;case 5:c=17*parseInt(d.slice(4,5),16);case 4:g=17*parseInt(d.slice(1,2),16),l=17*parseInt(d.slice(2,3),16),q=17*parseInt(d.slice(3,4),16)}return a.Color(g,
l,q,c/255)}return d.startsWith("rgba")?(d=d.slice(5,-1),d=d.split(","),a.Color(+d[0],+d[1],+d[2],n(d[3]))):d.startsWith("rgb")?(d=d.slice(4,-1),d=d.split(","),a.Color(+d[0],+d[1],+d[2],n(d[3]))):d.startsWith("gray(")||d.startsWith("hsl")||!c||(d=c[d],void 0===d)?a.BLACK:d};a.multiplyByAlpha=function(d,c){d=d.slice();d[3]=Math.max(0,Math.min(d[3]*c,1));return d};a.Malloc=function(d,c){var g=a._malloc(c*d.BYTES_PER_ELEMENT);return{_ck:!0,length:c,byteOffset:g,me:null,subarray:function(l,q){l=this.toTypedArray().subarray(l,
q);l._ck=!0;return l},toTypedArray:function(){if(this.me&&this.me.length)return this.me;this.me=new d(a.HEAPU8.buffer,g,c);this.me._ck=!0;return this.me}}};a.Free=function(d){a._free(d.byteOffset);d.byteOffset=Q;d.toTypedArray=null;d.me=null};var va=Q,Nb,Za=Q,Ob,Ha=Q,Pb,na,aa=Q,oc,Ma=Q,Rb,ab=Q,pc,Sb=Q,pb,eb=Q,qc,Qb=Q,rc,sc=Q,jd=Float32Array.of(0,0,1),Q=0;a.Ne=function(d){return d.naturalWidth||d.videoWidth||d.displayWidth||d.width};a.Me=function(d){return d.naturalHeight||d.videoHeight||d.displayHeight||
d.height};a.onRuntimeInitialized=function(){function d(c,g,l,q,w,A,G){A||(A=4*q.width,q.colorType===a.ColorType.RGBA_F16?A*=2:q.colorType===a.ColorType.RGBA_F32&&(A*=4));var K=A*q.height;var L=w?w.byteOffset:a._malloc(K);if(G?!c._readPixels(q,L,A,g,l,G):!c._readPixels(q,L,A,g,l))return w||a._free(L),null;if(w)return w.toTypedArray();switch(q.colorType){case a.ColorType.RGBA_8888:case a.ColorType.RGBA_F16:c=(new Uint8Array(a.HEAPU8.buffer,L,K)).slice();break;case a.ColorType.RGBA_F32:c=(new Float32Array(a.HEAPU8.buffer,
L,K)).slice();break;default:return null}a._free(L);return c}Pb=a.Malloc(Float32Array,4);Ha=Pb.byteOffset;Ob=a.Malloc(Float32Array,16);Za=Ob.byteOffset;Nb=a.Malloc(Float32Array,9);va=Nb.byteOffset;qc=a.Malloc(Float32Array,12);Qb=qc.byteOffset;rc=a.Malloc(Float32Array,12);sc=rc.byteOffset;na=a.Malloc(Float32Array,4);aa=na.byteOffset;oc=a.Malloc(Float32Array,4);Ma=oc.byteOffset;Rb=a.Malloc(Float32Array,3);ab=Rb.byteOffset;pc=a.Malloc(Float32Array,3);Sb=pc.byteOffset;pb=a.Malloc(Int32Array,4);eb=pb.byteOffset;
a.ColorSpace.SRGB=a.ColorSpace._MakeSRGB();a.ColorSpace.DISPLAY_P3=a.ColorSpace._MakeDisplayP3();a.ColorSpace.ADOBE_RGB=a.ColorSpace._MakeAdobeRGB();a.GlyphRunFlags={IsWhiteSpace:a._GlyphRunFlags_isWhiteSpace};a.Path.MakeFromCmds=function(c){var g=x(c,"HEAPF32"),l=a.Path._MakeFromCmds(g,c.length);v(g,c);return l};a.Path.MakeFromVerbsPointsWeights=function(c,g,l){var q=x(c,"HEAPU8"),w=x(g,"HEAPF32"),A=x(l,"HEAPF32"),G=a.Path._MakeFromVerbsPointsWeights(q,c.length,w,g.length/2,A,l&&l.length||0);v(q,
c);v(w,g);v(A,l);return G};a.PathBuilder.prototype.addArc=function(c,g,l){c=S(c);this._addArc(c,g,l);return this};a.PathBuilder.prototype.addCircle=function(c,g,l,q){this._addCircle(c,g,l,!!q);return this};a.PathBuilder.prototype.addOval=function(c,g,l){void 0===l&&(l=1);c=S(c);this._addOval(c,!!g,l);return this};a.PathBuilder.prototype.addPath=function(){var c=Array.prototype.slice.call(arguments),g=c[0],l=!1;"boolean"===typeof c[c.length-1]&&(l=c.pop());if(1===c.length)this._addPath(g,1,0,0,0,1,
0,0,0,1,l);else if(2===c.length)c=c[1],this._addPath(g,c[0],c[1],c[2],c[3],c[4],c[5],c[6]||0,c[7]||0,c[8]||1,l);else if(7===c.length||10===c.length)this._addPath(g,c[1],c[2],c[3],c[4],c[5],c[6],c[7]||0,c[8]||0,c[9]||1,l);else return null;return this};a.PathBuilder.prototype.addPolygon=function(c,g){var l=x(c,"HEAPF32");this._addPolygon(l,c.length/2,g);v(l,c);return this};a.PathBuilder.prototype.addRect=function(c,g){c=S(c);this._addRect(c,!!g);return this};a.PathBuilder.prototype.addRRect=function(c,
g){c=za(c);this._addRRect(c,!!g);return this};a.PathBuilder.prototype.addVerbsPointsWeights=function(c,g,l){var q=x(c,"HEAPU8"),w=x(g,"HEAPF32"),A=x(l,"HEAPF32");this._addVerbsPointsWeights(q,c.length,w,g.length/2,A,l&&l.length||0);v(q,c);v(w,g);v(A,l);return this};a.PathBuilder.prototype.arc=function(c,g,l,q,w,A){c=a.LTRBRect(c-l,g-l,c+l,g+l);w=(w-q)/Math.PI*180-360*!!A;q=(new a.PathBuilder).addArc(c,q/Math.PI*180,w).detachAndDelete();this.addPath(q,!0);q.delete();return this};a.PathBuilder.prototype.arcToOval=
function(c,g,l,q){c=S(c);this._arcToOval(c,g,l,q);return this};a.PathBuilder.prototype.arcToRotated=function(c,g,l,q,w,A,G){this._arcToRotated(c,g,l,!!q,!!w,A,G);return this};a.PathBuilder.prototype.arcToTangent=function(c,g,l,q,w){this._arcToTangent(c,g,l,q,w);return this};a.PathBuilder.prototype.close=function(){this._close();return this};a.PathBuilder.prototype.conicTo=function(c,g,l,q,w){this._conicTo(c,g,l,q,w);return this};a.Path.prototype.computeTightBounds=function(c){this._computeTightBounds(aa);
var g=na.toTypedArray();return c?(c.set(g),c):g.slice()};a.PathBuilder.prototype.cubicTo=function(c,g,l,q,w,A){this._cubicTo(c,g,l,q,w,A);return this};a.PathBuilder.prototype.detachAndDelete=function(){var c=this.detach();this.delete();return c};a.Path.prototype.getBounds=function(c){this._getBounds(aa);var g=na.toTypedArray();return c?(c.set(g),c):g.slice()};a.PathBuilder.prototype.getBounds=function(c){this._getBounds(aa);var g=na.toTypedArray();return c?(c.set(g),c):g.slice()};a.PathBuilder.prototype.lineTo=
function(c,g){this._lineTo(c,g);return this};a.PathBuilder.prototype.moveTo=function(c,g){this._moveTo(c,g);return this};a.PathBuilder.prototype.offset=function(c,g){this._transform(1,0,c,0,1,g,0,0,1);return this};a.PathBuilder.prototype.quadTo=function(c,g,l,q){this._quadTo(c,g,l,q);return this};a.PathBuilder.prototype.rArcTo=function(c,g,l,q,w,A,G){this._rArcTo(c,g,l,q,w,A,G);return this};a.PathBuilder.prototype.rConicTo=function(c,g,l,q,w){this._rConicTo(c,g,l,q,w);return this};a.PathBuilder.prototype.rCubicTo=
function(c,g,l,q,w,A){this._rCubicTo(c,g,l,q,w,A);return this};a.PathBuilder.prototype.rLineTo=function(c,g){this._rLineTo(c,g);return this};a.PathBuilder.prototype.rMoveTo=function(c,g){this._rMoveTo(c,g);return this};a.PathBuilder.prototype.rQuadTo=function(c,g,l,q){this._rQuadTo(c,g,l,q);return this};a.PathBuilder.prototype.setFillType=function(c){this._setFillType(c);return this};a.Path.prototype.makeStroked=function(c){c=c||{};c.width=c.width||1;c.miter_limit=c.miter_limit||4;c.cap=c.cap||a.StrokeCap.Butt;
c.join=c.join||a.StrokeJoin.Miter;c.precision=c.precision||1;return this._makeStroked(c)};a.PathBuilder.prototype.transform=function(){if(1===arguments.length){var c=arguments[0];this._transform(c[0],c[1],c[2],c[3],c[4],c[5],c[6]||0,c[7]||0,c[8]||1)}else if(6===arguments.length||9===arguments.length)c=arguments,this._transform(c[0],c[1],c[2],c[3],c[4],c[5],c[6]||0,c[7]||0,c[8]||1);else throw"transform expected to take 1 or 9 arguments. Got "+arguments.length;return this};a.Path.prototype.makeTrimmed=
function(c,g,l){return this._makeTrimmed(c,g,!!l)};a.Image.prototype.encodeToBytes=function(c,g){var l=a.Pe();c=c||a.ImageFormat.PNG;g=g||100;return l?this._encodeToBytes(c,g,l):this._encodeToBytes(c,g)};a.Image.prototype.makeShaderCubic=function(c,g,l,q,w){w=I(w);return this._makeShaderCubic(c,g,l,q,w)};a.Image.prototype.makeShaderOptions=function(c,g,l,q,w){w=I(w);return this._makeShaderOptions(c,g,l,q,w)};a.Image.prototype.readPixels=function(c,g,l,q,w){var A=a.Pe();return d(this,c,g,l,q,w,A)};
a.Canvas.prototype.clear=function(c){a.Id(this.Gd);c=X(c);this._clear(c)};a.Canvas.prototype.clipRRect=function(c,g,l){a.Id(this.Gd);c=za(c);this._clipRRect(c,g,l)};a.Canvas.prototype.clipRect=function(c,g,l){a.Id(this.Gd);c=S(c);this._clipRect(c,g,l)};a.Canvas.prototype.concat=function(c){a.Id(this.Gd);c=O(c);this._concat(c)};a.Canvas.prototype.drawArc=function(c,g,l,q,w){a.Id(this.Gd);c=S(c);this._drawArc(c,g,l,q,w)};a.Canvas.prototype.drawAtlas=function(c,g,l,q,w,A,G){if(c&&q&&g&&l&&g.length===
l.length){a.Id(this.Gd);w||(w=a.BlendMode.SrcOver);var K=x(g,"HEAPF32"),L=x(l,"HEAPF32"),T=l.length/4,R=x(m(A),"HEAPU32");if(G&&"B"in G&&"C"in G)this._drawAtlasCubic(c,L,K,R,T,w,G.B,G.C,q);else{let r=a.FilterMode.Linear,C=a.MipmapMode.None;G&&(r=G.filter,"mipmap"in G&&(C=G.mipmap));this._drawAtlasOptions(c,L,K,R,T,w,r,C,q)}v(K,g);v(L,l);v(R,A)}};a.Canvas.prototype.drawCircle=function(c,g,l,q){a.Id(this.Gd);this._drawCircle(c,g,l,q)};a.Canvas.prototype.drawColor=function(c,g){a.Id(this.Gd);c=X(c);
void 0!==g?this._drawColor(c,g):this._drawColor(c)};a.Canvas.prototype.drawColorInt=function(c,g){a.Id(this.Gd);this._drawColorInt(c,g||a.BlendMode.SrcOver)};a.Canvas.prototype.drawColorComponents=function(c,g,l,q,w){a.Id(this.Gd);c=ha(c,g,l,q);void 0!==w?this._drawColor(c,w):this._drawColor(c)};a.Canvas.prototype.drawDRRect=function(c,g,l){a.Id(this.Gd);c=za(c,Qb);g=za(g,sc);this._drawDRRect(c,g,l)};a.Canvas.prototype.drawImage=function(c,g,l,q){a.Id(this.Gd);this._drawImage(c,g,l,q||null)};a.Canvas.prototype.drawImageCubic=
function(c,g,l,q,w,A){a.Id(this.Gd);this._drawImageCubic(c,g,l,q,w,A||null)};a.Canvas.prototype.drawImageOptions=function(c,g,l,q,w,A){a.Id(this.Gd);this._drawImageOptions(c,g,l,q,w,A||null)};a.Canvas.prototype.drawImageNine=function(c,g,l,q,w){a.Id(this.Gd);g=x(g,"HEAP32",eb);l=S(l);this._drawImageNine(c,g,l,q,w||null)};a.Canvas.prototype.drawImageRect=function(c,g,l,q,w){a.Id(this.Gd);S(g,aa);S(l,Ma);this._drawImageRect(c,aa,Ma,q,!!w)};a.Canvas.prototype.drawImageRectCubic=function(c,g,l,q,w,A){a.Id(this.Gd);
S(g,aa);S(l,Ma);this._drawImageRectCubic(c,aa,Ma,q,w,A||null)};a.Canvas.prototype.drawImageRectOptions=function(c,g,l,q,w,A){a.Id(this.Gd);S(g,aa);S(l,Ma);this._drawImageRectOptions(c,aa,Ma,q,w,A||null)};a.Canvas.prototype.drawLine=function(c,g,l,q,w){a.Id(this.Gd);this._drawLine(c,g,l,q,w)};a.Canvas.prototype.drawOval=function(c,g){a.Id(this.Gd);c=S(c);this._drawOval(c,g)};a.Canvas.prototype.drawPaint=function(c){a.Id(this.Gd);this._drawPaint(c)};a.Canvas.prototype.drawParagraph=function(c,g,l){a.Id(this.Gd);
this._drawParagraph(c,g,l)};a.Canvas.prototype.drawPatch=function(c,g,l,q,w){if(24>c.length)throw"Need 12 cubic points";if(g&&4>g.length)throw"Need 4 colors";if(l&&8>l.length)throw"Need 4 shader coordinates";a.Id(this.Gd);const A=x(c,"HEAPF32"),G=g?x(m(g),"HEAPU32"):Q,K=l?x(l,"HEAPF32"):Q;q||(q=a.BlendMode.Modulate);this._drawPatch(A,G,K,q,w);v(K,l);v(G,g);v(A,c)};a.Canvas.prototype.drawPath=function(c,g){a.Id(this.Gd);this._drawPath(c,g)};a.Canvas.prototype.drawPicture=function(c){a.Id(this.Gd);
this._drawPicture(c)};a.Canvas.prototype.drawPoints=function(c,g,l){a.Id(this.Gd);var q=x(g,"HEAPF32");this._drawPoints(c,q,g.length/2,l);v(q,g)};a.Canvas.prototype.drawRRect=function(c,g){a.Id(this.Gd);c=za(c);this._drawRRect(c,g)};a.Canvas.prototype.drawRect=function(c,g){a.Id(this.Gd);c=S(c);this._drawRect(c,g)};a.Canvas.prototype.drawRect4f=function(c,g,l,q,w){a.Id(this.Gd);this._drawRect4f(c,g,l,q,w)};a.Canvas.prototype.drawShadow=function(c,g,l,q,w,A,G){a.Id(this.Gd);var K=x(w,"HEAPF32"),L=
x(A,"HEAPF32");g=x(g,"HEAPF32",ab);l=x(l,"HEAPF32",Sb);this._drawShadow(c,g,l,q,K,L,G);v(K,w);v(L,A)};a.getShadowLocalBounds=function(c,g,l,q,w,A,G){c=I(c);l=x(l,"HEAPF32",ab);q=x(q,"HEAPF32",Sb);if(!this._getShadowLocalBounds(c,g,l,q,w,A,aa))return null;g=na.toTypedArray();return G?(G.set(g),G):g.slice()};a.Canvas.prototype.drawTextBlob=function(c,g,l,q){a.Id(this.Gd);this._drawTextBlob(c,g,l,q)};a.Canvas.prototype.drawVertices=function(c,g,l){a.Id(this.Gd);this._drawVertices(c,g,l)};a.Canvas.prototype.getDeviceClipBounds=
function(c){this._getDeviceClipBounds(eb);var g=pb.toTypedArray();c?c.set(g):c=g.slice();return c};a.Canvas.prototype.quickReject=function(c){c=S(c);return this._quickReject(c)};a.Canvas.prototype.getLocalToDevice=function(){this._getLocalToDevice(Za);for(var c=Za,g=Array(16),l=0;16>l;l++)g[l]=a.HEAPF32[c/4+l];return g};a.Canvas.prototype.getTotalMatrix=function(){this._getTotalMatrix(va);for(var c=Array(9),g=0;9>g;g++)c[g]=a.HEAPF32[va/4+g];return c};a.Canvas.prototype.makeSurface=function(c){c=
this._makeSurface(c);c.Gd=this.Gd;return c};a.Canvas.prototype.readPixels=function(c,g,l,q,w){a.Id(this.Gd);return d(this,c,g,l,q,w)};a.Canvas.prototype.saveLayer=function(c,g,l,q,w){g=S(g);return this._saveLayer(c||null,g,l||null,q||0,w||a.TileMode.Clamp)};a.Canvas.prototype.writePixels=function(c,g,l,q,w,A,G,K){if(c.byteLength%(g*l))throw"pixels length must be a multiple of the srcWidth * srcHeight";a.Id(this.Gd);var L=c.byteLength/(g*l);A=A||a.AlphaType.Unpremul;G=G||a.ColorType.RGBA_8888;K=K||
a.ColorSpace.SRGB;var T=L*g;L=x(c,"HEAPU8");g=this._writePixels({width:g,height:l,colorType:G,alphaType:A,colorSpace:K},L,T,q,w);v(L,c);return g};a.ColorFilter.MakeBlend=function(c,g,l){c=X(c);l=l||a.ColorSpace.SRGB;return a.ColorFilter._MakeBlend(c,g,l)};a.ColorFilter.MakeMatrix=function(c){if(!c||20!==c.length)throw"invalid color matrix";var g=x(c,"HEAPF32"),l=a.ColorFilter._makeMatrix(g);v(g,c);return l};a.ContourMeasure.prototype.getPosTan=function(c,g){this._getPosTan(c,aa);c=na.toTypedArray();
return g?(g.set(c),g):c.slice()};a.ImageFilter.prototype.getOutputBounds=function(c,g,l){c=S(c,aa);g=I(g);this._getOutputBounds(c,g,eb);g=pb.toTypedArray();return l?(l.set(g),l):g.slice()};a.ImageFilter.MakeDropShadow=function(c,g,l,q,w,A){w=X(w,Ha);return a.ImageFilter._MakeDropShadow(c,g,l,q,w,A)};a.ImageFilter.MakeDropShadowOnly=function(c,g,l,q,w,A){w=X(w,Ha);return a.ImageFilter._MakeDropShadowOnly(c,g,l,q,w,A)};a.ImageFilter.MakeImage=function(c,g,l,q){l=S(l,aa);q=S(q,Ma);if("B"in g&&"C"in g)return a.ImageFilter._MakeImageCubic(c,
g.B,g.C,l,q);const w=g.filter;let A=a.MipmapMode.None;"mipmap"in g&&(A=g.mipmap);return a.ImageFilter._MakeImageOptions(c,w,A,l,q)};a.ImageFilter.MakeMatrixTransform=function(c,g,l){c=I(c);if("B"in g&&"C"in g)return a.ImageFilter._MakeMatrixTransformCubic(c,g.B,g.C,l);const q=g.filter;let w=a.MipmapMode.None;"mipmap"in g&&(w=g.mipmap);return a.ImageFilter._MakeMatrixTransformOptions(c,q,w,l)};a.Paint.prototype.getColor=function(){this._getColor(Ha);return ea(Ha)};a.Paint.prototype.setColor=function(c,
g){g=g||null;c=X(c);this._setColor(c,g)};a.Paint.prototype.setColorComponents=function(c,g,l,q,w){w=w||null;c=ha(c,g,l,q);this._setColor(c,w)};a.Path.prototype.getPoint=function(c,g){this._getPoint(c,aa);c=na.toTypedArray();return g?(g[0]=c[0],g[1]=c[1],g):c.slice(0,2)};a.Picture.prototype.makeShader=function(c,g,l,q,w){q=I(q);w=S(w);return this._makeShader(c,g,l,q,w)};a.Picture.prototype.cullRect=function(c){this._cullRect(aa);var g=na.toTypedArray();return c?(c.set(g),c):g.slice()};a.PictureRecorder.prototype.beginRecording=
function(c,g){c=S(c);return this._beginRecording(c,!!g)};a.Surface.prototype.getCanvas=function(){var c=this._getCanvas();c.Gd=this.Gd;return c};a.Surface.prototype.makeImageSnapshot=function(c){a.Id(this.Gd);c=x(c,"HEAP32",eb);return this._makeImageSnapshot(c)};a.Surface.prototype.makeSurface=function(c){a.Id(this.Gd);c=this._makeSurface(c);c.Gd=this.Gd;return c};a.Surface.prototype.uf=function(c,g){this.Ae||(this.Ae=this.getCanvas());return requestAnimationFrame(function(){a.Id(this.Gd);c(this.Ae);
this.flush(g)}.bind(this))};a.Surface.prototype.requestAnimationFrame||(a.Surface.prototype.requestAnimationFrame=a.Surface.prototype.uf);a.Surface.prototype.qf=function(c,g){this.Ae||(this.Ae=this.getCanvas());requestAnimationFrame(function(){a.Id(this.Gd);c(this.Ae);this.flush(g);this.dispose()}.bind(this))};a.Surface.prototype.drawOnce||(a.Surface.prototype.drawOnce=a.Surface.prototype.qf);a.PathEffect.MakeDash=function(c,g){g||=0;if(!c.length||1===c.length%2)throw"Intervals array must have even length";
var l=x(c,"HEAPF32");g=a.PathEffect._MakeDash(l,c.length,g);v(l,c);return g};a.PathEffect.MakeLine2D=function(c,g){g=I(g);return a.PathEffect._MakeLine2D(c,g)};a.PathEffect.MakePath2D=function(c,g){c=I(c);return a.PathEffect._MakePath2D(c,g)};a.Shader.MakeColor=function(c,g){g=g||null;c=X(c);return a.Shader._MakeColor(c,g)};a.Shader.Blend=a.Shader.MakeBlend;a.Shader.Color=a.Shader.MakeColor;a.Shader.MakeLinearGradient=function(c,g,l,q,w,A,G,K){K=K||null;var L=F(l),T=x(q,"HEAPF32");G=G||0;A=I(A);var R=
na.toTypedArray();R.set(c);R.set(g,2);c=a.Shader._MakeLinearGradient(aa,L.Zd,L.colorType,T,L.count,w,G,A,K);v(L.Zd,l);q&&v(T,q);return c};a.Shader.MakeRadialGradient=function(c,g,l,q,w,A,G,K){K=K||null;var L=F(l),T=x(q,"HEAPF32");G=G||0;A=I(A);c=a.Shader._MakeRadialGradient(c[0],c[1],g,L.Zd,L.colorType,T,L.count,w,G,A,K);v(L.Zd,l);q&&v(T,q);return c};a.Shader.MakeSweepGradient=function(c,g,l,q,w,A,G,K,L,T){T=T||null;var R=F(l),r=x(q,"HEAPF32");G=G||0;K=K||0;L=L||360;A=I(A);c=a.Shader._MakeSweepGradient(c,
g,R.Zd,R.colorType,r,R.count,w,K,L,G,A,T);v(R.Zd,l);q&&v(r,q);return c};a.Shader.MakeTwoPointConicalGradient=function(c,g,l,q,w,A,G,K,L,T){T=T||null;var R=F(w),r=x(A,"HEAPF32");L=L||0;K=I(K);var C=na.toTypedArray();C.set(c);C.set(l,2);c=a.Shader._MakeTwoPointConicalGradient(aa,g,q,R.Zd,R.colorType,r,R.count,G,L,K,T);v(R.Zd,w);A&&v(r,A);return c};a.Vertices.prototype.bounds=function(c){this._bounds(aa);var g=na.toTypedArray();return c?(c.set(g),c):g.slice()};a.Od&&a.Od.forEach(function(c){c()})};a.computeTonalColors=
function(d){var c=x(d.ambient,"HEAPF32"),g=x(d.spot,"HEAPF32");this._computeTonalColors(c,g);var l={ambient:ea(c),spot:ea(g)};v(c,d.ambient);v(g,d.spot);return l};a.LTRBRect=function(d,c,g,l){return Float32Array.of(d,c,g,l)};a.XYWHRect=function(d,c,g,l){return Float32Array.of(d,c,d+g,c+l)};a.LTRBiRect=function(d,c,g,l){return Int32Array.of(d,c,g,l)};a.XYWHiRect=function(d,c,g,l){return Int32Array.of(d,c,d+g,c+l)};a.RRectXY=function(d,c,g){return Float32Array.of(d[0],d[1],d[2],d[3],c,g,c,g,c,g,c,g)};
a.MakeAnimatedImageFromEncoded=function(d){d=new Uint8Array(d);var c=a._malloc(d.byteLength);a.HEAPU8.set(d,c);return(d=a._decodeAnimatedImage(c,d.byteLength))?d:null};a.MakeImageFromEncoded=function(d){d=new Uint8Array(d);var c=a._malloc(d.byteLength);a.HEAPU8.set(d,c);return(d=a._decodeImage(c,d.byteLength))?d:null};var qb=null;a.MakeImageFromCanvasImageSource=function(d){var c=a.Ne(d),g=a.Me(d);qb||=document.createElement("canvas");qb.width=c;qb.height=g;var l=qb.getContext("2d",{willReadFrequently:!0});
l.drawImage(d,0,0);d=l.getImageData(0,0,c,g);return a.MakeImage({width:c,height:g,alphaType:a.AlphaType.Unpremul,colorType:a.ColorType.RGBA_8888,colorSpace:a.ColorSpace.SRGB},d.data,4*c)};a.MakeImage=function(d,c,g){var l=a._malloc(c.length);a.HEAPU8.set(c,l);return a._MakeImage(d,l,c.length,g)};a.MakeVertices=function(d,c,g,l,q,w){var A=q&&q.length||0,G=0;g&&g.length&&(G|=1);l&&l.length&&(G|=2);void 0===w||w||(G|=4);d=new a._VerticesBuilder(d,c.length/2,A,G);x(c,"HEAPF32",d.positions());d.texCoords()&&
x(g,"HEAPF32",d.texCoords());d.colors()&&x(m(l),"HEAPU32",d.colors());d.indices()&&x(q,"HEAPU16",d.indices());return d.detach()};a.Matrix={};a.Matrix.identity=function(){return e(3)};a.Matrix.invert=function(d){var c=d[0]*d[4]*d[8]+d[1]*d[5]*d[6]+d[2]*d[3]*d[7]-d[2]*d[4]*d[6]-d[1]*d[3]*d[8]-d[0]*d[5]*d[7];return c?[(d[4]*d[8]-d[5]*d[7])/c,(d[2]*d[7]-d[1]*d[8])/c,(d[1]*d[5]-d[2]*d[4])/c,(d[5]*d[6]-d[3]*d[8])/c,(d[0]*d[8]-d[2]*d[6])/c,(d[2]*d[3]-d[0]*d[5])/c,(d[3]*d[7]-d[4]*d[6])/c,(d[1]*d[6]-d[0]*
d[7])/c,(d[0]*d[4]-d[1]*d[3])/c]:null};a.Matrix.mapPoints=function(d,c){for(var g=0;g<c.length;g+=2){var l=c[g],q=c[g+1],w=d[6]*l+d[7]*q+d[8],A=d[3]*l+d[4]*q+d[5];c[g]=(d[0]*l+d[1]*q+d[2])/w;c[g+1]=A/w}return c};a.Matrix.multiply=function(){return $a(3,arguments)};a.Matrix.rotated=function(d,c,g){c=c||0;g=g||0;var l=Math.sin(d);d=Math.cos(d);return[d,-l,ma(l,g,1-d,c),l,d,ma(-l,c,1-d,g),0,0,1]};a.Matrix.scaled=function(d,c,g,l){g=g||0;l=l||0;var q=b([d,c],e(3),3,0,1);return b([g-d*g,l-c*l],q,3,2,0)};
a.Matrix.skewed=function(d,c,g,l){g=g||0;l=l||0;var q=b([d,c],e(3),3,1,-1);return b([-d*g,-c*l],q,3,2,0)};a.Matrix.translated=function(d,c){return b(arguments,e(3),3,2,0)};a.Vector={};a.Vector.dot=function(d,c){return d.map(function(g,l){return g*c[l]}).reduce(function(g,l){return g+l})};a.Vector.lengthSquared=function(d){return a.Vector.dot(d,d)};a.Vector.length=function(d){return Math.sqrt(a.Vector.lengthSquared(d))};a.Vector.mulScalar=function(d,c){return d.map(function(g){return g*c})};a.Vector.add=
function(d,c){return d.map(function(g,l){return g+c[l]})};a.Vector.sub=function(d,c){return d.map(function(g,l){return g-c[l]})};a.Vector.dist=function(d,c){return a.Vector.length(a.Vector.sub(d,c))};a.Vector.normalize=function(d){return a.Vector.mulScalar(d,1/a.Vector.length(d))};a.Vector.cross=function(d,c){return[d[1]*c[2]-d[2]*c[1],d[2]*c[0]-d[0]*c[2],d[0]*c[1]-d[1]*c[0]]};a.M44={};a.M44.identity=function(){return e(4)};a.M44.translated=function(d){return b(d,e(4),4,3,0)};a.M44.scaled=function(d){return b(d,
e(4),4,0,1)};a.M44.rotated=function(d,c){return a.M44.rotatedUnitSinCos(a.Vector.normalize(d),Math.sin(c),Math.cos(c))};a.M44.rotatedUnitSinCos=function(d,c,g){var l=d[0],q=d[1];d=d[2];var w=1-g;return[w*l*l+g,w*l*q-c*d,w*l*d+c*q,0,w*l*q+c*d,w*q*q+g,w*q*d-c*l,0,w*l*d-c*q,w*q*d+c*l,w*d*d+g,0,0,0,0,1]};a.M44.lookat=function(d,c,g){c=a.Vector.normalize(a.Vector.sub(c,d));g=a.Vector.normalize(g);g=a.Vector.normalize(a.Vector.cross(c,g));var l=a.M44.identity();b(g,l,4,0,0);b(a.Vector.cross(g,c),l,4,1,
0);b(a.Vector.mulScalar(c,-1),l,4,2,0);b(d,l,4,3,0);d=a.M44.invert(l);return null===d?a.M44.identity():d};a.M44.perspective=function(d,c,g){var l=1/(c-d);g/=2;g=Math.cos(g)/Math.sin(g);return[g,0,0,0,0,g,0,0,0,0,(c+d)*l,2*c*d*l,0,0,-1,1]};a.M44.rc=function(d,c,g){return d[4*c+g]};a.M44.multiply=function(){return $a(4,arguments)};a.M44.invert=function(d){var c=d[0],g=d[4],l=d[8],q=d[12],w=d[1],A=d[5],G=d[9],K=d[13],L=d[2],T=d[6],R=d[10],r=d[14],C=d[3],P=d[7],ba=d[11];d=d[15];var ja=c*A-g*w,wa=c*G-
l*w,xa=c*K-q*w,la=g*G-l*A,D=g*K-q*A,k=l*K-q*G,p=L*P-T*C,y=L*ba-R*C,z=L*d-r*C,B=T*ba-R*P,E=T*d-r*P,J=R*d-r*ba,ca=ja*J-wa*E+xa*B+la*z-D*y+k*p,da=1/ca;if(0===ca||Infinity===da)return null;ja*=da;wa*=da;xa*=da;la*=da;D*=da;k*=da;p*=da;y*=da;z*=da;B*=da;E*=da;J*=da;c=[A*J-G*E+K*B,G*z-w*J-K*y,w*E-A*z+K*p,A*y-w*B-G*p,l*E-g*J-q*B,c*J-l*z+q*y,g*z-c*E-q*p,c*B-g*y+l*p,P*k-ba*D+d*la,ba*xa-C*k-d*wa,C*D-P*xa+d*ja,P*wa-C*la-ba*ja,R*D-T*k-r*la,L*k-R*xa+r*wa,T*xa-L*D-r*ja,L*la-T*wa+R*ja];return c.every(function(Ia){return!isNaN(Ia)&&
Infinity!==Ia&&-Infinity!==Ia})?c:null};a.M44.transpose=function(d){return[d[0],d[4],d[8],d[12],d[1],d[5],d[9],d[13],d[2],d[6],d[10],d[14],d[3],d[7],d[11],d[15]]};a.M44.mustInvert=function(d){d=a.M44.invert(d);if(null===d)throw"Matrix not invertible";return d};a.M44.setupCamera=function(d,c,g){var l=a.M44.lookat(g.eye,g.coa,g.up);g=a.M44.perspective(g.near,g.far,g.angle);c=[(d[2]-d[0])/2,(d[3]-d[1])/2,c];d=a.M44.multiply(a.M44.translated([(d[0]+d[2])/2,(d[1]+d[3])/2,0]),a.M44.scaled(c));return a.M44.multiply(d,
g,l,a.M44.mustInvert(d))};a.ColorMatrix={};a.ColorMatrix.identity=function(){var d=new Float32Array(20);d[0]=1;d[6]=1;d[12]=1;d[18]=1;return d};a.ColorMatrix.scaled=function(d,c,g,l){var q=new Float32Array(20);q[0]=d;q[6]=c;q[12]=g;q[18]=l;return q};var kd=[[6,7,11,12],[0,10,2,12],[0,1,5,6]];a.ColorMatrix.rotated=function(d,c,g){var l=a.ColorMatrix.identity();d=kd[d];l[d[0]]=g;l[d[1]]=c;l[d[2]]=-c;l[d[3]]=g;return l};a.ColorMatrix.postTranslate=function(d,c,g,l,q){d[4]+=c;d[9]+=g;d[14]+=l;d[19]+=
q;return d};a.ColorMatrix.concat=function(d,c){for(var g=new Float32Array(20),l=0,q=0;20>q;q+=5){for(var w=0;4>w;w++)g[l++]=d[q]*c[w]+d[q+1]*c[w+5]+d[q+2]*c[w+10]+d[q+3]*c[w+15];g[l++]=d[q]*c[4]+d[q+1]*c[9]+d[q+2]*c[14]+d[q+3]*c[19]+d[q+4]}return g};(function(d){d.Od=d.Od||[];d.Od.push(function(){function c(r){r&&(r.dir=0===r.dir?d.TextDirection.RTL:d.TextDirection.LTR);return r}function g(r){if(!r||!r.length)return[];for(var C=[],P=0;P<r.length;P+=5){var ba=d.LTRBRect(r[P],r[P+1],r[P+2],r[P+3]),
ja=d.TextDirection.LTR;0===r[P+4]&&(ja=d.TextDirection.RTL);C.push({rect:ba,dir:ja})}d._free(r.byteOffset);return C}function l(r){r=r||{};void 0===r.weight&&(r.weight=d.FontWeight.Normal);r.width=r.width||d.FontWidth.Normal;r.slant=r.slant||d.FontSlant.Upright;return r}function q(r){if(!r||!r.length)return Q;for(var C=[],P=0;P<r.length;P++){var ba=w(r[P]);C.push(ba)}return x(C,"HEAPU32")}function w(r){if(K[r])return K[r];var C=Aa(r)+1,P=d._malloc(C);Ba(r,P,C);return K[r]=P}function A(r){r._colorPtr=
X(r.color);r._foregroundColorPtr=Q;r._backgroundColorPtr=Q;r._decorationColorPtr=Q;r.foregroundColor&&(r._foregroundColorPtr=X(r.foregroundColor,L));r.backgroundColor&&(r._backgroundColorPtr=X(r.backgroundColor,T));r.decorationColor&&(r._decorationColorPtr=X(r.decorationColor,R));Array.isArray(r.fontFamilies)&&r.fontFamilies.length?(r._fontFamiliesPtr=q(r.fontFamilies),r._fontFamiliesLen=r.fontFamilies.length):(r._fontFamiliesPtr=Q,r._fontFamiliesLen=0);if(r.locale){var C=r.locale;r._localePtr=w(C);
r._localeLen=Aa(C)}else r._localePtr=Q,r._localeLen=0;if(Array.isArray(r.shadows)&&r.shadows.length){C=r.shadows;var P=C.map(function(D){return D.color||d.BLACK}),ba=C.map(function(D){return D.blurRadius||0});r._shadowLen=C.length;for(var ja=d._malloc(8*C.length),wa=ja/4,xa=0;xa<C.length;xa++){var la=C[xa].offset||[0,0];d.HEAPF32[wa]=la[0];d.HEAPF32[wa+1]=la[1];wa+=2}r._shadowColorsPtr=F(P).Zd;r._shadowOffsetsPtr=ja;r._shadowBlurRadiiPtr=x(ba,"HEAPF32")}else r._shadowLen=0,r._shadowColorsPtr=Q,r._shadowOffsetsPtr=
Q,r._shadowBlurRadiiPtr=Q;Array.isArray(r.fontFeatures)&&r.fontFeatures.length?(C=r.fontFeatures,P=C.map(function(D){return D.name}),ba=C.map(function(D){return D.value}),r._fontFeatureLen=C.length,r._fontFeatureNamesPtr=q(P),r._fontFeatureValuesPtr=x(ba,"HEAPU32")):(r._fontFeatureLen=0,r._fontFeatureNamesPtr=Q,r._fontFeatureValuesPtr=Q);Array.isArray(r.fontVariations)&&r.fontVariations.length?(C=r.fontVariations,P=C.map(function(D){return D.axis}),ba=C.map(function(D){return D.value}),r._fontVariationLen=
C.length,r._fontVariationAxesPtr=q(P),r._fontVariationValuesPtr=x(ba,"HEAPF32")):(r._fontVariationLen=0,r._fontVariationAxesPtr=Q,r._fontVariationValuesPtr=Q)}function G(r){d._free(r._fontFamiliesPtr);d._free(r._shadowColorsPtr);d._free(r._shadowOffsetsPtr);d._free(r._shadowBlurRadiiPtr);d._free(r._fontFeatureNamesPtr);d._free(r._fontFeatureValuesPtr);d._free(r._fontVariationAxesPtr);d._free(r._fontVariationValuesPtr)}d.Paragraph.prototype.getRectsForRange=function(r,C,P,ba){r=this._getRectsForRange(r,
C,P,ba);return g(r)};d.Paragraph.prototype.getRectsForPlaceholders=function(){var r=this._getRectsForPlaceholders();return g(r)};d.Paragraph.prototype.getGlyphInfoAt=function(r){return c(this._getGlyphInfoAt(r))};d.Paragraph.prototype.getClosestGlyphInfoAtCoordinate=function(r,C){return c(this._getClosestGlyphInfoAtCoordinate(r,C))};d.TypefaceFontProvider.prototype.registerFont=function(r,C){r=d.Typeface.MakeTypefaceFromData(r);if(!r)return null;C=w(C);this._registerFont(r,C);r.delete()};d.ParagraphStyle=
function(r){r.disableHinting=r.disableHinting||!1;if(r.ellipsis){var C=r.ellipsis;r._ellipsisPtr=w(C);r._ellipsisLen=Aa(C)}else r._ellipsisPtr=Q,r._ellipsisLen=0;null==r.heightMultiplier&&(r.heightMultiplier=-1);r.maxLines=r.maxLines||0;r.replaceTabCharacters=r.replaceTabCharacters||!1;C=(C=r.strutStyle)||{};C.strutEnabled=C.strutEnabled||!1;C.strutEnabled&&Array.isArray(C.fontFamilies)&&C.fontFamilies.length?(C._fontFamiliesPtr=q(C.fontFamilies),C._fontFamiliesLen=C.fontFamilies.length):(C._fontFamiliesPtr=
Q,C._fontFamiliesLen=0);C.fontStyle=l(C.fontStyle);null==C.fontSize&&(C.fontSize=-1);null==C.heightMultiplier&&(C.heightMultiplier=-1);C.halfLeading=C.halfLeading||!1;C.leading=C.leading||0;C.forceStrutHeight=C.forceStrutHeight||!1;r.strutStyle=C;r.textAlign=r.textAlign||d.TextAlign.Start;r.textDirection=r.textDirection||d.TextDirection.LTR;r.textHeightBehavior=r.textHeightBehavior||d.TextHeightBehavior.All;r.textStyle=d.TextStyle(r.textStyle);r.applyRoundingHack=!1!==r.applyRoundingHack;return r};
d.TextStyle=function(r){r.color||(r.color=d.BLACK);r.decoration=r.decoration||0;r.decorationThickness=r.decorationThickness||0;r.decorationStyle=r.decorationStyle||d.DecorationStyle.Solid;r.textBaseline=r.textBaseline||d.TextBaseline.Alphabetic;null==r.fontSize&&(r.fontSize=-1);r.letterSpacing=r.letterSpacing||0;r.wordSpacing=r.wordSpacing||0;null==r.heightMultiplier&&(r.heightMultiplier=-1);r.halfLeading=r.halfLeading||!1;r.fontStyle=l(r.fontStyle);return r};var K={},L=d._malloc(16),T=d._malloc(16),
R=d._malloc(16);d.ParagraphBuilder.Make=function(r,C){A(r.textStyle);C=d.ParagraphBuilder._Make(r,C);G(r.textStyle);return C};d.ParagraphBuilder.MakeFromFontProvider=function(r,C){A(r.textStyle);C=d.ParagraphBuilder._MakeFromFontProvider(r,C);G(r.textStyle);return C};d.ParagraphBuilder.MakeFromFontCollection=function(r,C){A(r.textStyle);C=d.ParagraphBuilder._MakeFromFontCollection(r,C);G(r.textStyle);return C};d.ParagraphBuilder.ShapeText=function(r,C,P){let ba=0;for(const ja of C)ba+=ja.length;if(ba!==
r.length)throw"Accumulated block lengths must equal text.length";return d.ParagraphBuilder._ShapeText(r,C,P)};d.ParagraphBuilder.prototype.pushStyle=function(r){A(r);this._pushStyle(r);G(r)};d.ParagraphBuilder.prototype.pushPaintStyle=function(r,C,P){A(r);this._pushPaintStyle(r,C,P);G(r)};d.ParagraphBuilder.prototype.addPlaceholder=function(r,C,P,ba,ja){P=P||d.PlaceholderAlignment.Baseline;ba=ba||d.TextBaseline.Alphabetic;this._addPlaceholder(r||0,C||0,P,ba,ja||0)};d.ParagraphBuilder.prototype.setWordsUtf8=
function(r){var C=x(r,"HEAPU32");this._setWordsUtf8(C,r&&r.length||0);v(C,r)};d.ParagraphBuilder.prototype.setWordsUtf16=function(r){var C=x(r,"HEAPU32");this._setWordsUtf16(C,r&&r.length||0);v(C,r)};d.ParagraphBuilder.prototype.setGraphemeBreaksUtf8=function(r){var C=x(r,"HEAPU32");this._setGraphemeBreaksUtf8(C,r&&r.length||0);v(C,r)};d.ParagraphBuilder.prototype.setGraphemeBreaksUtf16=function(r){var C=x(r,"HEAPU32");this._setGraphemeBreaksUtf16(C,r&&r.length||0);v(C,r)};d.ParagraphBuilder.prototype.setLineBreaksUtf8=
function(r){var C=x(r,"HEAPU32");this._setLineBreaksUtf8(C,r&&r.length||0);v(C,r)};d.ParagraphBuilder.prototype.setLineBreaksUtf16=function(r){var C=x(r,"HEAPU32");this._setLineBreaksUtf16(C,r&&r.length||0);v(C,r)}})})(u);a.MakeManagedAnimation=function(d,c,g,l,q){if(!a._MakeManagedAnimation)throw"Not compiled with MakeManagedAnimation";g||="";if(!c)return a._MakeManagedAnimation(d,0,Q,Q,Q,g,l,q);for(var w=[],A=[],G=[],K=Object.keys(c||{}),L=0;L<K.length;L++){var T=K[L],R=new Uint8Array(c[T]),r=a._malloc(R.byteLength);
a.HEAPU8.set(R,r);A.push(r);G.push(R.byteLength);R=Aa(T)+1;r=a._malloc(R);Ba(T,r,R);w.push(r)}c=x(w,"HEAPU32");A=x(A,"HEAPU32");G=x(G,"HEAPU32");d=a._MakeManagedAnimation(d,K.length,c,A,G,g,l,q);a._free(c);a._free(A);a._free(G);return d};a.ag=function(d){d.text=d.text||"";d.textSize=d.textSize||0;d.minTextSize=d.minTextSize||0;d.maxTextSize=d.maxTextSize||Number.MAX_VALUE;d.strokeWidth=d.strokeWidth||0;d.lineHeight=d.lineHeight||0;d.lineShift=d.lineShift||0;d.ascent=d.ascent||0;d.maxLines=d.maxLines||
0;d.horizAlign=d.horizAlign||a.TextAlign.Left;d.vertAlign=d.vertAlign||a.bg.Top;d.strokeJoin=d.strokeJoin||a.StrokeJoin.Miter;d.direction=d.direction||a.TextDirection.LTR;d.linebreak=d.linebreak||a.LineBreakType.HardLineBreak;d.resize=d.resize||a.$f.None;d.fillColor||(d.fillColor=a.TRANSPARENT);d.strokeColor||(d.strokeColor=a.TRANSPARENT);d.boundingBox||(d.boundingBox=[0,0,0,0]);return d};(function(d){d.Od=d.Od||[];d.Od.push(function(){d.Animation.prototype.render=function(c,g){S(g,aa);this._render(c,
aa)};d.Animation.prototype.size=function(c){this._size(aa);var g=na.toTypedArray();return c?(c[0]=g[0],c[1]=g[1],c):g.slice(0,2)};d.ManagedAnimation&&(d.ManagedAnimation.prototype.render=function(c,g){S(g,aa);this._render(c,aa)},d.ManagedAnimation.prototype.seek=function(c,g){this._seek(c,aa);c=na.toTypedArray();return g?(g.set(c),g):c.slice()},d.ManagedAnimation.prototype.seekFrame=function(c,g){this._seekFrame(c,aa);c=na.toTypedArray();return g?(g.set(c),g):c.slice()},d.ManagedAnimation.prototype.setColor=
function(c,g){g=X(g);return this._setColor(c,g)},d.ManagedAnimation.prototype.setColorSlot=function(c,g){g=X(g);return this._setColorSlot(c,g)},d.ManagedAnimation.prototype.getColorSlot=function(c){this._getColorSlot(c,Ha);c=ea(Ha);return-1==c[0]?null:c},d.ManagedAnimation.prototype.setVec2Slot=function(c,g){x(g,"HEAPF32",ab);return this._setVec2Slot(c,ab)},d.ManagedAnimation.prototype.getVec2Slot=function(c){this._getVec2Slot(c,ab);c=Rb.toTypedArray();return-1===c[2]?null:c.slice(0,2)},d.ManagedAnimation.prototype.setTextSlot=
function(c,g){var l=X(g.fillColor,Ha),q=X(g.strokeColor,aa),w=S(g.boundingBox,Ma);g._fillColorPtr=l;g._strokeColorPtr=q;g._boundingBoxPtr=w;return this._setTextSlot(c,g)},d.ManagedAnimation.prototype.setTransform=function(c,g,l,q,w,A,G){g=x([g[0],g[1],l[0],l[1],q[0],q[1],w,A,G],"HEAPF32",va);return this._setTransform(c,g)},d.ManagedAnimation.prototype.size=function(c){this._size(aa);var g=na.toTypedArray();return c?(c[0]=g[0],c[1]=g[1],c):g.slice(0,2)})})})(u);a.Od=a.Od||[];a.Od.push(function(){});
a.Od=a.Od||[];a.Od.push(function(){a.Canvas.prototype.drawText=function(d,c,g,l,q){var w=Aa(d),A=a._malloc(w+1);Ba(d,A,w+1);this._drawSimpleText(A,w,c,g,q,l);a._free(A)};a.Canvas.prototype.drawGlyphs=function(d,c,g,l,q,w){if(!(2*d.length<=c.length))throw"Not enough positions for the array of gyphs";a.Id(this.Gd);const A=x(d,"HEAPU16"),G=x(c,"HEAPF32");this._drawGlyphs(d.length,A,G,g,l,q,w);v(G,c);v(A,d)};a.Font.prototype.getGlyphBounds=function(d,c,g){var l=x(d,"HEAPU16"),q=a._malloc(16*d.length);
this._getGlyphWidthBounds(l,d.length,Q,q,c||null);c=new Float32Array(a.HEAPU8.buffer,q,4*d.length);v(l,d);if(g)return g.set(c),a._free(q),g;d=Float32Array.from(c);a._free(q);return d};a.Font.prototype.getGlyphIDs=function(d,c,g){c||(c=d.length);var l=Aa(d)+1,q=a._malloc(l);Ba(d,q,l);d=a._malloc(2*c);c=this._getGlyphIDs(q,l-1,c,d);a._free(q);if(0>c)return a._free(d),null;q=new Uint16Array(a.HEAPU8.buffer,d,c);if(g)return g.set(q),a._free(d),g;g=Uint16Array.from(q);a._free(d);return g};a.Font.prototype.getGlyphIntercepts=
function(d,c,g,l){var q=x(d,"HEAPU16"),w=x(c,"HEAPF32");return this._getGlyphIntercepts(q,d.length,!(d&&d._ck),w,c.length,!(c&&c._ck),g,l)};a.Font.prototype.getGlyphWidths=function(d,c,g){var l=x(d,"HEAPU16"),q=a._malloc(4*d.length);this._getGlyphWidthBounds(l,d.length,q,Q,c||null);c=new Float32Array(a.HEAPU8.buffer,q,d.length);v(l,d);if(g)return g.set(c),a._free(q),g;d=Float32Array.from(c);a._free(q);return d};a.FontMgr.FromData=function(){if(!arguments.length)return null;var d=arguments;1===d.length&&
Array.isArray(d[0])&&(d=arguments[0]);if(!d.length)return null;for(var c=[],g=[],l=0;l<d.length;l++){var q=new Uint8Array(d[l]),w=x(q,"HEAPU8");c.push(w);g.push(q.byteLength)}c=x(c,"HEAPU32");g=x(g,"HEAPU32");d=a.FontMgr._fromData(c,g,d.length);a._free(c);a._free(g);return d};a.Typeface.MakeTypefaceFromData=function(d){d=new Uint8Array(d);var c=x(d,"HEAPU8");return(d=a.Typeface._MakeTypefaceFromData(c,d.byteLength))?d:null};a.Typeface.MakeFreeTypeFaceFromData=a.Typeface.MakeTypefaceFromData;a.Typeface.prototype.getGlyphIDs=
function(d,c,g){c||(c=d.length);var l=Aa(d)+1,q=a._malloc(l);Ba(d,q,l);d=a._malloc(2*c);c=this._getGlyphIDs(q,l-1,c,d);a._free(q);if(0>c)return a._free(d),null;q=new Uint16Array(a.HEAPU8.buffer,d,c);if(g)return g.set(q),a._free(d),g;g=Uint16Array.from(q);a._free(d);return g};a.TextBlob.MakeOnPath=function(d,c,g,l){if(d&&d.length&&c&&c.countPoints()){if(1===c.countPoints())return this.MakeFromText(d,g);l||=0;var q=g.getGlyphIDs(d);q=g.getGlyphWidths(q);var w=[];c=new a.ContourMeasureIter(c,!1,1);for(var A=
c.next(),G=new Float32Array(4),K=0;K<d.length&&A;K++){var L=q[K];l+=L/2;if(l>A.length()){A.delete();A=c.next();if(!A){d=d.substring(0,K);break}l=L/2}A.getPosTan(l,G);var T=G[2],R=G[3];w.push(T,R,G[0]-L/2*T,G[1]-L/2*R);l+=L/2}d=this.MakeFromRSXform(d,w,g);A&&A.delete();c.delete();return d}};a.TextBlob.MakeFromRSXform=function(d,c,g){var l=Aa(d)+1,q=a._malloc(l);Ba(d,q,l);d=x(c,"HEAPF32");g=a.TextBlob._MakeFromRSXform(q,l-1,d,g);a._free(q);return g?g:null};a.TextBlob.MakeFromRSXformGlyphs=function(d,
c,g){var l=x(d,"HEAPU16");c=x(c,"HEAPF32");g=a.TextBlob._MakeFromRSXformGlyphs(l,2*d.length,c,g);v(l,d);return g?g:null};a.TextBlob.MakeFromGlyphs=function(d,c){var g=x(d,"HEAPU16");c=a.TextBlob._MakeFromGlyphs(g,2*d.length,c);v(g,d);return c?c:null};a.TextBlob.MakeFromText=function(d,c){var g=Aa(d)+1,l=a._malloc(g);Ba(d,l,g);d=a.TextBlob._MakeFromText(l,g-1,c);a._free(l);return d?d:null};a.MallocGlyphIDs=function(d){return a.Malloc(Uint16Array,d)}});a.Od=a.Od||[];a.Od.push(function(){a.MakePicture=
function(d){d=new Uint8Array(d);var c=a._malloc(d.byteLength);a.HEAPU8.set(d,c);return(d=a._MakePicture(c,d.byteLength))?d:null}});a.Od=a.Od||[];a.Od.push(function(){a.RuntimeEffect.Make=function(d,c){return a.RuntimeEffect._Make(d,{onError:c||function(g){console.log("RuntimeEffect error",g)}})};a.RuntimeEffect.MakeForBlender=function(d,c){return a.RuntimeEffect._MakeForBlender(d,{onError:c||function(g){console.log("RuntimeEffect error",g)}})};a.RuntimeEffect.prototype.makeShader=function(d,c){var g=
!d._ck,l=x(d,"HEAPF32");c=I(c);return this._makeShader(l,4*d.length,g,c)};a.RuntimeEffect.prototype.makeShaderWithChildren=function(d,c,g){var l=!d._ck,q=x(d,"HEAPF32");g=I(g);for(var w=[],A=0;A<c.length;A++)w.push(c[A].Fd.Md);c=x(w,"HEAPU32");return this._makeShaderWithChildren(q,4*d.length,l,c,w.length,g)};a.RuntimeEffect.prototype.makeBlender=function(d){var c=!d._ck,g=x(d,"HEAPF32");return this._makeBlender(g,4*d.length,c)}});(function(){function d(D){for(var k=0;k<D.length;k++)if(void 0!==D[k]&&
!Number.isFinite(D[k]))return!1;return!0}function c(D){var k=a.getColorComponents(D);D=k[0];var p=k[1],y=k[2];k=k[3];if(1===k)return D=D.toString(16).toLowerCase(),p=p.toString(16).toLowerCase(),y=y.toString(16).toLowerCase(),D=1===D.length?"0"+D:D,p=1===p.length?"0"+p:p,y=1===y.length?"0"+y:y,"#"+D+p+y;k=0===k||1===k?k:k.toFixed(8);return"rgba("+D+", "+p+", "+y+", "+k+")"}function g(D){return a.parseColorString(D,wa)}function l(D){D=xa.exec(D);if(!D)return null;var k=parseFloat(D[4]),p=16;switch(D[5]){case "em":case "rem":p=
16*k;break;case "pt":p=4*k/3;break;case "px":p=k;break;case "pc":p=16*k;break;case "in":p=96*k;break;case "cm":p=96*k/2.54;break;case "mm":p=96/25.4*k;break;case "q":p=96/25.4/4*k;break;case "%":p=16/75*k}return{style:D[1],variant:D[2],weight:D[3],sizePx:p,family:D[6].trim()}}function q(){la||={"Noto Mono":{"*":a.Typeface.GetDefault()},monospace:{"*":a.Typeface.GetDefault()}}}function w(D){this.Hd=D;this.Kd=new a.Paint;this.Kd.setAntiAlias(!0);this.Kd.setStrokeMiter(10);this.Kd.setStrokeCap(a.StrokeCap.Butt);
this.Kd.setStrokeJoin(a.StrokeJoin.Miter);this.Le="10px monospace";this.je=new a.Font(a.Typeface.GetDefault(),10);this.je.setSubpixel(!0);this.Xd=this.de=a.BLACK;this.re=0;this.Ce=a.TRANSPARENT;this.te=this.se=0;this.De=this.he=1;this.Be=0;this.qe=[];this.Jd=a.BlendMode.SrcOver;this.Kd.setStrokeWidth(this.De);this.Kd.setBlendMode(this.Jd);this.Nd=new a.PathBuilder;this.Pd=a.Matrix.identity();this.df=[];this.xe=[];this.ie=function(){this.Nd.delete();this.Kd.delete();this.je.delete();this.xe.forEach(function(k){k.ie()})};
Object.defineProperty(this,"currentTransform",{enumerable:!0,get:function(){return{a:this.Pd[0],c:this.Pd[1],e:this.Pd[2],b:this.Pd[3],d:this.Pd[4],f:this.Pd[5]}},set:function(k){k.a&&this.setTransform(k.a,k.b,k.c,k.d,k.e,k.f)}});Object.defineProperty(this,"fillStyle",{enumerable:!0,get:function(){return f(this.Xd)?c(this.Xd):this.Xd},set:function(k){"string"===typeof k?this.Xd=g(k):k.pe&&(this.Xd=k)}});Object.defineProperty(this,"font",{enumerable:!0,get:function(){return this.Le},set:function(k){var p=
l(k);var y=(p.style||"normal")+"|"+(p.variant||"normal")+"|"+(p.weight||"normal");var z=p.family;q();y=la[z]?la[z][y]||la[z]["*"]:a.Typeface.GetDefault();p.typeface=y;p&&(this.je.setSize(p.sizePx),this.je.setTypeface(p.typeface),this.Le=k)}});Object.defineProperty(this,"globalAlpha",{enumerable:!0,get:function(){return this.he},set:function(k){!isFinite(k)||0>k||1<k||(this.he=k)}});Object.defineProperty(this,"globalCompositeOperation",{enumerable:!0,get:function(){switch(this.Jd){case a.BlendMode.SrcOver:return"source-over";
case a.BlendMode.DstOver:return"destination-over";case a.BlendMode.Src:return"copy";case a.BlendMode.Dst:return"destination";case a.BlendMode.Clear:return"clear";case a.BlendMode.SrcIn:return"source-in";case a.BlendMode.DstIn:return"destination-in";case a.BlendMode.SrcOut:return"source-out";case a.BlendMode.DstOut:return"destination-out";case a.BlendMode.SrcATop:return"source-atop";case a.BlendMode.DstATop:return"destination-atop";case a.BlendMode.Xor:return"xor";case a.BlendMode.Plus:return"lighter";
case a.BlendMode.Multiply:return"multiply";case a.BlendMode.Screen:return"screen";case a.BlendMode.Overlay:return"overlay";case a.BlendMode.Darken:return"darken";case a.BlendMode.Lighten:return"lighten";case a.BlendMode.ColorDodge:return"color-dodge";case a.BlendMode.ColorBurn:return"color-burn";case a.BlendMode.HardLight:return"hard-light";case a.BlendMode.SoftLight:return"soft-light";case a.BlendMode.Difference:return"difference";case a.BlendMode.Exclusion:return"exclusion";case a.BlendMode.Hue:return"hue";
case a.BlendMode.Saturation:return"saturation";case a.BlendMode.Color:return"color";case a.BlendMode.Luminosity:return"luminosity"}},set:function(k){switch(k){case "source-over":this.Jd=a.BlendMode.SrcOver;break;case "destination-over":this.Jd=a.BlendMode.DstOver;break;case "copy":this.Jd=a.BlendMode.Src;break;case "destination":this.Jd=a.BlendMode.Dst;break;case "clear":this.Jd=a.BlendMode.Clear;break;case "source-in":this.Jd=a.BlendMode.SrcIn;break;case "destination-in":this.Jd=a.BlendMode.DstIn;
break;case "source-out":this.Jd=a.BlendMode.SrcOut;break;case "destination-out":this.Jd=a.BlendMode.DstOut;break;case "source-atop":this.Jd=a.BlendMode.SrcATop;break;case "destination-atop":this.Jd=a.BlendMode.DstATop;break;case "xor":this.Jd=a.BlendMode.Xor;break;case "lighter":this.Jd=a.BlendMode.Plus;break;case "plus-lighter":this.Jd=a.BlendMode.Plus;break;case "plus-darker":throw"plus-darker is not supported";case "multiply":this.Jd=a.BlendMode.Multiply;break;case "screen":this.Jd=a.BlendMode.Screen;
break;case "overlay":this.Jd=a.BlendMode.Overlay;break;case "darken":this.Jd=a.BlendMode.Darken;break;case "lighten":this.Jd=a.BlendMode.Lighten;break;case "color-dodge":this.Jd=a.BlendMode.ColorDodge;break;case "color-burn":this.Jd=a.BlendMode.ColorBurn;break;case "hard-light":this.Jd=a.BlendMode.HardLight;break;case "soft-light":this.Jd=a.BlendMode.SoftLight;break;case "difference":this.Jd=a.BlendMode.Difference;break;case "exclusion":this.Jd=a.BlendMode.Exclusion;break;case "hue":this.Jd=a.BlendMode.Hue;
break;case "saturation":this.Jd=a.BlendMode.Saturation;break;case "color":this.Jd=a.BlendMode.Color;break;case "luminosity":this.Jd=a.BlendMode.Luminosity;break;default:return}this.Kd.setBlendMode(this.Jd)}});Object.defineProperty(this,"imageSmoothingEnabled",{enumerable:!0,get:function(){return!0},set:function(){}});Object.defineProperty(this,"imageSmoothingQuality",{enumerable:!0,get:function(){return"high"},set:function(){}});Object.defineProperty(this,"lineCap",{enumerable:!0,get:function(){switch(this.Kd.getStrokeCap()){case a.StrokeCap.Butt:return"butt";
case a.StrokeCap.Round:return"round";case a.StrokeCap.Square:return"square"}},set:function(k){switch(k){case "butt":this.Kd.setStrokeCap(a.StrokeCap.Butt);break;case "round":this.Kd.setStrokeCap(a.StrokeCap.Round);break;case "square":this.Kd.setStrokeCap(a.StrokeCap.Square)}}});Object.defineProperty(this,"lineDashOffset",{enumerable:!0,get:function(){return this.Be},set:function(k){isFinite(k)&&(this.Be=k)}});Object.defineProperty(this,"lineJoin",{enumerable:!0,get:function(){switch(this.Kd.getStrokeJoin()){case a.StrokeJoin.Miter:return"miter";
case a.StrokeJoin.Round:return"round";case a.StrokeJoin.Bevel:return"bevel"}},set:function(k){switch(k){case "miter":this.Kd.setStrokeJoin(a.StrokeJoin.Miter);break;case "round":this.Kd.setStrokeJoin(a.StrokeJoin.Round);break;case "bevel":this.Kd.setStrokeJoin(a.StrokeJoin.Bevel)}}});Object.defineProperty(this,"lineWidth",{enumerable:!0,get:function(){return this.Kd.getStrokeWidth()},set:function(k){0>=k||!k||(this.De=k,this.Kd.setStrokeWidth(k))}});Object.defineProperty(this,"miterLimit",{enumerable:!0,
get:function(){return this.Kd.getStrokeMiter()},set:function(k){0>=k||!k||this.Kd.setStrokeMiter(k)}});Object.defineProperty(this,"shadowBlur",{enumerable:!0,get:function(){return this.re},set:function(k){0>k||!isFinite(k)||(this.re=k)}});Object.defineProperty(this,"shadowColor",{enumerable:!0,get:function(){return c(this.Ce)},set:function(k){this.Ce=g(k)}});Object.defineProperty(this,"shadowOffsetX",{enumerable:!0,get:function(){return this.se},set:function(k){isFinite(k)&&(this.se=k)}});Object.defineProperty(this,
"shadowOffsetY",{enumerable:!0,get:function(){return this.te},set:function(k){isFinite(k)&&(this.te=k)}});Object.defineProperty(this,"strokeStyle",{enumerable:!0,get:function(){return c(this.de)},set:function(k){"string"===typeof k?this.de=g(k):k.pe&&(this.de=k)}});this.arc=function(k,p,y,z,B,E){r(this.Nd,k,p,y,y,0,z,B,E)};this.arcTo=function(k,p,y,z,B){T(this.Nd,k,p,y,z,B)};this.beginPath=function(){this.Nd.delete();this.Nd=new a.PathBuilder};this.bezierCurveTo=function(k,p,y,z,B,E){var J=this.Nd;
d([k,p,y,z,B,E])&&(J.isEmpty()&&J.moveTo(k,p),J.cubicTo(k,p,y,z,B,E))};this.clearRect=function(k,p,y,z){this.Kd.setStyle(a.PaintStyle.Fill);this.Kd.setBlendMode(a.BlendMode.Clear);this.Hd.drawRect(a.XYWHRect(k,p,y,z),this.Kd);this.Kd.setBlendMode(this.Jd)};this.clip=function(k,p){if("string"===typeof k){p=k;var y=this.Nd.snapshot()}else k&&k.ge&&(y=k.ge());y||=this.Nd.snapshot();p&&"evenodd"===p.toLowerCase()?y.setFillType(a.FillType.EvenOdd):y.setFillType(a.FillType.Winding);this.Hd.clipPath(y,a.ClipOp.Intersect,
!0);y.delete()};this.closePath=function(){var k=this.Nd;k.isEmpty()||1!=k.countPoints()&&k.close()};this.createImageData=function(){if(1===arguments.length){var k=arguments[0];return new K(new Uint8ClampedArray(4*k.width*k.height),k.width,k.height)}if(2===arguments.length){k=arguments[0];var p=arguments[1];return new K(new Uint8ClampedArray(4*k*p),k,p)}throw"createImageData expects 1 or 2 arguments, got "+arguments.length;};this.createLinearGradient=function(k,p,y,z){if(d(arguments)){var B=new L(k,
p,y,z);this.xe.push(B);return B}};this.createPattern=function(k,p){k=new ba(k,p);this.xe.push(k);return k};this.createRadialGradient=function(k,p,y,z,B,E){if(d(arguments)){var J=new ja(k,p,y,z,B,E);this.xe.push(J);return J}};this.drawImage=function(k){k instanceof G&&(k=k.jf());var p=this.Ke();if(3===arguments.length||5===arguments.length)var y=a.XYWHRect(arguments[1],arguments[2],arguments[3]||k.width(),arguments[4]||k.height()),z=a.XYWHRect(0,0,k.width(),k.height());else if(9===arguments.length)y=
a.XYWHRect(arguments[5],arguments[6],arguments[7],arguments[8]),z=a.XYWHRect(arguments[1],arguments[2],arguments[3],arguments[4]);else throw"invalid number of args for drawImage, need 3, 5, or 9; got "+arguments.length;this.Hd.drawImageRect(k,z,y,p,!1);p.dispose()};this.ellipse=function(k,p,y,z,B,E,J,ca){r(this.Nd,k,p,y,z,B,E,J,ca)};this.Ke=function(){var k=this.Kd.copy();k.setStyle(a.PaintStyle.Fill);if(f(this.Xd)){var p=a.multiplyByAlpha(this.Xd,this.he);k.setColor(p)}else p=this.Xd.pe(this.Pd),
k.setColor(a.Color(0,0,0,this.he)),k.setShader(p);k.dispose=function(){this.delete()};return k};this.fill=function(k,p){if("string"===typeof k){p=k;var y=this.Nd.snapshot()}else k&&k.ge&&(y=k.ge());k||(y=this.Nd.snapshot());if("evenodd"===p)y.setFillType(a.FillType.EvenOdd);else{if("nonzero"!==p&&p)throw"invalid fill rule";y.setFillType(a.FillType.Winding)}k=this.Ke();if(p=this.ue(k))this.Hd.save(),this.ne(),this.Hd.drawPath(y,p),this.Hd.restore(),p.dispose();this.Hd.drawPath(y,k);k.dispose();y.delete()};
this.fillRect=function(k,p,y,z){var B=this.Ke(),E=this.ue(B);E&&(this.Hd.save(),this.ne(),this.Hd.drawRect(a.XYWHRect(k,p,y,z),E),this.Hd.restore(),E.dispose());this.Hd.drawRect(a.XYWHRect(k,p,y,z),B);B.dispose()};this.fillText=function(k,p,y){var z=this.Ke();k=a.TextBlob.MakeFromText(k,this.je);var B=this.ue(z);B&&(this.Hd.save(),this.ne(),this.Hd.drawTextBlob(k,p,y,B),this.Hd.restore(),B.dispose());this.Hd.drawTextBlob(k,p,y,z);k.delete();z.dispose()};this.getImageData=function(k,p,y,z){return(k=
this.Hd.readPixels(k,p,{width:y,height:z,colorType:a.ColorType.RGBA_8888,alphaType:a.AlphaType.Unpremul,colorSpace:a.ColorSpace.SRGB}))?new K(new Uint8ClampedArray(k.buffer),y,z):null};this.getLineDash=function(){return this.qe.slice()};this.ef=function(k){var p=a.Matrix.invert(this.Pd);a.Matrix.mapPoints(p,k);return k};this.isPointInPath=function(k,p,y){var z=arguments;if(3===z.length)var B=this.Nd.snapshot();else if(4===z.length)B=z[0].copy(),k=z[1],p=z[2],y=z[3];else throw"invalid arg count, need 3 or 4, got "+
z.length;if(!isFinite(k)||!isFinite(p))return B.delete(),!1;y=y||"nonzero";if("nonzero"!==y&&"evenodd"!==y)return B.delete(),!1;z=this.ef([k,p]);k=z[0];p=z[1];B.setFillType("nonzero"===y?a.FillType.Winding:a.FillType.EvenOdd);z=B.contains(k,p);B.delete();return z};this.isPointInStroke=function(k,p){var y=arguments;if(2===y.length)var z=this.Nd.snapshot();else if(3===y.length)z=y[0].copy(),k=y[1],p=y[2];else throw"invalid arg count, need 2 or 3, got "+y.length;if(!isFinite(k)||!isFinite(p))return z.delete(),
!1;y=this.ef([k,p]);k=y[0];p=y[1];z.setFillType(a.FillType.Winding);y=z.makeStroked({width:this.lineWidth,miter_limit:this.miterLimit,cap:this.Kd.getStrokeCap(),join:this.Kd.getStrokeJoin(),precision:.3});var B=y.contains(k,p);y.delete();z.delete();return B};this.lineTo=function(k,p){C(this.Nd,k,p)};this.measureText=function(k){k=this.je.getGlyphIDs(k);k=this.je.getGlyphWidths(k);let p=0;for(const y of k)p+=y;return{width:p}};this.moveTo=function(k,p){var y=this.Nd;d([k,p])&&y.moveTo(k,p)};this.putImageData=
function(k,p,y,z,B,E,J){if(d([p,y,z,B,E,J]))if(void 0===z)this.Hd.writePixels(k.data,k.width,k.height,p,y);else if(z=z||0,B=B||0,E=E||k.width,J=J||k.height,0>E&&(z+=E,E=Math.abs(E)),0>J&&(B+=J,J=Math.abs(J)),0>z&&(E+=z,z=0),0>B&&(J+=B,B=0),!(0>=E||0>=J)){k=a.MakeImage({width:k.width,height:k.height,alphaType:a.AlphaType.Unpremul,colorType:a.ColorType.RGBA_8888,colorSpace:a.ColorSpace.SRGB},k.data,4*k.width);var ca=a.XYWHRect(z,B,E,J);p=a.XYWHRect(p+z,y+B,E,J);y=a.Matrix.invert(this.Pd);this.Hd.save();
this.Hd.concat(y);this.Hd.drawImageRect(k,ca,p,null,!1);this.Hd.restore();k.delete()}};this.quadraticCurveTo=function(k,p,y,z){var B=this.Nd;d([k,p,y,z])&&(B.isEmpty()&&B.moveTo(k,p),B.quadTo(k,p,y,z))};this.rect=function(k,p,y,z){var B=this.Nd;k=a.XYWHRect(k,p,y,z);d(k)&&B.addRect(k)};this.resetTransform=function(){this.Nd.transform(this.Pd);var k=a.Matrix.invert(this.Pd);this.Hd.concat(k);this.Pd=this.Hd.getTotalMatrix()};this.restore=function(){var k=this.df.pop();if(k){var p=a.Matrix.multiply(this.Pd,
a.Matrix.invert(k.xf));this.Nd.transform(p);this.Kd.delete();this.Kd=k.Nf;this.qe=k.Lf;this.De=k.Zf;this.de=k.Yf;this.Xd=k.fs;this.se=k.Wf;this.te=k.Xf;this.re=k.sb;this.Ce=k.Vf;this.he=k.ga;this.Jd=k.Df;this.Be=k.Mf;this.Le=k.Cf;this.Hd.restore();this.Pd=this.Hd.getTotalMatrix()}};this.rotate=function(k){if(isFinite(k)){var p=a.Matrix.rotated(-k);this.Nd.transform(p);this.Hd.rotate(k/Math.PI*180,0,0);this.Pd=this.Hd.getTotalMatrix()}};this.save=function(){if(this.Xd.oe){var k=this.Xd.oe();this.xe.push(k)}else k=
this.Xd;if(this.de.oe){var p=this.de.oe();this.xe.push(p)}else p=this.de;this.df.push({xf:this.Pd.slice(),Lf:this.qe.slice(),Zf:this.De,Yf:p,fs:k,Wf:this.se,Xf:this.te,sb:this.re,Vf:this.Ce,ga:this.he,Mf:this.Be,Df:this.Jd,Nf:this.Kd.copy(),Cf:this.Le});this.Hd.save()};this.scale=function(k,p){if(d(arguments)){var y=a.Matrix.scaled(1/k,1/p);this.Nd.transform(y);this.Hd.scale(k,p);this.Pd=this.Hd.getTotalMatrix()}};this.setLineDash=function(k){for(var p=0;p<k.length;p++)if(!isFinite(k[p])||0>k[p])return;
1===k.length%2&&Array.prototype.push.apply(k,k);this.qe=k};this.setTransform=function(k,p,y,z,B,E){d(arguments)&&(this.resetTransform(),this.transform(k,p,y,z,B,E))};this.ne=function(){var k=a.Matrix.invert(this.Pd);this.Hd.concat(k);this.Hd.concat(a.Matrix.translated(this.se,this.te));this.Hd.concat(this.Pd)};this.ue=function(k){var p=a.multiplyByAlpha(this.Ce,this.he);if(!a.getColorComponents(p)[3]||!(this.re||this.te||this.se))return null;k=k.copy();k.setColor(p);var y=a.MaskFilter.MakeBlur(a.BlurStyle.Normal,
this.re/2,!1);k.setMaskFilter(y);k.dispose=function(){y.delete();this.delete()};return k};this.We=function(){var k=this.Kd.copy();k.setStyle(a.PaintStyle.Stroke);if(f(this.de)){var p=a.multiplyByAlpha(this.de,this.he);k.setColor(p)}else p=this.de.pe(this.Pd),k.setColor(a.Color(0,0,0,this.he)),k.setShader(p);k.setStrokeWidth(this.De);if(this.qe.length){var y=a.PathEffect.MakeDash(this.qe,this.Be);k.setPathEffect(y)}k.dispose=function(){y&&y.delete();this.delete()};return k};this.stroke=function(k){k=
k?k.ge():this.Nd.snapshot();var p=this.We(),y=this.ue(p);y&&(this.Hd.save(),this.ne(),this.Hd.drawPath(k,y),this.Hd.restore(),y.dispose());this.Hd.drawPath(k,p);k.delete();p.dispose()};this.strokeRect=function(k,p,y,z){var B=this.We(),E=this.ue(B);E&&(this.Hd.save(),this.ne(),this.Hd.drawRect(a.XYWHRect(k,p,y,z),E),this.Hd.restore(),E.dispose());this.Hd.drawRect(a.XYWHRect(k,p,y,z),B);B.dispose()};this.strokeText=function(k,p,y){var z=this.We();k=a.TextBlob.MakeFromText(k,this.je);var B=this.ue(z);
B&&(this.Hd.save(),this.ne(),this.Hd.drawTextBlob(k,p,y,B),this.Hd.restore(),B.dispose());this.Hd.drawTextBlob(k,p,y,z);k.delete();z.dispose()};this.translate=function(k,p){if(d(arguments)){var y=a.Matrix.translated(-k,-p);this.Nd.transform(y);this.Hd.translate(k,p);this.Pd=this.Hd.getTotalMatrix()}};this.transform=function(k,p,y,z,B,E){k=[k,y,B,p,z,E,0,0,1];p=a.Matrix.invert(k);this.Nd.transform(p);this.Hd.concat(k);this.Pd=this.Hd.getTotalMatrix()};this.addHitRegion=function(){};this.clearHitRegions=
function(){};this.drawFocusIfNeeded=function(){};this.removeHitRegion=function(){};this.scrollPathIntoView=function(){};Object.defineProperty(this,"canvas",{value:null,writable:!1})}function A(D){this.Xe=D;this.Gd=new w(D.getCanvas());this.Oe=[];this.decodeImage=function(k){k=a.MakeImageFromEncoded(k);if(!k)throw"Invalid input";this.Oe.push(k);return new G(k)};this.loadFont=function(k,p){k=a.Typeface.MakeTypefaceFromData(k);if(!k)return null;this.Oe.push(k);var y=(p.style||"normal")+"|"+(p.variant||
"normal")+"|"+(p.weight||"normal");p=p.family;q();la[p]||(la[p]={"*":k});la[p][y]=k};this.makePath2D=function(k){k=new P(k);this.Oe.push(k.ge());return k};this.getContext=function(k){return"2d"===k?this.Gd:null};this.toDataURL=function(k,p){this.Xe.flush();var y=this.Xe.makeImageSnapshot();if(y){k=k||"image/png";var z=a.ImageFormat.PNG;"image/jpeg"===k&&(z=a.ImageFormat.JPEG);if(p=y.encodeToBytes(z,p||.92)){y.delete();k="data:"+k+";base64,";if("undefined"!==typeof Buffer)p=Buffer.from(p).toString("base64");
else{y=0;z=p.length;for(var B="",E;y<z;)E=p.slice(y,Math.min(y+32768,z)),B+=String.fromCharCode.apply(null,E),y+=32768;p=btoa(B)}return k+p}}};this.dispose=function(){this.Gd.ie();this.Oe.forEach(function(k){k.delete()});this.Xe.dispose()}}function G(D){this.width=D.width();this.height=D.height();this.naturalWidth=this.width;this.naturalHeight=this.height;this.jf=function(){return D}}function K(D,k,p){if(!k||0===p)throw new TypeError("invalid dimensions, width and height must be non-zero");if(D.length%
4)throw new TypeError("arr must be a multiple of 4");p=p||D.length/(4*k);Object.defineProperty(this,"data",{value:D,writable:!1});Object.defineProperty(this,"height",{value:p,writable:!1});Object.defineProperty(this,"width",{value:k,writable:!1})}function L(D,k,p,y){this.Td=null;this.be=[];this.Ud=[];this.addColorStop=function(z,B){if(0>z||1<z||!isFinite(z))throw"offset must be between 0 and 1 inclusively";B=g(B);var E=this.Ud.indexOf(z);if(-1!==E)this.be[E]=B;else{for(E=0;E<this.Ud.length&&!(this.Ud[E]>
z);E++);this.Ud.splice(E,0,z);this.be.splice(E,0,B)}};this.oe=function(){var z=new L(D,k,p,y);z.be=this.be.slice();z.Ud=this.Ud.slice();return z};this.ie=function(){this.Td&&(this.Td.delete(),this.Td=null)};this.pe=function(z){var B=[D,k,p,y];a.Matrix.mapPoints(z,B);z=B[0];var E=B[1],J=B[2];B=B[3];this.ie();return this.Td=a.Shader.MakeLinearGradient([z,E],[J,B],this.be,this.Ud,a.TileMode.Clamp)}}function T(D,k,p,y,z,B){if(d([k,p,y,z,B])){if(0>B)throw"radii cannot be negative";D.isEmpty()&&D.moveTo(k,
p);D.arcToTangent(k,p,y,z,B)}}function R(D,k,p,y,z,B,E){E=(E-B)/Math.PI*180;B=B/Math.PI*180;k=a.LTRBRect(k-y,p-z,k+y,p+z);1E-5>Math.abs(Math.abs(E)-360)?(p=E/2,D.arcToOval(k,B,p,!1),D.arcToOval(k,B+p,p,!1)):D.arcToOval(k,B,E,!1)}function r(D,k,p,y,z,B,E,J,ca){if(d([k,p,y,z,B,E,J])){if(0>y||0>z)throw"radii cannot be negative";var da=2*Math.PI,Ia=E%da;0>Ia&&(Ia+=da);var bb=Ia-E;E=Ia;J+=bb;!ca&&J-E>=da?J=E+da:ca&&E-J>=da?J=E-da:!ca&&E>J?J=E+(da-(E-J)%da):ca&&E<J&&(J=E-(da-(J-E)%da));B?(ca=a.Matrix.rotated(B,
k,p),B=a.Matrix.rotated(-B,k,p),D.transform(B),R(D,k,p,y,z,E,J),D.transform(ca)):R(D,k,p,y,z,E,J)}}function C(D,k,p){d([k,p])&&(D.isEmpty()&&D.moveTo(k,p),D.lineTo(k,p))}function P(D){this.Vd=new a.PathBuilder;"string"===typeof D?(D=a.Path.MakeFromSVGString(D),this.Vd.addPath(D),D.delete()):D&&D.ge&&(D=D.ge(),this.Vd.addPath(D),D.delete());this.ge=function(){return this.Vd.snapshot()};this.addPath=function(k,p){p||={a:1,c:0,e:0,b:0,d:1,f:0};k=k.ge();this.Vd.addPath(k,[p.a,p.c,p.e,p.b,p.d,p.f]);k.delete()};
this.arc=function(k,p,y,z,B,E){r(this.Vd,k,p,y,y,0,z,B,E)};this.arcTo=function(k,p,y,z,B){T(this.Vd,k,p,y,z,B)};this.bezierCurveTo=function(k,p,y,z,B,E){var J=this.Vd;d([k,p,y,z,B,E])&&(J.isEmpty()&&J.moveTo(k,p),J.cubicTo(k,p,y,z,B,E))};this.closePath=function(){var k=this.Vd;k.isEmpty()||1!=k.countPoints()&&k.close()};this.ellipse=function(k,p,y,z,B,E,J,ca){r(this.Vd,k,p,y,z,B,E,J,ca)};this.lineTo=function(k,p){C(this.Vd,k,p)};this.moveTo=function(k,p){var y=this.Vd;d([k,p])&&y.moveTo(k,p)};this.quadraticCurveTo=
function(k,p,y,z){var B=this.Vd;d([k,p,y,z])&&(B.isEmpty()&&B.moveTo(k,p),B.quadTo(k,p,y,z))};this.rect=function(k,p,y,z){var B=this.Vd;k=a.XYWHRect(k,p,y,z);d(k)&&B.addRect(k)}}function ba(D,k){this.Td=null;D instanceof G&&(D=D.jf());this.sf=D;this._transform=a.Matrix.identity();""===k&&(k="repeat");switch(k){case "repeat-x":this.ve=a.TileMode.Repeat;this.we=a.TileMode.Decal;break;case "repeat-y":this.ve=a.TileMode.Decal;this.we=a.TileMode.Repeat;break;case "repeat":this.we=this.ve=a.TileMode.Repeat;
break;case "no-repeat":this.we=this.ve=a.TileMode.Decal;break;default:throw"invalid repetition mode "+k;}this.setTransform=function(p){p=[p.a,p.c,p.e,p.b,p.d,p.f,0,0,1];d(p)&&(this._transform=p)};this.oe=function(){var p=new ba;p.ve=this.ve;p.we=this.we;return p};this.ie=function(){this.Td&&(this.Td.delete(),this.Td=null)};this.pe=function(){this.ie();return this.Td=this.sf.makeShaderCubic(this.ve,this.we,1/3,1/3,this._transform)}}function ja(D,k,p,y,z,B){this.Td=null;this.be=[];this.Ud=[];this.addColorStop=
function(E,J){if(0>E||1<E||!isFinite(E))throw"offset must be between 0 and 1 inclusively";J=g(J);var ca=this.Ud.indexOf(E);if(-1!==ca)this.be[ca]=J;else{for(ca=0;ca<this.Ud.length&&!(this.Ud[ca]>E);ca++);this.Ud.splice(ca,0,E);this.be.splice(ca,0,J)}};this.oe=function(){var E=new ja(D,k,p,y,z,B);E.be=this.be.slice();E.Ud=this.Ud.slice();return E};this.ie=function(){this.Td&&(this.Td.delete(),this.Td=null)};this.pe=function(E){var J=[D,k,y,z];a.Matrix.mapPoints(E,J);var ca=J[0],da=J[1],Ia=J[2];J=J[3];
var bb=(Math.abs(E[0])+Math.abs(E[4]))/2;E=p*bb;bb*=B;this.ie();return this.Td=a.Shader.MakeTwoPointConicalGradient([ca,da],E,[Ia,J],bb,this.be,this.Ud,a.TileMode.Clamp)}}a._testing={};var wa={aliceblue:Float32Array.of(.941,.973,1,1),antiquewhite:Float32Array.of(.98,.922,.843,1),aqua:Float32Array.of(0,1,1,1),aquamarine:Float32Array.of(.498,1,.831,1),azure:Float32Array.of(.941,1,1,1),beige:Float32Array.of(.961,.961,.863,1),bisque:Float32Array.of(1,.894,.769,1),black:Float32Array.of(0,0,0,1),blanchedalmond:Float32Array.of(1,
.922,.804,1),blue:Float32Array.of(0,0,1,1),blueviolet:Float32Array.of(.541,.169,.886,1),brown:Float32Array.of(.647,.165,.165,1),burlywood:Float32Array.of(.871,.722,.529,1),cadetblue:Float32Array.of(.373,.62,.627,1),chartreuse:Float32Array.of(.498,1,0,1),chocolate:Float32Array.of(.824,.412,.118,1),coral:Float32Array.of(1,.498,.314,1),cornflowerblue:Float32Array.of(.392,.584,.929,1),cornsilk:Float32Array.of(1,.973,.863,1),crimson:Float32Array.of(.863,.078,.235,1),cyan:Float32Array.of(0,1,1,1),darkblue:Float32Array.of(0,
0,.545,1),darkcyan:Float32Array.of(0,.545,.545,1),darkgoldenrod:Float32Array.of(.722,.525,.043,1),darkgray:Float32Array.of(.663,.663,.663,1),darkgreen:Float32Array.of(0,.392,0,1),darkgrey:Float32Array.of(.663,.663,.663,1),darkkhaki:Float32Array.of(.741,.718,.42,1),darkmagenta:Float32Array.of(.545,0,.545,1),darkolivegreen:Float32Array.of(.333,.42,.184,1),darkorange:Float32Array.of(1,.549,0,1),darkorchid:Float32Array.of(.6,.196,.8,1),darkred:Float32Array.of(.545,0,0,1),darksalmon:Float32Array.of(.914,
.588,.478,1),darkseagreen:Float32Array.of(.561,.737,.561,1),darkslateblue:Float32Array.of(.282,.239,.545,1),darkslategray:Float32Array.of(.184,.31,.31,1),darkslategrey:Float32Array.of(.184,.31,.31,1),darkturquoise:Float32Array.of(0,.808,.82,1),darkviolet:Float32Array.of(.58,0,.827,1),deeppink:Float32Array.of(1,.078,.576,1),deepskyblue:Float32Array.of(0,.749,1,1),dimgray:Float32Array.of(.412,.412,.412,1),dimgrey:Float32Array.of(.412,.412,.412,1),dodgerblue:Float32Array.of(.118,.565,1,1),firebrick:Float32Array.of(.698,
.133,.133,1),floralwhite:Float32Array.of(1,.98,.941,1),forestgreen:Float32Array.of(.133,.545,.133,1),fuchsia:Float32Array.of(1,0,1,1),gainsboro:Float32Array.of(.863,.863,.863,1),ghostwhite:Float32Array.of(.973,.973,1,1),gold:Float32Array.of(1,.843,0,1),goldenrod:Float32Array.of(.855,.647,.125,1),gray:Float32Array.of(.502,.502,.502,1),green:Float32Array.of(0,.502,0,1),greenyellow:Float32Array.of(.678,1,.184,1),grey:Float32Array.of(.502,.502,.502,1),honeydew:Float32Array.of(.941,1,.941,1),hotpink:Float32Array.of(1,
.412,.706,1),indianred:Float32Array.of(.804,.361,.361,1),indigo:Float32Array.of(.294,0,.51,1),ivory:Float32Array.of(1,1,.941,1),khaki:Float32Array.of(.941,.902,.549,1),lavender:Float32Array.of(.902,.902,.98,1),lavenderblush:Float32Array.of(1,.941,.961,1),lawngreen:Float32Array.of(.486,.988,0,1),lemonchiffon:Float32Array.of(1,.98,.804,1),lightblue:Float32Array.of(.678,.847,.902,1),lightcoral:Float32Array.of(.941,.502,.502,1),lightcyan:Float32Array.of(.878,1,1,1),lightgoldenrodyellow:Float32Array.of(.98,
.98,.824,1),lightgray:Float32Array.of(.827,.827,.827,1),lightgreen:Float32Array.of(.565,.933,.565,1),lightgrey:Float32Array.of(.827,.827,.827,1),lightpink:Float32Array.of(1,.714,.757,1),lightsalmon:Float32Array.of(1,.627,.478,1),lightseagreen:Float32Array.of(.125,.698,.667,1),lightskyblue:Float32Array.of(.529,.808,.98,1),lightslategray:Float32Array.of(.467,.533,.6,1),lightslategrey:Float32Array.of(.467,.533,.6,1),lightsteelblue:Float32Array.of(.69,.769,.871,1),lightyellow:Float32Array.of(1,1,.878,
1),lime:Float32Array.of(0,1,0,1),limegreen:Float32Array.of(.196,.804,.196,1),linen:Float32Array.of(.98,.941,.902,1),magenta:Float32Array.of(1,0,1,1),maroon:Float32Array.of(.502,0,0,1),mediumaquamarine:Float32Array.of(.4,.804,.667,1),mediumblue:Float32Array.of(0,0,.804,1),mediumorchid:Float32Array.of(.729,.333,.827,1),mediumpurple:Float32Array.of(.576,.439,.859,1),mediumseagreen:Float32Array.of(.235,.702,.443,1),mediumslateblue:Float32Array.of(.482,.408,.933,1),mediumspringgreen:Float32Array.of(0,
.98,.604,1),mediumturquoise:Float32Array.of(.282,.82,.8,1),mediumvioletred:Float32Array.of(.78,.082,.522,1),midnightblue:Float32Array.of(.098,.098,.439,1),mintcream:Float32Array.of(.961,1,.98,1),mistyrose:Float32Array.of(1,.894,.882,1),moccasin:Float32Array.of(1,.894,.71,1),navajowhite:Float32Array.of(1,.871,.678,1),navy:Float32Array.of(0,0,.502,1),oldlace:Float32Array.of(.992,.961,.902,1),olive:Float32Array.of(.502,.502,0,1),olivedrab:Float32Array.of(.42,.557,.137,1),orange:Float32Array.of(1,.647,
0,1),orangered:Float32Array.of(1,.271,0,1),orchid:Float32Array.of(.855,.439,.839,1),palegoldenrod:Float32Array.of(.933,.91,.667,1),palegreen:Float32Array.of(.596,.984,.596,1),paleturquoise:Float32Array.of(.686,.933,.933,1),palevioletred:Float32Array.of(.859,.439,.576,1),papayawhip:Float32Array.of(1,.937,.835,1),peachpuff:Float32Array.of(1,.855,.725,1),peru:Float32Array.of(.804,.522,.247,1),pink:Float32Array.of(1,.753,.796,1),plum:Float32Array.of(.867,.627,.867,1),powderblue:Float32Array.of(.69,.878,
.902,1),purple:Float32Array.of(.502,0,.502,1),rebeccapurple:Float32Array.of(.4,.2,.6,1),red:Float32Array.of(1,0,0,1),rosybrown:Float32Array.of(.737,.561,.561,1),royalblue:Float32Array.of(.255,.412,.882,1),saddlebrown:Float32Array.of(.545,.271,.075,1),salmon:Float32Array.of(.98,.502,.447,1),sandybrown:Float32Array.of(.957,.643,.376,1),seagreen:Float32Array.of(.18,.545,.341,1),seashell:Float32Array.of(1,.961,.933,1),sienna:Float32Array.of(.627,.322,.176,1),silver:Float32Array.of(.753,.753,.753,1),skyblue:Float32Array.of(.529,
.808,.922,1),slateblue:Float32Array.of(.416,.353,.804,1),slategray:Float32Array.of(.439,.502,.565,1),slategrey:Float32Array.of(.439,.502,.565,1),snow:Float32Array.of(1,.98,.98,1),springgreen:Float32Array.of(0,1,.498,1),steelblue:Float32Array.of(.275,.51,.706,1),tan:Float32Array.of(.824,.706,.549,1),teal:Float32Array.of(0,.502,.502,1),thistle:Float32Array.of(.847,.749,.847,1),tomato:Float32Array.of(1,.388,.278,1),transparent:Float32Array.of(0,0,0,0),turquoise:Float32Array.of(.251,.878,.816,1),violet:Float32Array.of(.933,
.51,.933,1),wheat:Float32Array.of(.961,.871,.702,1),white:Float32Array.of(1,1,1,1),whitesmoke:Float32Array.of(.961,.961,.961,1),yellow:Float32Array.of(1,1,0,1),yellowgreen:Float32Array.of(.604,.804,.196,1)};a._testing.parseColor=g;a._testing.colorToString=c;var xa=RegExp("(italic|oblique|normal|)\\s*(small-caps|normal|)\\s*(bold|bolder|lighter|[1-9]00|normal|)\\s*([\\d\\.]+)(px|pt|pc|in|cm|mm|%|em|ex|ch|rem|q)(.+)"),la;a._testing.parseFontString=l;a.MakeCanvas=function(D,k){return(D=a.MakeSurface(D,
k))?new A(D):null};a.ImageData=function(){if(2===arguments.length){var D=arguments[0],k=arguments[1];return new K(new Uint8ClampedArray(4*D*k),D,k)}if(3===arguments.length){var p=arguments[0];if(p.prototype.constructor!==Uint8ClampedArray)throw new TypeError("bytes must be given as a Uint8ClampedArray");D=arguments[1];k=arguments[2];if(p%4)throw new TypeError("bytes must be given in a multiple of 4");if(p%D)throw new TypeError("bytes must divide evenly by width");if(k&&k!==p/(4*D))throw new TypeError("invalid height given");
return new K(p,D,p/(4*D))}throw new TypeError("invalid number of arguments - takes 2 or 3, saw "+arguments.length);}})()})(u);var Ca="./this.program",Da=(a,b)=>{throw b;},Ea="",Fa,Ga;
if(qa){var fs=require("fs");require("path");Ea=__dirname+"/";Ga=a=>{a=Ja(a)?new URL(a):a;return fs.readFileSync(a)};Fa=async a=>{a=Ja(a)?new URL(a):a;return fs.readFileSync(a,void 0)};1<process.argv.length&&(Ca=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);Da=(a,b)=>{process.exitCode=a;throw b;}}else if(oa||pa)pa?Ea=self.location.href:"undefined"!=typeof document&&document.currentScript&&(Ea=document.currentScript.src),_scriptName&&(Ea=_scriptName),Ea.startsWith("blob:")?Ea="":Ea=Ea.slice(0,
Ea.replace(/[?#].*/,"").lastIndexOf("/")+1),pa&&(Ga=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),Fa=async a=>{if(Ja(a))return new Promise((e,f)=>{var h=new XMLHttpRequest;h.open("GET",a,!0);h.responseType="arraybuffer";h.onload=()=>{200==h.status||0==h.status&&h.response?e(h.response):f(h.status)};h.onerror=f;h.send(null)});var b=await fetch(a,{credentials:"same-origin"});if(b.ok)return b.arrayBuffer();throw Error(b.status+
" : "+b.url);};var Ka=console.log.bind(console),La=console.error.bind(console),Na,Pa=!1,Qa,Ra,Sa,Ta,M,N,U,Ua,Va,Wa,Ja=a=>a.startsWith("file://");function Xa(){var a=Na.buffer;Qa=new Int8Array(a);Sa=new Int16Array(a);u.HEAPU8=Ra=new Uint8Array(a);u.HEAPU16=Ta=new Uint16Array(a);u.HEAP32=M=new Int32Array(a);u.HEAPU32=N=new Uint32Array(a);u.HEAPF32=U=new Float32Array(a);Wa=new Float64Array(a);Ua=new BigInt64Array(a);Va=new BigUint64Array(a)}var Ya=0,cb=null;
function db(a){a="Aborted("+a+")";La(a);Pa=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ia(a);throw a;}var fb;async function gb(a){try{var b=await Fa(a);return new Uint8Array(b)}catch{}if(Ga)a=Ga(a);else throw"both async and sync fetching of the wasm failed";return a}async function hb(a,b){try{var e=await gb(a);return await WebAssembly.instantiate(e,b)}catch(f){La(`failed to asynchronously prepare wasm: ${f}`),db(f)}}
async function ib(a){var b=fb;if("function"==typeof WebAssembly.instantiateStreaming&&!Ja(b)&&!qa)try{var e=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(e,a)}catch(f){La(`wasm streaming compile failed: ${f}`),La("falling back to ArrayBuffer instantiation")}return hb(b,a)}class jb{name="ExitStatus";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}}
var kb="undefined"!=typeof TextDecoder?new TextDecoder:void 0,lb=(a,b=0,e=NaN)=>{var f=b+e;for(e=b;a[e]&&!(e>=f);)++e;if(16<e-b&&a.buffer&&kb)return kb.decode(a.subarray(b,e));for(f="";b<e;){var h=a[b++];if(h&128){var m=a[b++]&63;if(192==(h&224))f+=String.fromCharCode((h&31)<<6|m);else{var n=a[b++]&63;h=224==(h&240)?(h&15)<<12|m<<6|n:(h&7)<<18|m<<12|n<<6|a[b++]&63;65536>h?f+=String.fromCharCode(h):(h-=65536,f+=String.fromCharCode(55296|h>>10,56320|h&1023))}}else f+=String.fromCharCode(h)}return f},
mb={},nb=a=>{for(;a.length;){var b=a.pop();a.pop()(b)}};function ob(a){return this.fromWireType(N[a>>2])}
var rb={},sb={},tb={},ub=u.InternalError=class extends Error{constructor(a){super(a);this.name="InternalError"}},wb=(a,b,e)=>{function f(t){t=e(t);if(t.length!==a.length)throw new ub("Mismatched type converter count");for(var v=0;v<a.length;++v)vb(a[v],t[v])}a.forEach(t=>tb[t]=b);var h=Array(b.length),m=[],n=0;b.forEach((t,v)=>{sb.hasOwnProperty(t)?h[v]=sb[t]:(m.push(t),rb.hasOwnProperty(t)||(rb[t]=[]),rb[t].push(()=>{h[v]=sb[t];++n;n===m.length&&f(h)}))});0===m.length&&f(h)},xb=a=>{if(null===a)return"null";
var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a},yb,zb=a=>{for(var b="";Ra[a];)b+=yb[Ra[a++]];return b},V=u.BindingError=class extends Error{constructor(a){super(a);this.name="BindingError"}};
function Ab(a,b,e={}){var f=b.name;if(!a)throw new V(`type "${f}" must have a positive integer typeid pointer`);if(sb.hasOwnProperty(a)){if(e.Jf)return;throw new V(`Cannot register type '${f}' twice`);}sb[a]=b;delete tb[a];rb.hasOwnProperty(a)&&(b=rb[a],delete rb[a],b.forEach(h=>h()))}function vb(a,b,e={}){return Ab(a,b,e)}
var Bb=(a,b,e)=>{switch(b){case 1:return e?f=>Qa[f]:f=>Ra[f];case 2:return e?f=>Sa[f>>1]:f=>Ta[f>>1];case 4:return e?f=>M[f>>2]:f=>N[f>>2];case 8:return e?f=>Ua[f>>3]:f=>Va[f>>3];default:throw new TypeError(`invalid integer width (${b}): ${a}`);}},Cb=a=>{throw new V(a.Fd.Qd.Ld.name+" instance already deleted");},Db=!1,Eb=()=>{},Fb=a=>{if("undefined"===typeof FinalizationRegistry)return Fb=b=>b,a;Db=new FinalizationRegistry(b=>{b=b.Fd;--b.count.value;0===b.count.value&&(b.Rd?b.ae.fe(b.Rd):b.Qd.Ld.fe(b.Md))});
Fb=b=>{var e=b.Fd;e.Rd&&Db.register(b,{Fd:e},b);return b};Eb=b=>{Db.unregister(b)};return Fb(a)},Gb=[];function Hb(){}
var Ib=(a,b)=>Object.defineProperty(b,"name",{value:a}),Jb={},Kb=(a,b,e)=>{if(void 0===a[b].Sd){var f=a[b];a[b]=function(...h){if(!a[b].Sd.hasOwnProperty(h.length))throw new V(`Function '${e}' called with an invalid number of arguments (${h.length}) - expects one of (${a[b].Sd})!`);return a[b].Sd[h.length].apply(this,h)};a[b].Sd=[];a[b].Sd[f.ke]=f}},Lb=(a,b,e)=>{if(u.hasOwnProperty(a)){if(void 0===e||void 0!==u[a].Sd&&void 0!==u[a].Sd[e])throw new V(`Cannot register public name '${a}' twice`);Kb(u,
a,a);if(u[a].Sd.hasOwnProperty(e))throw new V(`Cannot register multiple overloads of a function with the same number of arguments (${e})!`);u[a].Sd[e]=b}else u[a]=b,u[a].ke=e},Mb=a=>{a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?`_${a}`:a};function Tb(a,b,e,f,h,m,n,t){this.name=a;this.constructor=b;this.ze=e;this.fe=f;this.Wd=h;this.Ef=m;this.Ie=n;this.zf=t;this.Pf=[]}
var Ub=(a,b,e)=>{for(;b!==e;){if(!b.Ie)throw new V(`Expected null or instance of ${e.name}, got an instance of ${b.name}`);a=b.Ie(a);b=b.Wd}return a};function Vb(a,b){if(null===b){if(this.$e)throw new V(`null is not a valid ${this.name}`);return 0}if(!b.Fd)throw new V(`Cannot pass "${xb(b)}" as a ${this.name}`);if(!b.Fd.Md)throw new V(`Cannot pass deleted object as a pointer of type ${this.name}`);return Ub(b.Fd.Md,b.Fd.Qd.Ld,this.Ld)}
function Wb(a,b){if(null===b){if(this.$e)throw new V(`null is not a valid ${this.name}`);if(this.Re){var e=this.af();null!==a&&a.push(this.fe,e);return e}return 0}if(!b||!b.Fd)throw new V(`Cannot pass "${xb(b)}" as a ${this.name}`);if(!b.Fd.Md)throw new V(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.Qe&&b.Fd.Qd.Qe)throw new V(`Cannot convert argument of type ${b.Fd.ae?b.Fd.ae.name:b.Fd.Qd.name} to parameter type ${this.name}`);e=Ub(b.Fd.Md,b.Fd.Qd.Ld,this.Ld);if(this.Re){if(void 0===
b.Fd.Rd)throw new V("Passing raw pointer to smart pointer is illegal");switch(this.Uf){case 0:if(b.Fd.ae===this)e=b.Fd.Rd;else throw new V(`Cannot convert argument of type ${b.Fd.ae?b.Fd.ae.name:b.Fd.Qd.name} to parameter type ${this.name}`);break;case 1:e=b.Fd.Rd;break;case 2:if(b.Fd.ae===this)e=b.Fd.Rd;else{var f=b.clone();e=this.Qf(e,Xb(()=>f["delete"]()));null!==a&&a.push(this.fe,e)}break;default:throw new V("Unsupporting sharing policy");}}return e}
function Yb(a,b){if(null===b){if(this.$e)throw new V(`null is not a valid ${this.name}`);return 0}if(!b.Fd)throw new V(`Cannot pass "${xb(b)}" as a ${this.name}`);if(!b.Fd.Md)throw new V(`Cannot pass deleted object as a pointer of type ${this.name}`);if(b.Fd.Qd.Qe)throw new V(`Cannot convert argument of type ${b.Fd.Qd.name} to parameter type ${this.name}`);return Ub(b.Fd.Md,b.Fd.Qd.Ld,this.Ld)}
var Zb=(a,b,e)=>{if(b===e)return a;if(void 0===e.Wd)return null;a=Zb(a,b,e.Wd);return null===a?null:e.zf(a)},$b={},ac=(a,b)=>{if(void 0===b)throw new V("ptr should not be undefined");for(;a.Wd;)b=a.Ie(b),a=a.Wd;return $b[b]},bc=(a,b)=>{if(!b.Qd||!b.Md)throw new ub("makeClassHandle requires ptr and ptrType");if(!!b.ae!==!!b.Rd)throw new ub("Both smartPtrType and smartPtr must be specified");b.count={value:1};return Fb(Object.create(a,{Fd:{value:b,writable:!0}}))};
function cc(a,b,e,f,h,m,n,t,v,x,F){this.name=a;this.Ld=b;this.$e=e;this.Qe=f;this.Re=h;this.Of=m;this.Uf=n;this.lf=t;this.af=v;this.Qf=x;this.fe=F;h||void 0!==b.Wd?this.toWireType=Wb:(this.toWireType=f?Vb:Yb,this.$d=null)}
var dc=(a,b,e)=>{if(!u.hasOwnProperty(a))throw new ub("Replacing nonexistent public symbol");void 0!==u[a].Sd&&void 0!==e?u[a].Sd[e]=b:(u[a]=b,u[a].ke=e)},ec,fc=(a,b)=>{a=zb(a);var e=ec.get(b);if("function"!=typeof e)throw new V(`unknown function pointer with signature ${a}: ${b}`);return e};class gc extends Error{}
var jc=a=>{a=hc(a);var b=zb(a);ic(a);return b},kc=(a,b)=>{function e(m){h[m]||sb[m]||(tb[m]?tb[m].forEach(e):(f.push(m),h[m]=!0))}var f=[],h={};b.forEach(e);throw new gc(`${a}: `+f.map(jc).join([", "]));};function lc(a){for(var b=1;b<a.length;++b)if(null!==a[b]&&void 0===a[b].$d)return!0;return!1}
function mc(a,b,e,f,h){var m=b.length;if(2>m)throw new V("argTypes array size mismatch! Must at least get return value and 'this' types!");var n=null!==b[1]&&null!==e,t=lc(b),v="void"!==b[0].name,x=m-2,F=Array(x),I=[],O=[];return Ib(a,function(...X){O.length=0;I.length=n?2:1;I[0]=h;if(n){var ha=b[1].toWireType(O,this);I[1]=ha}for(var ea=0;ea<x;++ea)F[ea]=b[ea+2].toWireType(O,X[ea]),I.push(F[ea]);X=f(...I);if(t)nb(O);else for(ea=n?1:2;ea<b.length;ea++){var S=1===ea?ha:F[ea-2];null!==b[ea].$d&&b[ea].$d(S)}ha=
v?b[0].fromWireType(X):void 0;return ha})}
for(var nc=(a,b)=>{for(var e=[],f=0;f<a;f++)e.push(N[b+4*f>>2]);return e},tc=a=>{a=a.trim();const b=a.indexOf("(");return-1===b?a:a.slice(0,b)},uc=[],vc=[],wc=a=>{9<a&&0===--vc[a+1]&&(vc[a]=void 0,uc.push(a))},xc=a=>{if(!a)throw new V(`Cannot use deleted val. handle = ${a}`);return vc[a]},Xb=a=>{switch(a){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const b=uc.pop()||vc.length;vc[b]=a;vc[b+1]=1;return b}},yc={name:"emscripten::val",fromWireType:a=>{var b=xc(a);
wc(a);return b},toWireType:(a,b)=>Xb(b),Yd:8,readValueFromPointer:ob,$d:null},zc=(a,b,e)=>{switch(b){case 1:return e?function(f){return this.fromWireType(Qa[f])}:function(f){return this.fromWireType(Ra[f])};case 2:return e?function(f){return this.fromWireType(Sa[f>>1])}:function(f){return this.fromWireType(Ta[f>>1])};case 4:return e?function(f){return this.fromWireType(M[f>>2])}:function(f){return this.fromWireType(N[f>>2])};default:throw new TypeError(`invalid integer width (${b}): ${a}`);}},Ac=
(a,b)=>{var e=sb[a];if(void 0===e)throw a=`${b} has unknown type ${jc(a)}`,new V(a);return e},Bc=(a,b)=>{switch(b){case 4:return function(e){return this.fromWireType(U[e>>2])};case 8:return function(e){return this.fromWireType(Wa[e>>3])};default:throw new TypeError(`invalid float width (${b}): ${a}`);}},Ba=(a,b,e)=>{var f=Ra;if(!(0<e))return 0;var h=b;e=b+e-1;for(var m=0;m<a.length;++m){var n=a.charCodeAt(m);if(55296<=n&&57343>=n){var t=a.charCodeAt(++m);n=65536+((n&1023)<<10)|t&1023}if(127>=n){if(b>=
e)break;f[b++]=n}else{if(2047>=n){if(b+1>=e)break;f[b++]=192|n>>6}else{if(65535>=n){if(b+2>=e)break;f[b++]=224|n>>12}else{if(b+3>=e)break;f[b++]=240|n>>18;f[b++]=128|n>>12&63}f[b++]=128|n>>6&63}f[b++]=128|n&63}}f[b]=0;return b-h},Aa=a=>{for(var b=0,e=0;e<a.length;++e){var f=a.charCodeAt(e);127>=f?b++:2047>=f?b+=2:55296<=f&&57343>=f?(b+=4,++e):b+=3}return b},Cc="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Dc=(a,b)=>{var e=a>>1;for(var f=e+b/2;!(e>=f)&&Ta[e];)++e;e<<=1;if(32<e-
a&&Cc)return Cc.decode(Ra.subarray(a,e));e="";for(f=0;!(f>=b/2);++f){var h=Sa[a+2*f>>1];if(0==h)break;e+=String.fromCharCode(h)}return e},Ec=(a,b,e)=>{e??=2147483647;if(2>e)return 0;e-=2;var f=b;e=e<2*a.length?e/2:a.length;for(var h=0;h<e;++h)Sa[b>>1]=a.charCodeAt(h),b+=2;Sa[b>>1]=0;return b-f},Fc=a=>2*a.length,Gc=(a,b)=>{for(var e=0,f="";!(e>=b/4);){var h=M[a+4*e>>2];if(0==h)break;++e;65536<=h?(h-=65536,f+=String.fromCharCode(55296|h>>10,56320|h&1023)):f+=String.fromCharCode(h)}return f},Hc=(a,b,
e)=>{e??=2147483647;if(4>e)return 0;var f=b;e=f+e-4;for(var h=0;h<a.length;++h){var m=a.charCodeAt(h);if(55296<=m&&57343>=m){var n=a.charCodeAt(++h);m=65536+((m&1023)<<10)|n&1023}M[b>>2]=m;b+=4;if(b+4>e)break}M[b>>2]=0;return b-f},Ic=a=>{for(var b=0,e=0;e<a.length;++e){var f=a.charCodeAt(e);55296<=f&&57343>=f&&++e;b+=4}return b},Jc=(a,b,e)=>{var f=[];a=a.toWireType(f,e);f.length&&(N[b>>2]=Xb(f));return a},Kc=[],Lc={},Mc=a=>{var b=Lc[a];return void 0===b?zb(a):b},Nc=()=>{function a(b){b.$$$embind_global$$$=
b;var e="object"==typeof $$$embind_global$$$&&b.$$$embind_global$$$==b;e||delete b.$$$embind_global$$$;return e}if("object"==typeof globalThis)return globalThis;if("object"==typeof $$$embind_global$$$)return $$$embind_global$$$;"object"==typeof global&&a(global)?$$$embind_global$$$=global:"object"==typeof self&&a(self)&&($$$embind_global$$$=self);if("object"==typeof $$$embind_global$$$)return $$$embind_global$$$;throw Error("unable to get global object.");},Oc=a=>{var b=Kc.length;Kc.push(a);return b},
Pc=(a,b)=>{for(var e=Array(a),f=0;f<a;++f)e[f]=Ac(N[b+4*f>>2],`parameter ${f}`);return e},Qc=Reflect.construct,W,Rc=a=>{var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=(e,f)=>b.vertexAttribDivisorANGLE(e,f),a.drawArraysInstanced=(e,f,h,m)=>b.drawArraysInstancedANGLE(e,f,h,m),a.drawElementsInstanced=(e,f,h,m,n)=>b.drawElementsInstancedANGLE(e,f,h,m,n))},Sc=a=>{var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=()=>b.createVertexArrayOES(),a.deleteVertexArray=
e=>b.deleteVertexArrayOES(e),a.bindVertexArray=e=>b.bindVertexArrayOES(e),a.isVertexArray=e=>b.isVertexArrayOES(e))},Tc=a=>{var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=(e,f)=>b.drawBuffersWEBGL(e,f))},Uc=a=>{var b="ANGLE_instanced_arrays EXT_blend_minmax EXT_disjoint_timer_query EXT_frag_depth EXT_shader_texture_lod EXT_sRGB OES_element_index_uint OES_fbo_render_mipmap OES_standard_derivatives OES_texture_float OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_depth_texture WEBGL_draw_buffers EXT_color_buffer_float EXT_conservative_depth EXT_disjoint_timer_query_webgl2 EXT_texture_norm16 NV_shader_noperspective_interpolation WEBGL_clip_cull_distance EXT_clip_control EXT_color_buffer_half_float EXT_depth_clamp EXT_float_blend EXT_polygon_offset_clamp EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic KHR_parallel_shader_compile OES_texture_float_linear WEBGL_blend_func_extended WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_multi_draw WEBGL_polygon_mode".split(" ");
return(a.getSupportedExtensions()||[]).filter(e=>b.includes(e))},Vc=1,Wc=[],Xc=[],Yc=[],Zc=[],sa=[],$c=[],ad=[],ya=[],bd=[],cd=[],dd=[],ed={},fd={},gd=4,hd=0,ra=a=>{for(var b=Vc++,e=a.length;e<b;e++)a[e]=null;return b},ld=(a,b,e,f)=>{for(var h=0;h<a;h++){var m=W[e](),n=m&&ra(f);m?(m.name=n,f[n]=m):Y||=1282;M[b+4*h>>2]=n}},ta=(a,b)=>{a.cf||(a.cf=a.getContext,a.getContext=function(f,h){h=a.cf(f,h);return"webgl"==f==h instanceof WebGLRenderingContext?h:null});var e=1<b.majorVersion?a.getContext("webgl2",
b):a.getContext("webgl",b);return e?md(e,b):0},md=(a,b)=>{var e=ra(ya),f={handle:e,attributes:b,version:b.majorVersion,ce:a};a.canvas&&(a.canvas.pf=f);ya[e]=f;("undefined"==typeof b.Af||b.Af)&&nd(f);return e},ua=a=>{H=ya[a];u.ctx=W=H?.ce;return!(a&&!W)},nd=a=>{a||=H;if(!a.Kf){a.Kf=!0;var b=a.ce;b.fg=b.getExtension("WEBGL_multi_draw");b.dg=b.getExtension("EXT_polygon_offset_clamp");b.cg=b.getExtension("EXT_clip_control");b.hg=b.getExtension("WEBGL_polygon_mode");Rc(b);Sc(b);Tc(b);b.gf=b.getExtension("WEBGL_draw_instanced_base_vertex_base_instance");
b.kf=b.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance");2<=a.version&&(b.ee=b.getExtension("EXT_disjoint_timer_query_webgl2"));if(2>a.version||!b.ee)b.ee=b.getExtension("EXT_disjoint_timer_query");Uc(b).forEach(e=>{e.includes("lose_context")||e.includes("debug")||b.getExtension(e)})}},H,Y,od=(a,b)=>{W.bindFramebuffer(a,Yc[b])},pd=a=>{W.bindVertexArray(ad[a])},qd=a=>W.clear(a),rd=(a,b,e,f)=>W.clearColor(a,b,e,f),sd=a=>W.clearStencil(a),td=(a,b)=>{for(var e=0;e<a;e++){var f=M[b+
4*e>>2];W.deleteVertexArray(ad[f]);ad[f]=null}},ud=[],vd=(a,b)=>{ld(a,b,"createVertexArray",ad)},wd=()=>{var a=Uc(W);return a=a.concat(a.map(b=>"GL_"+b))},xd=(a,b,e)=>{if(b){var f=void 0;switch(a){case 36346:f=1;break;case 36344:0!=e&&1!=e&&(Y||=1280);return;case 34814:case 36345:f=0;break;case 34466:var h=W.getParameter(34467);f=h?h.length:0;break;case 33309:if(2>H.version){Y||=1282;return}f=wd().length;break;case 33307:case 33308:if(2>H.version){Y||=1280;return}f=33307==a?3:0}if(void 0===f)switch(h=
W.getParameter(a),typeof h){case "number":f=h;break;case "boolean":f=h?1:0;break;case "string":Y||=1280;return;case "object":if(null===h)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:f=0;break;default:Y||=1280;return}else{if(h instanceof Float32Array||h instanceof Uint32Array||h instanceof Int32Array||h instanceof Array){for(a=
0;a<h.length;++a)switch(e){case 0:M[b+4*a>>2]=h[a];break;case 2:U[b+4*a>>2]=h[a];break;case 4:Qa[b+a]=h[a]?1:0}return}try{f=h.name|0}catch(m){Y||=1280;La(`GL_INVALID_ENUM in glGet${e}v: Unknown object returned from WebGL getParameter(${a})! (error: ${m})`);return}}break;default:Y||=1280;La(`GL_INVALID_ENUM in glGet${e}v: Native code calling glGet${e}v(${a}) and it returns ${h} of type ${typeof h}!`);return}switch(e){case 1:e=f;N[b>>2]=e;N[b+4>>2]=(e-N[b>>2])/4294967296;break;case 0:M[b>>2]=f;break;
case 2:U[b>>2]=f;break;case 4:Qa[b]=f?1:0}}else Y||=1281},yd=(a,b)=>xd(a,b,0),zd=(a,b,e)=>{if(e){a=bd[a];b=2>H.version?W.ee.getQueryObjectEXT(a,b):W.getQueryParameter(a,b);var f;"boolean"==typeof b?f=b?1:0:f=b;N[e>>2]=f;N[e+4>>2]=(f-N[e>>2])/4294967296}else Y||=1281},Bd=a=>{var b=Aa(a)+1,e=Ad(b);e&&Ba(a,e,b);return e},Cd=a=>{var b=ed[a];if(!b){switch(a){case 7939:b=Bd(wd().join(" "));break;case 7936:case 7937:case 37445:case 37446:(b=W.getParameter(a))||(Y||=1280);b=b?Bd(b):0;break;case 7938:b=W.getParameter(7938);
var e=`OpenGL ES 2.0 (${b})`;2<=H.version&&(e=`OpenGL ES 3.0 (${b})`);b=Bd(e);break;case 35724:b=W.getParameter(35724);e=b.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==e&&(3==e[1].length&&(e[1]+="0"),b=`OpenGL ES GLSL ES ${e[1]} (${b})`);b=Bd(b);break;default:Y||=1280}ed[a]=b}return b},Dd=(a,b)=>{if(2>H.version)return Y||=1282,0;var e=fd[a];if(e)return 0>b||b>=e.length?(Y||=1281,0):e[b];switch(a){case 7939:return e=wd().map(Bd),e=fd[a]=e,0>b||b>=e.length?(Y||=1281,0):e[b];default:return Y||=
1280,0}},Ed=a=>"]"==a.slice(-1)&&a.lastIndexOf("["),Fd=a=>{a-=5120;return 0==a?Qa:1==a?Ra:2==a?Sa:4==a?M:6==a?U:5==a||28922==a||28520==a||30779==a||30782==a?N:Ta},Gd=(a,b,e,f,h)=>{a=Fd(a);b=f*((hd||e)*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[b-6402]||1)*a.BYTES_PER_ELEMENT+gd-1&-gd);return a.subarray(h>>>31-Math.clz32(a.BYTES_PER_ELEMENT),h+b>>>31-Math.clz32(a.BYTES_PER_ELEMENT))},Z=a=>{var b=W.yf;if(b){var e=b.He[a];"number"==typeof e&&(b.He[a]=e=W.getUniformLocation(b,b.mf[a]+
(0<e?`[${e}]`:"")));return e}Y||=1282},Hd=[],Id=[],Jd={},Ld=()=>{if(!Kd){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Ca||"./this.program"},b;for(b in Jd)void 0===Jd[b]?delete a[b]:a[b]=Jd[b];var e=[];for(b in a)e.push(`${b}=${a[b]}`);Kd=e}return Kd},Kd,Md=[null,[],[]],Nd=Array(256),Od=0;256>Od;++Od)Nd[Od]=String.fromCharCode(Od);yb=Nd;
(()=>{let a=Hb.prototype;Object.assign(a,{isAliasOf:function(e){if(!(this instanceof Hb&&e instanceof Hb))return!1;var f=this.Fd.Qd.Ld,h=this.Fd.Md;e.Fd=e.Fd;var m=e.Fd.Qd.Ld;for(e=e.Fd.Md;f.Wd;)h=f.Ie(h),f=f.Wd;for(;m.Wd;)e=m.Ie(e),m=m.Wd;return f===m&&h===e},clone:function(){this.Fd.Md||Cb(this);if(this.Fd.Ge)return this.Fd.count.value+=1,this;var e=Fb,f=Object,h=f.create,m=Object.getPrototypeOf(this),n=this.Fd;e=e(h.call(f,m,{Fd:{value:{count:n.count,Fe:n.Fe,Ge:n.Ge,Md:n.Md,Qd:n.Qd,Rd:n.Rd,ae:n.ae}}}));
e.Fd.count.value+=1;e.Fd.Fe=!1;return e},["delete"](){this.Fd.Md||Cb(this);if(this.Fd.Fe&&!this.Fd.Ge)throw new V("Object already scheduled for deletion");Eb(this);var e=this.Fd;--e.count.value;0===e.count.value&&(e.Rd?e.ae.fe(e.Rd):e.Qd.Ld.fe(e.Md));this.Fd.Ge||(this.Fd.Rd=void 0,this.Fd.Md=void 0)},isDeleted:function(){return!this.Fd.Md},deleteLater:function(){this.Fd.Md||Cb(this);if(this.Fd.Fe&&!this.Fd.Ge)throw new V("Object already scheduled for deletion");Gb.push(this);this.Fd.Fe=!0;return this}});
const b=Symbol.dispose;b&&(a[b]=a["delete"])})();
Object.assign(cc.prototype,{Ff(a){this.lf&&(a=this.lf(a));return a},ff(a){this.fe?.(a)},Yd:8,readValueFromPointer:ob,fromWireType:function(a){function b(){return this.Re?bc(this.Ld.ze,{Qd:this.Of,Md:e,ae:this,Rd:a}):bc(this.Ld.ze,{Qd:this,Md:a})}var e=this.Ff(a);if(!e)return this.ff(a),null;var f=ac(this.Ld,e);if(void 0!==f){if(0===f.Fd.count.value)return f.Fd.Md=e,f.Fd.Rd=a,f.clone();f=f.clone();this.ff(a);return f}f=this.Ld.Ef(e);f=Jb[f];if(!f)return b.call(this);f=this.Qe?f.wf:f.pointerType;var h=
Zb(e,this.Ld,f.Ld);return null===h?b.call(this):this.Re?bc(f.Ld.ze,{Qd:f,Md:h,ae:this,Rd:a}):bc(f.Ld.ze,{Qd:f,Md:h})}});vc.push(0,1,void 0,1,null,1,!0,1,!1,1);u.count_emval_handles=()=>vc.length/2-5-uc.length;for(let a=0;32>a;++a)ud.push(Array(a));for(var Pd=new Float32Array(288),Qd=0;288>=Qd;++Qd)Hd[Qd]=Pd.subarray(0,Qd);var Rd=new Int32Array(288);for(Qd=0;288>=Qd;++Qd)Id[Qd]=Rd.subarray(0,Qd);
var he={S:function(){return 0},ib:()=>{},kb:function(){return 0},fb:()=>{},gb:()=>{},T:function(){},hb:()=>{},lb:()=>db(""),E:a=>{var b=mb[a];delete mb[a];var e=b.af,f=b.fe,h=b.hf,m=h.map(n=>n.If).concat(h.map(n=>n.Sf));wb([a],m,n=>{var t={};h.forEach((v,x)=>{var F=n[x],I=v.Gf,O=v.Hf,X=n[x+h.length],ha=v.Rf,ea=v.Tf;t[v.Bf]={read:S=>F.fromWireType(I(O,S)),write:(S,za)=>{var ma=[];ha(ea,S,X.toWireType(ma,za));nb(ma)},optional:n[x].optional}});return[{name:b.name,fromWireType:v=>{var x={},F;for(F in t)x[F]=
t[F].read(v);f(v);return x},toWireType:(v,x)=>{for(var F in t)if(!(F in x||t[F].optional))throw new TypeError(`Missing field: "${F}"`);var I=e();for(F in t)t[F].write(I,x[F]);null!==v&&v.push(f,I);return I},Yd:8,readValueFromPointer:ob,$d:f}]})},Q:(a,b,e)=>{b=zb(b);vb(a,{name:b,fromWireType:f=>f,toWireType:function(f,h){if("bigint"!=typeof h&&"number"!=typeof h)throw new TypeError(`Cannot convert "${xb(h)}" to ${this.name}`);"number"==typeof h&&(h=BigInt(h));return h},Yd:8,readValueFromPointer:Bb(b,
e,-1==b.indexOf("u")),$d:null})},Ua:(a,b,e,f)=>{b=zb(b);vb(a,{name:b,fromWireType:function(h){return!!h},toWireType:function(h,m){return m?e:f},Yd:8,readValueFromPointer:function(h){return this.fromWireType(Ra[h])},$d:null})},m:(a,b,e,f,h,m,n,t,v,x,F,I,O)=>{F=zb(F);m=fc(h,m);t&&=fc(n,t);x&&=fc(v,x);O=fc(I,O);var X=Mb(F);Lb(X,function(){kc(`Cannot construct ${F} due to unbound types`,[f])});wb([a,b,e],f?[f]:[],ha=>{ha=ha[0];if(f){var ea=ha.Ld;var S=ea.ze}else S=Hb.prototype;ha=Ib(F,function(...$a){if(Object.getPrototypeOf(this)!==
za)throw new V(`Use 'new' to construct ${F}`);if(void 0===ma.le)throw new V(`${F} has no accessible constructor`);var va=ma.le[$a.length];if(void 0===va)throw new V(`Tried to invoke ctor of ${F} with invalid number of parameters (${$a.length}) - expected (${Object.keys(ma.le).toString()}) parameters instead!`);return va.apply(this,$a)});var za=Object.create(S,{constructor:{value:ha}});ha.prototype=za;var ma=new Tb(F,ha,za,O,ea,m,t,x);if(ma.Wd){var Oa;(Oa=ma.Wd).Je??(Oa.Je=[]);ma.Wd.Je.push(ma)}ea=
new cc(F,ma,!0,!1,!1);Oa=new cc(F+"*",ma,!1,!1,!1);S=new cc(F+" const*",ma,!1,!0,!1);Jb[a]={pointerType:Oa,wf:S};dc(X,ha);return[ea,Oa,S]})},h:(a,b,e,f,h,m,n)=>{var t=nc(e,f);b=zb(b);b=tc(b);m=fc(h,m);wb([],[a],v=>{function x(){kc(`Cannot call ${F} due to unbound types`,t)}v=v[0];var F=`${v.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);var I=v.Ld.constructor;void 0===I[b]?(x.ke=e-1,I[b]=x):(Kb(I,b,F),I[b].Sd[e-1]=x);wb([],t,O=>{O=[O[0],null].concat(O.slice(1));O=mc(F,O,null,m,n);void 0===
I[b].Sd?(O.ke=e-1,I[b]=O):I[b].Sd[e-1]=O;if(v.Ld.Je)for(const X of v.Ld.Je)X.constructor.hasOwnProperty(b)||(X.constructor[b]=O);return[]});return[]})},A:(a,b,e,f,h,m)=>{var n=nc(b,e);h=fc(f,h);wb([],[a],t=>{t=t[0];var v=`constructor ${t.name}`;void 0===t.Ld.le&&(t.Ld.le=[]);if(void 0!==t.Ld.le[b-1])throw new V(`Cannot register multiple constructors with identical number of parameters (${b-1}) for class '${t.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);
t.Ld.le[b-1]=()=>{kc(`Cannot construct ${t.name} due to unbound types`,n)};wb([],n,x=>{x.splice(1,0,null);t.Ld.le[b-1]=mc(v,x,null,h,m);return[]});return[]})},a:(a,b,e,f,h,m,n,t)=>{var v=nc(e,f);b=zb(b);b=tc(b);m=fc(h,m);wb([],[a],x=>{function F(){kc(`Cannot call ${I} due to unbound types`,v)}x=x[0];var I=`${x.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);t&&x.Ld.Pf.push(b);var O=x.Ld.ze,X=O[b];void 0===X||void 0===X.Sd&&X.className!==x.name&&X.ke===e-2?(F.ke=e-2,F.className=x.name,O[b]=
F):(Kb(O,b,I),O[b].Sd[e-2]=F);wb([],v,ha=>{ha=mc(I,ha,x,m,n);void 0===O[b].Sd?(ha.ke=e-2,O[b]=ha):O[b].Sd[e-2]=ha;return[]});return[]})},u:(a,b,e)=>{a=zb(a);wb([],[b],f=>{f=f[0];u[a]=f.fromWireType(e);return[]})},Sa:a=>vb(a,yc),l:(a,b,e,f)=>{function h(){}b=zb(b);h.values={};vb(a,{name:b,constructor:h,fromWireType:function(m){return this.constructor.values[m]},toWireType:(m,n)=>n.value,Yd:8,readValueFromPointer:zc(b,e,f),$d:null});Lb(b,h)},c:(a,b,e)=>{var f=Ac(a,"enum");b=zb(b);a=f.constructor;f=
Object.create(f.constructor.prototype,{value:{value:e},constructor:{value:Ib(`${f.name}_${b}`,function(){})}});a.values[e]=f;a[b]=f},P:(a,b,e)=>{b=zb(b);vb(a,{name:b,fromWireType:f=>f,toWireType:(f,h)=>h,Yd:8,readValueFromPointer:Bc(b,e),$d:null})},y:(a,b,e,f,h,m)=>{var n=nc(b,e);a=zb(a);a=tc(a);h=fc(f,h);Lb(a,function(){kc(`Cannot call ${a} due to unbound types`,n)},b-1);wb([],n,t=>{t=[t[0],null].concat(t.slice(1));dc(a,mc(a,t,null,h,m),b-1);return[]})},H:(a,b,e,f,h)=>{b=zb(b);-1===h&&(h=4294967295);
h=t=>t;if(0===f){var m=32-8*e;h=t=>t<<m>>>m}var n=b.includes("unsigned")?function(t,v){return v>>>0}:function(t,v){return v};vb(a,{name:b,fromWireType:h,toWireType:n,Yd:8,readValueFromPointer:Bb(b,e,0!==f),$d:null})},w:(a,b,e)=>{function f(m){return new h(Qa.buffer,N[m+4>>2],N[m>>2])}var h=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][b];e=zb(e);vb(a,{name:e,fromWireType:f,Yd:8,readValueFromPointer:f},{Jf:!0})},t:(a,b,e,
f,h,m,n,t,v,x,F,I)=>{e=zb(e);m=fc(h,m);t=fc(n,t);x=fc(v,x);I=fc(F,I);wb([a],[b],O=>{O=O[0];return[new cc(e,O.Ld,!1,!1,!0,O,f,m,t,x,I)]})},Ta:(a,b)=>{b=zb(b);vb(a,{name:b,fromWireType:function(e){for(var f=N[e>>2],h=e+4,m,n=h,t=0;t<=f;++t){var v=h+t;if(t==f||0==Ra[v])n=n?lb(Ra,n,v-n):"",void 0===m?m=n:(m+=String.fromCharCode(0),m+=n),n=v+1}ic(e);return m},toWireType:function(e,f){f instanceof ArrayBuffer&&(f=new Uint8Array(f));var h="string"==typeof f;if(!(h||ArrayBuffer.isView(f)&&1==f.BYTES_PER_ELEMENT))throw new V("Cannot pass non-string to std::string");
var m=h?Aa(f):f.length;var n=Ad(4+m+1),t=n+4;N[n>>2]=m;h?Ba(f,t,m+1):Ra.set(f,t);null!==e&&e.push(ic,n);return n},Yd:8,readValueFromPointer:ob,$d(e){ic(e)}})},M:(a,b,e)=>{e=zb(e);if(2===b){var f=Dc;var h=Ec;var m=Fc;var n=t=>Ta[t>>1]}else 4===b&&(f=Gc,h=Hc,m=Ic,n=t=>N[t>>2]);vb(a,{name:e,fromWireType:t=>{for(var v=N[t>>2],x,F=t+4,I=0;I<=v;++I){var O=t+4+I*b;if(I==v||0==n(O))F=f(F,O-F),void 0===x?x=F:(x+=String.fromCharCode(0),x+=F),F=O+b}ic(t);return x},toWireType:(t,v)=>{if("string"!=typeof v)throw new V(`Cannot pass non-string to C++ string type ${e}`);
var x=m(v),F=Ad(4+x+b);N[F>>2]=x/b;h(v,F+4,x+b);null!==t&&t.push(ic,F);return F},Yd:8,readValueFromPointer:ob,$d(t){ic(t)}})},F:(a,b,e,f,h,m)=>{mb[a]={name:zb(b),af:fc(e,f),fe:fc(h,m),hf:[]}},e:(a,b,e,f,h,m,n,t,v,x)=>{mb[a].hf.push({Bf:zb(b),If:e,Gf:fc(f,h),Hf:m,Sf:n,Rf:fc(t,v),Tf:x})},Va:(a,b)=>{b=zb(b);vb(a,{eg:!0,name:b,Yd:0,fromWireType:()=>{},toWireType:()=>{}})},Za:()=>{throw Infinity;},B:(a,b,e)=>{a=xc(a);b=Ac(b,"emval::as");return Jc(b,e,a)},K:(a,b,e,f)=>{a=Kc[a];b=xc(b);return a(null,b,e,
f)},o:(a,b,e,f,h)=>{a=Kc[a];b=xc(b);e=Mc(e);return a(b,b[e],f,h)},b:wc,J:a=>{if(0===a)return Xb(Nc());a=Mc(a);return Xb(Nc()[a])},n:(a,b,e)=>{var f=Pc(a,b),h=f.shift();a--;var m=Array(a);b=`methodCaller<(${f.map(n=>n.name).join(", ")}) => ${h.name}>`;return Oc(Ib(b,(n,t,v,x)=>{for(var F=0,I=0;I<a;++I)m[I]=f[I].readValueFromPointer(x+F),F+=f[I].Yd;n=1===e?Qc(t,m):t.apply(n,m);return Jc(h,v,n)}))},z:(a,b)=>{a=xc(a);b=xc(b);return Xb(a[b])},G:a=>{9<a&&(vc[a+1]+=1)},D:()=>Xb([]),d:a=>Xb(Mc(a)),x:()=>
Xb({}),Ra:a=>{a=xc(a);return!a},j:a=>{var b=xc(a);nb(b);wc(a)},f:(a,b,e)=>{a=xc(a);b=xc(b);e=xc(e);a[b]=e},g:(a,b)=>{a=Ac(a,"_emval_take_value");a=a.readValueFromPointer(b);return Xb(a)},ab:function(){return-52},bb:function(){},mb:(a,b,e,f)=>{var h=(new Date).getFullYear(),m=(new Date(h,0,1)).getTimezoneOffset();h=(new Date(h,6,1)).getTimezoneOffset();N[a>>2]=60*Math.max(m,h);M[b>>2]=Number(m!=h);b=n=>{var t=Math.abs(n);return`UTC${0<=n?"-":"+"}${String(Math.floor(t/60)).padStart(2,"0")}${String(t%
60).padStart(2,"0")}`};a=b(m);b=b(h);h<m?(Ba(a,e,17),Ba(b,f,17)):(Ba(a,f,17),Ba(b,e,17))},Ya:function(a,b,e){if(!(0<=a&&3>=a))return 28;Ua[e>>3]=BigInt(Math.round(1E6*(0===a?Date.now():performance.now())));return 0},Xc:a=>W.activeTexture(a),Yc:(a,b)=>{W.attachShader(Xc[a],$c[b])},Ab:(a,b)=>{W.beginQuery(a,bd[b])},ub:(a,b)=>{W.ee.beginQueryEXT(a,bd[b])},Zc:(a,b,e)=>{W.bindAttribLocation(Xc[a],b,e?lb(Ra,e):"")},_c:(a,b)=>{35051==a?W.Ye=b:35052==a&&(W.ye=b);W.bindBuffer(a,Wc[b])},Zb:od,_b:(a,b)=>{W.bindRenderbuffer(a,
Zc[b])},Hb:(a,b)=>{W.bindSampler(a,cd[b])},$c:(a,b)=>{W.bindTexture(a,sa[b])},tc:pd,wc:pd,ad:(a,b,e,f)=>W.blendColor(a,b,e,f),bd:a=>W.blendEquation(a),cd:(a,b)=>W.blendFunc(a,b),Tb:(a,b,e,f,h,m,n,t,v,x)=>W.blitFramebuffer(a,b,e,f,h,m,n,t,v,x),dd:(a,b,e,f)=>{2<=H.version?e&&b?W.bufferData(a,Ra,f,e,b):W.bufferData(a,b,f):W.bufferData(a,e?Ra.subarray(e,e+b):b,f)},ed:(a,b,e,f)=>{2<=H.version?e&&W.bufferSubData(a,b,Ra,f,e):W.bufferSubData(a,b,Ra.subarray(f,f+e))},$b:a=>W.checkFramebufferStatus(a),fd:qd,
gd:rd,hd:sd,Qb:(a,b,e)=>{e=Number(e);return W.clientWaitSync(dd[a],b,e)},id:(a,b,e,f)=>{W.colorMask(!!a,!!b,!!e,!!f)},jd:a=>{W.compileShader($c[a])},kd:(a,b,e,f,h,m,n,t)=>{2<=H.version?W.ye||!n?W.compressedTexImage2D(a,b,e,f,h,m,n,t):W.compressedTexImage2D(a,b,e,f,h,m,Ra,t,n):W.compressedTexImage2D(a,b,e,f,h,m,Ra.subarray(t,t+n))},ld:(a,b,e,f,h,m,n,t,v)=>{2<=H.version?W.ye||!t?W.compressedTexSubImage2D(a,b,e,f,h,m,n,t,v):W.compressedTexSubImage2D(a,b,e,f,h,m,n,Ra,v,t):W.compressedTexSubImage2D(a,
b,e,f,h,m,n,Ra.subarray(v,v+t))},Sb:(a,b,e,f,h)=>W.copyBufferSubData(a,b,e,f,h),md:(a,b,e,f,h,m,n,t)=>W.copyTexSubImage2D(a,b,e,f,h,m,n,t),nd:()=>{var a=ra(Xc),b=W.createProgram();b.name=a;b.Ue=b.Se=b.Te=0;b.bf=1;Xc[a]=b;return a},od:a=>{var b=ra($c);$c[b]=W.createShader(a);return b},pd:a=>W.cullFace(a),qd:(a,b)=>{for(var e=0;e<a;e++){var f=M[b+4*e>>2],h=Wc[f];h&&(W.deleteBuffer(h),h.name=0,Wc[f]=null,f==W.Ye&&(W.Ye=0),f==W.ye&&(W.ye=0))}},ac:(a,b)=>{for(var e=0;e<a;++e){var f=M[b+4*e>>2],h=Yc[f];
h&&(W.deleteFramebuffer(h),h.name=0,Yc[f]=null)}},rd:a=>{if(a){var b=Xc[a];b?(W.deleteProgram(b),b.name=0,Xc[a]=null):Y||=1281}},Cb:(a,b)=>{for(var e=0;e<a;e++){var f=M[b+4*e>>2],h=bd[f];h&&(W.deleteQuery(h),bd[f]=null)}},vb:(a,b)=>{for(var e=0;e<a;e++){var f=M[b+4*e>>2],h=bd[f];h&&(W.ee.deleteQueryEXT(h),bd[f]=null)}},bc:(a,b)=>{for(var e=0;e<a;e++){var f=M[b+4*e>>2],h=Zc[f];h&&(W.deleteRenderbuffer(h),h.name=0,Zc[f]=null)}},Ib:(a,b)=>{for(var e=0;e<a;e++){var f=M[b+4*e>>2],h=cd[f];h&&(W.deleteSampler(h),
h.name=0,cd[f]=null)}},sd:a=>{if(a){var b=$c[a];b?(W.deleteShader(b),$c[a]=null):Y||=1281}},Rb:a=>{if(a){var b=dd[a];b?(W.deleteSync(b),b.name=0,dd[a]=null):Y||=1281}},td:(a,b)=>{for(var e=0;e<a;e++){var f=M[b+4*e>>2],h=sa[f];h&&(W.deleteTexture(h),h.name=0,sa[f]=null)}},uc:td,xc:td,X:a=>{W.depthMask(!!a)},Y:a=>W.disable(a),Z:a=>{W.disableVertexAttribArray(a)},_:(a,b,e)=>{W.drawArrays(a,b,e)},rc:(a,b,e,f)=>{W.drawArraysInstanced(a,b,e,f)},oc:(a,b,e,f,h)=>{W.gf.drawArraysInstancedBaseInstanceWEBGL(a,
b,e,f,h)},mc:(a,b)=>{for(var e=ud[a],f=0;f<a;f++)e[f]=M[b+4*f>>2];W.drawBuffers(e)},$:(a,b,e,f)=>{W.drawElements(a,b,e,f)},sc:(a,b,e,f,h)=>{W.drawElementsInstanced(a,b,e,f,h)},pc:(a,b,e,f,h,m,n)=>{W.gf.drawElementsInstancedBaseVertexBaseInstanceWEBGL(a,b,e,f,h,m,n)},gc:(a,b,e,f,h,m)=>{W.drawElements(a,f,h,m)},aa:a=>W.enable(a),ba:a=>{W.enableVertexAttribArray(a)},Db:a=>W.endQuery(a),wb:a=>{W.ee.endQueryEXT(a)},Nb:(a,b)=>(a=W.fenceSync(a,b))?(b=ra(dd),a.name=b,dd[b]=a,b):0,ca:()=>W.finish(),da:()=>
W.flush(),cc:(a,b,e,f)=>{W.framebufferRenderbuffer(a,b,e,Zc[f])},dc:(a,b,e,f,h)=>{W.framebufferTexture2D(a,b,e,sa[f],h)},ea:a=>W.frontFace(a),fa:(a,b)=>{ld(a,b,"createBuffer",Wc)},ec:(a,b)=>{ld(a,b,"createFramebuffer",Yc)},Eb:(a,b)=>{ld(a,b,"createQuery",bd)},xb:(a,b)=>{for(var e=0;e<a;e++){var f=W.ee.createQueryEXT();if(!f){for(Y||=1282;e<a;)M[b+4*e++>>2]=0;break}var h=ra(bd);f.name=h;bd[h]=f;M[b+4*e>>2]=h}},fc:(a,b)=>{ld(a,b,"createRenderbuffer",Zc)},Jb:(a,b)=>{ld(a,b,"createSampler",cd)},ga:(a,
b)=>{ld(a,b,"createTexture",sa)},qc:vd,yc:vd,Vb:a=>W.generateMipmap(a),ha:(a,b,e)=>{e?M[e>>2]=W.getBufferParameter(a,b):Y||=1281},ia:()=>{var a=W.getError()||Y;Y=0;return a},ja:(a,b)=>xd(a,b,2),Wb:(a,b,e,f)=>{a=W.getFramebufferAttachmentParameter(a,b,e);if(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)a=a.name|0;M[f>>2]=a},ka:yd,la:(a,b,e,f)=>{a=W.getProgramInfoLog(Xc[a]);null===a&&(a="(unknown error)");b=0<b&&f?Ba(a,f,b):0;e&&(M[e>>2]=b)},ma:(a,b,e)=>{if(e)if(a>=Vc)Y||=1281;else if(a=
Xc[a],35716==b)a=W.getProgramInfoLog(a),null===a&&(a="(unknown error)"),M[e>>2]=a.length+1;else if(35719==b){if(!a.Ue){var f=W.getProgramParameter(a,35718);for(b=0;b<f;++b)a.Ue=Math.max(a.Ue,W.getActiveUniform(a,b).name.length+1)}M[e>>2]=a.Ue}else if(35722==b){if(!a.Se)for(f=W.getProgramParameter(a,35721),b=0;b<f;++b)a.Se=Math.max(a.Se,W.getActiveAttrib(a,b).name.length+1);M[e>>2]=a.Se}else if(35381==b){if(!a.Te)for(f=W.getProgramParameter(a,35382),b=0;b<f;++b)a.Te=Math.max(a.Te,W.getActiveUniformBlockName(a,
b).length+1);M[e>>2]=a.Te}else M[e>>2]=W.getProgramParameter(a,b);else Y||=1281},rb:zd,sb:zd,Fb:(a,b,e)=>{if(e){a=W.getQueryParameter(bd[a],b);var f;"boolean"==typeof a?f=a?1:0:f=a;M[e>>2]=f}else Y||=1281},yb:(a,b,e)=>{if(e){a=W.ee.getQueryObjectEXT(bd[a],b);var f;"boolean"==typeof a?f=a?1:0:f=a;M[e>>2]=f}else Y||=1281},Gb:(a,b,e)=>{e?M[e>>2]=W.getQuery(a,b):Y||=1281},zb:(a,b,e)=>{e?M[e>>2]=W.ee.getQueryEXT(a,b):Y||=1281},Xb:(a,b,e)=>{e?M[e>>2]=W.getRenderbufferParameter(a,b):Y||=1281},na:(a,b,e,
f)=>{a=W.getShaderInfoLog($c[a]);null===a&&(a="(unknown error)");b=0<b&&f?Ba(a,f,b):0;e&&(M[e>>2]=b)},ob:(a,b,e,f)=>{a=W.getShaderPrecisionFormat(a,b);M[e>>2]=a.rangeMin;M[e+4>>2]=a.rangeMax;M[f>>2]=a.precision},oa:(a,b,e)=>{e?35716==b?(a=W.getShaderInfoLog($c[a]),null===a&&(a="(unknown error)"),M[e>>2]=a?a.length+1:0):35720==b?(a=W.getShaderSource($c[a]),M[e>>2]=a?a.length+1:0):M[e>>2]=W.getShaderParameter($c[a],b):Y||=1281},pa:Cd,vc:Dd,qa:(a,b)=>{b=b?lb(Ra,b):"";if(a=Xc[a]){var e=a,f=e.He,h=e.nf,
m;if(!f){e.He=f={};e.mf={};var n=W.getProgramParameter(e,35718);for(m=0;m<n;++m){var t=W.getActiveUniform(e,m);var v=t.name;t=t.size;var x=Ed(v);x=0<x?v.slice(0,x):v;var F=e.bf;e.bf+=t;h[x]=[t,F];for(v=0;v<t;++v)f[F]=v,e.mf[F++]=x}}e=a.He;f=0;h=b;m=Ed(b);0<m&&(f=parseInt(b.slice(m+1))>>>0,h=b.slice(0,m));if((h=a.nf[h])&&f<h[0]&&(f+=h[1],e[f]=e[f]||W.getUniformLocation(a,b)))return f}else Y||=1281;return-1},pb:(a,b,e)=>{for(var f=ud[b],h=0;h<b;h++)f[h]=M[e+4*h>>2];W.invalidateFramebuffer(a,f)},qb:(a,
b,e,f,h,m,n)=>{for(var t=ud[b],v=0;v<b;v++)t[v]=M[e+4*v>>2];W.invalidateSubFramebuffer(a,t,f,h,m,n)},Ob:a=>W.isSync(dd[a]),ra:a=>(a=sa[a])?W.isTexture(a):0,sa:a=>W.lineWidth(a),ta:a=>{a=Xc[a];W.linkProgram(a);a.He=0;a.nf={}},kc:(a,b,e,f,h,m)=>{W.kf.multiDrawArraysInstancedBaseInstanceWEBGL(a,M,b>>2,M,e>>2,M,f>>2,N,h>>2,m)},lc:(a,b,e,f,h,m,n,t)=>{W.kf.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(a,M,b>>2,e,M,f>>2,M,h>>2,M,m>>2,N,n>>2,t)},ua:(a,b)=>{3317==a?gd=b:3314==a&&(hd=b);W.pixelStorei(a,
b)},tb:(a,b)=>{W.ee.queryCounterEXT(bd[a],b)},nc:a=>W.readBuffer(a),va:(a,b,e,f,h,m,n)=>{if(2<=H.version)if(W.Ye)W.readPixels(a,b,e,f,h,m,n);else{var t=Fd(m);n>>>=31-Math.clz32(t.BYTES_PER_ELEMENT);W.readPixels(a,b,e,f,h,m,t,n)}else(t=Gd(m,h,e,f,n))?W.readPixels(a,b,e,f,h,m,t):Y||=1280},Yb:(a,b,e,f)=>W.renderbufferStorage(a,b,e,f),Ub:(a,b,e,f,h)=>W.renderbufferStorageMultisample(a,b,e,f,h),Kb:(a,b,e)=>{W.samplerParameterf(cd[a],b,e)},Lb:(a,b,e)=>{W.samplerParameteri(cd[a],b,e)},Mb:(a,b,e)=>{W.samplerParameteri(cd[a],
b,M[e>>2])},wa:(a,b,e,f)=>W.scissor(a,b,e,f),xa:(a,b,e,f)=>{for(var h="",m=0;m<b;++m){var n=(n=N[e+4*m>>2])?lb(Ra,n,f?N[f+4*m>>2]:void 0):"";h+=n}W.shaderSource($c[a],h)},ya:(a,b,e)=>W.stencilFunc(a,b,e),za:(a,b,e,f)=>W.stencilFuncSeparate(a,b,e,f),Aa:a=>W.stencilMask(a),Ba:(a,b)=>W.stencilMaskSeparate(a,b),Ca:(a,b,e)=>W.stencilOp(a,b,e),Da:(a,b,e,f)=>W.stencilOpSeparate(a,b,e,f),Ea:(a,b,e,f,h,m,n,t,v)=>{if(2<=H.version){if(W.ye){W.texImage2D(a,b,e,f,h,m,n,t,v);return}if(v){var x=Fd(t);v>>>=31-Math.clz32(x.BYTES_PER_ELEMENT);
W.texImage2D(a,b,e,f,h,m,n,t,x,v);return}}x=v?Gd(t,n,f,h,v):null;W.texImage2D(a,b,e,f,h,m,n,t,x)},Fa:(a,b,e)=>W.texParameterf(a,b,e),Ga:(a,b,e)=>{W.texParameterf(a,b,U[e>>2])},Ha:(a,b,e)=>W.texParameteri(a,b,e),Ia:(a,b,e)=>{W.texParameteri(a,b,M[e>>2])},hc:(a,b,e,f,h)=>W.texStorage2D(a,b,e,f,h),Ja:(a,b,e,f,h,m,n,t,v)=>{if(2<=H.version){if(W.ye){W.texSubImage2D(a,b,e,f,h,m,n,t,v);return}if(v){var x=Fd(t);W.texSubImage2D(a,b,e,f,h,m,n,t,x,v>>>31-Math.clz32(x.BYTES_PER_ELEMENT));return}}v=v?Gd(t,n,h,
m,v):null;W.texSubImage2D(a,b,e,f,h,m,n,t,v)},Ka:(a,b)=>{W.uniform1f(Z(a),b)},La:(a,b,e)=>{if(2<=H.version)b&&W.uniform1fv(Z(a),U,e>>2,b);else{if(288>=b)for(var f=Hd[b],h=0;h<b;++h)f[h]=U[e+4*h>>2];else f=U.subarray(e>>2,e+4*b>>2);W.uniform1fv(Z(a),f)}},Tc:(a,b)=>{W.uniform1i(Z(a),b)},Uc:(a,b,e)=>{if(2<=H.version)b&&W.uniform1iv(Z(a),M,e>>2,b);else{if(288>=b)for(var f=Id[b],h=0;h<b;++h)f[h]=M[e+4*h>>2];else f=M.subarray(e>>2,e+4*b>>2);W.uniform1iv(Z(a),f)}},Vc:(a,b,e)=>{W.uniform2f(Z(a),b,e)},Wc:(a,
b,e)=>{if(2<=H.version)b&&W.uniform2fv(Z(a),U,e>>2,2*b);else{if(144>=b){b*=2;for(var f=Hd[b],h=0;h<b;h+=2)f[h]=U[e+4*h>>2],f[h+1]=U[e+(4*h+4)>>2]}else f=U.subarray(e>>2,e+8*b>>2);W.uniform2fv(Z(a),f)}},Sc:(a,b,e)=>{W.uniform2i(Z(a),b,e)},Rc:(a,b,e)=>{if(2<=H.version)b&&W.uniform2iv(Z(a),M,e>>2,2*b);else{if(144>=b){b*=2;for(var f=Id[b],h=0;h<b;h+=2)f[h]=M[e+4*h>>2],f[h+1]=M[e+(4*h+4)>>2]}else f=M.subarray(e>>2,e+8*b>>2);W.uniform2iv(Z(a),f)}},Qc:(a,b,e,f)=>{W.uniform3f(Z(a),b,e,f)},Pc:(a,b,e)=>{if(2<=
H.version)b&&W.uniform3fv(Z(a),U,e>>2,3*b);else{if(96>=b){b*=3;for(var f=Hd[b],h=0;h<b;h+=3)f[h]=U[e+4*h>>2],f[h+1]=U[e+(4*h+4)>>2],f[h+2]=U[e+(4*h+8)>>2]}else f=U.subarray(e>>2,e+12*b>>2);W.uniform3fv(Z(a),f)}},Oc:(a,b,e,f)=>{W.uniform3i(Z(a),b,e,f)},Nc:(a,b,e)=>{if(2<=H.version)b&&W.uniform3iv(Z(a),M,e>>2,3*b);else{if(96>=b){b*=3;for(var f=Id[b],h=0;h<b;h+=3)f[h]=M[e+4*h>>2],f[h+1]=M[e+(4*h+4)>>2],f[h+2]=M[e+(4*h+8)>>2]}else f=M.subarray(e>>2,e+12*b>>2);W.uniform3iv(Z(a),f)}},Mc:(a,b,e,f,h)=>{W.uniform4f(Z(a),
b,e,f,h)},Lc:(a,b,e)=>{if(2<=H.version)b&&W.uniform4fv(Z(a),U,e>>2,4*b);else{if(72>=b){var f=Hd[4*b],h=U;e>>=2;b*=4;for(var m=0;m<b;m+=4){var n=e+m;f[m]=h[n];f[m+1]=h[n+1];f[m+2]=h[n+2];f[m+3]=h[n+3]}}else f=U.subarray(e>>2,e+16*b>>2);W.uniform4fv(Z(a),f)}},zc:(a,b,e,f,h)=>{W.uniform4i(Z(a),b,e,f,h)},Ac:(a,b,e)=>{if(2<=H.version)b&&W.uniform4iv(Z(a),M,e>>2,4*b);else{if(72>=b){b*=4;for(var f=Id[b],h=0;h<b;h+=4)f[h]=M[e+4*h>>2],f[h+1]=M[e+(4*h+4)>>2],f[h+2]=M[e+(4*h+8)>>2],f[h+3]=M[e+(4*h+12)>>2]}else f=
M.subarray(e>>2,e+16*b>>2);W.uniform4iv(Z(a),f)}},Bc:(a,b,e,f)=>{if(2<=H.version)b&&W.uniformMatrix2fv(Z(a),!!e,U,f>>2,4*b);else{if(72>=b){b*=4;for(var h=Hd[b],m=0;m<b;m+=4)h[m]=U[f+4*m>>2],h[m+1]=U[f+(4*m+4)>>2],h[m+2]=U[f+(4*m+8)>>2],h[m+3]=U[f+(4*m+12)>>2]}else h=U.subarray(f>>2,f+16*b>>2);W.uniformMatrix2fv(Z(a),!!e,h)}},Cc:(a,b,e,f)=>{if(2<=H.version)b&&W.uniformMatrix3fv(Z(a),!!e,U,f>>2,9*b);else{if(32>=b){b*=9;for(var h=Hd[b],m=0;m<b;m+=9)h[m]=U[f+4*m>>2],h[m+1]=U[f+(4*m+4)>>2],h[m+2]=U[f+
(4*m+8)>>2],h[m+3]=U[f+(4*m+12)>>2],h[m+4]=U[f+(4*m+16)>>2],h[m+5]=U[f+(4*m+20)>>2],h[m+6]=U[f+(4*m+24)>>2],h[m+7]=U[f+(4*m+28)>>2],h[m+8]=U[f+(4*m+32)>>2]}else h=U.subarray(f>>2,f+36*b>>2);W.uniformMatrix3fv(Z(a),!!e,h)}},Dc:(a,b,e,f)=>{if(2<=H.version)b&&W.uniformMatrix4fv(Z(a),!!e,U,f>>2,16*b);else{if(18>=b){var h=Hd[16*b],m=U;f>>=2;b*=16;for(var n=0;n<b;n+=16){var t=f+n;h[n]=m[t];h[n+1]=m[t+1];h[n+2]=m[t+2];h[n+3]=m[t+3];h[n+4]=m[t+4];h[n+5]=m[t+5];h[n+6]=m[t+6];h[n+7]=m[t+7];h[n+8]=m[t+8];h[n+
9]=m[t+9];h[n+10]=m[t+10];h[n+11]=m[t+11];h[n+12]=m[t+12];h[n+13]=m[t+13];h[n+14]=m[t+14];h[n+15]=m[t+15]}}else h=U.subarray(f>>2,f+64*b>>2);W.uniformMatrix4fv(Z(a),!!e,h)}},Ec:a=>{a=Xc[a];W.useProgram(a);W.yf=a},Fc:(a,b)=>W.vertexAttrib1f(a,b),Gc:(a,b)=>{W.vertexAttrib2f(a,U[b>>2],U[b+4>>2])},Hc:(a,b)=>{W.vertexAttrib3f(a,U[b>>2],U[b+4>>2],U[b+8>>2])},Ic:(a,b)=>{W.vertexAttrib4f(a,U[b>>2],U[b+4>>2],U[b+8>>2],U[b+12>>2])},ic:(a,b)=>{W.vertexAttribDivisor(a,b)},jc:(a,b,e,f,h)=>{W.vertexAttribIPointer(a,
b,e,f,h)},Jc:(a,b,e,f,h,m)=>{W.vertexAttribPointer(a,b,e,!!f,h,m)},Kc:(a,b,e,f)=>W.viewport(a,b,e,f),Pb:(a,b,e)=>{e=Number(e);W.waitSync(dd[a],b,e)},_a:a=>{var b=Ra.length;a>>>=0;if(2147483648<a)return!1;for(var e=1;4>=e;e*=2){var f=b*(1+.2/e);f=Math.min(f,a+100663296);a:{f=(Math.min(2147483648,65536*Math.ceil(Math.max(a,f)/65536))-Na.buffer.byteLength+65535)/65536|0;try{Na.grow(f);Xa();var h=1;break a}catch(m){}h=void 0}if(h)return!0}return!1},Wa:()=>H?H.handle:0,db:(a,b)=>{var e=0,f=0,h;for(h of Ld()){var m=
b+e;N[a+f>>2]=m;e+=Ba(h,m,Infinity)+1;f+=4}return 0},eb:(a,b)=>{var e=Ld();N[a>>2]=e.length;a=0;for(var f of e)a+=Aa(f)+1;N[b>>2]=a;return 0},nb:a=>{Da(a,new jb(a))},N:()=>52,$a:function(){return 52},jb:()=>52,cb:function(){return 70},R:(a,b,e,f)=>{for(var h=0,m=0;m<e;m++){var n=N[b>>2],t=N[b+4>>2];b+=8;for(var v=0;v<t;v++){var x=a,F=Ra[n+v],I=Md[x];0===F||10===F?((1===x?Ka:La)(lb(I)),I.length=0):I.push(F)}h+=t}N[f>>2]=h;return 0},vd:od,Xa:qd,ud:rd,Bb:sd,L:yd,O:Cd,Ma:Dd,Na:Sd,i:Td,s:Ud,k:Vd,C:Wd,
W:Xd,V:Yd,U:Zd,I:$d,p:ae,q:be,v:ce,r:de,Qa:ee,Oa:fe,Pa:ge},ie=await (async function(){Ya++;var a={a:he};fb??=u.locateFile?u.locateFile("canvaskit.wasm",Ea):Ea+"canvaskit.wasm";try{return ie=(await ib(a)).instance.exports,Na=ie.wd,Xa(),ec=ie.zd,Ya--,0==Ya&&cb&&(a=cb,cb=null,a()),ie}catch(b){return ia(b),Promise.reject(b)}}()),hc=ie.yd,Ad=u._malloc=ie.Ad,ic=u._free=ie.Bd,je=ie.Cd,ke=ie.Dd,le=ie.Ed;
function Vd(a,b,e,f){var h=le();try{return ec.get(a)(b,e,f)}catch(m){ke(h);if(m!==m+0)throw m;je(1,0)}}function ee(a,b,e,f,h,m){var n=le();try{ec.get(a)(b,e,f,h,m)}catch(t){ke(n);if(t!==t+0)throw t;je(1,0)}}function de(a,b,e,f,h){var m=le();try{ec.get(a)(b,e,f,h)}catch(n){ke(m);if(n!==n+0)throw n;je(1,0)}}function be(a,b,e){var f=le();try{ec.get(a)(b,e)}catch(h){ke(f);if(h!==h+0)throw h;je(1,0)}}
function Wd(a,b,e,f,h){var m=le();try{return ec.get(a)(b,e,f,h)}catch(n){ke(m);if(n!==n+0)throw n;je(1,0)}}function Td(a,b){var e=le();try{return ec.get(a)(b)}catch(f){ke(e);if(f!==f+0)throw f;je(1,0)}}function ce(a,b,e,f){var h=le();try{ec.get(a)(b,e,f)}catch(m){ke(h);if(m!==m+0)throw m;je(1,0)}}function ae(a,b){var e=le();try{ec.get(a)(b)}catch(f){ke(e);if(f!==f+0)throw f;je(1,0)}}
function ge(a,b,e,f,h,m,n,t,v,x){var F=le();try{ec.get(a)(b,e,f,h,m,n,t,v,x)}catch(I){ke(F);if(I!==I+0)throw I;je(1,0)}}function $d(a){var b=le();try{ec.get(a)()}catch(e){ke(b);if(e!==e+0)throw e;je(1,0)}}function Ud(a,b,e){var f=le();try{return ec.get(a)(b,e)}catch(h){ke(f);if(h!==h+0)throw h;je(1,0)}}function fe(a,b,e,f,h,m,n){var t=le();try{ec.get(a)(b,e,f,h,m,n)}catch(v){ke(t);if(v!==v+0)throw v;je(1,0)}}
function Sd(a){var b=le();try{return ec.get(a)()}catch(e){ke(b);if(e!==e+0)throw e;je(1,0)}}function Xd(a,b,e,f,h,m,n){var t=le();try{return ec.get(a)(b,e,f,h,m,n)}catch(v){ke(t);if(v!==v+0)throw v;je(1,0)}}function Yd(a,b,e,f,h,m,n,t){var v=le();try{return ec.get(a)(b,e,f,h,m,n,t)}catch(x){ke(v);if(x!==x+0)throw x;je(1,0)}}function Zd(a,b,e,f,h,m,n,t,v,x){var F=le();try{return ec.get(a)(b,e,f,h,m,n,t,v,x)}catch(I){ke(F);if(I!==I+0)throw I;je(1,0)}}
function me(){0<Ya?cb=me:0<Ya?cb=me:(u.calledRun=!0,Pa||(ie.xd(),fa(u),u.onRuntimeInitialized?.()))}me();moduleRtn=ka;
return moduleRtn;
}
);
})();
if (typeof exports === 'object' && typeof module === 'object') {
module.exports = CanvasKitInit;
// This default export looks redundant, but it allows TS to import this
// commonjs style module.
module.exports.default = CanvasKitInit;
} else if (typeof define === 'function' && define['amd'])
define([], () => CanvasKitInit);