modern-canvas 0.4.7 → 0.4.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +51 -1
- package/dist/index.d.cts +10 -2
- package/dist/index.d.mts +10 -2
- package/dist/index.d.ts +10 -2
- package/dist/index.js +3 -3
- package/dist/index.mjs +51 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -110,7 +110,7 @@ uniform sampler2D sampler;
|
|
|
110
110
|
uniform vec4 tint;
|
|
111
111
|
void main(void) {
|
|
112
112
|
gl_FragColor = texture2D(sampler, vUv) * tint;
|
|
113
|
-
}`,uniforms:{sampler:0,projectionMatrix:new Float32Array([1,0,0,0,1,0,0,0,1]),modelViewMatrix:new Float32Array([1,0,0,0,1,0,0,0,1]),tint:new Float32Array([1,1,1,1])}})}}h(RA,"_instance");class fe extends Zi{static get instance(){return this._instance??(this._instance=new this)}static draw(A,e=RA.instance,t){this.instance.draw(A,e,t)}constructor(){super({vertexAttributes:{position:new gt({buffer:new Jt({data:new Float32Array([-1,-1,1,-1,1,1,-1,1]),dynamic:!1}),size:2,normalized:!1,type:"float"}),uv:new gt({buffer:new Jt({data:new Float32Array([0,0,1,0,1,1,0,1]),dynamic:!1}),size:2,normalized:!1,type:"float"})},indexBuffer:new MA({data:new Uint16Array([0,1,2,0,2,3]),dynamic:!1})})}}h(fe,"_instance");class mg extends Zi{constructor(){const e=new Jt({data:new Float32Array,dynamic:!0}),t=new Jt({data:new Float32Array,dynamic:!0});super({vertexAttributes:{position:new gt({buffer:e,size:2,normalized:!1,type:"float"}),uv:new gt({buffer:t,size:2,normalized:!1,type:"float"})},indexBuffer:new MA({data:new Uint16Array,dynamic:!0})});h(this,"positionBuffer");h(this,"uvBuffer");this.positionBuffer=e,this.uvBuffer=t}}var wg=Object.defineProperty,UA=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&wg(A,e,i),i};class ve extends Ot{constructor(e){super();h(this,"_isPowerOfTwo",!1);h(this,"_needsUpload",!1);this.source=e,this._updateSize()}static get EMPTY(){return new this({width:1,height:1,pixels:null})}static get WHITE(){return new this({width:1,height:1,pixels:new Uint8Array([255,255,255,255])})}static get BLACK(){return new this({width:1,height:1,pixels:new Uint8Array([0,0,0,255])})}static get RED(){return new this({width:1,height:1,pixels:new Uint8Array([255,0,0,255])})}static get GREEN(){return new this({width:1,height:1,pixels:new Uint8Array([0,255,0,255])})}static get BLUE(){return new this({width:1,height:1,pixels:new Uint8Array([0,0,255,255])})}get valid(){return!!(this.width&&this.height)}get realWidth(){return Math.round(this.width*this.pixelRatio)}get realHeight(){return Math.round(this.height*this.pixelRatio)}_glTextureOptions(e,t){let i=this.wrapMode;return e.version===1&&!this._isPowerOfTwo&&(i="clamp_to_edge"),{value:this.source,target:"texture_2d",location:0,filterMode:this.filterMode,wrapMode:i,...t}}_glTexture(e,t){return e.getRelated(this,()=>e.texture.create(this._glTextureOptions(e,t)))}_updateProperty(e,t,i,s){switch(super._updateProperty(e,t,i,s),e){case"width":case"height":this._updatePOT();break;case"source":this._updateSize();break;case"filterMode":case"wrapMode":case"pixelRatio":this.requestUpload();break}}_updatePOT(){this._isPowerOfTwo=$r(this.realWidth)&&$r(this.realHeight),this.requestUpload()}_updateSize(){const e=this.source;"pixels"in e?(this.width=e.width/this.pixelRatio,this.height=e.height/this.pixelRatio):(this.width=Number(e.naturalWidth||e.videoWidth||e.width||0)/this.pixelRatio,this.height=Number(e.naturalHeight||e.videoHeight||e.height||0)/this.pixelRatio),this.requestUpload()}requestUpload(){this._needsUpload=!0}upload(e,t){return this._needsUpload&&this.valid?(this._needsUpload=!1,e.texture.update(this._glTexture(e,t),this._glTextureOptions(e,t)),!0):!1}activate(e,t=0){return this.valid?(e.texture.bind({target:"texture_2d",value:this._glTexture(e,{location:t}),location:t}),this.upload(e,{location:t}),!0):!1}inactivate(e){e.texture.unbind(this._glTexture(e))}free(){Ln&&this.source instanceof ImageBitmap&&this.source.close()}}UA([Ee()],ve.prototype,"source"),UA([k({default:0})],ve.prototype,"width"),UA([k({default:0})],ve.prototype,"height"),UA([k({default:"linear"})],ve.prototype,"filterMode"),UA([k({default:"clamp_to_edge"})],ve.prototype,"wrapMode"),UA([k({default:1})],ve.prototype,"pixelRatio");class er extends Ot{constructor(e){super();h(this,"frames");let t;if(Array.isArray(e))t=e;else if(e instanceof ve)t=[{texture:e,duration:0}];else throw new TypeError("Failed new AnimatedTexture");this.frames=t,this.updateDuration()}updateDuration(){return this.duration=this.frames.reduce((e,t)=>t.duration+e,0),this}free(){this.frames.forEach(e=>{e.texture.free()})}}var vg=Object.defineProperty,_g=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&vg(A,e,i),i};class li extends ve{constructor(A=document.createElement("canvas")){super(A)}_updateProperty(A,e,t,i){switch(A){case"width":this.source.width=Math.max(1,Math.ceil(e*this.pixelRatio));break;case"height":this.source.height=Math.max(1,Math.ceil(e*this.pixelRatio));break}super._updateProperty(A,e,t,i)}}_g([k({default:2})],li.prototype,"pixelRatio");class ps extends ve{constructor(A){const e=new Zt(A);super({width:1,height:1,pixels:new Uint8Array([e.r8,e.g8,e.b8,e.a8])})}}function Dg(r){return{autoLoad:!!((r==null?void 0:r.autoLoad)??!0),useBitmap:!!((r==null?void 0:r.useBitmap)??!0)&&ts,crossorigin:(r==null?void 0:r.crossorigin)??null}}class bg extends ve{constructor(e,t){const i=Dg(t);super(e);h(this,"bitmap");h(this,"useBitmap");h(this,"preserveBitmap",!1);h(this,"_loadSource");h(this,"_loadBitmap");const s=e.src,n=s.includes(".svg")||s.startsWith("data:image/svg+xml");this.useBitmap=i.useBitmap&&!n,i.autoLoad&&this.load()}async load(){return this._loadSource||(this._loadSource=new Promise(e=>{this._loadSource=void 0;const t=this.source,i=()=>{t.onload=null,t.onerror=null},s=()=>{i(),this.requestUpload(),this.useBitmap?this.genBitmap().finally(()=>e(this)):e(this)},n=o=>{i(),console.warn(`Failed to load ImageTexture, src: ${t.src}`,o),this.emit("error",o),e(this)};t.complete&&t.src?s():(t.onload=s,t.onerror=n)})),this._loadSource}genBitmap(){if(this._loadBitmap)return this._loadBitmap;if(this.bitmap||!ts)return Promise.resolve(this);const e=this.source,t=!e.crossOrigin||e.crossOrigin==="anonymous";return this._loadBitmap=fetch(e.src,{mode:t?"cors":"no-cors"}).then(i=>i.blob()).then(i=>createImageBitmap(i,0,0,e.width,e.height,{premultiplyAlpha:"premultiply"})).then(i=>(this.bitmap=i,this.requestUpload(),this._loadBitmap=void 0,this)).catch(i=>(console.warn("Failed to genBitmap",i),this)),this._loadBitmap}_glTextureOptions(e){return{...super._glTextureOptions(e),value:this.bitmap??this.source}}upload(e){if(this.useBitmap){if(!this.bitmap)return this.genBitmap(),!1}else{const i=this.source;if(ni&&i instanceof HTMLImageElement&&(!i.complete||i.naturalWidth===0))return!1}const t=super.upload(e);return this.preserveBitmap&&this.bitmap&&(this.bitmap.close(),this.bitmap=void 0),t}}class Cs extends ve{constructor(A,e=1,t=1){const i={width:e,height:t,pixels:null};A&&(ArrayBuffer.isView(A)?i.pixels=new Uint8Array(A.buffer):i.pixels=new Uint8Array(A)),super(i)}_updateProperty(A,e,t,i){switch(A){case"width":this.source.width=Math.round(e*this.pixelRatio);break;case"height":this.source.height=Math.round(e*this.pixelRatio);break}super._updateProperty(A,e,t,i)}}var xg=Object.defineProperty,To=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&xg(A,e,i),i};function Sg(r){return{autoLoad:!!((r==null?void 0:r.autoLoad)??!0),autoPlay:!!((r==null?void 0:r.autoPlay)??!1),fps:Number((r==null?void 0:r.fps)??0),crossorigin:(r==null?void 0:r.crossorigin)??null,loop:!!((r==null?void 0:r.loop)??!1),muted:!!((r==null?void 0:r.muted)??!1),playsinline:!!((r==null?void 0:r.playsinline)??!0)}}const Qs=(vA=class extends ve{constructor(e,t){const i=Sg(t);if(!Yn(e)){typeof e=="string"&&(e=[e]);const s=e[0].src||e[0],n=document.createElement("video");i.autoLoad&&n.setAttribute("preload","auto"),i.playsinline&&(n.setAttribute("webkit-playsinline",""),n.setAttribute("playsinline","")),i.muted&&(n.setAttribute("muted",""),n.muted=!0),i.loop&&n.setAttribute("loop",""),i.autoPlay&&n.setAttribute("autoplay",""),Xn(n,s,i.crossorigin);for(let o=0;o<e.length;++o){let{src:a,mime:l}=e[o];if(a=a||e[o],a.startsWith("data:"))l=a.slice(5,a.indexOf(";"));else if(!a.startsWith("blob:")){const c=a.split("?").shift().toLowerCase(),f=c.slice(c.lastIndexOf(".")+1);l=l||vA.mimeTypes.get(f)||`video/${f}`}const g=document.createElement("source");g.src=a,l&&(g.type=l),n.appendChild(g)}e=n}super(e);h(this,"_spf",0);h(this,"_autoPlay",!1);h(this,"_sourceLoad");h(this,"_nextTime",0);h(this,"_connected",!1);h(this,"_requestId");h(this,"_resolve");h(this,"_reject");h(this,"_onPlayStart",()=>{this.valid||this._onCanPlay(),this._setupAutoUpdate()});h(this,"_onPlayStop",()=>{this._setupAutoUpdate()});h(this,"_onCanPlay",()=>{const e=this.source;e.removeEventListener("canplay",this._onCanPlay),e.removeEventListener("canplaythrough",this._onCanPlay);const t=this.valid;this._nextTime=0,this._updateSize(),this.requestUpload(),this._nextTime=0,!t&&this._resolve&&(this._resolve(this),this._sourceLoad=void 0,this._resolve=void 0,this._reject=void 0),this.isPlaying?this._onPlayStart():this._autoPlay&&e.play()});h(this,"_onError",e=>{this.source.removeEventListener("error",this._onError,!0),this.emit("error",e),this._reject&&(this._reject(e),this._reject=void 0,this._resolve=void 0)});h(this,"_onSeeked",()=>{this.autoUpdate&&!this.isPlaying&&(this._nextTime=0,this.requestUpload(),this._nextTime=0)});h(this,"_videoFrameRequestCallback",()=>{this.requestUpload(),this._requestId=this.source.requestVideoFrameCallback(this._videoFrameRequestCallback)});h(this,"requestUpload",()=>{const e=Math.floor(xe.elapsed*this.source.playbackRate);this._nextTime-=e,(!this._spf||this._nextTime<=0)&&(super.requestUpload(),this._nextTime=this._spf||0)});this.fps=i.fps,this._autoPlay=i.autoPlay,i.autoPlay&&this.load(),this._setupAutoUpdate()}get isReady(){return this.source.readyState>2}get isPlaying(){return!this.source.paused&&!this.source.ended&&this.isReady}get duration(){return this.source.duration}get seeking(){return this.source.seeking}get currentTime(){return this.source.currentTime}set currentTime(e){this.source.currentTime=e}_updateProperty(e,t,i,s){switch(super._updateProperty(e,t,i,s),e){case"fps":this._spf=t?Math.floor(1e3/t):0,this._setupAutoUpdate();break;case"autoUpdate":this._setupAutoUpdate();break}}_setupAutoUpdate(){this.autoUpdate&&this.isPlaying?!this.fps&&this.source.requestVideoFrameCallback?(this._connected&&(xe.off(this.requestUpload),this._connected=!1,this._nextTime=0),this._requestId===void 0&&(this._requestId=this.source.requestVideoFrameCallback(this._videoFrameRequestCallback))):(this._requestId!==void 0&&(this.source.cancelVideoFrameCallback(this._requestId),this._requestId=void 0),this._connected||(xe.on(this.requestUpload),this._connected=!0,this._nextTime=0)):(this._requestId!==void 0&&(this.source.cancelVideoFrameCallback(this._requestId),this._requestId=void 0),this._connected&&(xe.off(this.requestUpload),this._connected=!1,this._nextTime=0))}async load(){if(!this._sourceLoad){const e=this.source;(e.readyState===e.HAVE_ENOUGH_DATA||e.readyState===e.HAVE_FUTURE_DATA)&&e.width&&e.height&&(e.complete=!0),e.addEventListener("play",this._onPlayStart),e.addEventListener("pause",this._onPlayStop),e.addEventListener("seeked",this._onSeeked),this.isReady?this._onCanPlay():(e.addEventListener("canplay",this._onCanPlay),e.addEventListener("canplaythrough",this._onCanPlay),e.addEventListener("error",this._onError,!0)),this._sourceLoad=new Promise((t,i)=>{this.valid?(this._sourceLoad=void 0,t(this)):(this._resolve=t,this._reject=i,e.load())})}return this._sourceLoad}free(){this._setupAutoUpdate();const e=this.source;e&&(e.removeEventListener("play",this._onPlayStart),e.removeEventListener("pause",this._onPlayStop),e.removeEventListener("seeked",this._onSeeked),e.removeEventListener("canplay",this._onCanPlay),e.removeEventListener("canplaythrough",this._onCanPlay),e.removeEventListener("error",this._onError,!0),e.pause(),e.src="",e.load())}},h(vA,"mimeTypes",new Map(Object.entries({ogv:"video/ogg",mov:"video/quicktime",m4v:"video/mp4"}))),vA);To([Ee({default:!0})],Qs.prototype,"autoUpdate"),To([Ee({default:0})],Qs.prototype,"fps");let Lo=Qs;class ys extends Cs{}var Mg=Object.defineProperty,Rg=Object.getOwnPropertyDescriptor,kA=(r,A,e,t)=>{for(var i=t>1?void 0:t?Rg(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&Mg(A,e,i),i};const Go={};function Ug(r){let A=Go[r]??0;return A++,Go[r]=A,A}u.Node=class extends zi{constructor(e,t=[]){super();h(this,"_readyed",!1);h(this,"_tree");h(this,"_parent");h(this,"_children",[]);h(this,"_meta",new Map);this._onTreeEnter=this._onTreeEnter.bind(this),this._onTreeExit=this._onTreeExit.bind(this),this._onParented=this._onParented.bind(this),this._onUnparented=this._onUnparented.bind(this),this._onReady=this._onReady.bind(this),this._onProcess=this._onProcess.bind(this),this.setProperties({name:`${this.tag}:${Ug(this.tag)}`,...e}).append(t),this.on("treeEnter",this._onTreeEnter).on("treeExit",this._onTreeExit).on("parented",this._onParented).on("unparented",this._onUnparented).on("ready",this._onReady).on("process",this._onProcess)}getName(){return this.name}setName(e){return this.name=e,this}get tree(){return this.getTree()}set tree(e){this.setTree(e)}getTree(){return this._tree}getViewport(){var e;return(e=this._tree)==null?void 0:e.getCurrentViewport()}getWindow(){var e;return(e=this._tree)==null?void 0:e.root}isInsideTree(){return!!this._tree}setTree(e){const t=this._tree;if(!(e!=null&&e.is(t))){t&&this.emit("treeExit",t),this._tree=e,e&&this.emit("treeEnter",e);for(let i=this._children.length,s=0;s<i;s++){const n=this._children[s];!e&&this.emit("childExitingTree",n),n.setTree(e),e&&this.emit("childEnteredTree",n)}e&&(this.emit("treePostEnter",e),this._readyed||(this._readyed=!0,this.emit("ready")))}return this}get parent(){return this._parent}set parent(e){this.setParent(e)}hasParent(){return!!this._parent}getParent(){return this._parent}setParent(e){var t;if(!((t=this._parent)!=null&&t.is(e))){const i=this._parent;this._parent=e,this.setTree(e==null?void 0:e._tree),e?this.emit("parented",e):i&&this.emit("unparented",i)}return this}get siblingIndex(){return this.getIndex()}set siblingIndex(e){var t;(t=this._parent)==null||t.moveChild(this,e)}get previousSibling(){var e;return(e=this._parent)==null?void 0:e.getChildren()[this.getIndex()-1]}get nextSibling(){var e;return(e=this._parent)==null?void 0:e.getChildren()[this.getIndex()+1]}get firstSibling(){var e;return(e=this._parent)==null?void 0:e.getChildren()[0]}get lastSibling(){var t;const e=(t=this._parent)==null?void 0:t.getChildren();return e?e[e.length-1]:void 0}hasMeta(e){return this._meta.has(e)}getMeta(e,t){return this._meta.get(e)??t}setMeta(e,t){this._meta.set(e,t)}deleteMeta(e){this._meta.delete(e)}clearMeta(){this._meta.clear()}canProcess(){var e;if(!this._tree)return!1;switch(this.processMode){case"inherit":return((e=this._parent)==null?void 0:e.canProcess())??!0;case"pausable":return!this._tree.paused;case"when_paused":return this._tree.paused;case"always":return!0;case"disabled":default:return!1}}canRender(){var e;if(!this._tree)return!1;switch(this.renderMode){case"inherit":return((e=this._parent)==null?void 0:e.canRender())??!0;case"always":return!0;case"disabled":default:return!1}}_onTreeEnter(e){this._treeEnter(e),this.emit("treeEntered",e)}_onTreeExit(e){this.emit("treeExiting",e),this._treeExit(e),this.emit("treeExited",e)}_onParented(e){this._parented(e)}_onUnparented(e){this._unparented(e)}_onReady(){this._ready()}_onProcess(e=0){const t=this._tree,i=this.canRender(),s=this.canProcess();s&&(t==null||t.emit("nodeProcessing",this),this.emit("processing",e),this._process(e));let n;if(i){const o=t.renderStack.push(this);n=t.renderStack.currentCall,t.renderStack.currentCall=o}if(this.mask instanceof u.Node)this.getNode("__$mask")||(this.mask.processMode="disabled",this.appendChild(this.mask,"front"));else{const o=this.getNode("__$mask");o&&this.removeChild(o)}for(let o=this._children.length,a=0;a<o;a++)this._children[a].emit("process",e);i&&(t.renderStack.currentCall=n),s&&(this.emit("processed",e),t==null||t.emit("nodeProcessed",this))}render(e,t){const i=this.mask;i&&(e.flush(),e.mask.push(this,i)),this._render(e),t==null||t(),i&&(e.flush(),e.mask.pop(this))}input(e,t){for(let i=this._children.length-1;i>=0;i--)this._children[i].input(e,t);this._input(e,t)}getChildren(e=!1){switch(e){case!0:return this._children;case!1:return this._children.filter(t=>t.internalMode==="default");default:return this._children.filter(t=>t.internalMode===e)}}getIndex(e=!1){var t;return((t=this._parent)==null?void 0:t.getChildren(e).indexOf(this))??0}getNode(e){return this._children.find(t=>t.name===e)}removeNode(e){var t;(t=this.getNode(e))==null||t.remove()}addSibling(e){return this.is(e)||!this.hasParent()||e.hasParent()?this:(e.internalMode=this.internalMode,this._parent.moveChild(e,this.getIndex(!0)+1),this)}append(...e){let t;Array.isArray(e[0])?t=e[0]:t=e,t.forEach(i=>{this.appendChild(i)})}appendChild(e,t=e.internalMode){if(this.is(e)||e.hasParent())return e;switch(t){case"default":case"front":{const i=t==="default"?"back":"front",s=this._children.findIndex(n=>n.internalMode===i);s>-1?this._children.splice(s,0,e):this._children.push(e);break}case"back":this._children.push(e);break}return e.internalMode=t,e.setParent(this),this.emit("appendChild",e),e}moveChild(e,t,i=e.internalMode){if(this.is(e)||e.hasParent()&&!this.is(e.parent))return this;e.internalMode=i;const s=this._children.indexOf(e);let n=this._children.findIndex(l=>{switch(i){case"default":return l.internalMode!=="front";case"back":return l.internalMode==="back";case"front":default:return!0}});n=n>-1?n:Math.max(0,this._children.length-1);let o=this._children.slice(n).findIndex(l=>{switch(i){case"front":return l.internalMode!=="front";case"default":return l.internalMode==="back";case"back":default:return!1}});o=o>-1?n+o:Math.max(0,this._children.length);const a=bt(n,t>-1?t:o,o);return a!==s&&(s>-1&&this._children.splice(s,1),e.setParent(this),a>-1&&a<this._children.length?this._children.splice(a,0,e):this._children.push(e),s>-1?this.emit("moveChild",e,a,s):this.emit("appendChild",e)),this}removeChild(e){const t=e.getIndex(!0);return this.is(e.parent)&&t>-1&&(this._children.splice(t,1),e.setParent(void 0),this.emit("removeChild",e,t)),e}removeChildren(){this.getChildren().forEach(e=>this.removeChild(e))}remove(){var e;(e=this._parent)==null||e.removeChild(this)}forEach(e){return this.getChildren().forEach(e),this}deepForEach(e){return this.getChildren().forEach(t=>{e(t),t.deepForEach(e)}),this}_ready(){}_treeEnter(e){}_treeExit(e){}_parented(e){}_unparented(e){}_process(e){}_input(e,t){}_render(e){}clone(){return new this.constructor(this.toJSON().props,this.getChildren(!0))}toJSON(){return{tag:this.tag,props:{name:this.name,...super.toJSON()},meta:Object.fromEntries(this._meta.entries()),children:this.getChildren().map(e=>e.toJSON())}}static parse(e){if(Array.isArray(e))return e.map(a=>this.parse(a));const{tag:t,props:i,children:s}=e,n=Vi.get(t)??u.Node,o=new n(i);return s==null||s.forEach(a=>o.appendChild(this.parse(a))),o}},kA([Ee()],u.Node.prototype,"name",2),kA([k()],u.Node.prototype,"mask",2),kA([k({default:"inherit"})],u.Node.prototype,"processMode",2),kA([k({default:"inherit"})],u.Node.prototype,"renderMode",2),kA([k({default:"default"})],u.Node.prototype,"internalMode",2),u.Node=kA([re("Node")],u.Node);var kg=Object.defineProperty,Pg=Object.getOwnPropertyDescriptor,gi=(r,A,e,t)=>{for(var i=t>1?void 0:t?Pg(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&kg(A,e,i),i};u.TimelineNode=class extends u.Node{constructor(e,t=[]){super();h(this,"computedDuration",0);h(this,"_currentTime",0);h(this,"_startTime",0);this.setProperties(e).append(t)}get timeline(){var e;return(e=this._tree)==null?void 0:e.timeline}get timelineCurrentTime(){var e;return((e=this.timeline)==null?void 0:e.currentTime)??0}get parentStartTime(){var e;return((e=this._parent)==null?void 0:e.startTime)??0}get currentTime(){return bt(0,this._currentTime,this.computedDuration)}get startTime(){return this._startTime}set startTime(e){this.delay=e-this.parentStartTime,this._updateCurrentTime(!0)}get endTime(){return this._startTime+this.computedDuration}get currentTimeProgress(){return this.computedDuration?bt(0,this._currentTime/this.computedDuration,1):0}isInsideTimeRange(){const e=this._currentTime;return this.computedDuration?e>=0&&e<=this.computedDuration:e>=0}_updateCurrentTime(e=!1){if(e||!this.paused){const t=this._parent;this._startTime=this.delay+this.parentStartTime,this.computedDuration=t!=null&&t.computedDuration?Math.min(this._startTime+this.duration,t.endTime)-this._startTime:this.duration,this._currentTime=this.timelineCurrentTime-this._startTime,this.emit("updateCurrentTime",this._currentTime),this.insideTimeRange=this.isInsideTimeRange()}}_process(e){super._process(e),this._updateCurrentTime()}},gi([k({default:0})],u.TimelineNode.prototype,"delay",2),gi([k({default:0})],u.TimelineNode.prototype,"duration",2),gi([k({default:!1})],u.TimelineNode.prototype,"paused",2),gi([Ee()],u.TimelineNode.prototype,"insideTimeRange",2),u.TimelineNode=gi([re("TimelineNode")],u.TimelineNode);var Ng=Object.defineProperty,Fg=Object.getOwnPropertyDescriptor,hi=(r,A,e,t)=>{for(var i=t>1?void 0:t?Fg(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&Ng(A,e,i),i};u.Viewport=class extends u.Node{constructor(e=!1){super();h(this,"_projection",new fo);h(this,"_framebufferIndex",0);h(this,"_framebuffers",[{texture:new ys,needsUpload:!1},{texture:new ys,needsUpload:!1}]);this.flipY=e,this._projection.flipY(e)}get valid(){return!!(this.width&&this.height)}get framebuffer(){return this._framebuffers[this._framebufferIndex]}get texture(){return this.framebuffer.texture}_glFramebufferOptions(e){const{width:t,height:i}=this,{pixelRatio:s}=e;return this._framebuffers.forEach(n=>{const o=n.texture;o.pixelRatio=s,o.width=t,o.height=i,o.upload(e)}),{width:t,height:i,colorTextures:[this.texture._glTexture(e)]}}_glFramebuffer(e){return e.getRelated(this.framebuffer,()=>e.framebuffer.create(this._glFramebufferOptions(e)))}_updateProperty(e,t,i,s){switch(super._updateProperty(e,t,i,s),e){case"x":case"y":this.requestUpload(),this._projection.translate(this.x,this.y),this.emit("updateRect");break;case"width":case"height":this.requestUpload(),this._projection.resize(this.width,this.height),this.emit("updateRect");break}}requestUpload(){this._framebuffers.forEach(e=>e.needsUpload=!0)}resize(e,t){this.width=e,this.height=t}upload(e){const t=this.framebuffer;return t.needsUpload&&this.valid?(t.needsUpload=!1,e.framebuffer.update(this._glFramebuffer(e),this._glFramebufferOptions(e)),!0):!1}activate(e){var t;return this.valid?(e.flush(),(t=this._tree)==null||t.setCurrentViewport(this),e.framebuffer.bind(this._glFramebuffer(e)),this.upload(e),!0):!1}redraw(e,t){if(this.valid){e.flush();const i=this.framebuffer.texture;return this._framebufferIndex=(this._framebufferIndex+1)%this._framebuffers.length,this.activate(e),e.clear(),i.activate(e,0),t(),!0}return!1}activateWithCopy(e,t){this.resize(t.width,t.height),this.activate(e)&&(e.clear(),t.texture.activate(e,0),fe.draw(e,RA.instance,{sampler:0}))}render(e,t){var s,n;const i=(s=this._tree)==null?void 0:s.getCurrentViewport();this.activate(e),e.clear(),super.render(e,t),e.flush(),i?i.activate(e):(e.framebuffer.bind(null),(n=this._tree)==null||n.setCurrentViewport(void 0))}getRect(){return new Is(this.x,this.y,this.width,this.height)}toProjectionArray(e=!1){return this._projection.toArray(e)}},hi([k({default:0})],u.Viewport.prototype,"x",2),hi([k({default:0})],u.Viewport.prototype,"y",2),hi([k({default:0})],u.Viewport.prototype,"width",2),hi([k({default:0})],u.Viewport.prototype,"height",2),u.Viewport=hi([re("Viewport")],u.Viewport);var Tg=Object.defineProperty,Lg=Object.getOwnPropertyDescriptor,ci=(r,A,e,t)=>{for(var i=t>1?void 0:t?Lg(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&Tg(A,e,i),i};u.Effect=class extends u.TimelineNode{constructor(e,t=[]){super();h(this,"viewport1",new u.Viewport);h(this,"viewport2",new u.Viewport);h(this,"_renderId",0);h(this,"_renderViewport");h(this,"_previousSibling");h(this,"_nextSibling");this._onProcessing=this._onProcessing.bind(this),this._onNodeProcessed=this._onNodeProcessed.bind(this),this.setProperties(e).append(t)}get _effectMode(){return this.effectMode??"parent"}_updateProperty(e,t,i,s){switch(super._updateProperty(e,t,i,s),e){case"glsl":{const n=new $i(t);!this.effectMode&&n.has.transition&&(this.effectMode="transition"),this.material=n;break}case"glslSrc":{t?Vt.text.load(t).then(n=>this.glsl=n):this.glsl="";break}}}_treeEnter(e){e.on("processing",this._onProcessing),e.on("nodeProcessed",this._onNodeProcessed),this.viewport1.setTree(e),this.viewport2.setTree(e)}_treeExit(e){e.off("processing",this._onProcessing),e.off("nodeProcessed",this._onNodeProcessed),this.viewport1.setTree(void 0),this.viewport2.setTree(void 0)}_onProcessing(){if(this.canProcess())switch(this._updateCurrentTime(),this._effectMode){case"transition":this._previousSibling=this.previousSibling,this._nextSibling=this.nextSibling;break;default:this._previousSibling=void 0,this._nextSibling=void 0;break}}_onNodeProcessed(e){var i;if(!this.canProcess()||!this.isInsideTimeRange())return;const t=(i=this._tree)==null?void 0:i.renderStack;if(t)switch(this._effectMode){case"transition":e.is(this._previousSibling)?(this._previousSibling=void 0,t.push(this)):e.is(this._nextSibling)&&(this._nextSibling=void 0,t.push(this));break}}_processParent(){var o,a;const e=(o=this._tree)==null?void 0:o.renderStack;if(!e)return;const t=(a=e.currentCall)==null?void 0:a.parentCall;if(!t)return;const i=t.calls;let s,n;i.forEach((l,g)=>{var c;(l.renderable.is(this._parent)||(c=l.renderable.parent)!=null&&c.is(this._parent))&&(s=s??g,n=g)}),!(s===void 0||n===void 0)&&(i.splice(n+1,0,e.createCall(this)),i.splice(s,0,e.createCall(this)))}_processChildren(){var e;this._children.length&&(super.emit("process"),(e=this._tree)==null||e.renderStack.push(this))}_onProcess(e=0){if(this.canProcess())switch(this._renderId=0,this._effectMode){case"before":super._onProcess(e);break;case"parent":this._processParent();break;case"children":this._processChildren();break}}_renderBefore(e){var i;const t=(i=this._tree)==null?void 0:i.getCurrentViewport();t&&this.apply(e,t,{redraw:!0})}_renderTransition(e){var t;if(this._renderId%2===0)this._renderViewport=(t=this._tree)==null?void 0:t.getCurrentViewport(),this._renderViewport&&(this.viewport1.activateWithCopy(e,this._renderViewport),this.viewport2.resize(this._renderViewport.width,this._renderViewport.height)),this.viewport2.activate(e),e.clear();else{const i=this._renderViewport;this._renderViewport=void 0,i&&(i.activate(e),e.clear(),this.viewport1.texture.activate(e,0),this.viewport2.texture.activate(e,1),this.apply(e,i,{from:this.viewport1,to:this.viewport2}),e.texture.unbind(0),e.texture.unbind(1))}}_renderParentOrChildren(e){var t;if(this._renderId%2===0)this._renderViewport=(t=this._tree)==null?void 0:t.getCurrentViewport(),this._renderViewport&&this.viewport1.resize(this._renderViewport.width,this._renderViewport.height),this.viewport1.activate(e),e.clear();else{const i=this._renderViewport;this._renderViewport=void 0,i&&(this.viewport1.activate(e),this.apply(e,this.viewport1,{redraw:!0,target:this._effectMode==="parent"?this._parent??void 0:void 0,targetArea:this._parseTargetArea()}),i.activate(e),this.viewport1.texture.activate(e,0),fe.draw(e))}}_parseTargetArea(){if(this._effectMode==="parent"&&this._parent&&"getRect"in this._parent){const e=this._parent.getRect();if(e)return[e.left/this.viewport1.width,e.top/this.viewport1.height,e.width/this.viewport1.width,e.height/this.viewport1.height]}}_render(e){switch(this._effectMode){case"before":this._renderBefore(e);break;case"transition":this._renderTransition(e);break;case"parent":case"children":default:this._renderParentOrChildren(e);break}this._renderId++}apply(e,t,i){this.material&&(i!=null&&i.redraw?t.redraw(e,()=>{fe.draw(e,this.material,{from:0,to:1,progress:this.currentTimeProgress,ratio:t.width/t.height})}):fe.draw(e,this.material,{from:0,to:1,progress:this.currentTimeProgress,ratio:i!=null&&i.from?i.from.width/i.from.height:0}))}},ci([Ee()],u.Effect.prototype,"material",2),ci([k()],u.Effect.prototype,"effectMode",2),ci([k({default:""})],u.Effect.prototype,"glsl",2),ci([k({default:""})],u.Effect.prototype,"glslSrc",2),u.Effect=ci([re("Effect")],u.Effect);var Oo=Object.defineProperty,Gg=Object.getOwnPropertyDescriptor,Og=(r,A,e)=>A in r?Oo(r,A,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[A]=e,ms=(r,A,e,t)=>{for(var i=t>1?void 0:t?Gg(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&Oo(A,e,i),i},Ho=(r,A,e)=>Og(r,typeof A!="symbol"?A+"":A,e);const Hg=`attribute vec2 position;
|
|
113
|
+
}`,uniforms:{sampler:0,projectionMatrix:new Float32Array([1,0,0,0,1,0,0,0,1]),modelViewMatrix:new Float32Array([1,0,0,0,1,0,0,0,1]),tint:new Float32Array([1,1,1,1])}})}}h(RA,"_instance");class fe extends Zi{static get instance(){return this._instance??(this._instance=new this)}static draw(A,e=RA.instance,t){this.instance.draw(A,e,t)}constructor(){super({vertexAttributes:{position:new gt({buffer:new Jt({data:new Float32Array([-1,-1,1,-1,1,1,-1,1]),dynamic:!1}),size:2,normalized:!1,type:"float"}),uv:new gt({buffer:new Jt({data:new Float32Array([0,0,1,0,1,1,0,1]),dynamic:!1}),size:2,normalized:!1,type:"float"})},indexBuffer:new MA({data:new Uint16Array([0,1,2,0,2,3]),dynamic:!1})})}}h(fe,"_instance");class mg extends Zi{constructor(){const e=new Jt({data:new Float32Array,dynamic:!0}),t=new Jt({data:new Float32Array,dynamic:!0});super({vertexAttributes:{position:new gt({buffer:e,size:2,normalized:!1,type:"float"}),uv:new gt({buffer:t,size:2,normalized:!1,type:"float"})},indexBuffer:new MA({data:new Uint16Array,dynamic:!0})});h(this,"positionBuffer");h(this,"uvBuffer");this.positionBuffer=e,this.uvBuffer=t}}var wg=Object.defineProperty,UA=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&wg(A,e,i),i};class ve extends Ot{constructor(e){super();h(this,"_isPowerOfTwo",!1);h(this,"_needsUpload",!1);this.source=e,this._updateSize()}static get EMPTY(){return new this({width:1,height:1,pixels:null})}static get WHITE(){return new this({width:1,height:1,pixels:new Uint8Array([255,255,255,255])})}static get BLACK(){return new this({width:1,height:1,pixels:new Uint8Array([0,0,0,255])})}static get RED(){return new this({width:1,height:1,pixels:new Uint8Array([255,0,0,255])})}static get GREEN(){return new this({width:1,height:1,pixels:new Uint8Array([0,255,0,255])})}static get BLUE(){return new this({width:1,height:1,pixels:new Uint8Array([0,0,255,255])})}get valid(){return!!(this.width&&this.height)}get realWidth(){return Math.round(this.width*this.pixelRatio)}get realHeight(){return Math.round(this.height*this.pixelRatio)}_glTextureOptions(e,t){let i=this.wrapMode;return e.version===1&&!this._isPowerOfTwo&&(i="clamp_to_edge"),{value:this.source,target:"texture_2d",location:0,filterMode:this.filterMode,wrapMode:i,...t}}_glTexture(e,t){return e.getRelated(this,()=>e.texture.create(this._glTextureOptions(e,t)))}_updateProperty(e,t,i,s){switch(super._updateProperty(e,t,i,s),e){case"width":case"height":this._updatePOT();break;case"source":this._updateSize();break;case"filterMode":case"wrapMode":case"pixelRatio":this.requestUpload();break}}_updatePOT(){this._isPowerOfTwo=$r(this.realWidth)&&$r(this.realHeight),this.requestUpload()}_updateSize(){const e=this.source;"pixels"in e?(this.width=e.width/this.pixelRatio,this.height=e.height/this.pixelRatio):(this.width=Number(e.naturalWidth||e.videoWidth||e.width||0)/this.pixelRatio,this.height=Number(e.naturalHeight||e.videoHeight||e.height||0)/this.pixelRatio),this.requestUpload()}requestUpload(){this._needsUpload=!0}upload(e,t){return this._needsUpload&&this.valid?(this._needsUpload=!1,e.texture.update(this._glTexture(e,t),this._glTextureOptions(e,t)),!0):!1}activate(e,t=0){return this.valid?(e.texture.bind({target:"texture_2d",value:this._glTexture(e,{location:t}),location:t}),this.upload(e,{location:t}),!0):!1}inactivate(e){e.texture.unbind(this._glTexture(e))}free(){Ln&&this.source instanceof ImageBitmap&&this.source.close()}}UA([Ee()],ve.prototype,"source"),UA([k({default:0})],ve.prototype,"width"),UA([k({default:0})],ve.prototype,"height"),UA([k({default:"linear"})],ve.prototype,"filterMode"),UA([k({default:"clamp_to_edge"})],ve.prototype,"wrapMode"),UA([k({default:1})],ve.prototype,"pixelRatio");class er extends Ot{constructor(e){super();h(this,"frames");let t;if(Array.isArray(e))t=e;else if(e instanceof ve)t=[{texture:e,duration:0}];else throw new TypeError("Failed new AnimatedTexture");this.frames=t,this.updateDuration()}updateDuration(){return this.duration=this.frames.reduce((e,t)=>t.duration+e,0),this}free(){this.frames.forEach(e=>{e.texture.free()})}}var vg=Object.defineProperty,_g=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&vg(A,e,i),i};class li extends ve{constructor(A=document.createElement("canvas")){super(A)}_updateProperty(A,e,t,i){switch(A){case"width":this.source.width=Math.max(1,Math.ceil(e*this.pixelRatio));break;case"height":this.source.height=Math.max(1,Math.ceil(e*this.pixelRatio));break}super._updateProperty(A,e,t,i)}}_g([k({default:2})],li.prototype,"pixelRatio");class ps extends ve{constructor(A){const e=new Zt(A);super({width:1,height:1,pixels:new Uint8Array([e.r8,e.g8,e.b8,e.a8])})}}function Dg(r){return{autoLoad:!!((r==null?void 0:r.autoLoad)??!0),useBitmap:!!((r==null?void 0:r.useBitmap)??!0)&&ts,crossorigin:(r==null?void 0:r.crossorigin)??null}}class bg extends ve{constructor(e,t){const i=Dg(t);super(e);h(this,"bitmap");h(this,"useBitmap");h(this,"preserveBitmap",!1);h(this,"_loadSource");h(this,"_loadBitmap");const s=e.src,n=s.includes(".svg")||s.startsWith("data:image/svg+xml");this.useBitmap=i.useBitmap&&!n,i.autoLoad&&this.load()}async load(){return this._loadSource||(this._loadSource=new Promise(e=>{this._loadSource=void 0;const t=this.source,i=()=>{t.onload=null,t.onerror=null},s=()=>{i(),this.requestUpload(),this.useBitmap?this.genBitmap().finally(()=>e(this)):e(this)},n=o=>{i(),console.warn(`Failed to load ImageTexture, src: ${t.src}`,o),this.emit("error",o),e(this)};t.complete&&t.src?s():(t.onload=s,t.onerror=n)})),this._loadSource}genBitmap(){if(this._loadBitmap)return this._loadBitmap;if(this.bitmap||!ts)return Promise.resolve(this);const e=this.source,t=!e.crossOrigin||e.crossOrigin==="anonymous";return this._loadBitmap=fetch(e.src,{mode:t?"cors":"no-cors"}).then(i=>i.blob()).then(i=>createImageBitmap(i,0,0,e.width,e.height,{premultiplyAlpha:"premultiply"})).then(i=>(this.bitmap=i,this.requestUpload(),this._loadBitmap=void 0,this)).catch(i=>(console.warn("Failed to genBitmap",i),this)),this._loadBitmap}_glTextureOptions(e){return{...super._glTextureOptions(e),value:this.bitmap??this.source}}upload(e){if(this.useBitmap){if(!this.bitmap)return this.genBitmap(),!1}else{const i=this.source;if(ni&&i instanceof HTMLImageElement&&(!i.complete||i.naturalWidth===0))return!1}const t=super.upload(e);return this.preserveBitmap&&this.bitmap&&(this.bitmap.close(),this.bitmap=void 0),t}}class Cs extends ve{constructor(A,e=1,t=1){const i={width:e,height:t,pixels:null};A&&(ArrayBuffer.isView(A)?i.pixels=new Uint8Array(A.buffer):i.pixels=new Uint8Array(A)),super(i)}_updateProperty(A,e,t,i){switch(A){case"width":this.source.width=Math.round(e*this.pixelRatio);break;case"height":this.source.height=Math.round(e*this.pixelRatio);break}super._updateProperty(A,e,t,i)}}var xg=Object.defineProperty,To=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&xg(A,e,i),i};function Sg(r){return{autoLoad:!!((r==null?void 0:r.autoLoad)??!0),autoPlay:!!((r==null?void 0:r.autoPlay)??!1),fps:Number((r==null?void 0:r.fps)??0),crossorigin:(r==null?void 0:r.crossorigin)??null,loop:!!((r==null?void 0:r.loop)??!1),muted:!!((r==null?void 0:r.muted)??!1),playsinline:!!((r==null?void 0:r.playsinline)??!0)}}const Qs=(vA=class extends ve{constructor(e,t){const i=Sg(t);if(!Yn(e)){typeof e=="string"&&(e=[e]);const s=e[0].src||e[0],n=document.createElement("video");i.autoLoad&&n.setAttribute("preload","auto"),i.playsinline&&(n.setAttribute("webkit-playsinline",""),n.setAttribute("playsinline","")),i.muted&&(n.setAttribute("muted",""),n.muted=!0),i.loop&&n.setAttribute("loop",""),i.autoPlay&&n.setAttribute("autoplay",""),Xn(n,s,i.crossorigin);for(let o=0;o<e.length;++o){let{src:a,mime:l}=e[o];if(a=a||e[o],a.startsWith("data:"))l=a.slice(5,a.indexOf(";"));else if(!a.startsWith("blob:")){const c=a.split("?").shift().toLowerCase(),f=c.slice(c.lastIndexOf(".")+1);l=l||vA.mimeTypes.get(f)||`video/${f}`}const g=document.createElement("source");g.src=a,l&&(g.type=l),n.appendChild(g)}e=n}super(e);h(this,"_spf",0);h(this,"_autoPlay",!1);h(this,"_sourceLoad");h(this,"_nextTime",0);h(this,"_connected",!1);h(this,"_requestId");h(this,"_resolve");h(this,"_reject");h(this,"_onPlayStart",()=>{this.valid||this._onCanPlay(),this._setupAutoUpdate()});h(this,"_onPlayStop",()=>{this._setupAutoUpdate()});h(this,"_onCanPlay",()=>{const e=this.source;e.removeEventListener("canplay",this._onCanPlay),e.removeEventListener("canplaythrough",this._onCanPlay);const t=this.valid;this._nextTime=0,this._updateSize(),this.requestUpload(),this._nextTime=0,!t&&this._resolve&&(this._resolve(this),this._sourceLoad=void 0,this._resolve=void 0,this._reject=void 0),this.isPlaying?this._onPlayStart():this._autoPlay&&e.play()});h(this,"_onError",e=>{this.source.removeEventListener("error",this._onError,!0),this.emit("error",e),this._reject&&(this._reject(e),this._reject=void 0,this._resolve=void 0)});h(this,"_onSeeked",()=>{this.autoUpdate&&!this.isPlaying&&(this._nextTime=0,this.requestUpload(),this._nextTime=0)});h(this,"_videoFrameRequestCallback",()=>{this.requestUpload(),this._requestId=this.source.requestVideoFrameCallback(this._videoFrameRequestCallback)});h(this,"requestUpload",()=>{const e=Math.floor(xe.elapsed*this.source.playbackRate);this._nextTime-=e,(!this._spf||this._nextTime<=0)&&(super.requestUpload(),this._nextTime=this._spf||0)});this.fps=i.fps,this._autoPlay=i.autoPlay,i.autoPlay&&this.load(),this._setupAutoUpdate()}get isReady(){return this.source.readyState>2}get isPlaying(){return!this.source.paused&&!this.source.ended&&this.isReady}get duration(){return this.source.duration}get seeking(){return this.source.seeking}get currentTime(){return this.source.currentTime}set currentTime(e){this.source.currentTime=e}_updateProperty(e,t,i,s){switch(super._updateProperty(e,t,i,s),e){case"fps":this._spf=t?Math.floor(1e3/t):0,this._setupAutoUpdate();break;case"autoUpdate":this._setupAutoUpdate();break}}_setupAutoUpdate(){this.autoUpdate&&this.isPlaying?!this.fps&&this.source.requestVideoFrameCallback?(this._connected&&(xe.off(this.requestUpload),this._connected=!1,this._nextTime=0),this._requestId===void 0&&(this._requestId=this.source.requestVideoFrameCallback(this._videoFrameRequestCallback))):(this._requestId!==void 0&&(this.source.cancelVideoFrameCallback(this._requestId),this._requestId=void 0),this._connected||(xe.on(this.requestUpload),this._connected=!0,this._nextTime=0)):(this._requestId!==void 0&&(this.source.cancelVideoFrameCallback(this._requestId),this._requestId=void 0),this._connected&&(xe.off(this.requestUpload),this._connected=!1,this._nextTime=0))}async load(){if(!this._sourceLoad){const e=this.source;(e.readyState===e.HAVE_ENOUGH_DATA||e.readyState===e.HAVE_FUTURE_DATA)&&e.width&&e.height&&(e.complete=!0),e.addEventListener("play",this._onPlayStart),e.addEventListener("pause",this._onPlayStop),e.addEventListener("seeked",this._onSeeked),this.isReady?this._onCanPlay():(e.addEventListener("canplay",this._onCanPlay),e.addEventListener("canplaythrough",this._onCanPlay),e.addEventListener("error",this._onError,!0)),this._sourceLoad=new Promise((t,i)=>{this.valid?(this._sourceLoad=void 0,t(this)):(this._resolve=t,this._reject=i,e.load())})}return this._sourceLoad}free(){this._setupAutoUpdate();const e=this.source;e&&(e.removeEventListener("play",this._onPlayStart),e.removeEventListener("pause",this._onPlayStop),e.removeEventListener("seeked",this._onSeeked),e.removeEventListener("canplay",this._onCanPlay),e.removeEventListener("canplaythrough",this._onCanPlay),e.removeEventListener("error",this._onError,!0),e.pause(),e.src="",e.load())}},h(vA,"mimeTypes",new Map(Object.entries({ogv:"video/ogg",mov:"video/quicktime",m4v:"video/mp4"}))),vA);To([Ee({default:!0})],Qs.prototype,"autoUpdate"),To([Ee({default:0})],Qs.prototype,"fps");let Lo=Qs;class ys extends Cs{}var Mg=Object.defineProperty,Rg=Object.getOwnPropertyDescriptor,kA=(r,A,e,t)=>{for(var i=t>1?void 0:t?Rg(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&Mg(A,e,i),i};const Go={};function Ug(r){let A=Go[r]??0;return A++,Go[r]=A,A}u.Node=class extends zi{constructor(e,t=[]){super();h(this,"_readyed",!1);h(this,"_tree");h(this,"_parent");h(this,"_children",[]);h(this,"_meta",new Map);this._onTreeEnter=this._onTreeEnter.bind(this),this._onTreeExit=this._onTreeExit.bind(this),this._onParented=this._onParented.bind(this),this._onUnparented=this._onUnparented.bind(this),this._onReady=this._onReady.bind(this),this._onProcess=this._onProcess.bind(this),this.setProperties({name:`${this.tag}:${Ug(this.tag)}`,...e}).append(t),this.on("treeEnter",this._onTreeEnter).on("treeExit",this._onTreeExit).on("parented",this._onParented).on("unparented",this._onUnparented).on("ready",this._onReady).on("process",this._onProcess)}getName(){return this.name}setName(e){return this.name=e,this}get tree(){return this.getTree()}set tree(e){this.setTree(e)}getTree(){return this._tree}getViewport(){var e;return(e=this._tree)==null?void 0:e.getCurrentViewport()}getWindow(){var e;return(e=this._tree)==null?void 0:e.root}isInsideTree(){return!!this._tree}setTree(e){const t=this._tree;if(!(e!=null&&e.is(t))){t&&this.emit("treeExit",t),this._tree=e,e&&this.emit("treeEnter",e);for(let i=this._children.length,s=0;s<i;s++){const n=this._children[s];!e&&this.emit("childExitingTree",n),n.setTree(e),e&&this.emit("childEnteredTree",n)}e&&(this.emit("treePostEnter",e),this._readyed||(this._readyed=!0,this.emit("ready")))}return this}get parent(){return this._parent}set parent(e){this.setParent(e)}hasParent(){return!!this._parent}getParent(){return this._parent}setParent(e){var t;if(!((t=this._parent)!=null&&t.is(e))){const i=this._parent;this._parent=e,this.setTree(e==null?void 0:e._tree),e?this.emit("parented",e):i&&this.emit("unparented",i)}return this}get siblingIndex(){return this.getIndex()}set siblingIndex(e){var t;(t=this._parent)==null||t.moveChild(this,e)}get previousSibling(){var e;return(e=this._parent)==null?void 0:e.getChildren()[this.getIndex()-1]}get nextSibling(){var e;return(e=this._parent)==null?void 0:e.getChildren()[this.getIndex()+1]}get firstSibling(){var e;return(e=this._parent)==null?void 0:e.getChildren()[0]}get lastSibling(){var t;const e=(t=this._parent)==null?void 0:t.getChildren();return e?e[e.length-1]:void 0}hasMeta(e){return this._meta.has(e)}getMeta(e,t){return this._meta.get(e)??t}setMeta(e,t){this._meta.set(e,t)}deleteMeta(e){this._meta.delete(e)}clearMeta(){this._meta.clear()}canProcess(){var e;if(!this._tree)return!1;switch(this.processMode){case"inherit":return((e=this._parent)==null?void 0:e.canProcess())??!0;case"pausable":return!this._tree.paused;case"when_paused":return this._tree.paused;case"always":return!0;case"disabled":default:return!1}}canRender(){var e;if(!this._tree)return!1;switch(this.renderMode){case"inherit":return((e=this._parent)==null?void 0:e.canRender())??!0;case"always":return!0;case"disabled":default:return!1}}_onTreeEnter(e){this._treeEnter(e),this.emit("treeEntered",e)}_onTreeExit(e){this.emit("treeExiting",e),this._treeExit(e),this.emit("treeExited",e)}_onParented(e){this._parented(e)}_onUnparented(e){this._unparented(e)}_onReady(){this._ready()}_onProcess(e=0){const t=this._tree,i=this.canRender(),s=this.canProcess();s&&(t==null||t.emit("nodeProcessing",this),this.emit("processing",e),this._process(e));let n;if(i){const o=t.renderStack.push(this);n=t.renderStack.currentCall,t.renderStack.currentCall=o}if(this.mask instanceof u.Node)this.getNode("__$mask")||(this.mask.processMode="disabled",this.appendChild(this.mask,"front"));else{const o=this.getNode("__$mask");o&&this.removeChild(o)}for(let o=this._children.length,a=0;a<o;a++)this._children[a].emit("process",e);i&&(t.renderStack.currentCall=n),s&&(this.emit("processed",e),t==null||t.emit("nodeProcessed",this))}render(e,t){const i=this.mask;i&&(e.flush(),e.mask.push(this,i)),this._render(e),t==null||t(),i&&(e.flush(),e.mask.pop(this))}input(e,t){for(let i=this._children.length-1;i>=0;i--)this._children[i].input(e,t);this._input(e,t)}getChildren(e=!1){switch(e){case!0:return this._children;case!1:return this._children.filter(t=>t.internalMode==="default");default:return this._children.filter(t=>t.internalMode===e)}}getIndex(e=!1){var t;return((t=this._parent)==null?void 0:t.getChildren(e).indexOf(this))??0}getNode(e){return this._children.find(t=>t.name===e)}removeNode(e){var t;(t=this.getNode(e))==null||t.remove()}addSibling(e){return this.is(e)||!this.hasParent()||e.hasParent()?this:(e.internalMode=this.internalMode,this._parent.moveChild(e,this.getIndex(!0)+1),this)}prepend(...e){let t;Array.isArray(e[0])?t=e[0]:t=e,t.forEach(i=>{this.moveChild(i,0)})}append(...e){let t;Array.isArray(e[0])?t=e[0]:t=e,t.forEach(i=>{this.appendChild(i)})}before(...e){let t;Array.isArray(e[0])?t=e[0]:t=e,t.forEach(i=>{var s;(s=this._parent)==null||s.moveChild(i,this.getIndex(!0))})}after(...e){let t;Array.isArray(e[0])?t=e[0]:t=e,t.forEach(i=>{var s;(s=this._parent)==null||s.moveChild(i,this.getIndex(!0)+1)})}insertBefore(e,t){return!t.hasParent()||!this.is(t.parent)||this.moveChild(e,t.getIndex(!0)),e}appendChild(e,t=e.internalMode){if(this.is(e)||e.hasParent())return e;switch(t){case"default":case"front":{const i=t==="default"?"back":"front",s=this._children.findIndex(n=>n.internalMode===i);s>-1?this._children.splice(s,0,e):this._children.push(e);break}case"back":this._children.push(e);break}return e.internalMode=t,e.setParent(this),this.emit("appendChild",e),e}moveChild(e,t,i=e.internalMode){if(this.is(e)||e.hasParent()&&!this.is(e.parent))return this;e.internalMode=i;const s=this._children.indexOf(e);let n=this._children.findIndex(l=>{switch(i){case"default":return l.internalMode!=="front";case"back":return l.internalMode==="back";case"front":default:return!0}});n=n>-1?n:Math.max(0,this._children.length-1);let o=this._children.slice(n).findIndex(l=>{switch(i){case"front":return l.internalMode!=="front";case"default":return l.internalMode==="back";case"back":default:return!1}});o=o>-1?n+o:Math.max(0,this._children.length);const a=bt(n,t>-1?t:o,o);return a!==s&&(s>-1&&this._children.splice(s,1),e.setParent(this),a>-1&&a<this._children.length?this._children.splice(a,0,e):this._children.push(e),s>-1?this.emit("moveChild",e,a,s):this.emit("appendChild",e)),this}removeChild(e){const t=e.getIndex(!0);return this.is(e.parent)&&t>-1&&(this._children.splice(t,1),e.setParent(void 0),this.emit("removeChild",e,t)),e}removeChildren(){this.getChildren().forEach(e=>this.removeChild(e))}remove(){var e;(e=this._parent)==null||e.removeChild(this)}forEach(e){return this.getChildren().forEach(e),this}deepForEach(e){return this.getChildren().forEach(t=>{e(t),t.deepForEach(e)}),this}_ready(){}_treeEnter(e){}_treeExit(e){}_parented(e){}_unparented(e){}_process(e){}_input(e,t){}_render(e){}clone(){return new this.constructor(this.toJSON().props,this.getChildren(!0))}toJSON(){return{tag:this.tag,props:{name:this.name,...super.toJSON()},meta:Object.fromEntries(this._meta.entries()),children:this.getChildren().map(e=>e.toJSON())}}static parse(e){if(Array.isArray(e))return e.map(a=>this.parse(a));const{tag:t,props:i,children:s}=e,n=Vi.get(t)??u.Node,o=new n(i);return s==null||s.forEach(a=>o.appendChild(this.parse(a))),o}},kA([Ee()],u.Node.prototype,"name",2),kA([k()],u.Node.prototype,"mask",2),kA([k({default:"inherit"})],u.Node.prototype,"processMode",2),kA([k({default:"inherit"})],u.Node.prototype,"renderMode",2),kA([k({default:"default"})],u.Node.prototype,"internalMode",2),u.Node=kA([re("Node")],u.Node);var kg=Object.defineProperty,Pg=Object.getOwnPropertyDescriptor,gi=(r,A,e,t)=>{for(var i=t>1?void 0:t?Pg(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&kg(A,e,i),i};u.TimelineNode=class extends u.Node{constructor(e,t=[]){super();h(this,"computedDuration",0);h(this,"_currentTime",0);h(this,"_startTime",0);this.setProperties(e).append(t)}get timeline(){var e;return(e=this._tree)==null?void 0:e.timeline}get timelineCurrentTime(){var e;return((e=this.timeline)==null?void 0:e.currentTime)??0}get parentStartTime(){var e;return((e=this._parent)==null?void 0:e.startTime)??0}get currentTime(){return bt(0,this._currentTime,this.computedDuration)}get startTime(){return this._startTime}set startTime(e){this.delay=e-this.parentStartTime,this._updateCurrentTime(!0)}get endTime(){return this._startTime+this.computedDuration}get currentTimeProgress(){return this.computedDuration?bt(0,this._currentTime/this.computedDuration,1):0}isInsideTimeRange(){const e=this._currentTime;return this.computedDuration?e>=0&&e<=this.computedDuration:e>=0}_updateCurrentTime(e=!1){if(e||!this.paused){const t=this._parent;this._startTime=this.delay+this.parentStartTime,this.computedDuration=t!=null&&t.computedDuration?Math.min(this._startTime+this.duration,t.endTime)-this._startTime:this.duration,this._currentTime=this.timelineCurrentTime-this._startTime,this.emit("updateCurrentTime",this._currentTime),this.insideTimeRange=this.isInsideTimeRange()}}_process(e){super._process(e),this._updateCurrentTime()}},gi([k({default:0})],u.TimelineNode.prototype,"delay",2),gi([k({default:0})],u.TimelineNode.prototype,"duration",2),gi([k({default:!1})],u.TimelineNode.prototype,"paused",2),gi([Ee()],u.TimelineNode.prototype,"insideTimeRange",2),u.TimelineNode=gi([re("TimelineNode")],u.TimelineNode);var Ng=Object.defineProperty,Fg=Object.getOwnPropertyDescriptor,hi=(r,A,e,t)=>{for(var i=t>1?void 0:t?Fg(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&Ng(A,e,i),i};u.Viewport=class extends u.Node{constructor(e=!1){super();h(this,"_projection",new fo);h(this,"_framebufferIndex",0);h(this,"_framebuffers",[{texture:new ys,needsUpload:!1},{texture:new ys,needsUpload:!1}]);this.flipY=e,this._projection.flipY(e)}get valid(){return!!(this.width&&this.height)}get framebuffer(){return this._framebuffers[this._framebufferIndex]}get texture(){return this.framebuffer.texture}_glFramebufferOptions(e){const{width:t,height:i}=this,{pixelRatio:s}=e;return this._framebuffers.forEach(n=>{const o=n.texture;o.pixelRatio=s,o.width=t,o.height=i,o.upload(e)}),{width:t,height:i,colorTextures:[this.texture._glTexture(e)]}}_glFramebuffer(e){return e.getRelated(this.framebuffer,()=>e.framebuffer.create(this._glFramebufferOptions(e)))}_updateProperty(e,t,i,s){switch(super._updateProperty(e,t,i,s),e){case"x":case"y":this.requestUpload(),this._projection.translate(this.x,this.y),this.emit("updateRect");break;case"width":case"height":this.requestUpload(),this._projection.resize(this.width,this.height),this.emit("updateRect");break}}requestUpload(){this._framebuffers.forEach(e=>e.needsUpload=!0)}resize(e,t){this.width=e,this.height=t}upload(e){const t=this.framebuffer;return t.needsUpload&&this.valid?(t.needsUpload=!1,e.framebuffer.update(this._glFramebuffer(e),this._glFramebufferOptions(e)),!0):!1}activate(e){var t;return this.valid?(e.flush(),(t=this._tree)==null||t.setCurrentViewport(this),e.framebuffer.bind(this._glFramebuffer(e)),this.upload(e),!0):!1}redraw(e,t){if(this.valid){e.flush();const i=this.framebuffer.texture;return this._framebufferIndex=(this._framebufferIndex+1)%this._framebuffers.length,this.activate(e),e.clear(),i.activate(e,0),t(),!0}return!1}activateWithCopy(e,t){this.resize(t.width,t.height),this.activate(e)&&(e.clear(),t.texture.activate(e,0),fe.draw(e,RA.instance,{sampler:0}))}render(e,t){var s,n;const i=(s=this._tree)==null?void 0:s.getCurrentViewport();this.activate(e),e.clear(),super.render(e,t),e.flush(),i?i.activate(e):(e.framebuffer.bind(null),(n=this._tree)==null||n.setCurrentViewport(void 0))}getRect(){return new Is(this.x,this.y,this.width,this.height)}toProjectionArray(e=!1){return this._projection.toArray(e)}},hi([k({default:0})],u.Viewport.prototype,"x",2),hi([k({default:0})],u.Viewport.prototype,"y",2),hi([k({default:0})],u.Viewport.prototype,"width",2),hi([k({default:0})],u.Viewport.prototype,"height",2),u.Viewport=hi([re("Viewport")],u.Viewport);var Tg=Object.defineProperty,Lg=Object.getOwnPropertyDescriptor,ci=(r,A,e,t)=>{for(var i=t>1?void 0:t?Lg(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&Tg(A,e,i),i};u.Effect=class extends u.TimelineNode{constructor(e,t=[]){super();h(this,"viewport1",new u.Viewport);h(this,"viewport2",new u.Viewport);h(this,"_renderId",0);h(this,"_renderViewport");h(this,"_previousSibling");h(this,"_nextSibling");this._onProcessing=this._onProcessing.bind(this),this._onNodeProcessed=this._onNodeProcessed.bind(this),this.setProperties(e).append(t)}get _effectMode(){return this.effectMode??"parent"}_updateProperty(e,t,i,s){switch(super._updateProperty(e,t,i,s),e){case"glsl":{const n=new $i(t);!this.effectMode&&n.has.transition&&(this.effectMode="transition"),this.material=n;break}case"glslSrc":{t?Vt.text.load(t).then(n=>this.glsl=n):this.glsl="";break}}}_treeEnter(e){e.on("processing",this._onProcessing),e.on("nodeProcessed",this._onNodeProcessed),this.viewport1.setTree(e),this.viewport2.setTree(e)}_treeExit(e){e.off("processing",this._onProcessing),e.off("nodeProcessed",this._onNodeProcessed),this.viewport1.setTree(void 0),this.viewport2.setTree(void 0)}_onProcessing(){if(this.canProcess())switch(this._updateCurrentTime(),this._effectMode){case"transition":this._previousSibling=this.previousSibling,this._nextSibling=this.nextSibling;break;default:this._previousSibling=void 0,this._nextSibling=void 0;break}}_onNodeProcessed(e){var i;if(!this.canProcess()||!this.isInsideTimeRange())return;const t=(i=this._tree)==null?void 0:i.renderStack;if(t)switch(this._effectMode){case"transition":e.is(this._previousSibling)?(this._previousSibling=void 0,t.push(this)):e.is(this._nextSibling)&&(this._nextSibling=void 0,t.push(this));break}}_processParent(){var o,a;const e=(o=this._tree)==null?void 0:o.renderStack;if(!e)return;const t=(a=e.currentCall)==null?void 0:a.parentCall;if(!t)return;const i=t.calls;let s,n;i.forEach((l,g)=>{var c;(l.renderable.is(this._parent)||(c=l.renderable.parent)!=null&&c.is(this._parent))&&(s=s??g,n=g)}),!(s===void 0||n===void 0)&&(i.splice(n+1,0,e.createCall(this)),i.splice(s,0,e.createCall(this)))}_processChildren(){var e;this._children.length&&(super.emit("process"),(e=this._tree)==null||e.renderStack.push(this))}_onProcess(e=0){if(this.canProcess())switch(this._renderId=0,this._effectMode){case"before":super._onProcess(e);break;case"parent":this._processParent();break;case"children":this._processChildren();break}}_renderBefore(e){var i;const t=(i=this._tree)==null?void 0:i.getCurrentViewport();t&&this.apply(e,t,{redraw:!0})}_renderTransition(e){var t;if(this._renderId%2===0)this._renderViewport=(t=this._tree)==null?void 0:t.getCurrentViewport(),this._renderViewport&&(this.viewport1.activateWithCopy(e,this._renderViewport),this.viewport2.resize(this._renderViewport.width,this._renderViewport.height)),this.viewport2.activate(e),e.clear();else{const i=this._renderViewport;this._renderViewport=void 0,i&&(i.activate(e),e.clear(),this.viewport1.texture.activate(e,0),this.viewport2.texture.activate(e,1),this.apply(e,i,{from:this.viewport1,to:this.viewport2}),e.texture.unbind(0),e.texture.unbind(1))}}_renderParentOrChildren(e){var t;if(this._renderId%2===0)this._renderViewport=(t=this._tree)==null?void 0:t.getCurrentViewport(),this._renderViewport&&this.viewport1.resize(this._renderViewport.width,this._renderViewport.height),this.viewport1.activate(e),e.clear();else{const i=this._renderViewport;this._renderViewport=void 0,i&&(this.viewport1.activate(e),this.apply(e,this.viewport1,{redraw:!0,target:this._effectMode==="parent"?this._parent??void 0:void 0,targetArea:this._parseTargetArea()}),i.activate(e),this.viewport1.texture.activate(e,0),fe.draw(e))}}_parseTargetArea(){if(this._effectMode==="parent"&&this._parent&&"getRect"in this._parent){const e=this._parent.getRect();if(e)return[e.left/this.viewport1.width,e.top/this.viewport1.height,e.width/this.viewport1.width,e.height/this.viewport1.height]}}_render(e){switch(this._effectMode){case"before":this._renderBefore(e);break;case"transition":this._renderTransition(e);break;case"parent":case"children":default:this._renderParentOrChildren(e);break}this._renderId++}apply(e,t,i){this.material&&(i!=null&&i.redraw?t.redraw(e,()=>{fe.draw(e,this.material,{from:0,to:1,progress:this.currentTimeProgress,ratio:t.width/t.height})}):fe.draw(e,this.material,{from:0,to:1,progress:this.currentTimeProgress,ratio:i!=null&&i.from?i.from.width/i.from.height:0}))}},ci([Ee()],u.Effect.prototype,"material",2),ci([k()],u.Effect.prototype,"effectMode",2),ci([k({default:""})],u.Effect.prototype,"glsl",2),ci([k({default:""})],u.Effect.prototype,"glslSrc",2),u.Effect=ci([re("Effect")],u.Effect);var Oo=Object.defineProperty,Gg=Object.getOwnPropertyDescriptor,Og=(r,A,e)=>A in r?Oo(r,A,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[A]=e,ms=(r,A,e,t)=>{for(var i=t>1?void 0:t?Gg(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&Oo(A,e,i),i},Ho=(r,A,e)=>Og(r,typeof A!="symbol"?A+"":A,e);const Hg=`attribute vec2 position;
|
|
114
114
|
attribute vec2 uv;
|
|
115
115
|
varying vec2 vUv[9];
|
|
116
116
|
uniform float strength;
|
|
@@ -668,7 +668,7 @@ void main(void) {
|
|
|
668
668
|
coord = unmapCoord(coord);
|
|
669
669
|
gl_FragColor = texture2D(sampler, coord);
|
|
670
670
|
}`})),Aa([k()],u.PixelateEffect.prototype,"size",2),u.PixelateEffect=Aa([re("PixelateEffect")],u.PixelateEffect);function Ch(r,A,e=2){const t=A&&A.length,i=t?A[0]*e:r.length;let s=ia(r,0,i,e,!0);const n=[];if(!s||s.next===s.prev)return n;let o,a,l;if(t&&(s=vh(r,A,s,e)),r.length>80*e){o=1/0,a=1/0;let g=-1/0,c=-1/0;for(let f=e;f<i;f+=e){const I=r[f],d=r[f+1];I<o&&(o=I),d<a&&(a=d),I>g&&(g=I),d>c&&(c=d)}l=Math.max(g-o,c-a),l=l!==0?32767/l:0}return di(s,n,e,o,a,l,0),n}function ia(r,A,e,t,i){let s;if(i===Nh(r,A,e,t)>0)for(let n=A;n<e;n+=t)s=oa(n/t|0,r[n],r[n+1],s);else for(let n=e-t;n>=A;n-=t)s=oa(n/t|0,r[n],r[n+1],s);return s&&PA(s,s.next)&&(Ei(s),s=s.next),s}function BA(r,A){if(!r)return r;A||(A=r);let e=r,t;do if(t=!1,!e.steiner&&(PA(e,e.next)||ye(e.prev,e,e.next)===0)){if(Ei(e),e=A=e.prev,e===e.next)break;t=!0}else e=e.next;while(t||e!==A);return A}function di(r,A,e,t,i,s,n){if(!r)return;!n&&s&&Sh(r,t,i,s);let o=r;for(;r.prev!==r.next;){const a=r.prev,l=r.next;if(s?yh(r,t,i,s):Qh(r)){A.push(a.i,r.i,l.i),Ei(r),r=l.next,o=l.next;continue}if(r=l,r===o){n?n===1?(r=mh(BA(r),A),di(r,A,e,t,i,s,2)):n===2&&wh(r,A,e,t,i,s):di(BA(r),A,e,t,i,s,1);break}}}function Qh(r){const A=r.prev,e=r,t=r.next;if(ye(A,e,t)>=0)return!1;const i=A.x,s=e.x,n=t.x,o=A.y,a=e.y,l=t.y,g=Math.min(i,s,n),c=Math.min(o,a,l),f=Math.max(i,s,n),I=Math.max(o,a,l);let d=t.next;for(;d!==A;){if(d.x>=g&&d.x<=f&&d.y>=c&&d.y<=I&&Ii(i,o,s,a,n,l,d.x,d.y)&&ye(d.prev,d,d.next)>=0)return!1;d=d.next}return!0}function yh(r,A,e,t){const i=r.prev,s=r,n=r.next;if(ye(i,s,n)>=0)return!1;const o=i.x,a=s.x,l=n.x,g=i.y,c=s.y,f=n.y,I=Math.min(o,a,l),d=Math.min(g,c,f),C=Math.max(o,a,l),B=Math.max(g,c,f),R=bs(I,d,A,e,t),S=bs(C,B,A,e,t);let _=r.prevZ,M=r.nextZ;for(;_&&_.z>=R&&M&&M.z<=S;){if(_.x>=I&&_.x<=C&&_.y>=d&&_.y<=B&&_!==i&&_!==n&&Ii(o,g,a,c,l,f,_.x,_.y)&&ye(_.prev,_,_.next)>=0||(_=_.prevZ,M.x>=I&&M.x<=C&&M.y>=d&&M.y<=B&&M!==i&&M!==n&&Ii(o,g,a,c,l,f,M.x,M.y)&&ye(M.prev,M,M.next)>=0))return!1;M=M.nextZ}for(;_&&_.z>=R;){if(_.x>=I&&_.x<=C&&_.y>=d&&_.y<=B&&_!==i&&_!==n&&Ii(o,g,a,c,l,f,_.x,_.y)&&ye(_.prev,_,_.next)>=0)return!1;_=_.prevZ}for(;M&&M.z<=S;){if(M.x>=I&&M.x<=C&&M.y>=d&&M.y<=B&&M!==i&&M!==n&&Ii(o,g,a,c,l,f,M.x,M.y)&&ye(M.prev,M,M.next)>=0)return!1;M=M.nextZ}return!0}function mh(r,A){let e=r;do{const t=e.prev,i=e.next.next;!PA(t,i)&&sa(t,e,e.next,i)&&Bi(t,i)&&Bi(i,t)&&(A.push(t.i,e.i,i.i),Ei(e),Ei(e.next),e=r=i),e=e.next}while(e!==r);return BA(e)}function wh(r,A,e,t,i,s){let n=r;do{let o=n.next.next;for(;o!==n.prev;){if(n.i!==o.i&&Uh(n,o)){let a=na(n,o);n=BA(n,n.next),a=BA(a,a.next),di(n,A,e,t,i,s,0),di(a,A,e,t,i,s,0);return}o=o.next}n=n.next}while(n!==r)}function vh(r,A,e,t){const i=[];for(let s=0,n=A.length;s<n;s++){const o=A[s]*t,a=s<n-1?A[s+1]*t:r.length,l=ia(r,o,a,t,!1);l===l.next&&(l.steiner=!0),i.push(Rh(l))}i.sort(_h);for(let s=0;s<i.length;s++)e=Dh(i[s],e);return e}function _h(r,A){let e=r.x-A.x;if(e===0&&(e=r.y-A.y,e===0)){const t=(r.next.y-r.y)/(r.next.x-r.x),i=(A.next.y-A.y)/(A.next.x-A.x);e=t-i}return e}function Dh(r,A){const e=bh(r,A);if(!e)return A;const t=na(e,r);return BA(t,t.next),BA(e,e.next)}function bh(r,A){let e=A;const t=r.x,i=r.y;let s=-1/0,n;if(PA(r,e))return e;do{if(PA(r,e.next))return e.next;if(i<=e.y&&i>=e.next.y&&e.next.y!==e.y){const c=e.x+(i-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(c<=t&&c>s&&(s=c,n=e.x<e.next.x?e:e.next,c===t))return n}e=e.next}while(e!==A);if(!n)return null;const o=n,a=n.x,l=n.y;let g=1/0;e=n;do{if(t>=e.x&&e.x>=a&&t!==e.x&&ra(i<l?t:s,i,a,l,i<l?s:t,i,e.x,e.y)){const c=Math.abs(i-e.y)/(t-e.x);Bi(e,r)&&(c<g||c===g&&(e.x>n.x||e.x===n.x&&xh(n,e)))&&(n=e,g=c)}e=e.next}while(e!==o);return n}function xh(r,A){return ye(r.prev,r,A.prev)<0&&ye(A.next,r,r.next)<0}function Sh(r,A,e,t){let i=r;do i.z===0&&(i.z=bs(i.x,i.y,A,e,t)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==r);i.prevZ.nextZ=null,i.prevZ=null,Mh(i)}function Mh(r){let A,e=1;do{let t=r,i;r=null;let s=null;for(A=0;t;){A++;let n=t,o=0;for(let l=0;l<e&&(o++,n=n.nextZ,!!n);l++);let a=e;for(;o>0||a>0&&n;)o!==0&&(a===0||!n||t.z<=n.z)?(i=t,t=t.nextZ,o--):(i=n,n=n.nextZ,a--),s?s.nextZ=i:r=i,i.prevZ=s,s=i;t=n}s.nextZ=null,e*=2}while(A>1);return r}function bs(r,A,e,t,i){return r=(r-e)*i|0,A=(A-t)*i|0,r=(r|r<<8)&16711935,r=(r|r<<4)&252645135,r=(r|r<<2)&858993459,r=(r|r<<1)&1431655765,A=(A|A<<8)&16711935,A=(A|A<<4)&252645135,A=(A|A<<2)&858993459,A=(A|A<<1)&1431655765,r|A<<1}function Rh(r){let A=r,e=r;do(A.x<e.x||A.x===e.x&&A.y<e.y)&&(e=A),A=A.next;while(A!==r);return e}function ra(r,A,e,t,i,s,n,o){return(i-n)*(A-o)>=(r-n)*(s-o)&&(r-n)*(t-o)>=(e-n)*(A-o)&&(e-n)*(s-o)>=(i-n)*(t-o)}function Ii(r,A,e,t,i,s,n,o){return!(r===n&&A===o)&&ra(r,A,e,t,i,s,n,o)}function Uh(r,A){return r.next.i!==A.i&&r.prev.i!==A.i&&!kh(r,A)&&(Bi(r,A)&&Bi(A,r)&&Ph(r,A)&&(ye(r.prev,r,A.prev)||ye(r,A.prev,A))||PA(r,A)&&ye(r.prev,r,r.next)>0&&ye(A.prev,A,A.next)>0)}function ye(r,A,e){return(A.y-r.y)*(e.x-A.x)-(A.x-r.x)*(e.y-A.y)}function PA(r,A){return r.x===A.x&&r.y===A.y}function sa(r,A,e,t){const i=Ar(ye(r,A,e)),s=Ar(ye(r,A,t)),n=Ar(ye(e,t,r)),o=Ar(ye(e,t,A));return!!(i!==s&&n!==o||i===0&&tr(r,e,A)||s===0&&tr(r,t,A)||n===0&&tr(e,r,t)||o===0&&tr(e,A,t))}function tr(r,A,e){return A.x<=Math.max(r.x,e.x)&&A.x>=Math.min(r.x,e.x)&&A.y<=Math.max(r.y,e.y)&&A.y>=Math.min(r.y,e.y)}function Ar(r){return r>0?1:r<0?-1:0}function kh(r,A){let e=r;do{if(e.i!==r.i&&e.next.i!==r.i&&e.i!==A.i&&e.next.i!==A.i&&sa(e,e.next,r,A))return!0;e=e.next}while(e!==r);return!1}function Bi(r,A){return ye(r.prev,r,r.next)<0?ye(r,A,r.next)>=0&&ye(r,r.prev,A)>=0:ye(r,A,r.prev)<0||ye(r,r.next,A)<0}function Ph(r,A){let e=r,t=!1;const i=(r.x+A.x)/2,s=(r.y+A.y)/2;do e.y>s!=e.next.y>s&&e.next.y!==e.y&&i<(e.next.x-e.x)*(s-e.y)/(e.next.y-e.y)+e.x&&(t=!t),e=e.next;while(e!==r);return t}function na(r,A){const e=xs(r.i,r.x,r.y),t=xs(A.i,A.x,A.y),i=r.next,s=A.prev;return r.next=A,A.prev=r,e.next=i,i.prev=e,t.next=e,e.prev=t,s.next=t,t.prev=s,t}function oa(r,A,e,t){const i=xs(r,A,e);return t?(i.next=t.next,i.prev=t,t.next.prev=i,t.next=i):(i.prev=i,i.next=i),i}function Ei(r){r.next.prev=r.prev,r.prev.next=r.next,r.prevZ&&(r.prevZ.nextZ=r.nextZ),r.nextZ&&(r.nextZ.prevZ=r.prevZ)}function xs(r,A,e){return{i:r,x:A,y:e,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function Nh(r,A,e,t){let i=0;for(let s=A,n=e-t;s<e;s+=t)i+=(r[n]-r[s])*(r[s+1]+r[n+1]),n=s;return i}function Fh(r,A,e,t={}){const{radius:i=1}=t;r.moveTo(A,e),r.arc(A,e,i,0,Math.PI*2)}const Th={arcs:"bevel",bevel:"bevel",miter:"miter","miter-clip":"miter",round:"round"};function Ss(r,A){const{fill:e="#000",stroke:t="none",strokeWidth:i=t==="none"?0:1,strokeLinecap:s="round",strokeLinejoin:n="miter",strokeMiterlimit:o=0,strokeDasharray:a=[],strokeDashoffset:l=0,shadowOffsetX:g=0,shadowOffsetY:c=0,shadowBlur:f=0,shadowColor:I="rgba(0, 0, 0, 0)"}=A;r.fillStyle=e,r.strokeStyle=t,r.lineWidth=i,r.lineCap=s,r.lineJoin=Th[n],r.miterLimit=o,r.setLineDash(a),r.lineDashOffset=l,r.shadowOffsetX=g,r.shadowOffsetY=c,r.shadowBlur=f,r.shadowColor=I}class G{constructor(A=0,e=0){this.x=A,this.y=e}static get MAX(){return new G(1/0,1/0)}static get MIN(){return new G(-1/0,-1/0)}get array(){return[this.x,this.y]}set(A,e){return this.x=A,this.y=e,this}add(A){return this.x+=A.x,this.y+=A.y,this}sub(A){return this.x-=A.x,this.y-=A.y,this}multiply(A){return this.x*=A.x,this.y*=A.y,this}divide(A){return this.x/=A.x,this.y/=A.y,this}dot(A){return this.x*A.x+this.y*A.y}cross(A){return this.x*A.y-this.y*A.x}rotate(A,e={x:0,y:0}){const t=-A/180*Math.PI,i=this.x-e.x,s=-(this.y-e.y),n=Math.sin(t),o=Math.cos(t);return this.set(e.x+(i*o-s*n),e.y-(i*n+s*o)),this}distanceTo(A){return Math.sqrt(this.distanceToSquared(A))}distanceToSquared(A){const e=this.x-A.x,t=this.y-A.y;return e*e+t*t}lengthSquared(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.lengthSquared())}scale(A,e=A,t={x:0,y:0}){const i=A<0?t.x-this.x+t.x:this.x,s=e<0?t.y-this.y+t.y:this.y;return this.x=i*Math.abs(A),this.y=s*Math.abs(e),this}skew(A,e=0,t={x:0,y:0}){const i=this.x-t.x,s=this.y-t.y;return this.x=t.x+(i+Math.tan(A)*s),this.y=t.y+(s+Math.tan(e)*i),this}min(...A){return this.x=Math.min(this.x,...A.map(e=>e.x)),this.y=Math.min(this.y,...A.map(e=>e.y)),this}max(...A){return this.x=Math.max(this.x,...A.map(e=>e.x)),this.y=Math.max(this.y,...A.map(e=>e.y)),this}normalize(){return this.scale(1/(this.length()||1))}addVectors(A,e){return this.x=A.x+e.x,this.y=A.y+e.y,this}subVectors(A,e){return this.x=A.x-e.x,this.y=A.y-e.y,this}multiplyVectors(A,e){return this.x=A.x*e.x,this.y=A.y*e.y,this}divideVectors(A,e){return this.x=A.x/e.x,this.y=A.y/e.y,this}lerpVectors(A,e,t){return this.x=A.x+(e.x-A.x)*t,this.y=A.y+(e.y-A.y)*t,this}equals(A){return this.x===A.x&&this.y===A.y}applyMatrix3(A){const e=this.x,t=this.y,i=A.elements;return this.x=i[0]*e+i[3]*t+i[6],this.y=i[1]*e+i[4]*t+i[7],this}copy(A){return this.x=A.x,this.y=A.y,this}clone(){return new G(this.x,this.y)}}class ce{constructor(A=0,e=0,t=0,i=0){this.left=A,this.top=e,this.width=t,this.height=i}get x(){return this.left}set x(A){this.left=A}get y(){return this.top}set y(A){this.top=A}get right(){return this.left+this.width}get bottom(){return this.top+this.height}get center(){return new G((this.left+this.right)/2,(this.top+this.bottom)/2)}get array(){return[this.left,this.top,this.width,this.height]}static from(...A){if(A.length===0)return new ce;if(A.length===1)return A[0].clone();const e=A[0],t=A.slice(1).reduce((i,s)=>(i.left=Math.min(i.left,s.left),i.top=Math.min(i.top,s.top),i.right=Math.max(i.right,s.right),i.bottom=Math.max(i.bottom,s.bottom),i),{left:(e==null?void 0:e.left)??0,top:(e==null?void 0:e.top)??0,right:(e==null?void 0:e.right)??0,bottom:(e==null?void 0:e.bottom)??0});return new ce(t.left,t.top,t.right-t.left,t.bottom-t.top)}translate(A,e){return this.left+=A,this.top+=e,this}copy(A){return this.left=A.left,this.top=A.top,this.width=A.width,this.height=A.height,this}clone(){return new ce(this.left,this.top,this.width,this.height)}}class at{constructor(A=1,e=0,t=0,i=0,s=1,n=0,o=0,a=0,l=1){h(this,"elements",[]);this.set(A,e,t,i,s,n,o,a,l)}set(A,e,t,i,s,n,o,a,l){const g=this.elements;return g[0]=A,g[1]=i,g[2]=o,g[3]=e,g[4]=s,g[5]=a,g[6]=t,g[7]=n,g[8]=l,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(A){const e=this.elements,t=A.elements;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],this}multiply(A){return this.multiplyMatrices(this,A)}premultiply(A){return this.multiplyMatrices(A,this)}multiplyMatrices(A,e){const t=A.elements,i=e.elements,s=this.elements,n=t[0],o=t[3],a=t[6],l=t[1],g=t[4],c=t[7],f=t[2],I=t[5],d=t[8],C=i[0],B=i[3],R=i[6],S=i[1],_=i[4],M=i[7],w=i[2],v=i[5],D=i[8];return s[0]=n*C+o*S+a*w,s[3]=n*B+o*_+a*v,s[6]=n*R+o*M+a*D,s[1]=l*C+g*S+c*w,s[4]=l*B+g*_+c*v,s[7]=l*R+g*M+c*D,s[2]=f*C+I*S+d*w,s[5]=f*B+I*_+d*v,s[8]=f*R+I*M+d*D,this}invert(){const A=this.elements,e=A[0],t=A[1],i=A[2],s=A[3],n=A[4],o=A[5],a=A[6],l=A[7],g=A[8],c=g*n-o*l,f=o*a-g*s,I=l*s-n*a,d=e*c+t*f+i*I;if(d===0)return this.set(0,0,0,0,0,0,0,0,0);const C=1/d;return A[0]=c*C,A[1]=(i*l-g*t)*C,A[2]=(o*t-i*n)*C,A[3]=f*C,A[4]=(g*e-i*a)*C,A[5]=(i*s-o*e)*C,A[6]=I*C,A[7]=(t*a-l*e)*C,A[8]=(n*e-t*s)*C,this}transpose(){let A;const e=this.elements;return A=e[1],e[1]=e[3],e[3]=A,A=e[2],e[2]=e[6],e[6]=A,A=e[5],e[5]=e[7],e[7]=A,this}scale(A,e){return this.premultiply(Ms.makeScale(A,e)),this}rotate(A){return this.premultiply(Ms.makeRotation(-A)),this}translate(A,e){return this.premultiply(Ms.makeTranslation(A,e)),this}makeTranslation(A,e){return this.set(1,0,A,0,1,e,0,0,1),this}makeRotation(A){const e=Math.cos(A),t=Math.sin(A);return this.set(e,-t,0,t,e,0,0,0,1),this}makeScale(A,e){return this.set(A,0,0,0,e,0,0,0,1),this}fromArray(A,e=0){for(let t=0;t<9;t++)this.elements[t]=A[t+e];return this}clone(){return new this.constructor().fromArray(this.elements)}}const Ms=new at;function aa(r,A,e,t){const i=r*e+A*t,s=Math.sqrt(r*r+A*A)*Math.sqrt(e*e+t*t);let n=Math.acos(Math.max(-1,Math.min(1,i/s)));return r*t-A*e<0&&(n=-n),n}function Lh(r,A,e,t,i,s,n,o){if(A===0||e===0){r.lineTo(o.x,o.y);return}t=t*Math.PI/180,A=Math.abs(A),e=Math.abs(e);const a=(n.x-o.x)/2,l=(n.y-o.y)/2,g=Math.cos(t)*a+Math.sin(t)*l,c=-Math.sin(t)*a+Math.cos(t)*l;let f=A*A,I=e*e;const d=g*g,C=c*c,B=d/f+C/I;if(B>1){const j=Math.sqrt(B);A=j*A,e=j*e,f=A*A,I=e*e}const R=f*C+I*d,S=(f*I-R)/R;let _=Math.sqrt(Math.max(0,S));i===s&&(_=-_);const M=_*A*c/e,w=-_*e*g/A,v=Math.cos(t)*M-Math.sin(t)*w+(n.x+o.x)/2,D=Math.sin(t)*M+Math.cos(t)*w+(n.y+o.y)/2,x=aa(1,0,(g-M)/A,(c-w)/e),L=aa((g-M)/A,(c-w)/e,(-g-M)/A,(-c-w)/e)%(Math.PI*2);r.ellipse(v,D,A,e,t,x,x+L,s===0)}const _e={WHITESPACE:/[ \t\r\n]/,DIGIT:/\d/,SIGN:/[-+]/,POINT:/\./,COMMA:/,/,EXP:/e/i,FLAGS:/[01]/};function Mt(r,A,e=0){let o=0,a=!0,l="",g="";const c=[];function f(B,R,S){const _=new SyntaxError(`Unexpected character "${B}" at index ${R}.`);throw _.partial=S,_}function I(){l!==""&&(g===""?c.push(Number(l)):c.push(Number(l)*10**Number(g))),l="",g=""}let d;const C=r.length;for(let B=0;B<C;B++){if(d=r[B],Array.isArray(A)&&A.includes(c.length%e)&&_e.FLAGS.test(d)){o=1,l=d,I();continue}if(o===0){if(_e.WHITESPACE.test(d))continue;if(_e.DIGIT.test(d)||_e.SIGN.test(d)){o=1,l=d;continue}if(_e.POINT.test(d)){o=2,l=d;continue}_e.COMMA.test(d)&&(a&&f(d,B,c),a=!0)}if(o===1){if(_e.DIGIT.test(d)){l+=d;continue}if(_e.POINT.test(d)){l+=d,o=2;continue}if(_e.EXP.test(d)){o=3;continue}_e.SIGN.test(d)&&l.length===1&&_e.SIGN.test(l[0])&&f(d,B,c)}if(o===2){if(_e.DIGIT.test(d)){l+=d;continue}if(_e.EXP.test(d)){o=3;continue}_e.POINT.test(d)&&l[l.length-1]==="."&&f(d,B,c)}if(o===3){if(_e.DIGIT.test(d)){g+=d;continue}if(_e.SIGN.test(d)){if(g===""){g+=d;continue}g.length===1&&_e.SIGN.test(g)&&f(d,B,c)}}_e.WHITESPACE.test(d)?(I(),o=0,a=!1):_e.COMMA.test(d)?(I(),o=0,a=!0):_e.SIGN.test(d)?(I(),o=1,l=d):_e.POINT.test(d)?(I(),o=2,l=d):f(d,B,c)}return I(),c}function NA(r,A){return r-(A-r)}function la(r,A){const e=new G,t=new G;for(let i=0,s=r.length;i<s;i++){const n=r[i];if(n.type==="m"||n.type==="M")n.type==="m"?e.add(n):e.copy(n),A.moveTo(e.x,e.y),t.copy(e);else if(n.type==="h"||n.type==="H")n.type==="h"?e.x+=n.x:e.x=n.x,A.lineTo(e.x,e.y),t.copy(e);else if(n.type==="v"||n.type==="V")n.type==="v"?e.y+=n.y:e.y=n.y,A.lineTo(e.x,e.y),t.copy(e);else if(n.type==="l"||n.type==="L")n.type==="l"?e.add(n):e.copy(n),A.lineTo(e.x,e.y),t.copy(e);else if(n.type==="c"||n.type==="C")n.type==="c"?(A.bezierCurveTo(e.x+n.x1,e.y+n.y1,e.x+n.x2,e.y+n.y2,e.x+n.x,e.y+n.y),t.x=e.x+n.x2,t.y=e.y+n.y2,e.add(n)):(A.bezierCurveTo(n.x1,n.y1,n.x2,n.y2,n.x,n.y),t.x=n.x2,t.y=n.y2,e.copy(n));else if(n.type==="s"||n.type==="S")n.type==="s"?(A.bezierCurveTo(NA(e.x,t.x),NA(e.y,t.y),e.x+n.x2,e.y+n.y2,e.x+n.x,e.y+n.y),t.x=e.x+n.x2,t.y=e.y+n.y2,e.add(n)):(A.bezierCurveTo(NA(e.x,t.x),NA(e.y,t.y),n.x2,n.y2,n.x,n.y),t.x=n.x2,t.y=n.y2,e.copy(n));else if(n.type==="q"||n.type==="Q")n.type==="q"?(A.quadraticCurveTo(e.x+n.x1,e.y+n.y1,e.x+n.x,e.y+n.y),t.x=e.x+n.x1,t.y=e.y+n.y1,e.add(n)):(A.quadraticCurveTo(n.x1,n.y1,n.x,n.y),t.x=n.x1,t.y=n.y1,e.copy(n));else if(n.type==="t"||n.type==="T"){const o=NA(e.x,t.x),a=NA(e.y,t.y);t.x=o,t.y=a,n.type==="t"?(A.quadraticCurveTo(o,a,e.x+n.x,e.y+n.y),e.add(n)):(A.quadraticCurveTo(o,a,n.x,n.y),e.copy(n))}else if(n.type==="a"||n.type==="A"){const o=e.clone();if(n.type==="a"){if(n.x===0&&n.y===0)continue;e.add(n)}else{if(e.equals(n))continue;e.copy(n)}t.copy(e),Lh(A,n.rx,n.ry,n.angle,n.largeArcFlag,n.sweepFlag,o,e)}else n.type==="z"||n.type==="Z"?(A.startPoint&&e.copy(A.startPoint),A.closePath()):console.warn("Unsupported commands",n)}}function Gh(r){let A,e;const t=[];for(let i=0,s=r.length;i<s;i++){const n=r[i];switch(n.type){case"m":case"M":if(n.x.toFixed(4)===(e==null?void 0:e.x.toFixed(4))&&n.y.toFixed(4)===(e==null?void 0:e.y.toFixed(4)))continue;t.push(`${n.type} ${n.x} ${n.y}`),e={x:n.x,y:n.y},A={x:n.x,y:n.y};break;case"h":case"H":t.push(`${n.type} ${n.x}`),e={x:n.x,y:(e==null?void 0:e.y)??0};break;case"v":case"V":t.push(`${n.type} ${n.y}`),e={x:(e==null?void 0:e.x)??0,y:n.y};break;case"l":case"L":t.push(`${n.type} ${n.x} ${n.y}`),e={x:n.x,y:n.y};break;case"c":case"C":t.push(`${n.type} ${n.x1} ${n.y1} ${n.x2} ${n.y2} ${n.x} ${n.y}`),e={x:n.x,y:n.y};break;case"s":case"S":t.push(`${n.type} ${n.x2} ${n.y2} ${n.x} ${n.y}`),e={x:n.x,y:n.y};break;case"q":case"Q":t.push(`${n.type} ${n.x1} ${n.y1} ${n.x} ${n.y}`),e={x:n.x,y:n.y};break;case"t":case"T":t.push(`${n.type} ${n.x} ${n.y}`),e={x:n.x,y:n.y};break;case"a":case"A":t.push(`${n.type} ${n.rx} ${n.ry} ${n.angle} ${n.largeArcFlag} ${n.sweepFlag} ${n.x} ${n.y}`),e={x:n.x,y:n.y};break;case"z":case"Z":t.push(n.type),A&&(e={x:A.x,y:A.y});break}}return t.join(" ")}const Oh=/[a-df-z][^a-df-z]*/gi;function ga(r){const A=[],e=r.match(Oh);if(!e)return A;for(let t=0,i=e.length;t<i;t++){const s=e[t],n=s.charAt(0),o=s.slice(1).trim();let a;switch(n){case"m":case"M":a=Mt(o);for(let l=0,g=a.length;l<g;l+=2)l===0?A.push({type:n,x:a[l],y:a[l+1]}):A.push({type:n==="m"?"l":"L",x:a[l],y:a[l+1]});break;case"h":case"H":a=Mt(o);for(let l=0,g=a.length;l<g;l++)A.push({type:n,x:a[l]});break;case"v":case"V":a=Mt(o);for(let l=0,g=a.length;l<g;l++)A.push({type:n,y:a[l]});break;case"l":case"L":a=Mt(o);for(let l=0,g=a.length;l<g;l+=2)A.push({type:n,x:a[l],y:a[l+1]});break;case"c":case"C":a=Mt(o);for(let l=0,g=a.length;l<g;l+=6)A.push({type:n,x1:a[l],y1:a[l+1],x2:a[l+2],y2:a[l+3],x:a[l+4],y:a[l+5]});break;case"s":case"S":a=Mt(o);for(let l=0,g=a.length;l<g;l+=4)A.push({type:n,x2:a[l],y2:a[l+1],x:a[l+2],y:a[l+3]});break;case"q":case"Q":a=Mt(o);for(let l=0,g=a.length;l<g;l+=4)A.push({type:n,x1:a[l],y1:a[l+1],x:a[l+2],y:a[l+3]});break;case"t":case"T":a=Mt(o);for(let l=0,g=a.length;l<g;l+=2)A.push({type:n,x:a[l],y:a[l+1]});break;case"a":case"A":a=Mt(o,[3,4],7);for(let l=0,g=a.length;l<g;l+=7)A.push({type:n,rx:a[l],ry:a[l+1],angle:a[l+2],largeArcFlag:a[l+3],sweepFlag:a[l+4],x:a[l+5],y:a[l+6]});break;case"z":case"Z":A.push({type:n});break;default:console.warn(s)}}return A}function ha(r,A,e,t,i){const s=(t-A)*.5,n=(i-e)*.5,o=r*r,a=r*o;return(2*e-2*t+s+n)*a+(-3*e+3*t-2*s-n)*o+s*r+e}function Hh(r,A){const e=1-r;return e*e*e*A}function Jh(r,A){const e=1-r;return 3*e*e*r*A}function Kh(r,A){return 3*(1-r)*r*r*A}function Yh(r,A){return r*r*r*A}function ca(r,A,e,t,i){return Hh(r,A)+Jh(r,e)+Kh(r,t)+Yh(r,i)}function Wh(r,A={}){let{vertices:e=[],indices:t=[],holes:i=[],verticesStride:s=2,verticesOffset:n=0,indicesOffset:o=0}=A;const a=Ch(r,i,2);if(a){for(let g=0;g<a.length;g+=3)t[o++]=a[g]+n,t[o++]=a[g+1]+n,t[o++]=a[g+2]+n;let l=n*s;for(let g=0;g<r.length;g+=2)e[l]=r[g],e[l+1]=r[g+1],l+=s}return{vertices:e,indices:t}}const Vh=8,ir=11920929e-14,zh=1;function qh(r,A,e,t,i,s,n,o,a=.5,l){const c=Math.min(.99,Math.max(0,a));let f=(zh-c)/1;return f*=f,Rs(r,A,e,t,i,s,n,o,l,f,0),l.push(n,o),l}function Rs(r,A,e,t,i,s,n,o,a,l,g){if(g>Vh)return;const c=(r+e)/2,f=(A+t)/2,I=(e+i)/2,d=(t+s)/2,C=(i+n)/2,B=(s+o)/2,R=(c+I)/2,S=(f+d)/2,_=(I+C)/2,M=(d+B)/2,w=(R+_)/2,v=(S+M)/2;if(g>0){let D=n-r,x=o-A;const L=Math.abs((e-n)*x-(t-o)*D),j=Math.abs((i-n)*x-(s-o)*D);if(L>ir&&j>ir){if((L+j)*(L+j)<=l*(D*D+x*x)){a.push(w,v);return}}else if(L>ir){if(L*L<=l*(D*D+x*x)){a.push(w,v);return}}else if(j>ir){if(j*j<=l*(D*D+x*x)){a.push(w,v);return}}else if(D=w-(r+n)/2,x=v-(A+o)/2,D*D+x*x<=l){a.push(w,v);return}}Rs(r,A,c,f,R,S,w,v,a,l,g+1),Rs(w,v,_,M,C,B,n,o,a,l,g+1)}const Xh=8,jh=11920929e-14,Zh=1;function $h(r,A,e,t,i,s,n=.5,o){const l=Math.min(.99,Math.max(0,n));let g=(Zh-l)/1;return g*=g,Us(o,r,A,e,t,i,s,g,0),o.push(i,s),o}function Us(r,A,e,t,i,s,n,o,a){if(a>Xh)return;const l=(A+t)/2,g=(e+i)/2,c=(t+s)/2,f=(i+n)/2,I=(l+c)/2,d=(g+f)/2;let C=s-A,B=n-e;const R=Math.abs((t-s)*B-(i-n)*C);if(R>jh){if(R*R<=o*(C*C+B*B)){r.push(I,d);return}}else if(C=I-(A+s)/2,B=d-(e+n)/2,C*C+B*B<=o){r.push(I,d);return}Us(r,A,e,l,g,I,d,o,a+1),Us(r,I,d,c,f,s,n,o,a+1)}function ec(r,A){const e=1-r;return e*e*A}function tc(r,A){return 2*(1-r)*r*A}function Ac(r,A){return r*r*A}function ua(r,A,e,t){return ec(r,A)+tc(r,e)+Ac(r,t)}const ic=1e-4,fa=1e-4;function rc(r,A={}){const{vertices:e=[],indices:t=[],lineStyle:i={alignment:.5,cap:"butt",join:"miter",width:1,miterLimit:10},flipAlignment:s=!1,closed:n=!0}=A,o=ic;if(r.length===0)return{vertices:e,indices:t};const a=i;let l=a.alignment;if(i.alignment!==.5){let q=sc(r);s&&(q*=-1),l=(l-.5)*q+.5}const g={x:r[0],y:r[1]},c={x:r[r.length-2],y:r[r.length-1]},f=n,I=Math.abs(g.x-c.x)<o&&Math.abs(g.y-c.y)<o;if(f){r=r.slice(),I&&(r.pop(),r.pop(),c.x=r[r.length-2],c.y=r[r.length-1]);const q=(g.x+c.x)*.5,W=(c.y+g.y)*.5;r.unshift(q,W),r.push(q,W)}const d=e,C=r.length/2;let B=r.length;const R=d.length/2,S=a.width/2,_=S*S,M=a.miterLimit*a.miterLimit;let w=r[0],v=r[1],D=r[2],x=r[3],L=0,j=0,Y=-(v-x),T=w-D,$=0,P=0,X=Math.sqrt(Y*Y+T*T);Y/=X,T/=X,Y*=S,T*=S;const ee=l,J=(1-ee)*2,H=ee*2;f||(a.cap==="round"?B+=EA(w-Y*(J-H)*.5,v-T*(J-H)*.5,w-Y*J,v-T*J,w+Y*H,v+T*H,d,!0)+2:a.cap==="square"&&(B+=da(w,v,Y,T,J,H,!0,d))),d.push(w-Y*J,v-T*J),d.push(w+Y*H,v+T*H);for(let q=1;q<C-1;++q){w=r[(q-1)*2],v=r[(q-1)*2+1],D=r[q*2],x=r[q*2+1],L=r[(q+1)*2],j=r[(q+1)*2+1],Y=-(v-x),T=w-D,X=Math.sqrt(Y*Y+T*T),Y/=X,T/=X,Y*=S,T*=S,$=-(x-j),P=D-L,X=Math.sqrt($*$+P*P),$/=X,P/=X,$*=S,P*=S;const W=D-w,oe=v-x,te=D-L,ae=j-x,Ae=W*te+oe*ae,le=oe*te-ae*W,z=le<0;if(Math.abs(le)<.001*Math.abs(Ae)){d.push(D-Y*J,x-T*J),d.push(D+Y*H,x+T*H),Ae>=0&&(a.join==="round"?B+=EA(D,x,D-Y*J,x-T*J,D-$*J,x-P*J,d,!1)+4:B+=2,d.push(D-$*H,x-P*H),d.push(D+$*J,x+P*J));continue}const Ie=(-Y+w)*(-T+x)-(-Y+D)*(-T+v),nt=(-$+L)*(-P+x)-(-$+D)*(-P+j),ot=(W*nt-te*Ie)/le,Oe=(ae*Ie-oe*nt)/le,ge=(ot-D)*(ot-D)+(Oe-x)*(Oe-x),me=D+(ot-D)*J,He=x+(Oe-x)*J,Ve=D-(ot-D)*H,be=x-(Oe-x)*H,et=Math.min(W*W+oe*oe,te*te+ae*ae),Ft=z?J:H,Hr=et+Ft*Ft*_;ge<=Hr?a.join==="bevel"||ge/_>M?(z?(d.push(me,He),d.push(D+Y*H,x+T*H),d.push(me,He),d.push(D+$*H,x+P*H)):(d.push(D-Y*J,x-T*J),d.push(Ve,be),d.push(D-$*J,x-P*J),d.push(Ve,be)),B+=2):a.join==="round"?z?(d.push(me,He),d.push(D+Y*H,x+T*H),B+=EA(D,x,D+Y*H,x+T*H,D+$*H,x+P*H,d,!0)+4,d.push(me,He),d.push(D+$*H,x+P*H)):(d.push(D-Y*J,x-T*J),d.push(Ve,be),B+=EA(D,x,D-Y*J,x-T*J,D-$*J,x-P*J,d,!1)+4,d.push(D-$*J,x-P*J),d.push(Ve,be)):(d.push(me,He),d.push(Ve,be)):(d.push(D-Y*J,x-T*J),d.push(D+Y*H,x+T*H),a.join==="round"?z?B+=EA(D,x,D+Y*H,x+T*H,D+$*H,x+P*H,d,!0)+2:B+=EA(D,x,D-Y*J,x-T*J,D-$*J,x-P*J,d,!1)+2:a.join==="miter"&&ge/_<=M&&(z?(d.push(Ve,be),d.push(Ve,be)):(d.push(me,He),d.push(me,He)),B+=2),d.push(D-$*J,x-P*J),d.push(D+$*H,x+P*H),B+=2)}w=r[(C-2)*2],v=r[(C-2)*2+1],D=r[(C-1)*2],x=r[(C-1)*2+1],Y=-(v-x),T=w-D,X=Math.sqrt(Y*Y+T*T),Y/=X,T/=X,Y*=S,T*=S,d.push(D-Y*J,x-T*J),d.push(D+Y*H,x+T*H),f||(a.cap==="round"?B+=EA(D-Y*(J-H)*.5,x-T*(J-H)*.5,D-Y*J,x-T*J,D+Y*H,x+T*H,d,!1)+2:a.cap==="square"&&(B+=da(D,x,Y,T,J,H,!1,d)));const ne=fa*fa;for(let q=R;q<B+R-2;++q)w=d[q*2],v=d[q*2+1],D=d[(q+1)*2],x=d[(q+1)*2+1],L=d[(q+2)*2],j=d[(q+2)*2+1],!(Math.abs(w*(x-j)+D*(j-v)+L*(v-x))<ne)&&t.push(q,q+1,q+2);return{vertices:e,indices:t}}function sc(r){const A=r.length;if(A<6)return 1;let e=0;for(let t=0,i=r[A-2],s=r[A-1];t<A;t+=2){const n=r[t],o=r[t+1];e+=(n-i)*(o+s),i=n,s=o}return e<0?-1:1}function da(r,A,e,t,i,s,n,o){const a=r-e*i,l=A-t*i,g=r+e*s,c=A+t*s;let f,I;n?(f=t,I=-e):(f=-t,I=e);const d=a+f,C=l+I,B=g+f,R=c+I;return o.push(d,C),o.push(B,R),2}function EA(r,A,e,t,i,s,n,o){const a=e-r,l=t-A;let g=Math.atan2(a,l),c=Math.atan2(i-r,s-A);o&&g<c?g+=Math.PI*2:!o&&g>c&&(c+=Math.PI*2);let f=g;const I=c-g,d=Math.abs(I),C=Math.sqrt(a*a+l*l),B=(15*d*Math.sqrt(C)/Math.PI>>0)+1,R=I/B;if(f+=R,o){n.push(r,A),n.push(e,t);for(let S=1,_=f;S<B;S++,_+=R)n.push(r,A),n.push(r+Math.sin(_)*C,A+Math.cos(_)*C);n.push(r,A),n.push(i,s)}else{n.push(e,t),n.push(r,A);for(let S=1,_=f;S<B;S++,_+=R)n.push(r+Math.sin(_)*C,A+Math.cos(_)*C),n.push(r,A);n.push(i,s),n.push(r,A)}return B*2}class FA{constructor(){h(this,"arcLengthDivision",200);h(this,"_arcLengths")}getPointAt(A,e=new G){return this.getPoint(this.getUToTMapping(A),e)}isClockwise(){const A=this.getPoint(1),e=this.getPoint(.5),t=this.getPoint(1);return(e.x-A.x)*(t.y-e.y)-(e.y-A.y)*(t.x-e.x)<0}getControlPointRefs(){return[]}applyTransform(A){return this.getControlPointRefs().forEach(e=>{e.applyMatrix3(A)}),this}getUnevenPointArray(A=5,e=[]){const t=new G;for(let i=0,s=Math.max(1,A)-1;i<=s;i++)this.getPoint(i/s,t),e.push(t.x,t.y);return e}getSpacedPointArray(A=5,e=[]){const t=new G;for(let i=0,s=Math.max(1,A)-1;i<=s;i++)this.getPointAt(i/s,t),e.push(t.x,t.y);return e}getAdaptivePointArray(A=[]){return this.getUnevenPointArray(5,A)}_pointArrayToPoint(A,e=[]){for(let t=0,i=A.length;t<i;t+=2){const s=A[t],n=A[t+1];e.push(new G(s,n))}return e}getSpacedPoints(A,e=[]){const t=this.getSpacedPointArray(A);return this._pointArrayToPoint(t,e),e}getUnevenPoints(A,e=[]){const t=this.getUnevenPointArray(A);return this._pointArrayToPoint(t,e),e}getAdaptivePoints(A=[]){const e=this.getAdaptivePointArray();return this._pointArrayToPoint(e,A),A}getPoints(A,e=[]){let t;return A?t=this.getUnevenPointArray(A):t=this.getAdaptivePointArray(),this._pointArrayToPoint(t,e),e}getLength(){const A=this.getLengths();return A[A.length-1]}getLengths(){return(!this._arcLengths||this._arcLengths.length!==this.arcLengthDivision+1)&&this.updateLengths(),this._arcLengths}updateLengths(){const A=this.arcLengthDivision,e=[0];for(let t=0,i=this.getPoint(0),s=1;s<=A;s++){const n=this.getPoint(s/A);t+=n.distanceTo(i),e.push(t),i=n}this._arcLengths=e}getUToTMapping(A,e){const t=this.getLengths(),i=t.length,s=e??A*t[i-1];if(i<2)return s/t[0];let n=0,o=0,a=i-1,l;for(;o<=a;)if(n=Math.floor(o+(a-o)/2),l=t[n]-s,l<0)o=n+1;else if(l>0)a=n-1;else{a=n;break}if(n=a,t[n]===s)return n/(i-1);const g=t[n],f=t[n+1]-g,I=(s-g)/f;return(n+I)/(i-1)}getTangent(A,e=new G){const i=Math.max(0,A-1e-4),s=Math.min(1,A+1e-4);return e.copy(this.getPoint(s).sub(this.getPoint(i)).normalize())}getTangentAt(A,e){return this.getTangent(this.getUToTMapping(A),e)}getNormal(A,e=new G){return this.getTangent(A,e),e.set(-e.y,e.x).normalize()}getNormalAt(A,e){return this.getNormal(this.getUToTMapping(A),e)}getTForPoint(A,e=.001){let t=0,i=1,s=(t+i)/2;for(;i-t>e;){s=(t+i)/2;const n=this.getPoint(s);if(n.distanceTo(A)<e)return s;n.x<A.x?t=s:i=s}return s}getMinMax(A=G.MAX,e=G.MIN){const t=this.getPoints();for(let i=0,s=t.length;i<s;i++){const n=t[i];A.min(n),e.max(n)}return{min:A,max:e}}getBoundingBox(){const{min:A,max:e}=this.getMinMax();return new ce(A.x,A.y,e.x-A.x,e.y-A.y)}fillTriangulate(A){return Wh(this.getAdaptivePointArray(),A)}strokeTriangulate(A){return rc(this.getAdaptivePointArray(),A)}toCommands(){const A=[],e=this.getPoints();for(let t=0,i=e.length;t<i;t++){const s=e[t];t===0?A.push({type:"M",x:s.x,y:s.y}):A.push({type:"L",x:s.x,y:s.y})}return A}toData(){return Gh(this.toCommands())}drawTo(A){return this.toCommands().forEach(e=>{switch(e.type){case"M":A.moveTo(e.x,e.y);break;case"L":A.lineTo(e.x,e.y);break}}),this}copy(A){return this.arcLengthDivision=A.arcLengthDivision,this}clone(){return new this.constructor().copy(this)}}const nc=new at,Ia=new at,Ba=new at,rr=new G;class ks extends FA{constructor(A=new G,e=new G,t=new G,i=0,s=0,n=Math.PI*2,o=!1){super(),this._center=A,this._radius=e,this._diff=t,this.rotate=i,this.startAngle=s,this.endAngle=n,this.clockwise=o}get cx(){return this._center.x}set cx(A){this._center.x=A}get cy(){return this._center.y}set cy(A){this._center.y=A}get rx(){return this._radius.x}set rx(A){this._radius.x=A}get ry(){return this._radius.y}set ry(A){this._radius.y=A}get dx(){return this._diff.x}set dx(A){this._diff.x=A}get dy(){return this._diff.y}set dy(A){this._diff.y=A}isClockwise(){return this.clockwise}getPoint(A,e=new G){const t=Math.PI*2;let i=this.endAngle-this.startAngle;const s=Math.abs(i)<Number.EPSILON;for(;i<0;)i+=t;for(;i>t;)i-=t;i<Number.EPSILON&&(s?i=0:i=t),this.clockwise&&!s&&(i===t?i=-t:i=i-t);const n=this.startAngle+A*i;let o=this.cx+this.rx*Math.cos(n),a=this.cy+this.ry*Math.sin(n);if(this.rotate!==0){const l=Math.cos(this.rotate),g=Math.sin(this.rotate),c=o-this.cx,f=a-this.cy;o=c*l-f*g+this.cx,a=c*g+f*l+this.cy}return e.set(o,a)}toCommands(){const{cx:A,cy:e,rx:t,ry:i,startAngle:s,endAngle:n,clockwise:o,rotate:a}=this,l=A+t*Math.cos(s)*Math.cos(a)-i*Math.sin(s)*Math.sin(a),g=e+t*Math.cos(s)*Math.sin(a)+i*Math.sin(s)*Math.cos(a),c=Math.abs(s-n),f=c>Math.PI?1:0,I=o?1:0,d=a*180/Math.PI;if(c>=2*Math.PI){const C=s+Math.PI,B=A+t*Math.cos(C)*Math.cos(a)-i*Math.sin(C)*Math.sin(a),R=e+t*Math.cos(C)*Math.sin(a)+i*Math.sin(C)*Math.cos(a);return[{type:"M",x:l,y:g},{type:"A",rx:t,ry:i,angle:d,largeArcFlag:0,sweepFlag:I,x:B,y:R},{type:"A",rx:t,ry:i,angle:d,largeArcFlag:0,sweepFlag:I,x:l,y:g}]}else{const C=A+t*Math.cos(n)*Math.cos(a)-i*Math.sin(n)*Math.sin(a),B=e+t*Math.cos(n)*Math.sin(a)+i*Math.sin(n)*Math.cos(a);return[{type:"M",x:l,y:g},{type:"A",rx:t,ry:i,angle:d,largeArcFlag:f,sweepFlag:I,x:C,y:B}]}}drawTo(A){const{cx:e,cy:t,rx:i,ry:s,rotate:n,startAngle:o,endAngle:a,clockwise:l}=this;return A.ellipse(e,t,i,s,n,o,a,!l),this}applyTransform(A){return rr.set(this.cx,this.cy),rr.applyMatrix3(A),this.cx=rr.x,this.cy=rr.y,lc(A)?oc(this,A):ac(this,A),this}getControlPointRefs(){return[this._center]}getAdaptivePointArray(A=[]){const{cx:e,cy:t,rx:i,ry:s,dx:n,dy:o}=this;if(!(i>=0&&s>=0&&n>=0&&o>=0))return A;const a=Math.ceil(2.3*Math.sqrt(i+s)),l=a*8+(n?4:0)+(o?4:0);if(l===0)return A;const g=[];if(a===0)g[0]=g[6]=e+n,g[1]=g[3]=t+o,g[2]=g[4]=e-n,g[5]=g[7]=t-o;else{let c=0,f=a*4+(n?2:0)+2,I=f,d=l,C=n+i,B=o,R=e+C,S=e-C,_=t+B;if(g[c++]=R,g[c++]=_,g[--f]=_,g[--f]=S,o){const w=t-B;g[I++]=S,g[I++]=w,g[--d]=w,g[--d]=R}for(let w=1;w<a;w++){const v=Math.PI/2*(w/a),D=n+Math.cos(v)*i,x=o+Math.sin(v)*s,L=e+D,j=e-D,Y=t+x,T=t-x;g[c++]=L,g[c++]=Y,g[--f]=Y,g[--f]=j,g[I++]=j,g[I++]=T,g[--d]=T,g[--d]=L}C=n,B=o+s,R=e+C,S=e-C,_=t+B;const M=t-B;g[c++]=R,g[c++]=_,g[--d]=M,g[--d]=R,n&&(g[c++]=S,g[c++]=_,g[--d]=M,g[--d]=S)}return Array.prototype.push.apply(A,g),A}fillTriangulate(A={}){let{vertices:e=[],indices:t=[],verticesStride:i=2,verticesOffset:s=0,indicesOffset:n=0}=A;const o=this.getAdaptivePointArray();if(o.length===0)return{vertices:e,indices:t};let a=0,l=0;for(let f=0;f<o.length;f+=2)a+=o[f],l+=o[f+1];a/=o.length/2,l/=o.length/2;let g=s;e[g*i]=a,e[g*i+1]=l;const c=g++;for(let f=0;f<o.length;f+=2)e[g*i]=o[f],e[g*i+1]=o[f+1],f>0&&(t[n++]=g,t[n++]=c,t[n++]=g-1),g++;return t[n++]=c+1,t[n++]=c,t[n++]=g-1,{vertices:e,indices:t}}getMinMax(A=G.MAX,e=G.MIN){const{cx:t,cy:i,rx:s,ry:n,rotate:o}=this,a=Math.cos(o),l=Math.sin(o),g=Math.sqrt(s*s*a*a+n*n*l*l),c=Math.sqrt(s*s*l*l+n*n*a*a);return A.x=Math.min(A.x,t-g),A.y=Math.min(A.y,i-c),e.x=Math.max(e.x,t+g),e.y=Math.max(e.y,i+c),{min:A,max:e}}copy(A){return super.copy(A),this.cx=A.cx,this.cy=A.cy,this.rx=A.rx,this.ry=A.ry,this.dx=A.dx,this.dy=A.dy,this.startAngle=A.startAngle,this.endAngle=A.endAngle,this.clockwise=A.clockwise,this.rotate=A.rotate,this}}function oc(r,A){const e=r.rx,t=r.ry,i=Math.cos(r.rotate),s=Math.sin(r.rotate),n=new G(e*i,e*s),o=new G(-t*s,t*i),a=n.applyMatrix3(A),l=o.applyMatrix3(A),g=nc.set(a.x,l.x,0,a.y,l.y,0,0,0,1),c=Ia.copy(g).invert(),d=Ba.copy(c).transpose().multiply(c).elements,C=gc(d[0],d[1],d[4]),B=Math.sqrt(C.rt1),R=Math.sqrt(C.rt2);if(r.rx=1/B,r.ry=1/R,r.rotate=Math.atan2(C.sn,C.cs),!((r.endAngle-r.startAngle)%(2*Math.PI)<Number.EPSILON)){const _=Ia.set(B,0,0,0,R,0,0,0,1),M=Ba.set(C.cs,C.sn,0,-C.sn,C.cs,0,0,0,1),w=_.multiply(M).multiply(g),v=D=>{const{x,y:L}=new G(Math.cos(D),Math.sin(D)).applyMatrix3(w);return Math.atan2(L,x)};r.startAngle=v(r.startAngle),r.endAngle=v(r.endAngle),Ea(A)&&(r.clockwise=!r.clockwise)}}function ac(r,A){const e=pa(A),t=Ca(A);r.rx*=e,r.ry*=t;const i=e>Number.EPSILON?Math.atan2(A.elements[1],A.elements[0]):Math.atan2(-A.elements[3],A.elements[4]);r.rotate+=i,Ea(A)&&(r.startAngle*=-1,r.endAngle*=-1,r.clockwise=!r.clockwise)}function Ea(r){const A=r.elements;return A[0]*A[4]-A[1]*A[3]<0}function lc(r){const A=r.elements,e=A[0]*A[3]+A[1]*A[4];if(e===0)return!1;const t=pa(r),i=Ca(r);return Math.abs(e/(t*i))>Number.EPSILON}function pa(r){const A=r.elements;return Math.sqrt(A[0]*A[0]+A[1]*A[1])}function Ca(r){const A=r.elements;return Math.sqrt(A[3]*A[3]+A[4]*A[4])}function gc(r,A,e){let t,i,s,n,o;const a=r+e,l=r-e,g=Math.sqrt(l*l+4*A*A);return a>0?(t=.5*(a+g),o=1/t,i=r*o*e-A*o*A):a<0?i=.5*(a-g):(t=.5*g,i=-.5*g),l>0?s=l+g:s=l-g,Math.abs(s)>2*Math.abs(A)?(o=-2*A/s,n=1/Math.sqrt(1+o*o),s=o*n):Math.abs(A)===0?(s=1,n=0):(o=-.5*s/A,s=1/Math.sqrt(1+o*o),n=o*s),l>0&&(o=s,s=-n,n=o),{rt1:t,rt2:i,cs:s,sn:n}}class hc extends ks{constructor(A=0,e=0,t=1,i=0,s=Math.PI*2,n=!1){super(new G(A,e),new G(t,t),new G(0,0),0,i,s,n)}drawTo(A){const{cx:e,cy:t,rx:i,startAngle:s,endAngle:n,clockwise:o}=this;return A.arc(e,t,i,s,n,!o),this}getAdaptivePointArray(A=[]){const{cx:e,cy:t,rx:i,startAngle:s,endAngle:n,clockwise:o}=this;let a=Math.abs(s-n);(!o&&s>n||o&&n>s)&&(a=2*Math.PI-a);let l=Math.max(6,Math.floor(6*i**(1/3)*(a/Math.PI)));l=Math.max(l,3);let g=a/l,c=s;g*=o?1:-1;for(let f=0;f<l+1;f++){const I=Math.cos(c),d=Math.sin(c),C=e+I*i,B=t+d*i;A.push(C,B),c+=g}return A}}class pi extends FA{constructor(A=[]){super(),this.curves=A}getFlatCurves(){return this.curves.flatMap(A=>A instanceof pi?A.getFlatCurves():A)}addCurve(A){return this.curves.push(A),this}getPoint(A,e=new G){const t=A*this.getLength(),i=this.getLengths();let s=0;for(;s<i.length;){if(i[s]>=t){const n=i[s]-t,o=this.curves[s],a=o.getLength();return o.getPointAt(a===0?0:1-n/a,e)}s++}return e}updateLengths(){const A=[];for(let e=0,t=0,i=this.curves.length;e<i;e++)t+=this.curves[e].getLength(),A.push(t);this._arcLengths=A}getControlPointRefs(){return this.curves.flatMap(A=>A.getControlPointRefs())}getAdaptivePointArray(A=[]){let e;return this.curves.forEach(t=>{t.getAdaptivePointArray(A),e&&A[e-1]===A[e+1]&&A[e]===A[e+2]&&A.splice(e+1,2),e=A.length-1}),A}applyTransform(A){return this.curves.forEach(e=>e.applyTransform(A)),this}getMinMax(A=G.MAX,e=G.MIN){return this.curves.forEach(t=>t.getMinMax(A,e)),{min:A,max:e}}getBoundingBox(){const{min:A,max:e}=this.getMinMax();return new ce(A.x,A.y,e.x-A.x,e.y-A.y)}toCommands(){return this.curves.flatMap(A=>A.toCommands())}drawTo(A){var t;const e=(t=this.curves[0])==null?void 0:t.getPoint(0);return e&&A.moveTo(e.x,e.y),this.curves.forEach(i=>i.drawTo(A)),this}copy(A){return super.copy(A),this.curves=A.curves.map(e=>e.clone()),this}}class Ps extends FA{constructor(A=new G,e=new G,t=new G,i=new G){super(),this.p1=A,this.cp1=e,this.cp2=t,this.p2=i}static from(A,e,t,i,s,n,o,a){return new Ps(new G(A,e),new G(t,i),new G(s,n),new G(o,a))}getPoint(A,e=new G){const{p1:t,cp1:i,cp2:s,p2:n}=this;return e.set(ca(A,t.x,i.x,s.x,n.x),ca(A,t.y,i.y,s.y,n.y))}getAdaptivePointArray(A=[]){return qh(this.p1.x,this.p1.y,this.cp1.x,this.cp1.y,this.cp2.x,this.cp2.y,this.p2.x,this.p2.y,.5,A)}getControlPointRefs(){return[this.p1,this.cp1,this.cp2,this.p2]}_solveQuadratic(A,e,t){const i=e*e-4*A*t;if(i<0)return[];const s=Math.sqrt(i),n=(-e+s)/(2*A),o=(-e-s)/(2*A);return[n,o].filter(a=>a>=0&&a<=1)}getMinMax(A=G.MAX,e=G.MIN){const{p1:t,cp1:i,cp2:s,p2:n}=this,o=this._solveQuadratic(3*(i.x-t.x),6*(s.x-i.x),3*(n.x-s.x)),a=this._solveQuadratic(3*(i.y-t.y),6*(s.y-i.y),3*(n.y-s.y)),l=[0,1,...o,...a];return((c,f)=>{for(const I of c)for(let d=0;d<=f;d++){const C=d/f-.5,B=Math.min(1,Math.max(0,I+C)),R=this.getPoint(B);A.x=Math.min(A.x,R.x),A.y=Math.min(A.y,R.y),e.x=Math.max(e.x,R.x),e.y=Math.max(e.y,R.y)}})(l,10),{min:A,max:e}}toCommands(){const{p1:A,cp1:e,cp2:t,p2:i}=this;return[{type:"M",x:A.x,y:A.y},{type:"C",x1:e.x,y1:e.y,x2:t.x,y2:t.y,x:i.x,y:i.y}]}drawTo(A){const{p1:e,cp1:t,cp2:i,p2:s}=this;return A.lineTo(e.x,e.y),A.bezierCurveTo(t.x,t.y,i.x,i.y,s.x,s.y),this}copy(A){return super.copy(A),this.p1.copy(A.p1),this.cp1.copy(A.cp1),this.cp2.copy(A.cp2),this.p2.copy(A.p2),this}}class cc extends ks{constructor(A=0,e=0,t=1,i=1,s=0,n=0,o=Math.PI*2,a=!1){super(new G(A,e),new G(t,i),new G,s,n,o,a)}drawTo(A){return A.ellipse(this.cx,this.cy,this.rx,this.ry,this.rotate,this.startAngle,this.endAngle,!this.clockwise),this}}class eA extends FA{constructor(A=new G,e=new G){super(),this.p1=A,this.p2=e}static from(A,e,t,i){return new eA(new G(A,e),new G(t,i))}getPoint(A,e=new G){return A===1?e.copy(this.p2):e.copy(this.p2).sub(this.p1).scale(A).add(this.p1),e}getPointAt(A,e=new G){return this.getPoint(A,e)}getTangent(A,e=new G){return e.subVectors(this.p2,this.p1).normalize()}getTangentAt(A,e=new G){return this.getTangent(A,e)}getControlPointRefs(){return[this.p1,this.p2]}getAdaptivePointArray(A=[]){return A.push(this.p1.x,this.p1.y,this.p2.x,this.p2.y),A}getMinMax(A=G.MAX,e=G.MIN){const{p1:t,p2:i}=this;return A.x=Math.min(A.x,t.x,i.x),A.y=Math.min(A.y,t.y,i.y),e.x=Math.max(e.x,t.x,i.x),e.y=Math.max(e.y,t.y,i.y),{min:A,max:e}}toCommands(){const{p1:A,p2:e}=this;return[{type:"M",x:A.x,y:A.y},{type:"L",x:e.x,y:e.y}]}drawTo(A){const{p1:e,p2:t}=this;return A.lineTo(e.x,e.y),A.lineTo(t.x,t.y),this}copy(A){return super.copy(A),this.p1.copy(A.p1),this.p2.copy(A.p2),this}}class uc extends pi{}class Ns extends FA{constructor(A=new G,e=new G,t=new G){super(),this.p1=A,this.cp=e,this.p2=t}static from(A,e,t,i,s,n){return new Ns(new G(A,e),new G(t,i),new G(s,n))}getPoint(A,e=new G){const{p1:t,cp:i,p2:s}=this;return e.set(ua(A,t.x,i.x,s.x),ua(A,t.y,i.y,s.y)),e}getControlPointRefs(){return[this.p1,this.cp,this.p2]}getAdaptivePointArray(A=[]){return $h(this.p1.x,this.p1.y,this.cp.x,this.cp.y,this.p2.x,this.p2.y,.5,A)}getMinMax(A=G.MAX,e=G.MIN){const{p1:t,cp:i,p2:s}=this,n=.5*(t.x+i.x),o=.5*(t.y+i.y),a=.5*(t.x+s.x),l=.5*(t.y+s.y);return A.x=Math.min(A.x,t.x,s.x,n,a),A.y=Math.min(A.y,t.y,s.y,o,l),e.x=Math.max(e.x,t.x,s.x,n,a),e.y=Math.max(e.y,t.y,s.y,o,l),{min:A,max:e}}toCommands(){const{p1:A,cp:e,p2:t}=this;return[{type:"M",x:A.x,y:A.y},{type:"Q",x1:e.x,y1:e.y,x:t.x,y:t.y}]}drawTo(A){const{p1:e,cp:t,p2:i}=this;return A.lineTo(e.x,e.y),A.quadraticCurveTo(t.x,t.y,i.x,i.y),this}copy(A){return super.copy(A),this.p1.copy(A.p1),this.cp.copy(A.cp),this.p2.copy(A.p2),this}}class fc extends uc{constructor(A=0,e=0,t=0,i=0){super(),this.x=A,this.y=e,this.width=t,this.height=i,this.update()}update(){const{x:A,y:e,width:t,height:i}=this,s=[new G(A,e),new G(A+t,e),new G(A+t,e+i),new G(A,e+i)];return this.curves=[new eA(s[0],s[1]),new eA(s[1],s[2]),new eA(s[2],s[3]),new eA(s[3],s[0])],this}drawTo(A){return A.rect(this.x,this.y,this.width,this.height),this}fillTriangulate(A={}){let{vertices:e=[],indices:t=[],verticesStride:i=2,verticesOffset:s=0,indicesOffset:n=0}=A;const{x:o,y:a,width:l,height:g}=this,c=[o,a,o+l,a,o+l,a+g,o,a+g];let f=0;s*=i,e[s+f]=c[0],e[s+f+1]=c[1],f+=i,e[s+f]=c[2],e[s+f+1]=c[3],f+=i,e[s+f]=c[6],e[s+f+1]=c[7],f+=i,e[s+f]=c[4],e[s+f+1]=c[5],f+=i;const I=s/i;return t[n++]=I,t[n++]=I+1,t[n++]=I+2,t[n++]=I+1,t[n++]=I+3,t[n++]=I+2,{vertices:e,indices:t}}copy(A){return super.copy(A),this.x=A.x,this.y=A.y,this.width=A.width,this.height=A.height,this.update(),this}}class dc extends ks{constructor(A=0,e=0,t=1,i=1,s=1){super(),this.x=A,this.y=e,this.width=t,this.height=i,this.radius=s,this.update()}update(){const{x:A,y:e,width:t,height:i,radius:s}=this,n=t/2,o=i/2,a=A+n,l=e+o,g=Math.max(0,Math.min(s,Math.min(n,o))),c=g,f=n-g,I=o-c;return this._center=new G(a,l),this._radius=new G(g,c),this._diff=new G(f,I),this}drawTo(A){const{x:e,y:t,width:i,height:s,radius:n}=this;return A.roundRect(e,t,i,s,n),this}copy(A){return super.copy(A),this.x=A.x,this.y=A.y,this.width=A.width,this.height=A.height,this.radius=A.radius,this.update(),this}}class Ic extends FA{constructor(A=[]){super(),this.points=A}getPoint(A,e=new G){const{points:t}=this,i=(t.length-1)*A,s=Math.floor(i),n=i-s,o=t[s===0?s:s-1],a=t[s],l=t[s>t.length-2?t.length-1:s+1],g=t[s>t.length-3?t.length-1:s+2];return e.set(ha(n,o.x,a.x,l.x,g.x),ha(n,o.y,a.y,l.y,g.y)),e}getControlPointRefs(){return this.points}copy(A){super.copy(A),this.points=[];for(let e=0,t=A.points.length;e<t;e++)this.points.push(A.points[e].clone());return this}}class sr extends pi{constructor(e){super();h(this,"startPoint");h(this,"currentPoint");h(this,"autoClose",!1);e&&this.addPoints(e)}addPoints(e){this.moveTo(e[0].x,e[0].y);for(let t=1,i=e.length;t<i;t++){const{x:s,y:n}=e[t];this.lineTo(s,n)}return this}addCommands(e){return la(e,this),this}addData(e){return this.addCommands(ga(e)),this}getUnevenPointArray(e=40,t=[]){return super.getUnevenPointArray(e,t),this.autoClose&&t.length>=4&&t[0]!==t[t.length-2]&&t[1]!==t[t.length-1]&&t.push(t[0],t[1]),t}getSpacedPointArray(e=40,t=[]){return super.getSpacedPointArray(e,t),this.autoClose&&t.length>=4&&t[0]!==t[t.length-2]&&t[1]!==t[t.length-1]&&t.push(t[0],t[1]),t}_setCurrentPoint(e){return this.currentPoint=new G(e.x,e.y),this.startPoint||(this.startPoint=this.currentPoint.clone()),this}_connetLineTo(e){if(this.curves.length>0){const t=e.getPoint(0);(!this.currentPoint||!t.equals(this.currentPoint))&&this.lineTo(t.x,t.y)}return this}closePath(){const e=this.startPoint;if(e){const t=this.currentPoint;t&&!e.equals(t)&&(this.curves.push(new eA(t,e)),t.copy(e)),this.startPoint=void 0}return this}moveTo(e,t){return this.currentPoint=new G(e,t),this.startPoint=this.currentPoint.clone(),this}lineTo(e,t){const i=this.currentPoint;return i!=null&&i.equals({x:e,y:t})||this.curves.push(eA.from((i==null?void 0:i.x)??0,(i==null?void 0:i.y)??0,e,t)),this._setCurrentPoint({x:e,y:t}),this}bezierCurveTo(e,t,i,s,n,o){const a=this.currentPoint;return a!=null&&a.equals({x:n,y:o})||this.curves.push(Ps.from((a==null?void 0:a.x)??0,(a==null?void 0:a.y)??0,e,t,i,s,n,o)),this._setCurrentPoint({x:n,y:o}),this}quadraticCurveTo(e,t,i,s){const n=this.currentPoint;return n!=null&&n.equals({x:i,y:s})||this.curves.push(Ns.from((n==null?void 0:n.x)??0,(n==null?void 0:n.y)??0,e,t,i,s)),this._setCurrentPoint({x:i,y:s}),this}arc(e,t,i,s,n,o){const a=new hc(e,t,i,s,n,!o);return this._connetLineTo(a),this.curves.push(a),this._setCurrentPoint(a.getPoint(1)),this}relativeArc(e,t,i,s,n,o){var a,l;return e+=((a=this.currentPoint)==null?void 0:a.x)??0,t+=((l=this.currentPoint)==null?void 0:l.y)??0,this.arc(e,t,i,s,n,o),this}arcTo(e,t,i,s,n){return console.warn("Method arcTo not supported yet"),this}ellipse(e,t,i,s,n,o,a,l=!0){const g=new cc(e,t,i,s,n,o,a,!l);return this._connetLineTo(g),this.curves.push(g),this._setCurrentPoint(g.getPoint(1)),this}relativeEllipse(e,t,i,s,n,o,a,l){var g,c;return e+=((g=this.currentPoint)==null?void 0:g.x)??0,t+=((c=this.currentPoint)==null?void 0:c.y)??0,this.ellipse(e,t,i,s,n,o,a,l),this}rect(e,t,i,s){const n=new fc(e,t,i,s);return this._connetLineTo(n),this.curves.push(n),this._setCurrentPoint({x:e,y:t}),this}roundRect(e,t,i,s,n){const o=new dc(e,t,i,s,n);return this._connetLineTo(o),this.curves.push(o),this._setCurrentPoint({x:e,y:t}),this}splineThru(e){const t=this.currentPoint??new G;return this.curves.push(new Ic([t].concat(e))),this._setCurrentPoint(e[e.length-1]),this}drawTo(e){var i;const t=(i=this.curves[0])==null?void 0:i.getPoint(0);return t&&e.moveTo(t.x,t.y),this.curves.forEach(s=>s.drawTo(e)),this.autoClose&&e.closePath(),this}copy(e){var t;return super.copy(e),this.autoClose=e.autoClose,this.currentPoint=(t=e.currentPoint)==null?void 0:t.clone(),this}}function Bc(r){return r.replace(/[^a-z0-9]/gi,"-").replace(/\B([A-Z])/g,"-$1").toLowerCase()}function Ec(r,A,e,t){const i=A.clone().sub(r),s=t.clone().sub(e),n=e.clone().sub(r),o=i.cross(s);if(o===0)return new G((r.x+e.x)/2,(r.y+e.y)/2);const a=n.cross(s)/o;return Math.abs(a)>1?new G((r.x+e.x)/2,(r.y+e.y)/2):new G(r.x+a*i.x,r.y+a*i.y)}class Je extends pi{constructor(e,t={}){super();h(this,"currentCurve",new sr);h(this,"style");this.curves.push(this.currentCurve),this.style=t,e&&(e instanceof Je?this.addPath(e):Array.isArray(e)?this.addCommands(e):this.addData(e))}get startPoint(){return this.currentCurve.startPoint}get currentPoint(){return this.currentCurve.currentPoint}get strokeWidth(){return this.style.strokeWidth??((this.style.stroke??"none")==="none"?0:1)}addPath(e){const t=this.curves.findIndex(i=>i===this.currentCurve);return t>-1&&this.curves.splice(t,1),e instanceof Je?this.curves.push(...e.curves.filter(i=>i.curves.length).map(i=>i.clone())):e.curves.length&&this.curves.push(e),this.curves.push(this.currentCurve),this}closePath(){const e=this.startPoint;return e&&(this.currentCurve.closePath(),this.currentCurve.curves.length&&(this.currentCurve=new sr().moveTo(e.x,e.y),this.curves.push(this.currentCurve))),this}moveTo(e,t){var i;return(i=this.currentCurve.currentPoint)!=null&&i.equals({x:e,y:t})||(this.currentCurve.curves.length&&(this.currentCurve=new sr,this.curves.push(this.currentCurve)),this.currentCurve.moveTo(e,t)),this}lineTo(e,t){return this.currentCurve.lineTo(e,t),this}bezierCurveTo(e,t,i,s,n,o){return this.currentCurve.bezierCurveTo(e,t,i,s,n,o),this}quadraticCurveTo(e,t,i,s){return this.currentCurve.quadraticCurveTo(e,t,i,s),this}arc(e,t,i,s,n,o){return this.currentCurve.arc(e,t,i,s,n,o),this}arcTo(e,t,i,s,n){return this.currentCurve.arcTo(e,t,i,s,n),this}ellipse(e,t,i,s,n,o,a,l){return this.currentCurve.ellipse(e,t,i,s,n,o,a,l),this}rect(e,t,i,s){return this.currentCurve.rect(e,t,i,s),this}roundRect(e,t,i,s,n){return this.currentCurve.roundRect(e,t,i,s,n),this}reset(){return this.currentCurve=new sr,this.curves=[this.currentCurve],this.style={},this}addCommands(e){return la(e,this),this}addData(e){return this.addCommands(ga(e)),this}splineThru(e){return this.currentCurve.splineThru(e),this}scale(e,t=e,i={x:0,y:0}){return this.getControlPointRefs().forEach(s=>{s.scale(e,t,i)}),this}skew(e,t=0,i={x:0,y:0}){return this.getControlPointRefs().forEach(s=>{s.skew(e,t,i)}),this}rotate(e,t={x:0,y:0}){return this.getControlPointRefs().forEach(i=>{i.rotate(e,t)}),this}bold(e){if(e===0)return this;const t=this.getFlatCurves(),i=[],s=[],n=[];t.forEach((a,l)=>{const g=a.getControlPointRefs(),c=a.isClockwise();n[l]=g,s[l]=c;const f=g[0],I=g[g.length-1]??f;i.push({start:c?I:f,end:c?f:I,index:l})});const o=[];return i.forEach((a,l)=>{o[l]=[],i.forEach((g,c)=>{var f;g.start&&a.end&&c!==l&&((f=g.start)!=null&&f.equals(a.end))&&o[l].push(g.index)})}),t.forEach((a,l)=>{const g=s[l];n[l].forEach(c=>{c.add(a.getNormal(a.getTForPoint(c)).scale(g?e:-e))})}),o.forEach((a,l)=>{const g=n[l];a.forEach(c=>{const f=n[c],I=Ec(g[g.length-1],g[g.length-2]??g[g.length-1],f[0],f[1]??f[0]);I&&(g[g.length-1].copy(I),f[0].copy(I))})}),this}getMinMax(e=G.MAX,t=G.MIN,i=!0){const s=this.strokeWidth;return this.curves.forEach(n=>{if(n.getMinMax(e,t),i&&s>1){const o=s/2,a=n.isClockwise(),l=[];for(let g=0;g<=1;g+=1/n.arcLengthDivision){const c=n.getPoint(g),f=n.getNormal(g),I=f.clone().scale(a?o:-o),d=f.clone().scale(a?-o:o);l.push(c.clone().add(I),c.clone().add(d),c.clone().add({x:o,y:0}),c.clone().add({x:-o,y:0}),c.clone().add({x:0,y:o}),c.clone().add({x:0,y:-o}),c.clone().add({x:o,y:o}),c.clone().add({x:-o,y:-o}))}e.min(...l),t.max(...l)}}),{min:e,max:t}}getBoundingBox(e=!0){const{min:t,max:i}=this.getMinMax(void 0,void 0,e);return new ce(t.x,t.y,i.x-t.x,i.y-t.y)}drawTo(e,t={}){t={...this.style,...t};const{fill:i="#000",stroke:s="none"}=t;return e.beginPath(),e.save(),Ss(e,t),this.curves.forEach(n=>{n.drawTo(e)}),i!=="none"&&e.fill(),s!=="none"&&e.stroke(),e.restore(),this}drawControlPointsTo(e,t={}){t={...this.style,...t};const{fill:i="#000",stroke:s="none"}=t;return e.beginPath(),e.save(),Ss(e,t),this.getControlPointRefs().forEach(n=>{Fh(e,n.x,n.y,{radius:4})}),i!=="none"&&e.fill(),s!=="none"&&e.stroke(),e.restore(),this}toCommands(){return this.curves.flatMap(e=>e.toCommands())}toData(){return this.curves.filter(e=>e.curves.length).map(e=>e.toData()).join(" ")}toSVGPathString(){const e={...this.style,fill:this.style.fill??"#000",stroke:this.style.stroke??"none"},t={};for(const s in e)e[s]!==void 0&&(t[Bc(s)]=e[s]);Object.assign(t,{"stroke-width":`${this.strokeWidth}px`});let i="";for(const s in t)t[s]!==void 0&&(i+=`${s}:${t[s]};`);return`<path d="${this.toData()}" style="${i}"></path>`}copy(e){return super.copy(e),this.currentCurve=e.currentCurve.clone(),this.style={...e.style},this}}class Fs{constructor(A=[]){this.paths=A}getBoundingBox(A=!0){if(!this.paths.length)return;const e=G.MAX,t=G.MIN;return this.paths.forEach(i=>i.getMinMax(e,t,A)),new ce(e.x,e.y,t.x-e.x,t.y-e.y)}toSVGString(){const{x:A,y:e,width:t,height:i}=this.getBoundingBox(),s=this.paths.map(n=>n.toSVGPathString()).join("");return`<svg viewBox="${A} ${e} ${t} ${i}" width="${t}px" height="${i}px" xmlns="http://www.w3.org/2000/svg">${s}</svg>`}toSVGUrl(){return`data:image/svg+xml;base64,${btoa(this.toSVGString())}`}toSVG(){return new DOMParser().parseFromString(this.toSVGString(),"image/svg+xml").documentElement}toCanvas(A={}){const{pixelRatio:e=2,...t}=A,{left:i,top:s,width:n,height:o}=this.getBoundingBox(),a=document.createElement("canvas");a.width=n*e,a.height=o*e,a.style.width=`${n}px`,a.style.height=`${o}px`;const l=a.getContext("2d");return l&&(l.scale(e,e),l.translate(-i,-s),this.paths.forEach(g=>{g.drawTo(l,t)})),a}}const Qa="data:image/svg+xml;",ya=`${Qa}base64,`,ma=`${Qa}charset=utf8,`;function wa(r){if(typeof r=="string"){let A;r.startsWith(ya)?(r=r.substring(ya.length,r.length),A=atob(r)):r.startsWith(ma)?(r=r.substring(ma.length,r.length),A=decodeURIComponent(r)):A=r;const e=new DOMParser().parseFromString(A,"text/xml"),t=e.querySelector("parsererror");if(t)throw new Error(`${t.textContent??"parser error"}
|
|
671
|
-
${A}`);return e.documentElement}else return r}const pc="px",Cc=90,va=["mm","cm","in","pt","pc","px"],_a={mm:{mm:1,cm:.1,in:1/25.4,pt:72/25.4,pc:6/25.4,px:-1},cm:{mm:10,cm:1,in:1/2.54,pt:72/2.54,pc:6/2.54,px:-1},in:{mm:25.4,cm:2.54,in:1,pt:72,pc:6,px:-1},pt:{mm:25.4/72,cm:2.54/72,in:1/72,pt:1,pc:6/72,px:-1},pc:{mm:25.4/6,cm:2.54/6,in:1/6,pt:72/6,pc:1,px:-1},px:{px:1}};function Be(r){let A="px";if(typeof r=="string"||r instanceof String)for(let t=0,i=va.length;t<i;t++){const s=va[t];if(r.endsWith(s)){A=s,r=r.substring(0,r.length-s.length);break}}let e;return e=_a[A][pc],e<0&&(e=_a[A].in*Cc),e*Number.parseFloat(r)}const Qc=new at,nr=new at,Da=new at,ba=new at;function yc(r,A,e){if(!(r.hasAttribute("transform")||r.nodeName==="use"&&(r.hasAttribute("x")||r.hasAttribute("y"))))return null;const t=mc(r);return e.length>0&&t.premultiply(e[e.length-1]),A.copy(t),e.push(t),t}function mc(r){const A=new at,e=Qc;if(r.nodeName==="use"&&(r.hasAttribute("x")||r.hasAttribute("y"))&&A.translate(Be(r.getAttribute("x")),Be(r.getAttribute("y"))),r.hasAttribute("transform")){const t=r.getAttribute("transform").split(")");for(let i=t.length-1;i>=0;i--){const s=t[i].trim();if(s==="")continue;const n=s.indexOf("("),o=s.length;if(n>0&&n<o){const a=s.slice(0,n),l=Mt(s.slice(n+1));switch(e.identity(),a){case"translate":if(l.length>=1){const g=l[0];let c=0;l.length>=2&&(c=l[1]),e.translate(g,c)}break;case"rotate":if(l.length>=1){let g=0,c=0,f=0;g=l[0]*Math.PI/180,l.length>=3&&(c=l[1],f=l[2]),nr.makeTranslation(-c,-f),Da.makeRotation(g),ba.multiplyMatrices(Da,nr),nr.makeTranslation(c,f),e.multiplyMatrices(nr,ba)}break;case"scale":l.length>=1&&e.scale(l[0],l[1]??l[0]);break;case"skewX":l.length===1&&e.set(1,Math.tan(l[0]*Math.PI/180),0,0,1,0,0,0,1);break;case"skewY":l.length===1&&e.set(1,0,0,Math.tan(l[0]*Math.PI/180),1,0,0,0,1);break;case"matrix":l.length===6&&e.set(l[0],l[2],l[4],l[1],l[3],l[5],0,0,1);break}}A.premultiply(e)}}return A}function wc(r){return new Je().arc(Be(r.getAttribute("cx")||0),Be(r.getAttribute("cy")||0),Be(r.getAttribute("r")||0),0,Math.PI*2)}function vc(r,A){if(!(!r.sheet||!r.sheet.cssRules||!r.sheet.cssRules.length))for(let e=0;e<r.sheet.cssRules.length;e++){const t=r.sheet.cssRules[e];if(t.type!==1)continue;const i=t.selectorText.split(/,/g).filter(Boolean).map(n=>n.trim()),s={};for(let n=t.style.length,o=0;o<n;o++){const a=t.style.item(o);s[a]=t.style.getPropertyValue(a)}for(let n=0;n<i.length;n++)A[i[n]]=Object.assign(A[i[n]]||{},{...s})}}function _c(r){return new Je().ellipse(Be(r.getAttribute("cx")||0),Be(r.getAttribute("cy")||0),Be(r.getAttribute("rx")||0),Be(r.getAttribute("ry")||0),0,0,Math.PI*2)}function Dc(r){return new Je().moveTo(Be(r.getAttribute("x1")||0),Be(r.getAttribute("y1")||0)).lineTo(Be(r.getAttribute("x2")||0),Be(r.getAttribute("y2")||0))}function bc(r){const A=new Je,e=r.getAttribute("d");return!e||e==="none"?null:(A.addData(e),A)}const xc=/([+-]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g;function Sc(r){var t;const A=new Je;let e=0;return(t=r.getAttribute("points"))==null||t.replace(xc,(i,s,n)=>{const o=Be(s),a=Be(n);return e===0?A.moveTo(o,a):A.lineTo(o,a),e++,i}),A.currentCurve.autoClose=!0,A}const Mc=/([+-]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g;function Rc(r){var t;const A=new Je;let e=0;return(t=r.getAttribute("points"))==null||t.replace(Mc,(i,s,n)=>{const o=Be(s),a=Be(n);return e===0?A.moveTo(o,a):A.lineTo(o,a),e++,i}),A.currentCurve.autoClose=!1,A}function Uc(r){const A=Be(r.getAttribute("x")||0),e=Be(r.getAttribute("y")||0),t=Be(r.getAttribute("rx")||r.getAttribute("ry")||0),i=Be(r.getAttribute("ry")||r.getAttribute("rx")||0),s=Be(r.getAttribute("width")),n=Be(r.getAttribute("height")),o=1-.551915024494,a=new Je;return a.moveTo(A+t,e),a.lineTo(A+s-t,e),(t!==0||i!==0)&&a.bezierCurveTo(A+s-t*o,e,A+s,e+i*o,A+s,e+i),a.lineTo(A+s,e+n-i),(t!==0||i!==0)&&a.bezierCurveTo(A+s,e+n-i*o,A+s-t*o,e+n,A+s-t,e+n),a.lineTo(A+t,e+n),(t!==0||i!==0)&&a.bezierCurveTo(A+t*o,e+n,A,e+n-i*o,A,e+n-i),a.lineTo(A,e+i),(t!==0||i!==0)&&a.bezierCurveTo(A,e+i*o,A+t*o,e,A+t,e),a}function Rt(r,A,e){A=Object.assign({},A);let t={};if(r.hasAttribute("class")){const l=r.getAttribute("class").split(/\s/).filter(Boolean).map(g=>g.trim());for(let g=0;g<l.length;g++)t=Object.assign(t,e[`.${l[g]}`])}r.hasAttribute("id")&&(t=Object.assign(t,e[`#${r.getAttribute("id")}`]));for(let l=r.style.length,g=0;g<l;g++){const c=r.style.item(g),f=r.style.getPropertyValue(c);A[c]=f,t[c]=f}function i(l,g,c=s){r.hasAttribute(l)&&(A[g]=c(r.getAttribute(l))),t[l]&&(A[g]=c(t[l]))}function s(l){return l.startsWith("url")&&console.warn("url access in attributes is not implemented."),l}function n(l){return Math.max(0,Math.min(1,Be(l)))}function o(l){return Math.max(0,Be(l))}function a(l){return l.split(" ").filter(g=>g!=="").map(g=>Be(g))}return i("fill","fill"),i("fill-opacity","fillOpacity",n),i("fill-rule","fillRule"),i("opacity","opacity",n),i("stroke","stroke"),i("stroke-opacity","strokeOpacity",n),i("stroke-width","strokeWidth",o),i("stroke-linecap","strokeLinecap"),i("stroke-linejoin","strokeLinejoin"),i("stroke-miterlimit","strokeMiterlimit",o),i("stroke-dasharray","strokeDasharray",a),i("stroke-dashoffset","strokeDashoffset",Be),i("visibility","visibility"),A}function Ts(r,A,e=[],t={}){var c;if(r.nodeType!==1)return e;let i=!1,s=null,n={...A};switch(r.nodeName){case"svg":n=Rt(r,n,t);break;case"style":vc(r,t);break;case"g":n=Rt(r,n,t);break;case"path":n=Rt(r,n,t),r.hasAttribute("d")&&(s=bc(r));break;case"rect":n=Rt(r,n,t),s=Uc(r);break;case"polygon":n=Rt(r,n,t),s=Sc(r);break;case"polyline":n=Rt(r,n,t),s=Rc(r);break;case"circle":n=Rt(r,n,t),s=wc(r);break;case"ellipse":n=Rt(r,n,t),s=_c(r);break;case"line":n=Rt(r,n,t),s=Dc(r);break;case"defs":i=!0;break;case"use":{n=Rt(r,n,t);const I=(r.getAttributeNS("http://www.w3.org/1999/xlink","href")||r.getAttribute("href")||"").substring(1),d=(c=r.viewportElement)==null?void 0:c.getElementById(I);d?Ts(d,n,e,t):console.warn(`'use node' references non-existent node id: ${I}`);break}default:console.warn(r);break}if(n.display==="none")return e;const o=new at,a=[],l=yc(r,o,a);s&&(s.applyTransform(o),e.push(s),s.style={...n});const g=r.childNodes;for(let f=0,I=g.length;f<I;f++){const d=g[f];i&&d.nodeName!=="style"&&d.nodeName!=="defs"||Ts(d,n,e,t)}return l&&(a.pop(),a.length>0?o.copy(a[a.length-1]):o.identity()),e}function xa(r){return new Fs(Ts(wa(r),{}))}class Sa extends Je{constructor(){super(...arguments);h(this,"textureTransform");h(this,"fillStyle");h(this,"strokeStyle");h(this,"lineCap");h(this,"lineJoin");h(this,"lineWidth");h(this,"miterLimit");h(this,"_defaultStyle",ve.EMPTY);h(this,"_draws",[])}stroke(){let e=this._defaultStyle;this.strokeStyle&&(this.strokeStyle instanceof ve?e=this.strokeStyle:e=new ps(this.strokeStyle)),this.curves.length&&(this._draws.push({type:"stroke",path:new Je(this),texture:e,textureTransform:this.textureTransform,style:{alignment:.5,cap:this.lineCap??"butt",join:this.lineJoin??"miter",width:this.lineWidth??1,miterLimit:this.miterLimit??10}}),super.reset())}fillRect(e,t,i,s){this.rect(e,t,i,s).fill()}strokeRect(e,t,i,s){this.rect(e,t,i,s).stroke()}fill(){let e=this._defaultStyle;this.fillStyle&&(this.fillStyle instanceof ve?e=this.fillStyle:e=new ps(this.fillStyle)),this._draws.push({type:"fill",path:new Je(this),texture:e,textureTransform:this.textureTransform}),super.reset()}copy(e){return super.copy(e),this.strokeStyle=e.strokeStyle,this.fillStyle=e.fillStyle,this.textureTransform=e.textureTransform,this.lineCap=e.lineCap,this.lineJoin=e.lineJoin,this.lineWidth=e.lineWidth,this.miterLimit=e.miterLimit,this._draws=e._draws.slice(),this}reset(){return super.reset(),this.strokeStyle=void 0,this.fillStyle=void 0,this.textureTransform=void 0,this.lineCap=void 0,this.lineJoin=void 0,this.lineWidth=void 0,this.miterLimit=void 0,this._draws.length=0,this}buildUvs(e,t,i,s,n){if(s){const o=s.width,a=s.height;for(let l=t.length,g=e;g<l;g+=2){const c=t[g],f=t[g+1];let I,d;n?[I,d]=n==null?void 0:n.applyToPoint(c,f):[I,d]=[c/o,f/a],i.push(I,d)}}else for(let o=t.length,a=e;a<o;a+=2)i.push(0,0)}toBatchables(){const e=[];let t=[],i=[],s=[],n;const o=l=>{e.push({type:l,vertices:t,indices:i,uvs:s,texture:n}),t=[],i=[],s=[],n=void 0};for(let l=this._draws.length,g=0;g<l;g++){const c=this._draws[g],f=this._draws[g-1];t.length&&f&&(f==null?void 0:f.type)!==c.type&&o(f.type);const I=n;I||(n=c.texture),t.length&&I!==c.texture&&!(I!=null&&I.is(c.texture))&&o(c.type);const d=t.length;c.type==="fill"?(c.path.fillTriangulate({vertices:t,indices:i}),this.buildUvs(d,t,s,c.texture,c.textureTransform)):(c.path.strokeTriangulate({vertices:t,indices:i,lineStyle:c.style,flipAlignment:!1,closed:!0}),this.buildUvs(d,t,s,c.texture,c.textureTransform))}const a=this._draws[this._draws.length-1];return a&&t.length&&o(a.type),e}}var kc=Object.defineProperty,Pc=Object.getOwnPropertyDescriptor,Ci=(r,A,e,t)=>{for(var i=t>1?void 0:t?Pc(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&kc(A,e,i),i};u.CanvasItem=class extends u.TimelineNode{constructor(e,t=[]){super();h(this,"_parentGlobalVisible");h(this,"_globalVisible");h(this,"_parentGlobalOpacity");h(this,"_globalOpacity");h(this,"_modulate",new Zt(4294967295));h(this,"_backgroundImage");h(this,"context",new Sa);h(this,"_resetContext",!0);h(this,"_redrawing",!1);h(this,"_relayouting",!1);h(this,"_repainting",!1);h(this,"_originalBatchables",[]);h(this,"_layoutedBatchables",[]);h(this,"_batchables",[]);this.setProperties(e).append(t)}get globalVisible(){return this._globalVisible??!0}get globalOpacity(){return this._globalOpacity??1}_updateProperty(e,t,i,s){switch(super._updateProperty(e,t,i,s),e){case"modulate":this._modulate.value=t,this.requestRepaint();break;case"blendMode":this.requestRepaint();break;case"opacity":this._updateGlobalOpacity();break;case"visible":case"insideTimeRange":this._updateGlobalVisible();break}}show(){this.visible=!0}hide(){this.visible=!1}isVisibleInTree(){return this.globalOpacity>0&&this.globalVisible}canRender(){return super.canRender()&&this.isVisibleInTree()}requestRedraw(){this._redrawing=!0,this.requestUpdate()}requestRelayout(){this._relayouting=!0,this.requestUpdate()}requestRepaint(){this._repainting=!0,this.requestUpdate()}_updateGlobalVisible(){var e;this._parentGlobalVisible=(e=this.getParent())==null?void 0:e.globalVisible,this._globalVisible=(this._parentGlobalVisible??!0)&&this.visible&&this.insideTimeRange}_updateGlobalOpacity(){var t;this._parentGlobalOpacity=(t=this.getParent())==null?void 0:t.opacity;const e=bt(0,this.opacity,1)*(this._parentGlobalOpacity??1);this._globalOpacity!==e&&(this._globalOpacity=e,this.requestRepaint())}_draw(){this.emit("draw")}_redraw(){var e;return(e=this._tree)==null||e.log(this.name,"redrawing"),this._draw(),this.context.toBatchables()}_relayout(e){var t;return(t=this._tree)==null||t.log(this.name,"relayouting"),e}_repaint(e){var t;return(t=this._tree)==null||t.log(this.name,"repainting"),e.map(i=>({...i,modulate:this._modulate.toArgb(this.globalOpacity,!0),blendMode:this.blendMode}))}_update(){const e=this.getParent();this._parentGlobalVisible!==(e==null?void 0:e.globalVisible)&&this._updateGlobalVisible(),this._parentGlobalOpacity!==(e==null?void 0:e.globalOpacity)&&this._updateGlobalOpacity();const t=this._redrawing;let i=this._relayouting,s=this._repainting,n;t&&(this._originalBatchables=this._redraw(),i=!0),i&&(this._layoutedBatchables=this._relayout(this._originalBatchables),s=!0),s&&(n=this._repaint(this._layoutedBatchables)),t&&this._resetContext&&this.context.reset(),n&&(this._batchables=n,this._redrawing=!1,this._relayouting=!1,this._repainting=!1)}_render(e){this._batchables.forEach(t=>{var i,s;(i=t.texture)==null||i.upload(e),e.batch2D.render({...t,texture:(s=t.texture)==null?void 0:s._glTexture(e)})}),super._render(e)}},Ci([k()],u.CanvasItem.prototype,"modulate",2),Ci([k()],u.CanvasItem.prototype,"blendMode",2),Ci([Ee({default:!0})],u.CanvasItem.prototype,"visible",2),Ci([Ee({default:1})],u.CanvasItem.prototype,"opacity",2),u.CanvasItem=Ci([re("CanvasItem")],u.CanvasItem);class Nc{constructor(){h(this,"currentCall");h(this,"calls",[])}createCall(A){return{renderable:A,parentCall:this.currentCall,fn:A.render.bind(A),calls:[]}}push(A){var t;const e=this.createCall(A);return(((t=this.currentCall)==null?void 0:t.calls)??this.calls).push(e),e}render(A){this.calls.forEach(function e(t){t.fn(A,()=>{t.calls.forEach(e)})}),this.calls=[]}}var Fc=Object.defineProperty,Tc=Object.getOwnPropertyDescriptor,Qi=(r,A,e,t)=>{for(var i=t>1?void 0:t?Tc(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&Fc(A,e,i),i};u.Timeline=class extends u.Node{static from(A,e=!1){const[t,i]=A?Array.isArray(A)?A:[0,A]:[];return new u.Timeline({startTime:t,endTime:i,loop:e})}constructor(A){super(),this.setProperties(A)}_updateProperty(A,e,t){switch(super._updateProperty(A,e,t),A){case"startTime":this.startTime=Math.min(e,this.endTime);break;case"endTime":this.endTime=e||Number.MAX_SAFE_INTEGER;break}}addTime(A){const e=this.startTime,t=this.endTime;let i=this.currentTime;return i=i+A,this.loop&&i>t&&(i=e+i%t),i=bt(e,i,t),this.currentTime=i,this.emit("updateCurrentTime",i,A),this}_process(A){super._process(A),this.addTime(A)}},Qi([k({default:0})],u.Timeline.prototype,"startTime",2),Qi([k({default:0})],u.Timeline.prototype,"currentTime",2),Qi([k({default:Number.MAX_SAFE_INTEGER})],u.Timeline.prototype,"endTime",2),Qi([k({default:!1})],u.Timeline.prototype,"loop",2),u.Timeline=Qi([re("Timeline")],u.Timeline);var Lc=Object.defineProperty,Ls=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&Lc(A,e,i),i};class yi extends ji{constructor(e=new u.Timeline){super();h(this,"input",new eo);h(this,"renderStack",new Nc);h(this,"root",new u.Viewport(!0).setTree(this));h(this,"timeline");h(this,"_backgroundColor",new Zt);h(this,"_currentViewport");this.timeline=e.setTree(this)}getCurrentViewport(){return this._currentViewport}setCurrentViewport(e){this._currentViewport=e}_updateProperty(e,t,i,s){switch(super._updateProperty(e,t,i,s),e){case"backgroundColor":this._backgroundColor.value=t;break}}log(...e){this.debug&&console.log("[modern-canvas]",...e)}_render(e,t=0){return this.timeline.addTime(t),this.emit("processing"),this.root.emit("process",t),this.emit("processed"),e.program.uniforms.projectionMatrix=this.root.toProjectionArray(!0),this.renderStack.render(e),this._renderScreen(e),this}_renderScreen(e){e.state.reset();const{pixelRatio:t}=e,{width:i,height:s}=this.root;e.framebuffer.bind(null),e.viewport.bind({x:0,y:0,width:i*t,height:s*t}),this.backgroundColor&&e.gl.clearColor(...this._backgroundColor.toArray()),e.clear(),this.backgroundColor&&e.gl.clearColor(0,0,0,0);const n=this.root.texture;n.activate(e,0),fe.draw(e),e.texture.unbind(n)}free(){super.free(),this.root.getChildren(!0).forEach(e=>this.root.removeChild(e)),this.input.removeEventListeners()}}Ls([k({default:!1})],yi.prototype,"paused"),Ls([k()],yi.prototype,"backgroundColor"),Ls([Ee({default:!1})],yi.prototype,"debug");var Gc=Object.getOwnPropertyDescriptor,Oc=(r,A,e,t)=>{for(var i=t>1?void 0:t?Gc(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(i)||i);return i};u.Transition=class extends u.Effect{constructor(A,e=[]){super(),this.setProperties(A).append(e)}},u.Transition=Oc([re("Transition",{effectMode:"transition",processMode:"pausable",duration:2e3})],u.Transition);var Hc=Object.defineProperty,Jc=Object.getOwnPropertyDescriptor,Kc=(r,A,e)=>A in r?Hc(r,A,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[A]=e,Yc=(r,A,e,t)=>{for(var i=t>1?void 0:t?Jc(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(i)||i);return i},Wc=(r,A,e)=>Kc(r,A+"",e);u.ShadowEffect=class extends u.Effect{constructor(){super(...arguments);h(this,"blur",new u.BlurEffect);h(this,"viewport3",new u.Viewport)}apply(e,t){this.viewport3.activateWithCopy(e,t),this.viewport3.redraw(e,()=>{fe.draw(e,u.ShadowEffect.material,{sampler:0,offset:[.001,.001],color:[0,0,0],alpha:.5})}),this.blur.apply(e,this.viewport3),t.redraw(e,()=>{this.viewport3.texture.activate(e,1),fe.draw(e,RA.instance,{sampler:1}),fe.draw(e,RA.instance,{sampler:0}),e.texture.unbind(1)})}},Wc(u.ShadowEffect,"material",new Qe({vert:`precision mediump float;
|
|
671
|
+
${A}`);return e.documentElement}else return r}const pc="px",Cc=90,va=["mm","cm","in","pt","pc","px"],_a={mm:{mm:1,cm:.1,in:1/25.4,pt:72/25.4,pc:6/25.4,px:-1},cm:{mm:10,cm:1,in:1/2.54,pt:72/2.54,pc:6/2.54,px:-1},in:{mm:25.4,cm:2.54,in:1,pt:72,pc:6,px:-1},pt:{mm:25.4/72,cm:2.54/72,in:1/72,pt:1,pc:6/72,px:-1},pc:{mm:25.4/6,cm:2.54/6,in:1/6,pt:72/6,pc:1,px:-1},px:{px:1}};function Be(r){let A="px";if(typeof r=="string"||r instanceof String)for(let t=0,i=va.length;t<i;t++){const s=va[t];if(r.endsWith(s)){A=s,r=r.substring(0,r.length-s.length);break}}let e;return e=_a[A][pc],e<0&&(e=_a[A].in*Cc),e*Number.parseFloat(r)}const Qc=new at,nr=new at,Da=new at,ba=new at;function yc(r,A,e){if(!(r.hasAttribute("transform")||r.nodeName==="use"&&(r.hasAttribute("x")||r.hasAttribute("y"))))return null;const t=mc(r);return e.length>0&&t.premultiply(e[e.length-1]),A.copy(t),e.push(t),t}function mc(r){const A=new at,e=Qc;if(r.nodeName==="use"&&(r.hasAttribute("x")||r.hasAttribute("y"))&&A.translate(Be(r.getAttribute("x")),Be(r.getAttribute("y"))),r.hasAttribute("transform")){const t=r.getAttribute("transform").split(")");for(let i=t.length-1;i>=0;i--){const s=t[i].trim();if(s==="")continue;const n=s.indexOf("("),o=s.length;if(n>0&&n<o){const a=s.slice(0,n),l=Mt(s.slice(n+1));switch(e.identity(),a){case"translate":if(l.length>=1){const g=l[0];let c=0;l.length>=2&&(c=l[1]),e.translate(g,c)}break;case"rotate":if(l.length>=1){let g=0,c=0,f=0;g=l[0]*Math.PI/180,l.length>=3&&(c=l[1],f=l[2]),nr.makeTranslation(-c,-f),Da.makeRotation(g),ba.multiplyMatrices(Da,nr),nr.makeTranslation(c,f),e.multiplyMatrices(nr,ba)}break;case"scale":l.length>=1&&e.scale(l[0],l[1]??l[0]);break;case"skewX":l.length===1&&e.set(1,Math.tan(l[0]*Math.PI/180),0,0,1,0,0,0,1);break;case"skewY":l.length===1&&e.set(1,0,0,Math.tan(l[0]*Math.PI/180),1,0,0,0,1);break;case"matrix":l.length===6&&e.set(l[0],l[2],l[4],l[1],l[3],l[5],0,0,1);break}}A.premultiply(e)}}return A}function wc(r){return new Je().arc(Be(r.getAttribute("cx")||0),Be(r.getAttribute("cy")||0),Be(r.getAttribute("r")||0),0,Math.PI*2)}function vc(r,A){if(!(!r.sheet||!r.sheet.cssRules||!r.sheet.cssRules.length))for(let e=0;e<r.sheet.cssRules.length;e++){const t=r.sheet.cssRules[e];if(t.type!==1)continue;const i=t.selectorText.split(/,/g).filter(Boolean).map(n=>n.trim()),s={};for(let n=t.style.length,o=0;o<n;o++){const a=t.style.item(o);s[a]=t.style.getPropertyValue(a)}for(let n=0;n<i.length;n++)A[i[n]]=Object.assign(A[i[n]]||{},{...s})}}function _c(r){return new Je().ellipse(Be(r.getAttribute("cx")||0),Be(r.getAttribute("cy")||0),Be(r.getAttribute("rx")||0),Be(r.getAttribute("ry")||0),0,0,Math.PI*2)}function Dc(r){return new Je().moveTo(Be(r.getAttribute("x1")||0),Be(r.getAttribute("y1")||0)).lineTo(Be(r.getAttribute("x2")||0),Be(r.getAttribute("y2")||0))}function bc(r){const A=new Je,e=r.getAttribute("d");return!e||e==="none"?null:(A.addData(e),A)}const xc=/([+-]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g;function Sc(r){var t;const A=new Je;let e=0;return(t=r.getAttribute("points"))==null||t.replace(xc,(i,s,n)=>{const o=Be(s),a=Be(n);return e===0?A.moveTo(o,a):A.lineTo(o,a),e++,i}),A.currentCurve.autoClose=!0,A}const Mc=/([+-]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g;function Rc(r){var t;const A=new Je;let e=0;return(t=r.getAttribute("points"))==null||t.replace(Mc,(i,s,n)=>{const o=Be(s),a=Be(n);return e===0?A.moveTo(o,a):A.lineTo(o,a),e++,i}),A.currentCurve.autoClose=!1,A}function Uc(r){const A=Be(r.getAttribute("x")||0),e=Be(r.getAttribute("y")||0),t=Be(r.getAttribute("rx")||r.getAttribute("ry")||0),i=Be(r.getAttribute("ry")||r.getAttribute("rx")||0),s=Be(r.getAttribute("width")),n=Be(r.getAttribute("height")),o=1-.551915024494,a=new Je;return a.moveTo(A+t,e),a.lineTo(A+s-t,e),(t!==0||i!==0)&&a.bezierCurveTo(A+s-t*o,e,A+s,e+i*o,A+s,e+i),a.lineTo(A+s,e+n-i),(t!==0||i!==0)&&a.bezierCurveTo(A+s,e+n-i*o,A+s-t*o,e+n,A+s-t,e+n),a.lineTo(A+t,e+n),(t!==0||i!==0)&&a.bezierCurveTo(A+t*o,e+n,A,e+n-i*o,A,e+n-i),a.lineTo(A,e+i),(t!==0||i!==0)&&a.bezierCurveTo(A,e+i*o,A+t*o,e,A+t,e),a}function Rt(r,A,e){A=Object.assign({},A);let t={};if(r.hasAttribute("class")){const l=r.getAttribute("class").split(/\s/).filter(Boolean).map(g=>g.trim());for(let g=0;g<l.length;g++)t=Object.assign(t,e[`.${l[g]}`])}r.hasAttribute("id")&&(t=Object.assign(t,e[`#${r.getAttribute("id")}`]));for(let l=r.style.length,g=0;g<l;g++){const c=r.style.item(g),f=r.style.getPropertyValue(c);A[c]=f,t[c]=f}function i(l,g,c=s){r.hasAttribute(l)&&(A[g]=c(r.getAttribute(l))),t[l]&&(A[g]=c(t[l]))}function s(l){return l.startsWith("url")&&console.warn("url access in attributes is not implemented."),l}function n(l){return Math.max(0,Math.min(1,Be(l)))}function o(l){return Math.max(0,Be(l))}function a(l){return l.split(" ").filter(g=>g!=="").map(g=>Be(g))}return i("fill","fill"),i("fill-opacity","fillOpacity",n),i("fill-rule","fillRule"),i("opacity","opacity",n),i("stroke","stroke"),i("stroke-opacity","strokeOpacity",n),i("stroke-width","strokeWidth",o),i("stroke-linecap","strokeLinecap"),i("stroke-linejoin","strokeLinejoin"),i("stroke-miterlimit","strokeMiterlimit",o),i("stroke-dasharray","strokeDasharray",a),i("stroke-dashoffset","strokeDashoffset",Be),i("visibility","visibility"),A}function Ts(r,A,e=[],t={}){var c;if(r.nodeType!==1)return e;let i=!1,s=null,n={...A};switch(r.nodeName){case"svg":n=Rt(r,n,t);break;case"style":vc(r,t);break;case"g":n=Rt(r,n,t);break;case"path":n=Rt(r,n,t),r.hasAttribute("d")&&(s=bc(r));break;case"rect":n=Rt(r,n,t),s=Uc(r);break;case"polygon":n=Rt(r,n,t),s=Sc(r);break;case"polyline":n=Rt(r,n,t),s=Rc(r);break;case"circle":n=Rt(r,n,t),s=wc(r);break;case"ellipse":n=Rt(r,n,t),s=_c(r);break;case"line":n=Rt(r,n,t),s=Dc(r);break;case"defs":i=!0;break;case"use":{n=Rt(r,n,t);const I=(r.getAttributeNS("http://www.w3.org/1999/xlink","href")||r.getAttribute("href")||"").substring(1),d=(c=r.viewportElement)==null?void 0:c.getElementById(I);d?Ts(d,n,e,t):console.warn(`'use node' references non-existent node id: ${I}`);break}default:console.warn(r);break}if(n.display==="none")return e;const o=new at,a=[],l=yc(r,o,a);s&&(s.applyTransform(o),e.push(s),s.style={...n});const g=r.childNodes;for(let f=0,I=g.length;f<I;f++){const d=g[f];i&&d.nodeName!=="style"&&d.nodeName!=="defs"||Ts(d,n,e,t)}return l&&(a.pop(),a.length>0?o.copy(a[a.length-1]):o.identity()),e}function xa(r){return new Fs(Ts(wa(r),{}))}class Sa extends Je{constructor(){super(...arguments);h(this,"textureTransform");h(this,"fillStyle");h(this,"strokeStyle");h(this,"lineCap");h(this,"lineJoin");h(this,"lineWidth");h(this,"miterLimit");h(this,"_defaultStyle",ve.EMPTY);h(this,"_draws",[])}stroke(){let e=this._defaultStyle;this.strokeStyle&&(this.strokeStyle instanceof ve?e=this.strokeStyle:e=new ps(this.strokeStyle)),this.curves.length&&(this._draws.push({type:"stroke",path:new Je(this),texture:e,textureTransform:this.textureTransform,style:{alignment:.5,cap:this.lineCap??"butt",join:this.lineJoin??"miter",width:this.lineWidth??1,miterLimit:this.miterLimit??10}}),super.reset())}fillRect(e,t,i,s){this.rect(e,t,i,s).fill()}strokeRect(e,t,i,s){this.rect(e,t,i,s).stroke()}fill(){let e=this._defaultStyle;this.fillStyle&&(this.fillStyle instanceof ve?e=this.fillStyle:e=new ps(this.fillStyle)),this._draws.push({type:"fill",path:new Je(this),texture:e,textureTransform:this.textureTransform}),super.reset()}copy(e){return super.copy(e),this.strokeStyle=e.strokeStyle,this.fillStyle=e.fillStyle,this.textureTransform=e.textureTransform,this.lineCap=e.lineCap,this.lineJoin=e.lineJoin,this.lineWidth=e.lineWidth,this.miterLimit=e.miterLimit,this._draws=e._draws.slice(),this}reset(){return super.reset(),this.strokeStyle=void 0,this.fillStyle=void 0,this.textureTransform=void 0,this.lineCap=void 0,this.lineJoin=void 0,this.lineWidth=void 0,this.miterLimit=void 0,this._draws.length=0,this}buildUvs(e,t,i,s,n){if(s){const o=s.width,a=s.height;for(let l=t.length,g=e;g<l;g+=2){const c=t[g],f=t[g+1];let I,d;n?[I,d]=n==null?void 0:n.applyToPoint(c,f):[I,d]=[c/o,f/a],i.push(I,d)}}else for(let o=t.length,a=e;a<o;a+=2)i.push(0,0)}toBatchables(){const e=[];let t=[],i=[],s=[],n;const o=l=>{e.push({type:l,vertices:t,indices:i,uvs:s,texture:n}),t=[],i=[],s=[],n=void 0};for(let l=this._draws.length,g=0;g<l;g++){const c=this._draws[g],f=this._draws[g-1];t.length&&f&&(f==null?void 0:f.type)!==c.type&&o(f.type);const I=n;I||(n=c.texture),t.length&&I!==c.texture&&!(I!=null&&I.is(c.texture))&&o(c.type);const d=t.length;c.type==="fill"?(c.path.fillTriangulate({vertices:t,indices:i}),this.buildUvs(d,t,s,c.texture,c.textureTransform)):(c.path.strokeTriangulate({vertices:t,indices:i,lineStyle:c.style,flipAlignment:!1,closed:!0}),this.buildUvs(d,t,s,c.texture,c.textureTransform))}const a=this._draws[this._draws.length-1];return a&&t.length&&o(a.type),e}}var kc=Object.defineProperty,Pc=Object.getOwnPropertyDescriptor,Ci=(r,A,e,t)=>{for(var i=t>1?void 0:t?Pc(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&kc(A,e,i),i};u.CanvasItem=class extends u.TimelineNode{constructor(e,t=[]){super();h(this,"_parentGlobalVisible");h(this,"_globalVisible");h(this,"_parentGlobalOpacity");h(this,"_globalOpacity");h(this,"_modulate",new Zt(4294967295));h(this,"_backgroundImage");h(this,"context",new Sa);h(this,"_resetContext",!0);h(this,"_redrawing",!1);h(this,"_relayouting",!1);h(this,"_repainting",!1);h(this,"_originalBatchables",[]);h(this,"_layoutedBatchables",[]);h(this,"_batchables",[]);this.setProperties(e).append(t)}get globalVisible(){return this._globalVisible??!0}get globalOpacity(){return this._globalOpacity??1}_updateProperty(e,t,i,s){switch(super._updateProperty(e,t,i,s),e){case"modulate":this._modulate.value=t,this.requestRepaint();break;case"blendMode":this.requestRepaint();break;case"opacity":this._updateGlobalOpacity();break;case"visible":case"insideTimeRange":this._updateGlobalVisible();break}}show(){this.visible=!0}hide(){this.visible=!1}isVisibleInTree(){return this.globalOpacity>0&&this.globalVisible}canRender(){return super.canRender()&&this.isVisibleInTree()}requestRedraw(){this._redrawing=!0,this.requestUpdate()}requestRelayout(){this._relayouting=!0,this.requestUpdate()}requestRepaint(){this._repainting=!0,this.requestUpdate()}_updateGlobalVisible(){var e;this._parentGlobalVisible=(e=this.getParent())==null?void 0:e.globalVisible,this._globalVisible=(this._parentGlobalVisible??!0)&&this.visible&&this.insideTimeRange}_updateGlobalOpacity(){var t;this._parentGlobalOpacity=(t=this.getParent())==null?void 0:t.opacity;const e=bt(0,this.opacity,1)*(this._parentGlobalOpacity??1);this._globalOpacity!==e&&(this._globalOpacity=e,this.requestRepaint())}_draw(){this.emit("draw")}_redraw(){var e;return(e=this._tree)==null||e.log(this.name,"redrawing"),this._draw(),this.context.toBatchables()}_relayout(e){var t;return(t=this._tree)==null||t.log(this.name,"relayouting"),e}_repaint(e){var t;return(t=this._tree)==null||t.log(this.name,"repainting"),e.map(i=>({...i,modulate:this._modulate.toArgb(this.globalOpacity,!0),blendMode:this.blendMode}))}_process(e){super._process(e);const t=this.getParent();this._parentGlobalVisible!==(t==null?void 0:t.globalVisible)&&this.requestUpdate(),this._parentGlobalOpacity!==(t==null?void 0:t.globalOpacity)&&this.requestUpdate()}_update(){const e=this.getParent();this._parentGlobalVisible!==(e==null?void 0:e.globalVisible)&&this._updateGlobalVisible(),this._parentGlobalOpacity!==(e==null?void 0:e.globalOpacity)&&this._updateGlobalOpacity();const t=this._redrawing;let i=this._relayouting,s=this._repainting,n;t&&(this._originalBatchables=this._redraw(),i=!0),i&&(this._layoutedBatchables=this._relayout(this._originalBatchables),s=!0),s&&(n=this._repaint(this._layoutedBatchables)),t&&this._resetContext&&this.context.reset(),n&&(this._batchables=n,this._redrawing=!1,this._relayouting=!1,this._repainting=!1)}_render(e){this._batchables.forEach(t=>{var i,s;(i=t.texture)==null||i.upload(e),e.batch2D.render({...t,texture:(s=t.texture)==null?void 0:s._glTexture(e)})}),super._render(e)}},Ci([k()],u.CanvasItem.prototype,"modulate",2),Ci([k()],u.CanvasItem.prototype,"blendMode",2),Ci([Ee({default:!0})],u.CanvasItem.prototype,"visible",2),Ci([Ee({default:1})],u.CanvasItem.prototype,"opacity",2),u.CanvasItem=Ci([re("CanvasItem")],u.CanvasItem);class Nc{constructor(){h(this,"currentCall");h(this,"calls",[])}createCall(A){return{renderable:A,parentCall:this.currentCall,fn:A.render.bind(A),calls:[]}}push(A){var t;const e=this.createCall(A);return(((t=this.currentCall)==null?void 0:t.calls)??this.calls).push(e),e}render(A){this.calls.forEach(function e(t){t.fn(A,()=>{t.calls.forEach(e)})}),this.calls=[]}}var Fc=Object.defineProperty,Tc=Object.getOwnPropertyDescriptor,Qi=(r,A,e,t)=>{for(var i=t>1?void 0:t?Tc(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&Fc(A,e,i),i};u.Timeline=class extends u.Node{static from(A,e=!1){const[t,i]=A?Array.isArray(A)?A:[0,A]:[];return new u.Timeline({startTime:t,endTime:i,loop:e})}constructor(A){super(),this.setProperties(A)}_updateProperty(A,e,t){switch(super._updateProperty(A,e,t),A){case"startTime":this.startTime=Math.min(e,this.endTime);break;case"endTime":this.endTime=e||Number.MAX_SAFE_INTEGER;break}}addTime(A){const e=this.startTime,t=this.endTime;let i=this.currentTime;return i=i+A,this.loop&&i>t&&(i=e+i%t),i=bt(e,i,t),this.currentTime=i,this.emit("updateCurrentTime",i,A),this}_process(A){super._process(A),this.addTime(A)}},Qi([k({default:0})],u.Timeline.prototype,"startTime",2),Qi([k({default:0})],u.Timeline.prototype,"currentTime",2),Qi([k({default:Number.MAX_SAFE_INTEGER})],u.Timeline.prototype,"endTime",2),Qi([k({default:!1})],u.Timeline.prototype,"loop",2),u.Timeline=Qi([re("Timeline")],u.Timeline);var Lc=Object.defineProperty,Ls=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&Lc(A,e,i),i};class yi extends ji{constructor(e=new u.Timeline){super();h(this,"input",new eo);h(this,"renderStack",new Nc);h(this,"root",new u.Viewport(!0).setTree(this));h(this,"timeline");h(this,"_backgroundColor",new Zt);h(this,"_currentViewport");this.timeline=e.setTree(this)}getCurrentViewport(){return this._currentViewport}setCurrentViewport(e){this._currentViewport=e}_updateProperty(e,t,i,s){switch(super._updateProperty(e,t,i,s),e){case"backgroundColor":this._backgroundColor.value=t;break}}log(...e){this.debug&&console.log("[modern-canvas]",...e)}_render(e,t=0){return this.timeline.addTime(t),this.emit("processing"),this.root.emit("process",t),this.emit("processed"),e.program.uniforms.projectionMatrix=this.root.toProjectionArray(!0),this.renderStack.render(e),this._renderScreen(e),this}_renderScreen(e){e.state.reset();const{pixelRatio:t}=e,{width:i,height:s}=this.root;e.framebuffer.bind(null),e.viewport.bind({x:0,y:0,width:i*t,height:s*t}),this.backgroundColor&&e.gl.clearColor(...this._backgroundColor.toArray()),e.clear(),this.backgroundColor&&e.gl.clearColor(0,0,0,0);const n=this.root.texture;n.activate(e,0),fe.draw(e),e.texture.unbind(n)}free(){super.free(),this.root.getChildren(!0).forEach(e=>this.root.removeChild(e)),this.input.removeEventListeners()}}Ls([k({default:!1})],yi.prototype,"paused"),Ls([k()],yi.prototype,"backgroundColor"),Ls([Ee({default:!1})],yi.prototype,"debug");var Gc=Object.getOwnPropertyDescriptor,Oc=(r,A,e,t)=>{for(var i=t>1?void 0:t?Gc(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(i)||i);return i};u.Transition=class extends u.Effect{constructor(A,e=[]){super(),this.setProperties(A).append(e)}},u.Transition=Oc([re("Transition",{effectMode:"transition",processMode:"pausable",duration:2e3})],u.Transition);var Hc=Object.defineProperty,Jc=Object.getOwnPropertyDescriptor,Kc=(r,A,e)=>A in r?Hc(r,A,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[A]=e,Yc=(r,A,e,t)=>{for(var i=t>1?void 0:t?Jc(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(i)||i);return i},Wc=(r,A,e)=>Kc(r,A+"",e);u.ShadowEffect=class extends u.Effect{constructor(){super(...arguments);h(this,"blur",new u.BlurEffect);h(this,"viewport3",new u.Viewport)}apply(e,t){this.viewport3.activateWithCopy(e,t),this.viewport3.redraw(e,()=>{fe.draw(e,u.ShadowEffect.material,{sampler:0,offset:[.001,.001],color:[0,0,0],alpha:.5})}),this.blur.apply(e,this.viewport3),t.redraw(e,()=>{this.viewport3.texture.activate(e,1),fe.draw(e,RA.instance,{sampler:1}),fe.draw(e,RA.instance,{sampler:0}),e.texture.unbind(1)})}},Wc(u.ShadowEffect,"material",new Qe({vert:`precision mediump float;
|
|
672
672
|
attribute vec2 position;
|
|
673
673
|
attribute vec2 uv;
|
|
674
674
|
varying vec2 vUv;
|
|
@@ -767,7 +767,7 @@ void main() {
|
|
|
767
767
|
color /= total;
|
|
768
768
|
|
|
769
769
|
gl_FragColor = color;
|
|
770
|
-
}`})),mi([k()],u.ZoomBlurEffect.prototype,"center",2),mi([k()],u.ZoomBlurEffect.prototype,"innerRadius",2),mi([k()],u.ZoomBlurEffect.prototype,"radius",2),mi([k()],u.ZoomBlurEffect.prototype,"strength",2),u.ZoomBlurEffect=mi([re("ZoomBlurEffect")],u.ZoomBlurEffect);function Xc(){return{rotate:0,scaleX:1,scaleY:1,skewX:0,skewY:0,translateX:0,translateY:0,transform:"none",transformOrigin:"center"}}function jc(){return{writingMode:"horizontal-tb",verticalAlign:"baseline",lineHeight:1.2,letterSpacing:0,wordSpacing:0,fontSize:14,fontWeight:"normal",fontFamily:"",fontStyle:"normal",fontKerning:"normal",textWrap:"wrap",textAlign:"start",textIndent:0,textTransform:"none",textOrientation:"mixed",textDecoration:"none",textStrokeWidth:0,textStrokeColor:"black",color:"black",listStyleType:"none",listStyleImage:"none",listStyleColormap:"none",listStyleSize:"cover",listStylePosition:"outside",highlightImage:"none",highlightReferImage:"none",highlightColormap:"none",highlightLine:"none",highlightSize:"cover",highlightThickness:"100%"}}class wi extends Ot{constructor(e){super();h(this,"_backgroundColor",new Zt);this.setProperties(e)}_updateProperty(e,t,i,s){switch(super._updateProperty(e,t,i,s),e){case"backgroundColor":this._backgroundColor.value=this.backgroundColor==="none"?void 0:this.backgroundColor;break}}getComputedBackgroundColor(){return this._backgroundColor}async loadBackgroundImage(){if(this.backgroundImage!=="none")return await Vt.texture.load(this.backgroundImage)}}const TA={...Xc(),...jc(),backgroundColor:"none",backgroundImage:"none",filter:"none",boxShadow:"none",maskImage:"none",opacity:1,borderWidth:0,borderRadius:0,borderColor:"#000000",borderStyle:"none",outlineWidth:0,outlineOffset:0,outlineColor:"#000000",outlineStyle:"none",visibility:"visible",overflow:"visible",pointerEvents:"auto"};delete TA.top,delete TA.left,delete TA.width,delete TA.height;for(const r in TA)xA(wi,r,{default:TA[r]});var Zc=Object.getOwnPropertyDescriptor,$c=(r,A,e,t)=>{for(var i=t>1?void 0:t?Zc(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(i)||i);return i};u.Node2D=class extends u.CanvasItem{constructor(e,t=[]){super();h(this,"position",new Qt);h(this,"rotation",0);h(this,"scale",new Qt(1,1));h(this,"skew",new Qt);h(this,"transform",new xt(!1));h(this,"globalPosition",new Qt);h(this,"globalRotation",0);h(this,"globalScale",new Qt);h(this,"globalSkew",new Qt);h(this,"globalTransform",new xt);h(this,"_parentTransformDirtyId");this.setProperties(e).append(t)}_updateTransform(){this.transform.identity().scale(this.scale.x,this.scale.y).skew(this.skew.x,this.skew.y).translate(this.position.x,this.position.y).rotate(this.rotation).update()}_updateGlobalTransform(){const e=this.getParent();e!=null&&e.globalTransform?(this._parentTransformDirtyId=e.globalTransform.dirtyId,this.globalScale.set(e.globalScale.x*this.scale.x,e.globalScale.y*this.scale.y),this.globalRotation=e.globalRotation+this.rotation,e.globalTransform.multiply(this.transform,this.globalTransform)):(this.globalScale=this.scale.clone(),this.globalRotation=this.rotation,this.globalTransform=this.transform.clone());const[t,i,s,n,o,a]=this.globalTransform.toArray();this.globalPosition.set(s,a),this.globalSkew.x=Math.atan2(i,t)-this.globalRotation,this.globalSkew.y=Math.atan2(n,o)-this.globalRotation,this.requestRelayout()}_transformVertices(e){const[t,i,s,n,o,a]=this.globalTransform.toArray(),l=e.slice();for(let g=e.length,c=0;c<g;c+=2){const f=e[c],I=e[c+1];l[c]=t*f+i*I+s,l[c+1]=n*f+o*I+a}return l}_relayout(e){return this._updateTransform(),this._updateGlobalTransform(),super._relayout(e).map(t=>({...t,vertices:this._transformVertices(t.vertices)}))}_process(e){var i;const t=this.getParent();this._parentTransformDirtyId!==((i=t==null?void 0:t.globalTransform)==null?void 0:i.dirtyId)&&this.requestRelayout(),super._process(e)}},u.Node2D=$c([re("Node2D")],u.Node2D);var eu=Object.getOwnPropertyDescriptor,tu=(r,A,e,t)=>{for(var i=t>1?void 0:t?eu(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(i)||i);return i};u.BaseElement2D=class extends u.Node2D{constructor(e,t=[]){super();h(this,"size",new Qt);h(this,"_pointerEntering",!1);this._updateStyleProperty=this._updateStyleProperty.bind(this),this.style=new wi,this.setProperties(e).append(t)}get style(){return this._style}set style(e){var i;const t=(...s)=>{this.emit("updateStyleProperty",...s),this._updateStyleProperty(s[0],s[1],s[2],s[3])};e.on("updateProperty",t),(i=this._style)==null||i.off("updateProperty",t),this._style=e}setProperties(e){if(e){const{style:t,...i}=e;t&&this.style.setProperties(t),super.setProperties(i)}return this}_updateStyleProperty(e,t,i,s){switch(e){case"width":case"height":this.mask instanceof u.BaseElement2D&&(this.mask.size.x=this.size.x,this.mask.size.y=this.size.y);break}switch(e){case"rotate":this.rotation=this.style.rotate*co,this.requestRelayout();break;case"scaleX":this.scale.x=this.style.scaleX,this.requestRelayout();break;case"scaleY":this.scale.y=this.style.scaleY,this.requestRelayout();break;case"skewX":this.skew.x=this.style.skewX,this.requestRelayout();break;case"skewY":this.skew.y=this.style.skewY,this.requestRelayout();break;case"transform":case"transformOrigin":this.requestRelayout();break;case"backgroundColor":this._updateBackgroundColor();break;case"backgroundImage":this._updateBackgroundImage();break;case"opacity":this.opacity=this.style.opacity;break;case"visibility":this.visible=this.style.visibility==="visible";break;case"filter":this.requestRepaint();break;case"boxShadow":this._updateBoxShadow();break;case"maskImage":this._updateMaskImage();break;case"borderRadius":this.requestRedraw();break}}_updateBoxShadow(){const e="__$style.shadow";if(this.style.boxShadow!=="none")this.getNode(e)||this.appendChild(new u.ShadowEffect({name:e}),"back");else{const t=this.getNode(e);t&&this.removeChild(t)}}_updateMaskImage(){const e="__$style.maskImage",t=this.style.maskImage;if(t&&t!=="none"){const i=this.getNode(e);i?i.src=t:this.appendChild(new u.MaskEffect({name:e,src:t}),"back")}else{const i=this.getNode(e);i&&this.removeChild(i)}}_updateBackgroundColor(){const e=this.style.getComputedBackgroundColor();this._originalBatchables.length?this.requestRepaint():e.a>0&&this.requestRedraw()}async _updateBackgroundImage(){this._backgroundImage=await this.style.loadBackgroundImage(),this.requestRedraw()}_updateTransform(){super._updateTransform();const{width:e,height:t}=this.size;ko(this.style.transform,e,t).multiply(this.transform,this.transform);const s=this.transform.toArray(),[n,o]=Po(this.style.transformOrigin),a=n*e,l=o*t;s[2]+=s[0]*-a+s[1]*-l+a,s[5]+=s[3]*-a+s[4]*-l+l,this.transform.set(s)}_updateGlobalTransform(){super._updateGlobalTransform(),this._updateOverflow()}getRect(){const{width:e,height:t}=this.size,i=0,s=0,n=i+e,o=s+t,[a,l,g,c,f,I]=this.globalTransform.toArray(),d=[[i,s],[i,o],[n,s],[n,o]].map(w=>[a*w[0]+l*w[1]+g,c*w[0]+f*w[1]+I]),C=d.map(w=>w[0]),B=d.map(w=>w[1]),R=Math.min(...C),S=Math.max(...C),_=Math.min(...B),M=Math.max(...B);return new Is(R,_,S-R,M-_)}_updateOverflow(){if(this.style.overflow==="hidden"){const e=this.getRect();this.mask={x:e.x,y:e.y,width:e.width,height:e.height}}else this.mask=void 0}_draw(){super._draw(),this._drawBackground(),this._drawContent(),this._drawBorder(),this._drawOutline()}_drawBackground(){const e=this._backgroundImage;if(e!=null&&e.valid){const{width:t,height:i}=this.size;this.context.fillStyle=e,this.context.textureTransform=new xt().scale(1/t,1/i),this._fillBoundingRect()}}_drawContent(){this._fillBoundingRect()}_drawBorder(){this.style.borderWidth&&this.style.borderStyle!=="none"&&(this.context.lineWidth=this.style.borderWidth,this.context.strokeStyle=this.style.borderColor,this._strokeBoundingRect())}_drawOutline(){this.style.outlineWidth&&this.style.outlineColor!=="none"&&(this.context.lineWidth=this.style.outlineWidth,this.context.strokeStyle=this.style.outlineColor,this._strokeBoundingRect())}_drawBoundingRect(){const{borderRadius:e}=this.style,{width:t,height:i}=this.size;t&&i&&(e?this.context.roundRect(0,0,t,i,e):this.context.rect(0,0,t,i))}_fillBoundingRect(){this._drawBoundingRect(),this.context.fill()}_strokeBoundingRect(){this._drawBoundingRect(),this.context.stroke()}_repaint(e){const t=Uo(this.style.filter);return super._repaint(e).map(i=>({...i,backgroundColor:this.style.getComputedBackgroundColor().abgr,colorMatrix:t.toMatrix4().toArray(!0),colorMatrixOffset:t.toVector4().toArray()}))}canPointerEvents(){return this.style.pointerEvents!=="none"}input(e,t){for(let i=this._children.length-1;i>=0;i--)this._children[i].input(e,t);this.isVisibleInTree()&&this._input(e,t)}_pointerEntered(){this._pointerEntering=!0}_pointerExited(){this._pointerEntering}_pointerInput(e,t){const{width:i,height:s}=this.size;return e.x>=0&&e.x<i&&e.y>=0&&e.y<s}_input(e,t){switch(t){case"pointerdown":case"pointermove":case"pointerup":{if(this.canPointerEvents()){const{screenX:i,screenY:s}=e;if(i&&s){const[n,o]=this.globalTransform.inverse().applyToPoint(i,s);this._pointerInput({x:n,y:o},t)&&(e.target||(e.target=this),this.emit(t,e))}}break}}}toJSON(){const e=super.toJSON();return{...e,props:{style:this.style.toJSON(),...e.props}}}},u.BaseElement2D=tu([re("BaseElement2D")],u.BaseElement2D);class Gs extends wi{constructor(A){super(),this.setProperties(A)}}const Ra={left:0,top:0,width:0,height:0};for(const r in Ra)xA(Gs,r,{default:Ra[r]});var Au=Object.getOwnPropertyDescriptor,iu=(r,A,e,t)=>{for(var i=t>1?void 0:t?Au(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(i)||i);return i};u.Element2D=class extends u.BaseElement2D{get style(){return this._style}set style(A){var t;const e=(...i)=>{this.emit("updateStyleProperty",...i),this._updateStyleProperty(i[0],i[1],i[2],i[3])};A.on("updateProperty",e),(t=this._style)==null||t.off("updateProperty",e),this._style=A}constructor(A,e=[]){super(),this.style=new Gs,this.setProperties(A).append(e)}_updateStyleProperty(A,e,t,i){switch(super._updateStyleProperty(A,e,t,i),A){case"left":this.position.x=this.style.left,this.requestRelayout();break;case"top":this.position.y=this.style.top,this.requestRelayout();break;case"width":this.size.width=this.style.width,this.requestRelayout();break;case"height":this.size.height=this.style.height,this.requestRelayout();break}}},u.Element2D=iu([re("Element2D")],u.Element2D);var ru=(()=>{var r=typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:tt&&tt.tagName.toUpperCase()==="SCRIPT"&&tt.src||new URL("index.js",document.baseURI).href;return function(A){A=A||{};var e;e||(e=typeof A<"u"?A:{});var t,i;e.ready=new Promise(function(E,p){t=E,i=p});var s=Object.assign({},e),n="";typeof document<"u"&&document.currentScript&&(n=document.currentScript.src),r&&(n=r),n.indexOf("blob:")!==0?n=n.substr(0,n.replace(/[?#].*/,"").lastIndexOf("/")+1):n="";var o=e.print||console.log.bind(console),a=e.printErr||console.warn.bind(console);Object.assign(e,s),s=null;var l;e.wasmBinary&&(l=e.wasmBinary),e.noExitRuntime,typeof WebAssembly!="object"&&P("no native wasm support detected");var g,c=!1;function f(E,p,Q){Q=p+Q;for(var m="";!(p>=Q);){var b=E[p++];if(!b)break;if(b&128){var U=E[p++]&63;if((b&224)==192)m+=String.fromCharCode((b&31)<<6|U);else{var N=E[p++]&63;b=(b&240)==224?(b&15)<<12|U<<6|N:(b&7)<<18|U<<12|N<<6|E[p++]&63,65536>b?m+=String.fromCharCode(b):(b-=65536,m+=String.fromCharCode(55296|b>>10,56320|b&1023))}}else m+=String.fromCharCode(b)}return m}var I,d,C,B,R,S,_,M,w;function v(){var E=g.buffer;I=E,e.HEAP8=d=new Int8Array(E),e.HEAP16=B=new Int16Array(E),e.HEAP32=S=new Int32Array(E),e.HEAPU8=C=new Uint8Array(E),e.HEAPU16=R=new Uint16Array(E),e.HEAPU32=_=new Uint32Array(E),e.HEAPF32=M=new Float32Array(E),e.HEAPF64=w=new Float64Array(E)}var D,x=[],L=[],j=[];function Y(){var E=e.preRun.shift();x.unshift(E)}var T=0,$=null;function P(E){throw e.onAbort&&e.onAbort(E),E="Aborted("+E+")",a(E),c=!0,E=new WebAssembly.RuntimeError(E+". Build with -sASSERTIONS for more info."),i(E),E}function X(E){return E.startsWith("data:application/octet-stream;base64,")}var ee;if(ee="data:application/octet-stream;base64,AGFzbQEAAAABugM3YAF/AGACf38AYAF/AX9gA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWADf398AGAAAGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAV/f39/fwBgAn9/AX1gBX9/f319AX1gAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBn9/f319fQF9YAR/f31/AGADf399AX1gBn98f39/fwF/YAR/fHx/AGACf30AYAh/f39/f39/fwBgDX9/f39/f39/f39/f38AYAp/f39/f39/f39/AGAFf39/f38BfGAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gB39/f319f38AYAJ+fwF/YAN/fX0BfWABfAF8YAN/fHwAYAR/f319AGAHf39/fX19fQF9YA1/fX99f31/fX19fX1/AX9gC39/f39/f399fX19AX9gCH9/f39/f319AGAEf39+fgBgB39/f39/f38Bf2ACfH8BfGAFf398fH8AYAN/f38BfGAEf39/fABgA39/fQBgBn9/fX99fwF/ArUBHgFhAWEAHwFhAWIAAwFhAWMACQFhAWQAFgFhAWUAEQFhAWYAIAFhAWcAAAFhAWgAIQFhAWkAAwFhAWoAAAFhAWsAFwFhAWwACgFhAW0ABQFhAW4AAwFhAW8AAQFhAXAAFwFhAXEABgFhAXIAAAFhAXMAIgFhAXQACgFhAXUADQFhAXYAFgFhAXcAAgFhAXgAAwFhAXkAGAFhAXoAAgFhAUEAAQFhAUIAEQFhAUMAAQFhAUQAAAOiAqACAgMSBwcACRkDAAoRBgYKEwAPDxMBBiMTCgcHGgMUASQFJRQHAwMKCgMmAQYYDxobFAAKBw8KBwMDAgkCAAAFGwACBwIHBgIDAQMIDAABKAkHBQURACkZASoAAAIrLAIALQcHBy4HLwkFCgMCMA0xAgMJAgACAQYKAQIBBQEACQIFAQEABQAODQ0GFQIBHBUGAgkCEAAAAAUyDzMMBQYINAUCAwUODg41AgMCAgIDBgICNgIBDAwMAQsLCwsLCx0CAAIAAAABABABBQICAQMCEgMMCwEBAQEBAQsLAQICAwICAgICAgIDAgIICAEICAgEBAQEBAQEBAQABAQABAQEBAAE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GiABQQA2AvADIAFCADcC6AMgAigC7AMiAyACKALoAyIERwRAIAMgBGsiBEEASA0FIAEgBBAeIgM2AuwDIAEgAzYC6AMgASADIARqNgLwAyACKALoAyIEIAIoAuwDIghHBEADQCADIAQoAgA2AgAgA0EEaiEDIARBBGoiBCAIRw0ACwsgASADNgLsAwsgASACKQL0AzcC9AMgASACKAKEBDYChAQgASACKQL8AzcC/AMgAUEANgLkAwsgBSABNgIAIAEgADYC5AMLIAZBAWohBiAFQQRqIgUgB0cNAAsLDwsQAgALUAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUEwahBDDwsgACABIAFBMGogAxBEDwsgACABIAFBMGoQQg8LECQACyAAIAEgAUEwaiADEEULcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QdwlaigCACACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt5AgF/AX0jAEEQayIDJAAgA0EIaiAAIAFBAnRB7CVqKAIAIAIQU0MAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC1QAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBwgBqEEMPCyAAIAEgAUHCAGogAxBEDwsgACABIAFBwgBqEEIPCxAkAAsgACABIAFBwgBqIAMQRQsvACAAIAJFQQF0IgIgASADEGAgACACIAEQS5IgACACIAEgAxB/IAAgAiABEFKSkgvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akH2AGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyADQRBqJAALzgECA38CfSMAQRBrIgMk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AWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwscACAAIAFBCCACpyACQiCIpyADpyADQiCIpxAVCwUAEFgACzkAIABFBEBBAA8LAn8gAUGAf3FBgL8DRiABQf8ATXJFBEBB/DtBGTYCAEF/DAELIAAgAToAAEEBCwvEAgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACgsMCgsCAwQFDAsMDAoLBwgJCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCwALIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LAAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQegAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQOQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIANBEGokAAtdAQR/IAAoAgAhAgNAIAIsAAAiAxBXBEBBfyEEIAAgAkEBaiICNgIAIAFBzJmz5gBNBH9BfyADQTBrIgMgAUEKbCIEaiADIARB/////wdzShsFIAQLIQEMAQsLIAELrhQCEn8BfiMAQdAAayIIJAAgCCABNgJMIAhBN2ohFyAIQThqIRQCQAJAAkACQANAIAEhDSAHIA5B/////wdzSg0BIAcgDmohDgJAAkACQCANIgctAAAiCQRAA0ACQAJAIAlB/wFxIgFFBEAgByEBDAELIAFBJUcNASAHIQkDQCAJLQABQSVHBEAgCSEBDAILIAdBAWohByAJLQACIQogCUECaiIBIQkgCkElRg0ACwsgByANayIHIA5B/////wdzIhhKDQcgAARAIAAgDSAHECYLIAcNBiAIIAE2AkwgAUEBaiEHQX8hEgJAIAEsAAEiChBXRQ0AIAEtAAJBJEcNACABQQNqIQcgCkEwayESQQEhFQsgCCAHNgJMQQAhDAJAIAcsAAAiCUEgayIBQR9LBEAgByEKDAELIAchCkEBIAF0IgFBidEEcUUNAANAIAggB0EBaiIKNgJMIAEgDHIhDCAHLAABIglBIGsiAUEgTw0BIAohB0EBIAF0IgFBidEEcQ0ACwsCQCAJQSpGBEACfwJAIAosAAEiARBXRQ0AIAotAAJBJEcNACABQQJ0IARqQcABa0EKNgIAIApBA2ohCUEBIRUgCiwAAUEDdCADakGAA2soAgAMAQsgFQ0GIApBAWohCSAARQRAIAggCTYCTEEAIRVBACETDAMLIAIgAigCACIBQQRqNgIAQQAhFSABKAIACyETIAggCTYCTCATQQBODQFBACATayETIAxBgMAAciEMDAELIAhBzABqEIkBIhNBAEgNCCAIKAJMIQkLQQAhB0F/IQsCfyAJLQAAQS5HBEAgCSEBQQAMAQsgCS0AAUEqRgRAAn8CQCAJLAACIgEQV0UNACAJLQADQSRHDQAgAUECdCAEakHAAWtBCjYCACAJQQRqIQEgCSwAAkEDdCADakGAA2soAgAMAQsgFQ0GIAlBAmohAUEAIABFDQAaIAIgAigCACIKQQRqNgIAIAooAgALIQsgCCABNgJMIAtBf3NBH3YMAQsgCCAJQQFqNgJMIAhBzABqEIkBIQsgCCgCTCEBQQELIQ8DQCAHIRFBHCEKIAEiECwAACIHQfsAa0FGSQ0JIBBBAWohASAHIBFBOmxqQf8qai0AACIHQQFrQQhJDQALIAggATYCTAJAAkAgB0EbRwRAIAdFDQsgEkEATgRAIAQgEkECdGogBzYCACAIIAMgEkEDdGopAwA3A0AMAgsgAEUNCCAIQUBrIAcgAiAGEIcBDAILIBJBAE4NCgtBACEHIABFDQcLIAxB//97cSIJIAwgDEGAwABxGyEMQQAhEkGPCSEWIBQhCgJAAkACQAJ/AkACQAJAAkACfwJAAkACQAJAAkACQAJAIBAsAAAiB0FfcSAHIAdBD3FBA0YbIAcgERsiB0HYAGsOIQQUFBQUFBQUFA4UDwYODg4UBhQUFBQCBQMUFAkUARQUBAALAkAgB0HBAGsOBw4UCxQODg4ACyAHQdMARg0JDBMLIAgpA0AhGUGPCQwFC0EAIQcCQAJAAkACQAJAAkACQCARQf8BcQ4IAAECAwQaBQYaCyAIKAJAIA42AgAMGQsgCCgCQCAONgIADBgLIAgoAkAgDqw3AwAMFwsgCCgCQCAOOwEADBYLIAgoAkAgDjoAAAwVCyAIKAJAIA42AgAMFAsgCCgCQCAOrDcDAAwTC0EIIAsgC0EITRshCyAMQQhyIQxB+AAhBwsgFCENIAgpA0AiGVBFBEAgB0EgcSEQA0AgDUEBayINIBmnQQ9xQZAvai0AACAQcjoAACAZQg9WIQkgGUIEiCEZIAkNAAsLIAxBCHFFIAgpA0BQcg0DIAdBBHZBjwlqIRZBAiESDAMLIBQhByAIKQNAIhlQRQRAA0AgB0EBayIHIBmnQQdxQTByOgAAIBlCB1YhDSAZQgOIIRkgDQ0ACwsgByENIAxBCHFFDQIgCyAUIA1rIgdBAWogByALSBshCwwCCyAIKQNAIhlCAFMEQCAIQgAgGX0iGTcDQEEBIRJBjwkMAQsgDEGAEHEEQEEBIRJBkAkMAQtBkQlBjwkgDEEBcSISGwshFiAZIBQQRyENCyAPQQAgC0EASBsNDiAMQf//e3EgDCAPGyEMIAgpA0AiGUIAUiALckUEQCAUIQ1BACELDAwLIAsgGVAgFCANa2oiByAHIAtIGyELDAsLQQAhDAJ/Qf////8HIAsgC0H/////B08bIgoiEUEARyEQAkACfwJAAkAgCCgCQCIHQY4lIAcbIg0iD0EDcUUgEUVyDQADQCAPLQAAIgxFDQIgEUEBayIRQQBHIRAgD0EBaiIPQQNxRQ0BIBENAAsLIBBFDQICQCAPLQAARSARQQRJckUEQANAIA8oAgAiB0F/cyAHQYGChAhrcUGAgYKEeHENAiAPQQRqIQ8gEUEEayIRQQNLDQALCyARRQ0DC0EADAELQQELIRADQCAQRQRAIA8tAAAhDEEBIRAMAQsgDyAMRQ0CGiAPQQFqIQ8gEUEBayIRRQ0BQQAhEAwACwALQQALIgcgDWsgCiAHGyIHIA1qIQogC0EATgRAIAkhDCAHIQsMCwsgCSEMIAchCyAKLQAADQ0MCgsgCwRAIAgoAkAMAgtBACEHIABBICATQQAgDBApDAILIAhBADYCDCAIIAgpA0A+AgggCCAIQQhqIgc2AkBBfyELIAcLIQlBACEHAkADQCAJKAIAIg1FDQEgCEEEaiANEIYBIgpBAEgiDSAKIAsgB2tLckUEQCAJQQRqIQkgCyAHIApqIgdLDQEMAgsLIA0NDQtBPSEKIAdBAEgNCyAAQSAgEyAHIAwQKSAHRQRAQQAhBwwBC0EAIQogCCgCQCEJA0AgCSgCACINRQ0BIAhBBGogDRCGASINIApqIgogB0sNASAAIAhBBGogDRAmIAlBBGohCSAHIApLDQALCyAAQSAgEyAHIAxBgMAAcxApIBMgByAHIBNIGyEHDAgLIA9BACALQQBIGw0IQT0hCiAAIAgrA0AgEyALIAwgByAFERwAIgdBAE4NBwwJCyAIIAgpA0A8ADdBASELIBchDSAJIQwMBAsgBy0AASEJIAdBAWohBwwACwALIAANByAVRQ0CQQEhBwNAIAQgB0ECdGooAgAiAARAIAMgB0EDdGogACACIAYQhwFBASEOIAdBAWoiB0EKRw0BDAkLC0EBIQ4gB0EKTw0HA0AgBCAHQQJ0aigCAA0BIAdBAWoiB0EKRw0ACwwHC0EcIQoMBAsgCyAKIA1rIhAgCyAQShsiCSASQf////8Hc0oNAkE9IQogEyAJIBJqIgsgCyATSBsiByAYSg0DIABBICAHIAsgDBApIAAgFiASECYgAEEwIAcgCyAMQYCABHMQKSAAQTAgCSAQQQAQKSAAIA0gEBAmIABBICAHIAsgDEGAwABzECkMAQsLQQAhDgwDC0E9IQoLQfw7IAo2AgALQX8hDgsgCEHQAGokACAOC9kCAQR/IwBB0AFrIgUkACAFIAI2AswBIAVBoAFqIgJBAEEoECoaIAUgBSgCzAE2AsgBAkBBACABIAVByAFqIAVB0ABqIAIgAyAEEIoBQQBIBEBBfyEEDAELQQEgBiAAKAJMQQBOGyEGIAAoAgAhByAAKAJIQQBMBEAgACAHQV9xNgIACwJ/AkACQCAAKAIwRQRAIABB0AA2AjAgAEEANgIcIABCADcDECAAKAIsIQggACAFNgIsDAELIAAoAhANAQtBfyAAEJ0BDQEaCyAAIAEgBUHIAWogBUHQAGogBUGgAWogAyAEEIoBCyECIAgEQCAAQQBBACAAKAIkEQYAGiAAQQA2AjAgACAINgIsIABBADYCHCAAKAIUIQEgAEIANwMQIAJBfyABGyECCyAAIAAoAgAiACAHQSBxcjYCAEF/IAIgAEEgcRshBCAGRQ0ACyAFQdABaiQAIAQLfwIBfwF+IAC9IgNCNIinQf8PcSICQf8PRwR8IAJFBEAgASAARAAAAAAAAAAAYQR/QQAFIABEAAAAAAAA8EOiIAEQjAEhACABKAIAQUBqCzYCACAADwsgASACQf4HazYCACADQv////////+HgH+DQoCAgICAgIDwP4S/BSAACwsVACAARQRAQQAPC0H8OyAANgIAQX8LzgECA38CfSMAQRBrIgMkAEEBIQQgA0EIaiAAQfwAaiIFIAAgAUEBdGpBxABqIgEvAQAQHwJAAkAgAyoCCCIHIAIqAgAiBlwEQCAHIAdbBEAgAi0ABCECDAILIAYgBlwhBAsgAi0ABCECIARFDQAgAy0ADCACQf8BcUYNAQsgBSABIAYgAhA5A0AgAC0AACIBQQRxDQEgACABQQRyOgAAIAAoAhAiAQRAIAAgAREAAAsgAEGAgID+BzYCnAEgACgC5AMiAA0ACwsgA0EQaiQAC9EDAEHUO0GoHBAcQdU7QYoWQQFBAUEAEBtB1jtB/RJBAUGAf0H/ABAEQdc7QfYSQQFBgH9B/wAQBEHYO0H0EkEBQQBB/wEQBEHZO0GUCkECQYCAfkH//wEQBEHaO0GLCkECQQBB//8DEARB2ztBsQpBBEGAgICAeEH/////BxAEQdw7QagKQQRBAEF/EARB3TtB+BhBBEGAgICAeEH/////BxAEQd47Qe8YQQRBAEF/EARB3ztBjxBCgICAgICAgICAf0L///////////8AEIQBQeA7QY4QQgBCfxCEAUHhO0GIEEEEEA1B4jtB9BtBCBANQeM7QaQZEA5B5DtBmSIQDkHlO0EEQZcZEAhB5jtBAkGwGRAIQec7QQRBvxkQCEHoO0GPFhAaQek7QQBB1CEQAUHqO0EAQboiEAFB6ztBAUHyIRABQew7QQJB5B4QAUHtO0EDQYMfEAFB7jtBBEGrHxABQe87QQVByB8QAUHwO0EEQd8iEAFB8TtBBUH9IhABQeo7QQBBriAQAUHrO0EBQY0gEAFB7DtBAkHwIBABQe07QQNBziAQAUHuO0EEQbMhEAFB7ztBBUGRIRABQfI7QQZB7h8QAUHzO0EHQaQjEAELJQAgAEH0JjYCACAALQAEBEAgACgCCEH9DxBmCyAAKAIIEAYgAAsDAAALJQAgAEHsJzYCACAALQAEBEAgACgCCEH9DxBmCyAAKAIIEAYgAAs3AQJ/QQQQHiICIAE2AgBBBBAeIgMgATYCAEGjOyAAQeI7QfooQcEBIAJB4jtB/ihBwgEgAxAHCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRBQALOQEBfyABIAAoAgQiBEEBdWohASAAKAIAIQAgASACIAMgBEEBcQR/IAEoAgAgAGooAgAFIAALEQMACwkAIAEgABEAAAsHACAAEQ4ACzUBAX8gASAAKAIEIgJBAXVqIQEgACgCACEAIAEgAkEBcQR/IAEoAgAgAGooAgAFIAALEQAACzABAX8jAEEQayICJAAgAiABNgIIIAJBCGogABECACEAIAIoAggQBiACQRBqJAAgAAsMACABIAAoAgARAAALCQAgAEEBOgAEC9coAQJ/QaA7QaE7QaI7QQBBjCZBB0GPJkEAQY8mQQBB2RZBkSZBCBAFQQgQHiIAQoiAgIAQNwMAQaA7QZcbQQZBoCZBuCZBCSAAQQEQAEGkO0GlO0GmO0GgO0GMJkEKQYwmQQtBjCZBDEG4EUGRJkENEAVBBBAeIgBBDjYCAEGkO0HoFEECQcAmQcgmQQ8gAEEAEABBoDtBowxBAkHMJkHUJkEQQREQA0GgO0GAHEEDQaQnQbAnQRJBExADQbg7Qbk7Qbo7QQBBjCZBFEGPJkEAQY8mQQBB6RZBkSZBFRAFQQgQHiIAQoiAgIAQNwMAQbg7QegcQQJBuCdByCZBFiAAQQEQAEG7O0G8O0G9O0G4O0GMJkEXQYwmQRhBjCZBGUHPEUGRJkEaEAVBBBAeIgBBGzYCAEG7O0HoFEECQcAnQcgmQRwgAEEAEABBuDtBowxBAkHIJ0HUJkEdQR4QA0G4O0GAHEEDQaQnQbAnQRJBHxADQb47Qb87QcA7QQBBjCZBIEGPJkEAQY8mQQBB2hpBkSZBIRAFQb47QQFB+CdBjCZBIkEjEA9BvjtBkBtBAUH4J0GMJkEiQSMQA0G+O0HpCEECQfwnQcgmQSRBJRADQQgQHiIAQQA2AgQgAEEmNgIAQb47Qa0cQQRBkChBoChBJyAAQQAQAEEIEB4iAEEANgIEIABBKDYCAEG+O0GkEUEDQagoQbQoQSkgAEEAEABBCBAeIgBBADYCBCAAQSo2AgBBvjtByB1BA0G8KEHIKEErIABBABAAQQgQHiIAQQA2AgQgAEEsNgIAQb47QaYQQQNB0ChByChBLSAAQQAQAEEIEB4iAEEANgIEIABBLjYCAEG+O0HLHEEDQdwoQbAnQS8gAEEAEABBCBAeIgBBADYCBCAAQTA2AgBBvjtB0h1BAkHoKEHUJkExIABBABAAQQgQHiIAQQA2AgQgAEEyNgIAQb47QZcQQQJB8ChB1CZBMyAAQQAQAEHBO0GECkH4KEE0QZEmQTUQCkHiD0EAEEhB6g5BCBBIQYITQRAQSEHxFUEYEEhBgxdBIBBIQfAOQSgQSEHBOxAJQaM7Qf8aQfgoQTZBkSZBNxAKQYMXQQAQkwFB8A5BCBCTAUGjOxAJQcI7QYobQfgoQThBkSZBORAKQQQQHiIAQQg2AgBBBBAeIgFBCDYCAEHCO0GEG0HiO0H6KEE6IABB4jtB/ihBOyABEAdBBBAeIgBBADYCAEEEEB4iAUEANgIAQcI7QeUOQds7QdQmQTwgAEHbO0HIKEE9IAEQB0HCOxAJQcM7QcQ7QcU7QQBBjCZBPkGPJkEAQY8mQQBB+xtBkSZBPxAFQcM7QQFBhClBjCZBwABBwQAQD0HDO0HXDkEBQYQpQYwmQcAAQcEAEANBwztB0BpBAkGIKUHUJkHCAEHDABADQcM7QekIQQJBkClByCZBxABBxQAQA0EIEB4iAEEANgIEIABBxgA2AgBBwztB9w9BAkGQKUHIJkHHACAAQQAQAEEIEB4iAEEANgIEIABByAA2AgBBwztB6htBA0GYKUHIKEHJACAAQQAQAEEIEB4iAEEANgIEIABBygA2AgBBwztBnxtBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABBzAA2AgBBwztB0BRBBEGwKUHAKUHNACAAQQAQAEEIEB4iAEEANgIEIABBzgA2AgBBwztBiA1BBEGwKUHAKUHNACAAQQAQAEEIEB4iAEEANgIEIABBzwA2AgBBwztB3RNBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB0AA2AgBBwztB+QtBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB0QA2AgBBwztBuBBBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB0gA2AgBBwztB5RpBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB0wA2AgBBwztB/BRBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB1AA2AgBBwztBlRNBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB1QA2AgBBwztBtQpBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB1gA2AgBBwztBuBVBBEGwKUHAKUHNACAAQQAQAEEIEB4iAEEANgIEIABB1wA2AgBBwztBmw1BBEGwKUHAKUHNACAAQQAQAEEIEB4iAEEANgIEIABB2AA2AgBBwztB7RNBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB2QA2AgBBwztBxAlBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB2gA2AgBBwztB8QhBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB2wA2AgBBwztBhwlBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB3QA2AgBBwztB1BBBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB3gA2AgBBwztB5gxBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB3wA2AgBBwztBzBNBAkGQKUHIJkHHACAAQQAQAEEIEB4iAEEANgIEIABB4AA2AgBBwztBrAlBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB4QA2AgBBwztBnxZBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB4gA2AgBBwztBoRdBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB4wA2AgBBwztBvw1BA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB5AA2AgBBwztB+xNBAkGQKUHIJkHHACAAQQAQAEEIEB4iAEEANgIEIABB5QA2AgBBwztBkQ9BA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB5gA2AgBBwztBwQxBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB5wA2AgBBwztBvhNBAkGQKUHIJkHHACAAQQAQAEEIEB4iAEEANgIEIABB6AA2AgBBwztBsxdBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB6QA2AgBBwztBzw1BA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB6gA2AgBBwztBpQ9BA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB6wA2AgBBwztB0gxBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB7AA2AgBBwztBiRdBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB7QA2AgBBwztBrA1BA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB7gA2AgBBwztB9w5BA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB7wA2AgBBwztBrQxBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB8AA2AgBBwztB/RhBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB8QA2AgBBwztBshRBA0HIKUH+KEHcACAAQQAQAEEIEB4iAEEANgIEIABB8gA2AgBBwztBlBJBBEGwKUHAKUHNACAAQQAQAEEIEB4iAEEANgIEIABB8wA2AgBBwztBzhlBBEGwKUHAKUHNACAAQQAQAEEIEB4iAEEANgIEIABB9AA2AgBBwztB4g1BBEGwKUHAKUHNACAAQQAQAEEIEB4iAEEANgIEIABB9QA2AgBBwztBrRNBBEGwKUHAKUHNACAAQQAQAEEIEB4iAEEANgIEIABB9gA2AgBBwztB+gxBBEGwKUHAKUHNACAAQQAQAEEIEB4iAEEANgIEIABB9wA2AgBBwztBnhVBA0GkKUHIKEHLACAAQQAQAEEIEB4iAEEANgIEIABB+AA2AgBBwztBrxtBAkHUKUHUJkH5ACAAQQAQAEEIEB4iAEEANgIEIABB+gA2AgBBwztB3BRBA0HcKUGwJ0H7ACAAQQAQAEEIEB4iAEEANgIEIABB/AA2AgBBwztBiQxBAkHUKUHUJkH5ACAAQQAQAEEIEB4iAEEANgIEIABB/QA2AgBBwztBxhBBAkHUKUHUJkH5ACAAQQAQAEEIEB4iAEEANgIEIABB/gA2AgBBwztB8hpBAkHUKUHUJkH5ACAAQQAQAEEIEB4iAEEANgIEIABB/wA2AgBBwztBjRVBAkHUKUHUJkH5ACAAQQAQAEEIEB4iAEEANgIEIABBgAE2AgBBwztBoRNBAkHUKUHUJkH5ACAAQQAQAEEIEB4iAEEANgIEIABBgQE2AgBBwztBxwpBAkHUKUHUJkH5ACAAQQAQAEEIEB4iAEEANgIEIABBggE2AgBBwztBwhVBA0HcKUGwJ0H7ACAAQQAQAEEIEB4iAEEANgIEIABBgwE2AgBBwztB4RBBAkHoKUHUJkGEASAAQQAQAEEIEB4iAEEANgIEIABBhQE2AgBBwztBuAlBAkHwKUH6KEGGASAAQQAQAEEIEB4iAEEANgIEIABBhwE2AgBBwztBrRZBAkHwKUH6KEGGASAAQQAQAEEIEB4iAEEANgIEIABBiAE2AgBBwztBqhdBAkHoKUHUJkGEASAAQQAQAEEIEB4iAEEANgIEIABBiQE2AgBBwztBmw9BAkHoKUHUJkGEASAAQQAQAEEIEB4iAEEANgIEIABBigE2AgBBwztBvxdBAkHoKUHUJkGEASAAQQAQAEEIEB4iAEEANgIEIABBiwE2AgBBwztBsg9BAkHoKUHUJkGEASAAQQAQAEEIEB4iAEEANgIEIABBjAE2AgBBwztBlRdBAkHoKUHUJkGEASAAQQAQAEEIEB4iAEEANgIEIABBjQE2AgBBwztBhA9BAkHoKUHUJkGEASAAQQAQAEEIEB4iAEEANgIEIABBjgE2AgBBwztBihlBAkHUKUHUJkH5ACAAQQAQAEEIEB4iAEEANgIEIABBjwE2AgBBwztBwRRBAkHwKUH6KEGGASAAQQAQAEEIEB4iAEEANgIEIABBkAE2AgBBwztBnhJBA0H4KUGEKkGRASAAQQAQAEEIEB4iAEEANgIEIABBkgE2AgBBwztB0AlBAkHUKUHUJkH5ACAAQQAQAEEIEB4iAEEANgIEIABBkwE2AgBBwztB/AhBAkHUKUHUJkH5ACAAQQAQAEEIEB4iAEEANgIEIABBlAE2AgBBwztB2RlBA0HcKUGwJ0H7ACAAQQAQAEEIEB4iAEEANgIEIABBlQE2AgBBwztBtBNBA0GMKkGYKkGWASAAQQAQAEEIEB4iAEEANgIEIABBlwE2AgBBwztBhxxBBEGgKkGgKEGYASAAQQAQAEEIEB4iAEEANgIEIABBmQE2AgBBwztBnBxBA0GwKkHIKEGaASAAQQAQAEEIEB4iAEEANgIEIABBmwE2AgBBwztBmgpBAkG8KkHUJkGcASAAQQAQAEEIEB4iAEEANgIEIABBnQE2AgBBwztBmQxBAkHEKkHUJkGeASAAQQAQAEEIEB4iAEEANgIEIABBnwE2AgBBwztBkxxBA0HMKkGwJ0GgASAAQQAQAEEIEB4iAEEANgIEIABBoQE2AgBBwztBuxZBA0HYKkHIKEGiASAAQQAQAEEIEB4iAEEANgIEIABBowE2AgBBwztBvxtBAkHkKkHUJkGkASAAQQAQAEEIEB4iAEEANgIEIABBpQE2AgBBwztB0xtBA0HYKkHIKEGiASAAQQAQAEEIEB4iAEEANgIEIABBpgE2AgBBwztBqB1BA0HsKkHIKEGnASAAQQAQAEEIEB4iAEEANgIEIABBqAE2AgBBwztBph1BAkGQKUHIJkHHACAAQQAQAEEIEB4iAEEANgIEIABBqQE2AgBBwztBuR1BA0H4KkHIKEGqASAAQQAQAEEIEB4iAEEANgIEIABBqwE2AgBBwztBtx1BAkGQKUHIJkHHACAAQQAQAEEIEB4iAEEANgIEIABBrAE2AgBBwztB3whBAkGQKUHIJkHHACAAQQAQAEEIEB4iAEEANgIEIABBrQE2AgBBwztB1whBAkGEK0HUJkGuASAAQQAQAEEIEB4iAEEANgIEIABBrwE2AgBBwztB3hVBAkGQKUHIJkHHACAAQQAQAEEIEB4iAEEANgIEIABBsAE2AgBBwztB3AlBAkGEK0HUJkGuASAAQQAQAEEIEB4iAEEANgIEIABBsQE2AgBBwztB6QlBBUGQK0GkK0GyASAAQQAQAEEIEB4iAEEANgIEIABBswE2AgBBwztB5w9BAkHwKUH6KEGGASAAQQAQAEEIEB4iAEEANgIEIABBtAE2AgBBwztB0Q9BAkHwKUH6KEGGASAAQQAQAEEIEB4iAEEANgIEIABBtQE2AgBBwztBhhNBAkHwKUH6KEGGASAAQQAQAEEIEB4iAEEANgIEIABBtgE2AgBBwztB+BVBAkHwKUH6KEGGASAAQQAQAEEIEB4iAEEANgIEIABBtwE2AgBBwztByxdBAkHwKUH6KEGGASAAQQAQAEEIEB4iAEEANgIEIABBuAE2AgBBwztBvw9BAkHwKUH6KEGGASAAQQAQAEEIEB4iAEEANgIEIABBuQE2AgBBwztB+QlBAkGsK0HUJkG6ASAAQQAQAEEIEB4iAEEANgIEIABBuwE2AgBBwztBzBVBA0H4KUGEKkGRASAAQQAQAEEIEB4iAEEANgIEIABBvAE2AgBBwztBqBJBA0H4KUGEKkGRASAAQQAQAEEIEB4iAEEANgIEIABBvQE2AgBBwztB5BlBA0H4KUGEKkGRASAAQQAQAEEIEB4iAEEANgIEIABBvgE2AgBBwztBqxVBAkHUKUHUJkH5ACAAQQAQAAtZAQF/IAAgACgCSCIBQQFrIAFyNgJIIAAoAgAiAUEIcQRAIAAgAUEgcjYCAEF/DwsgAEIANwIEIAAgACgCLCIBNgIcIAAgATYCFCAAIAEgACgCMGo2AhBBAAtHAAJAIAFBA00EfyAAIAFBAnRqQQRqBSABQQRrIgEgACgCGCIAKAIEIAAoAgAiAGtBAnVPDQEgACABQQJ0agsoAgAPCxACAAs4AQF/IAFBAEgEQBACAAsgAUEBa0EFdkEBaiIBQQJ0EB4hAiAAIAE2AgggAEEANgIEIAAgAjYCAAvSBQEJfyAAIAEvAQA7AQAgACABKQIENwIEIAAgASkCDDcCDCAAIAEoAhQ2AhQCQAJAIAEoAhgiA0UNAEEYEB4iBUEANgIIIAVCADcCACADKAIEIgEgAygCACICRwRAIAEgAmsiAkEASA0CIAUgAhAeIgE2AgAgBSABIAJqNgIIIAMoAgAiAiADKAIEIgZHBEADQCABIAIoAgA2AgAgAUEEaiEBIAJBBGoiAiAGRw0ACwsgBSABNgIECyAFQgA3AgwgBUEANgIUIAMoAhAiAUUNACAFQQxqIAEQnwEgAygCDCEGIAUgBSgCECIEIAMoAhAiAkEfcWogAkFgcWoiATYCEAJAAkAgBEUEQCABQQFrIQMMAQsgAUEBayIDIARBAWtzQSBJDQELIAUoAgwgA0EFdkEAIAFBIU8bQQJ0akEANgIACyAFKAIMIARBA3ZB/P///wFxaiEBIARBH3EiA0UEQCACQQBMDQEgAkEgbSEDIAJBH2pBP08EQCABIAYgA0ECdBAzGgsgAiADQQV0ayICQQBMDQEgASADQQJ0IgNqIgEgASgCAEF/QSAgAmt2IgFBf3NxIAMgBmooAgAgAXFyNgIADAELIAJBAEwNAEF/IAN0IQhBICADayEEIAJBIE4EQCAIQX9zIQkgASgCACEHA0AgASAHIAlxIAYoAgAiByADdHI2AgAgASABKAIEIAhxIAcgBHZyIgc2AgQgBkEEaiEGIAFBBGohASACQT9LIQogAkEgayECIAoNAAsgAkEATA0BCyABIAEoAgBBfyAEIAQgAiACIARKGyIEa3YgCHFBf3NxIAYoAgBBf0EgIAJrdnEiBiADdHI2AgAgAiAEayICQQBMDQAgASADIARqQQN2Qfz///8BcWoiASABKAIAQX9BICACa3ZBf3NxIAYgBHZyNgIACyAAKAIYIQEgACAFNgIYIAEEQCABEFsLDwsQAgALvQMBB38gAARAIwBBIGsiBiQAIAAoAgAiASgC5AMiAwRAIAMgARBvGiABQQA2AuQDCyABKALsAyICIAEoAugDIgNHBEBBASACIANrQQJ1IgIgAkEBTRshBEEAIQIDQCADIAJBAnRqKAIAQQA2AuQDIAJBAWoiAiAERw0ACwsgASADNgLsAwJAIAMgAUHwA2oiAigCAEYNACAGQQhqQQBBACACEEoiAigCBCABKALsAyABKALoAyIEayIFayIDIAQgBRAzIQUgASgC6AMhBCABIAU2AugDIAIgBDYCBCABKALsAyEFIAEgAigCCDYC7AMgAiAFNgIIIAEoAvADIQcgASACKAIMNgLwAyACIAQ2AgAgAiAHNgIMIAQgBUcEQCACIAUgBCAFa0EDakF8cWo2AggLIARFDQAgBBAnIAEoAugDIQMLIAMEQCABIAM2AuwDIAMQJwsgASgClAEhAyABQQA2ApQBIAMEQCADEFsLIAEQJyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALIAAoAgQhASAAQQA2AgQgAQRAIAEgASgCACgCBBEAAAsgBkEgaiQAIAAQIwsLtQEBAX8jAEEQayICJAACfyABBEAgASgCACEBQYgEEB4gARBcIAENARogAkH3GTYCACACEHIQJAALQZQ7LQAARQRAQfg6QQM2AgBBiDtCgICAgICAgMA/NwIAQYA7QgA3AgBBlDtBAToAAEH8OkH8Oi0AAEH+AXE6AABB9DpBADYCAEGQO0EANgIAC0GIBBAeQfQ6EFwLIQEgAEIANwIEIAAgATYCACABIAA2AgQgAkEQaiQAIAALGwEBfyAABEAgACgCACIBBEAgARAjCyAAECMLC0kBAn9BBBAeIQFBIBAeIgBBADYCHCAAQoCAgICAgIDAPzcCFCAAQgA3AgwgAEEAOgAIIABBAzYCBCAAQQA2AgAgASAANgIAIAELIAAgAkEFR0EAIAIbRQRAQbgwIAMgBBBJDwsgAyAEEHALIgEBfiABIAKtIAOtQiCGhCAEIAARFQAiBUIgiKckASAFpwuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGECsaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEECsaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACCwQAQgALBABBAAuKBQIGfgJ/IAEgASgCAEEHakF4cSIBQRBqNgIAIAAhCSABKQMAIQMgASkDCCEGIwBBIGsiCCQAAkAgBkL///////////8AgyIEQoCAgICAgMCAPH0gBEKAgICAgIDA/8MAfVQEQCAGQgSGIANCPIiEIQQgA0L//////////w+DIgNCgYCAgICAgIAIWgRAIARCgYCAgICAgIDAAHwhAgwCCyAEQoCAgICAgICAQH0hAiADQoCAgICAgICACFINASACIARCAYN8IQIMAQsgA1AgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRG0UEQCAGQgSGIANCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiAEQv///////7//wwBWDQBCACECIARCMIinIgBBkfcASQ0AIAMhAiAGQv///////z+DQoCAgICAgMAAhCIFIQcCQCAAQYH3AGsiAUHAAHEEQCACIAFBQGqthiEHQgAhAgwBCyABRQ0AIAcgAa0iBIYgAkHAACABa62IhCEHIAIgBIYhAgsgCCACNwMQIAggBzcDGAJAQYH4ACAAayIAQcAAcQRAIAUgAEFAaq2IIQNCACEFDAELIABFDQAgBUHAACAAa62GIAMgAK0iAoiEIQMgBSACiCEFCyAIIAM3AwAgCCAF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ASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCAALCQAgASAAEQIACwUAQcM7Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAqCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRHgALBQBBvjsLIQAgACABKAIAIAEgASwAC0EASBtBuzsgAigCABAQNgIACyoBAX9BDBAeIgFBADoABCABIAAoAgA2AgggAEEANgIAIAFB2Cc2AgAgAQsFAEG7OwsFAEG4OwshACAAIAEoAgAgASABLAALQQBIG0GkOyACKAIAEBA2AgAL2AEBBH8jAEEgayIDJAAgASgCACIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIFEB4hBiADIAVBgICAgHhyNgIQIAMgBjYCCCADIAQ2AgwgBCAGaiEFDAELIAMgBDoAEyADQQhqIgYgBGohBSAERQ0BCyAGIAFBBGogBBArGgsgBUEAOgAAIAMgAjYCACADQRhqIANBCGogAyAAEQMAIAMoAhgQHSADKAIYIgAQBiADKAIAEAYgAywAE0EASARAIAMoAggQIwsgA0EgaiQAIAAPCxACAAsqAQF/QQwQHiIBQQA6AAQgASAAKAIANgIIIABBADYCACABQeAmNgIA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AkEIaiAIIAYQHyACIAcgAC8AABAfQQEhAyACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSADC0UNAiACLQAMIAItAARHDQILIABBAmohAEEBIQMgBCEGQQEhBCAGRQ0ACyABLwB6IgBBB3FFBEAgBS0AekEHcUUNAgsgCCAAECAiCiAHIAUvAHoQICILWw0BIAogClsNACALIAtcDQELIAFBFGogBUEUakHoABArGiABQfwAaiAFQfwAahCgAQNAIAEtAAAiAEEEcQ0BIAEgAEEEcjoAACABKAIQIgAEQCABIAARAAALIAFBgICA/gc2ApwBIAEoAuQDIgENAAsLIAJBEGokAAvGAwEEfyMAQaAEayICJAAgACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALAkAgACgCACIAKALoAyAAKALsA0YEQCAAKALkAw0BIAAgAkEYaiAAKAL0AxBcIgEpAgA3AgAgACABKAIQNgIQIAAgASkCCDcCCCAAQRRqIAFBFGpB6AAQKxogACABKQKMATcCjAEgACABKQKEATcChAEgACABKQJ8NwJ8IAEoApQBIQQgAUEANgKUASAAKAKUASEDIAAgBDYClAEgAwRAIAMQWwsgAEGYAWogAUGYAWpB0AIQKxogACgC6AMiAwRAIAAgAzYC7AMgAxAjCyAAIAEoAugDNgLoAyAAIAEoAuwDNgLsAyAAIAEoAvADNgLwAyABQQA2AvADIAFCADcC6AMgACABKQL8AzcC/AMgACABKQL0AzcC9AMgACABKAKEBDYChAQgASgClAEhACABQQA2ApQBIAAEQCAAEFsLIAJBoARqJAAPCyACQfAcNgIQIABBBUHYJSACQRBqECwQJAALIAJB5hE2AgAgAEEFQdglIAIQLBAkAAsLAEEMEB4gABCiAQsLAEEMEB5BABCiAQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhQLGQAgAUH/AXEEQBACAAsgACgCACgCEEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLJgAgASAAKAIAIgAoAhRHBEAgACABNgIUIAAgACgCDEEBajYCDAsLkgEBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGAEQCABIAAqAhhcBEAgACABOAIYIAAgACgCDEEBajYCDAsgAkEQaiQADwsgAkGIFDYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQbgwQdglIAIQSRoMAQsgAEEAQQVB2CUgAiAAKAIEEQ0AGgsgA0EQaiQAECQACz8AIAFB/wFxRQRAIAIgACgCACIAKAIQIgFBAXFHBEAgACABQX5xIAJyNgIQIAAgACgCDEEBajYCDAsPCxACAAsL4CYjAEGACAuBHk9ubHkgbGVhZiBub2RlcyB3aXRoIGN1c3RvbSBtZWFzdXJlIGZ1bmN0aW9ucyBzaG91bGQgbWFudWFsbHkgbWFyayB0aGVtc2VsdmVzIGFzIGRpcnR5AGlzRGlydHkAbWFya0RpcnR5AGRlc3Ryb3kAc2V0RGlzcGxheQBnZXREaXNwbGF5AHNldEZsZXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABzZXRGbGV4R3JvdwBnZXRGbGV4R3JvdwBzZXRPdmVyZmxvdwBnZXRPdmVyZmxvdwBoYXNOZXdMYXlvdXQAY2FsY3VsYXRlTGF5b3V0AGdldENvbXB1dGVkTGF5b3V0AHVuc2lnbmVkIHNob3J0AGdldENoaWxkQ291bnQAdW5zaWduZWQgaW50AHNldEp1c3RpZnlDb250ZW50AGdldEp1c3RpZnlDb250ZW50AGF2YWlsYWJsZUhlaWdodCBpcyBpbmRlZmluaXRlIHNvIGhlaWdodFNpemluZ01vZGUgbXVzdCBiZSBTaXppbmdNb2RlOjpNYXhDb250ZW50AGF2YWlsYWJsZVdpZHRoIGlzIGluZGVmaW5pdGUgc28gd2lkdGhTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABzZXRBbGlnbkNvbnRlbnQAZ2V0QWxpZ25Db250ZW50AGdldFBhcmVudABpbXBsZW1lbnQAc2V0TWF4SGVpZ2h0UGVyY2VudABzZXRIZWlnaHRQZXJjZW50AHNldE1pbkhlaWdodFBlcmNlbnQAc2V0RmxleEJhc2lzUGVyY2VudABzZXRHYXBQZXJjZW50AHNldFBvc2l0aW9uUGVyY2VudABzZXRNYXJnaW5QZXJjZW50AHNldE1heFdpZHRoUGVyY2VudABzZXRXaWR0aFBlcmNlbnQAc2V0TWluV2lkdGhQZXJjZW50AHNldFBhZGRpbmdQZXJjZW50AGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6UG9pbnQgfHwgaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQZXJjZW50AGNyZWF0ZURlZmF1bHQAdW5pdAByaWdodABoZWlnaHQAc2V0TWF4SGVpZ2h0AGdldE1heEhlaWdodABzZXRIZWlnaHQAZ2V0SGVpZ2h0AHNldE1pbkhlaWdodABnZXRNaW5IZWlnaHQAZ2V0Q29tcHV0ZWRIZWlnaHQAZ2V0Q29tcHV0ZWRSaWdodABsZWZ0AGdldENvbXB1dGVkTGVmdAByZXNldABfX2Rlc3RydWN0AGZsb2F0AHVpbnQ2NF90AHVzZVdlYkRlZmF1bHRzAHNldFVzZVdlYkRlZmF1bHRzAHNldEFsaWduSXRlbXMAZ2V0QWxpZ25JdGVtcwBzZXRGbGV4QmFzaXMAZ2V0RmxleEJhc2lzAENhbm5vdCBnZXQgbGF5b3V0IHByb3BlcnRpZXMgb2YgbXVsdGktZWRnZSBzaG9ydGhhbmRzAHNldFBvaW50U2NhbGVGYWN0b3IATWVhc3VyZUNhbGxiYWNrV3JhcHBlcgBEaXJ0aWVkQ2FsbGJhY2tXcmFwcGVyAENhbm5vdCByZXNldCBhIG5vZGUgc3RpbGwgYXR0YWNoZWQgdG8gYSBvd25lcgBzZXRCb3JkZXIAZ2V0Qm9yZGVyAGdldENvbXB1dGVkQm9yZGVyAGdldE51bWJlcgBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6Ok51bWJlcgB1bnNpZ25lZCBjaGFyAHRvcABnZXRDb21wdXRlZFRvcABzZXRGbGV4V3JhcABnZXRGbGV4V3JhcABzZXRHYXAAZ2V0R2FwACVwAHNldEhlaWdodEF1dG8Ac2V0RmxleEJhc2lzQXV0bwBzZXRQb3NpdGlvbkF1dG8Ac2V0TWFyZ2luQXV0bwBzZXRXaWR0aEF1dG8AU2NhbGUgZmFjdG9yIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuIHplcm8Ac2V0QXNwZWN0UmF0aW8AZ2V0QXNwZWN0UmF0aW8Ac2V0UG9zaXRpb24AZ2V0UG9zaXRpb24Abm90aWZ5T25EZXN0cnVjdGlvbgBzZXRGbGV4RGlyZWN0aW9uAGdldEZsZXhEaXJlY3Rpb24Ac2V0RGlyZWN0aW9uAGdldERpcmVjdGlvbgBzZXRNYXJnaW4AZ2V0TWFyZ2luAGdldENvbXB1dGVkTWFyZ2luAG1hcmtMYXlvdXRTZWVuAG5hbgBib3R0b20AZ2V0Q29tcHV0ZWRCb3R0b20AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0RmxleFNocmluawBnZXRGbGV4U2hyaW5rAHNldEFsd2F5c0Zvcm1zQ29udGFpbmluZ0Jsb2NrAE1lYXN1cmVDYWxsYmFjawBEaXJ0aWVkQ2FsbGJhY2sAZ2V0TGVuZ3RoAHdpZHRoAHNldE1heFdpZHRoAGdldE1heFdpZHRoAHNldFdpZHRoAGdldFdpZHRoAHNldE1pbldpZHRoAGdldE1pbldpZHRoAGdldENvbXB1dGVkV2lkdGgAcHVzaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1NtYWxsVmFsdWVCdWZmZXIuaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1N0eWxlVmFsdWVQb29sLmgAdW5zaWduZWQgbG9uZwBzZXRCb3hTaXppbmcAZ2V0Qm94U2l6aW5nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEATWVhc3VyZSBmdW5jdGlvbiByZXR1cm5lZCBhbiBpbnZhbGlkIGRpbWVuc2lvbiB0byBZb2dhOiBbd2lkdGg9JWYsIGhlaWdodD0lZl0ARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVk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",!X(ee)){var J=ee;ee=e.locateFile?e.locateFile(J,n):n+J}function H(){var E=ee;try{if(E==ee&&l)return new Uint8Array(l);if(X(E))try{var p=VI(E.slice(37)),Q=new Uint8Array(p.length);for(E=0;E<p.length;++E)Q[E]=p.charCodeAt(E);var m=Q}catch{throw Error("Converting base64 string to bytes failed.")}else m=void 0;var b=m;if(b)return b;throw"both async and sync fetching of the wasm failed"}catch(U){P(U)}}function ne(){return l||typeof fetch!="function"?Promise.resolve().then(function(){return H()}):fetch(ee,{credentials:"same-origin"}).then(function(E){if(!E.ok)throw"failed to load wasm binary file at '"+ee+"'";return E.arrayBuffer()}).catch(function(){return H()})}function q(E){for(;0<E.length;)E.shift()(e)}function W(E){if(E===void 0)return"_unknown";E=E.replace(/[^a-zA-Z0-9_]/g,"$");var p=E.charCodeAt(0);return 48<=p&&57>=p?"_"+E:E}function oe(E,p){return E=W(E),function(){return p.apply(this,arguments)}}var te=[{},{value:void 0},{value:null},{value:!0},{value:!1}],ae=[];function Ae(E){var p=Error,Q=oe(E,function(m){this.name=E,this.message=m,m=Error(m).stack,m!==void 0&&(this.stack=this.toString()+`
|
|
770
|
+
}`})),mi([k()],u.ZoomBlurEffect.prototype,"center",2),mi([k()],u.ZoomBlurEffect.prototype,"innerRadius",2),mi([k()],u.ZoomBlurEffect.prototype,"radius",2),mi([k()],u.ZoomBlurEffect.prototype,"strength",2),u.ZoomBlurEffect=mi([re("ZoomBlurEffect")],u.ZoomBlurEffect);function Xc(){return{rotate:0,scaleX:1,scaleY:1,skewX:0,skewY:0,translateX:0,translateY:0,transform:"none",transformOrigin:"center"}}function jc(){return{writingMode:"horizontal-tb",verticalAlign:"baseline",lineHeight:1.2,letterSpacing:0,wordSpacing:0,fontSize:14,fontWeight:"normal",fontFamily:"",fontStyle:"normal",fontKerning:"normal",textWrap:"wrap",textAlign:"start",textIndent:0,textTransform:"none",textOrientation:"mixed",textDecoration:"none",textStrokeWidth:0,textStrokeColor:"black",color:"black",listStyleType:"none",listStyleImage:"none",listStyleColormap:"none",listStyleSize:"cover",listStylePosition:"outside",highlightImage:"none",highlightReferImage:"none",highlightColormap:"none",highlightLine:"none",highlightSize:"cover",highlightThickness:"100%"}}class wi extends Ot{constructor(e){super();h(this,"_backgroundColor",new Zt);this.setProperties(e)}_updateProperty(e,t,i,s){switch(super._updateProperty(e,t,i,s),e){case"backgroundColor":this._backgroundColor.value=this.backgroundColor==="none"?void 0:this.backgroundColor;break}}getComputedBackgroundColor(){return this._backgroundColor}async loadBackgroundImage(){if(this.backgroundImage!=="none")return await Vt.texture.load(this.backgroundImage)}}const TA={...Xc(),...jc(),backgroundColor:"none",backgroundImage:"none",filter:"none",boxShadow:"none",maskImage:"none",opacity:1,borderWidth:0,borderRadius:0,borderColor:"#000000",borderStyle:"none",outlineWidth:0,outlineOffset:0,outlineColor:"#000000",outlineStyle:"none",visibility:"visible",overflow:"visible",pointerEvents:"auto"};delete TA.top,delete TA.left,delete TA.width,delete TA.height;for(const r in TA)xA(wi,r,{default:TA[r]});var Zc=Object.getOwnPropertyDescriptor,$c=(r,A,e,t)=>{for(var i=t>1?void 0:t?Zc(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(i)||i);return i};u.Node2D=class extends u.CanvasItem{constructor(e,t=[]){super();h(this,"position",new Qt);h(this,"rotation",0);h(this,"scale",new Qt(1,1));h(this,"skew",new Qt);h(this,"transform",new xt(!1));h(this,"globalPosition",new Qt);h(this,"globalRotation",0);h(this,"globalScale",new Qt);h(this,"globalSkew",new Qt);h(this,"globalTransform",new xt);h(this,"_parentTransformDirtyId");this.setProperties(e).append(t)}_updateTransform(){this.transform.identity().scale(this.scale.x,this.scale.y).skew(this.skew.x,this.skew.y).translate(this.position.x,this.position.y).rotate(this.rotation).update()}_updateGlobalTransform(){const e=this.getParent();e!=null&&e.globalTransform?(this._parentTransformDirtyId=e.globalTransform.dirtyId,this.globalScale.set(e.globalScale.x*this.scale.x,e.globalScale.y*this.scale.y),this.globalRotation=e.globalRotation+this.rotation,e.globalTransform.multiply(this.transform,this.globalTransform)):(this.globalScale=this.scale.clone(),this.globalRotation=this.rotation,this.globalTransform=this.transform.clone());const[t,i,s,n,o,a]=this.globalTransform.toArray();this.globalPosition.set(s,a),this.globalSkew.x=Math.atan2(i,t)-this.globalRotation,this.globalSkew.y=Math.atan2(n,o)-this.globalRotation,this.requestRelayout()}_transformVertices(e){const[t,i,s,n,o,a]=this.globalTransform.toArray(),l=e.slice();for(let g=e.length,c=0;c<g;c+=2){const f=e[c],I=e[c+1];l[c]=t*f+i*I+s,l[c+1]=n*f+o*I+a}return l}_relayout(e){return this._updateTransform(),this._updateGlobalTransform(),super._relayout(e).map(t=>({...t,vertices:this._transformVertices(t.vertices)}))}_process(e){var i;super._process(e);const t=this.getParent();this._parentTransformDirtyId!==((i=t==null?void 0:t.globalTransform)==null?void 0:i.dirtyId)&&this.requestRelayout()}},u.Node2D=$c([re("Node2D")],u.Node2D);var eu=Object.getOwnPropertyDescriptor,tu=(r,A,e,t)=>{for(var i=t>1?void 0:t?eu(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(i)||i);return i};u.BaseElement2D=class extends u.Node2D{constructor(e,t=[]){super();h(this,"size",new Qt);h(this,"_pointerEntering",!1);this._updateStyleProperty=this._updateStyleProperty.bind(this),this.style=new wi,this.setProperties(e).append(t)}get style(){return this._style}set style(e){var i;const t=(...s)=>{this.emit("updateStyleProperty",...s),this._updateStyleProperty(s[0],s[1],s[2],s[3])};e.on("updateProperty",t),(i=this._style)==null||i.off("updateProperty",t),this._style=e}setProperties(e){if(e){const{style:t,...i}=e;t&&this.style.setProperties(t),super.setProperties(i)}return this}_updateStyleProperty(e,t,i,s){switch(e){case"width":case"height":this.mask instanceof u.BaseElement2D&&(this.mask.size.x=this.size.x,this.mask.size.y=this.size.y);break}switch(e){case"rotate":this.rotation=this.style.rotate*co,this.requestRelayout();break;case"scaleX":this.scale.x=this.style.scaleX,this.requestRelayout();break;case"scaleY":this.scale.y=this.style.scaleY,this.requestRelayout();break;case"skewX":this.skew.x=this.style.skewX,this.requestRelayout();break;case"skewY":this.skew.y=this.style.skewY,this.requestRelayout();break;case"transform":case"transformOrigin":this.requestRelayout();break;case"backgroundColor":this._updateBackgroundColor();break;case"backgroundImage":this._updateBackgroundImage();break;case"opacity":this.opacity=this.style.opacity;break;case"visibility":this.visible=this.style.visibility==="visible";break;case"filter":this.requestRepaint();break;case"boxShadow":this._updateBoxShadow();break;case"maskImage":this._updateMaskImage();break;case"borderRadius":this.requestRedraw();break}}_updateBoxShadow(){const e="__$style.shadow";if(this.style.boxShadow!=="none")this.getNode(e)||this.appendChild(new u.ShadowEffect({name:e}),"back");else{const t=this.getNode(e);t&&this.removeChild(t)}}_updateMaskImage(){const e="__$style.maskImage",t=this.style.maskImage;if(t&&t!=="none"){const i=this.getNode(e);i?i.src=t:this.appendChild(new u.MaskEffect({name:e,src:t}),"back")}else{const i=this.getNode(e);i&&this.removeChild(i)}}_updateBackgroundColor(){const e=this.style.getComputedBackgroundColor();this._originalBatchables.length?this.requestRepaint():e.a>0&&this.requestRedraw()}async _updateBackgroundImage(){this._backgroundImage=await this.style.loadBackgroundImage(),this.requestRedraw()}_updateTransform(){super._updateTransform();const{width:e,height:t}=this.size;ko(this.style.transform,e,t).multiply(this.transform,this.transform);const s=this.transform.toArray(),[n,o]=Po(this.style.transformOrigin),a=n*e,l=o*t;s[2]+=s[0]*-a+s[1]*-l+a,s[5]+=s[3]*-a+s[4]*-l+l,this.transform.set(s)}_updateGlobalTransform(){super._updateGlobalTransform(),this._updateOverflow()}getRect(){const{width:e,height:t}=this.size,i=0,s=0,n=i+e,o=s+t,[a,l,g,c,f,I]=this.globalTransform.toArray(),d=[[i,s],[i,o],[n,s],[n,o]].map(w=>[a*w[0]+l*w[1]+g,c*w[0]+f*w[1]+I]),C=d.map(w=>w[0]),B=d.map(w=>w[1]),R=Math.min(...C),S=Math.max(...C),_=Math.min(...B),M=Math.max(...B);return new Is(R,_,S-R,M-_)}_updateOverflow(){if(this.style.overflow==="hidden"){const e=this.getRect();this.mask={x:e.x,y:e.y,width:e.width,height:e.height}}else this.mask=void 0}_draw(){super._draw(),this._drawBackground(),this._drawContent(),this._drawBorder(),this._drawOutline()}_drawBackground(){const e=this._backgroundImage;if(e!=null&&e.valid){const{width:t,height:i}=this.size;this.context.fillStyle=e,this.context.textureTransform=new xt().scale(1/t,1/i),this._fillBoundingRect()}}_drawContent(){this._fillBoundingRect()}_drawBorder(){this.style.borderWidth&&this.style.borderStyle!=="none"&&(this.context.lineWidth=this.style.borderWidth,this.context.strokeStyle=this.style.borderColor,this._strokeBoundingRect())}_drawOutline(){this.style.outlineWidth&&this.style.outlineColor!=="none"&&(this.context.lineWidth=this.style.outlineWidth,this.context.strokeStyle=this.style.outlineColor,this._strokeBoundingRect())}_drawBoundingRect(){const{borderRadius:e}=this.style,{width:t,height:i}=this.size;t&&i&&(e?this.context.roundRect(0,0,t,i,e):this.context.rect(0,0,t,i))}_fillBoundingRect(){this._drawBoundingRect(),this.context.fill()}_strokeBoundingRect(){this._drawBoundingRect(),this.context.stroke()}_repaint(e){const t=Uo(this.style.filter);return super._repaint(e).map(i=>({...i,backgroundColor:this.style.getComputedBackgroundColor().abgr,colorMatrix:t.toMatrix4().toArray(!0),colorMatrixOffset:t.toVector4().toArray()}))}canPointerEvents(){return this.style.pointerEvents!=="none"}input(e,t){for(let i=this._children.length-1;i>=0;i--)this._children[i].input(e,t);this.isVisibleInTree()&&this._input(e,t)}_pointerEntered(){this._pointerEntering=!0}_pointerExited(){this._pointerEntering}_pointerInput(e,t){const{width:i,height:s}=this.size;return e.x>=0&&e.x<i&&e.y>=0&&e.y<s}_input(e,t){switch(t){case"pointerdown":case"pointermove":case"pointerup":{if(this.canPointerEvents()){const{screenX:i,screenY:s}=e;if(i&&s){const[n,o]=this.globalTransform.inverse().applyToPoint(i,s);this._pointerInput({x:n,y:o},t)&&(e.target||(e.target=this),this.emit(t,e))}}break}}}toJSON(){const e=super.toJSON();return{...e,props:{style:this.style.toJSON(),...e.props}}}},u.BaseElement2D=tu([re("BaseElement2D")],u.BaseElement2D);class Gs extends wi{constructor(A){super(),this.setProperties(A)}}const Ra={left:0,top:0,width:0,height:0};for(const r in Ra)xA(Gs,r,{default:Ra[r]});var Au=Object.getOwnPropertyDescriptor,iu=(r,A,e,t)=>{for(var i=t>1?void 0:t?Au(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(i)||i);return i};u.Element2D=class extends u.BaseElement2D{get style(){return this._style}set style(A){var t;const e=(...i)=>{this.emit("updateStyleProperty",...i),this._updateStyleProperty(i[0],i[1],i[2],i[3])};A.on("updateProperty",e),(t=this._style)==null||t.off("updateProperty",e),this._style=A}constructor(A,e=[]){super(),this.style=new Gs,this.setProperties(A).append(e)}_updateStyleProperty(A,e,t,i){switch(super._updateStyleProperty(A,e,t,i),A){case"left":this.position.x=this.style.left,this.requestRelayout();break;case"top":this.position.y=this.style.top,this.requestRelayout();break;case"width":this.size.width=this.style.width,this.requestRelayout();break;case"height":this.size.height=this.style.height,this.requestRelayout();break}}},u.Element2D=iu([re("Element2D")],u.Element2D);var ru=(()=>{var r=typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:tt&&tt.tagName.toUpperCase()==="SCRIPT"&&tt.src||new URL("index.js",document.baseURI).href;return function(A){A=A||{};var e;e||(e=typeof A<"u"?A:{});var t,i;e.ready=new Promise(function(E,p){t=E,i=p});var s=Object.assign({},e),n="";typeof document<"u"&&document.currentScript&&(n=document.currentScript.src),r&&(n=r),n.indexOf("blob:")!==0?n=n.substr(0,n.replace(/[?#].*/,"").lastIndexOf("/")+1):n="";var o=e.print||console.log.bind(console),a=e.printErr||console.warn.bind(console);Object.assign(e,s),s=null;var l;e.wasmBinary&&(l=e.wasmBinary),e.noExitRuntime,typeof WebAssembly!="object"&&P("no native wasm support detected");var g,c=!1;function f(E,p,Q){Q=p+Q;for(var m="";!(p>=Q);){var b=E[p++];if(!b)break;if(b&128){var U=E[p++]&63;if((b&224)==192)m+=String.fromCharCode((b&31)<<6|U);else{var N=E[p++]&63;b=(b&240)==224?(b&15)<<12|U<<6|N:(b&7)<<18|U<<12|N<<6|E[p++]&63,65536>b?m+=String.fromCharCode(b):(b-=65536,m+=String.fromCharCode(55296|b>>10,56320|b&1023))}}else m+=String.fromCharCode(b)}return m}var I,d,C,B,R,S,_,M,w;function v(){var E=g.buffer;I=E,e.HEAP8=d=new Int8Array(E),e.HEAP16=B=new Int16Array(E),e.HEAP32=S=new Int32Array(E),e.HEAPU8=C=new Uint8Array(E),e.HEAPU16=R=new Uint16Array(E),e.HEAPU32=_=new Uint32Array(E),e.HEAPF32=M=new Float32Array(E),e.HEAPF64=w=new Float64Array(E)}var D,x=[],L=[],j=[];function Y(){var E=e.preRun.shift();x.unshift(E)}var T=0,$=null;function P(E){throw e.onAbort&&e.onAbort(E),E="Aborted("+E+")",a(E),c=!0,E=new WebAssembly.RuntimeError(E+". Build with -sASSERTIONS for more info."),i(E),E}function X(E){return E.startsWith("data:application/octet-stream;base64,")}var ee;if(ee="data:application/octet-stream;base64,AGFzbQEAAAABugM3YAF/AGACf38AYAF/AX9gA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWADf398AGAAAGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAV/f39/fwBgAn9/AX1gBX9/f319AX1gAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBn9/f319fQF9YAR/f31/AGADf399AX1gBn98f39/fwF/YAR/fHx/AGACf30AYAh/f39/f39/fwBgDX9/f39/f39/f39/f38AYAp/f39/f39/f39/AGAFf39/f38BfGAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gB39/f319f38AYAJ+fwF/YAN/fX0BfWABfAF8YAN/fHwAYAR/f319AGAHf39/fX19fQF9YA1/fX99f31/fX19fX1/AX9gC39/f39/f399fX19AX9gCH9/f39/f319AGAEf39+fgBgB39/f39/f38Bf2ACfH8BfGAFf398fH8AYAN/f38BfGAEf39/fABgA39/fQBgBn9/fX99fwF/ArUBHgFhAWEAHwFhAWIAAwFhAWMACQFhAWQAFgFhAWUAEQFhAWYAIAFhAWcAAAFhAWgAIQFhAWkAAwFhAWoAAAFhAWsAFwFhAWwACgFhAW0ABQFhAW4AAwFhAW8AAQFhAXAAFwFhAXEABgFhAXIAAAFhAXMAIgFhAXQACgFhAXUADQFhAXYAFgFhAXcAAgFhAXgAAwFhAXkAGAFhAXoAAgFhAUEAAQFhAUIAEQFhAUMAAQFhAUQAAAOiAqACAgMSBwcACRkDAAoRBgYKEwAPDxMBBiMTCgcHGgMUASQFJRQHAwMKCgMmAQYYDxobFAAKBw8KBwMDAgkCAAAFGwACBwIHBgIDAQMIDAABKAkHBQURACkZASoAAAIrLAIALQcHBy4HLwkFCgMCMA0xAgMJAgACAQYKAQIBBQEACQIFAQEABQAODQ0GFQIBHBUGAgkCEAAAAAUyDzMMBQYINAUCAwUODg41AgMCAgIDBgICNgIBDAwMAQsLCwsLCx0CAAIAAAABABABBQICAQMCEgMMCwEBAQEBAQsLAQICAwICAgICAgIDAgIICAEICAgEBAQEBAQEBAQABAQABAQEBAAE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GiABQQA2AvADIAFCADcC6AMgAigC7AMiAyACKALoAyIERwRAIAMgBGsiBEEASA0FIAEgBBAeIgM2AuwDIAEgAzYC6AMgASADIARqNgLwAyACKALoAyIEIAIoAuwDIghHBEADQCADIAQoAgA2AgAgA0EEaiEDIARBBGoiBCAIRw0ACwsgASADNgLsAwsgASACKQL0AzcC9AMgASACKAKEBDYChAQgASACKQL8AzcC/AMgAUEANgLkAwsgBSABNgIAIAEgADYC5AMLIAZBAWohBiAFQQRqIgUgB0cNAAsLDwsQAgALUAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUEwahBDDwsgACABIAFBMGogAxBEDwsgACABIAFBMGoQQg8LECQACyAAIAEgAUEwaiADEEULcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QdwlaigCACACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt5AgF/AX0jAEEQayIDJAAgA0EIaiAAIAFBAnRB7CVqKAIAIAIQU0MAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC1QAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBwgBqEEMPCyAAIAEgAUHCAGogAxBEDwsgACABIAFBwgBqEEIPCxAkAAsgACABIAFBwgBqIAMQRQsvACAAIAJFQQF0IgIgASADEGAgACACIAEQS5IgACACIAEgAxB/IAAgAiABEFKSkgvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akH2AGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyADQRBqJAALzgECA38CfSMAQRBrIgMk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AWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwscACAAIAFBCCACpyACQiCIpyADpyADQiCIpxAVCwUAEFgACzkAIABFBEBBAA8LAn8gAUGAf3FBgL8DRiABQf8ATXJFBEBB/DtBGTYCAEF/DAELIAAgAToAAEEBCwvEAgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACgsMCgsCAwQFDAsMDAoLBwgJCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCwALIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LAAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQegAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQOQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIANBEGokAAtdAQR/IAAoAgAhAgNAIAIsAAAiAxBXBEBBfyEEIAAgAkEBaiICNgIAIAFBzJmz5gBNBH9BfyADQTBrIgMgAUEKbCIEaiADIARB/////wdzShsFIAQLIQEMAQsLIAELrhQCEn8BfiMAQdAAayIIJAAgCCABNgJMIAhBN2ohFyAIQThqIRQCQAJAAkACQANAIAEhDSAHIA5B/////wdzSg0BIAcgDmohDgJAAkACQCANIgctAAAiCQRAA0ACQAJAIAlB/wFxIgFFBEAgByEBDAELIAFBJUcNASAH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IQEgAEIANwIEIAAgATYCACABIAA2AgQgAkEQaiQAIAALGwEBfyAABEAgACgCACIBBEAgARAjCyAAECMLC0kBAn9BBBAeIQFBIBAeIgBBADYCHCAAQoCAgICAgIDAPzcCFCAAQgA3AgwgAEEAOgAIIABBAzYCBCAAQQA2AgAgASAANgIAIAELIAAgAkEFR0EAIAIbRQRAQbgwIAMgBBBJDwsgAyAEEHALIgEBfiABIAKtIAOtQiCGhCAEIAARFQAiBUIgiKckASAFpwuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGECsaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEECsaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACCwQAQgALBABBAAuKBQIGfgJ/IAEgASgCAEEHakF4cSIBQRBqNgIAIAAhCSABKQMAIQMgASkDCCEGIwBBIGsiCCQAAkAgBkL///////////8AgyIEQoCAgICAgMCAPH0gBEKAgICAgIDA/8MAfVQEQCAGQgSGIANCPIiEIQQgA0L//////////w+DIgNCgYCAgICAgIAIWgRAIARCgYCAgICAgIDAAHwhAgwCCyAEQoCAgICAgICAQH0hAiADQoCAgICAgICACFINASACIARCAYN8IQIMAQsgA1AgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRG0UEQCAGQgSGIANCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiAEQv///////7//wwBWDQBCACECIARCMIinIgBBkfcASQ0AIAMhAiAGQv///////z+DQoCAgICAgMAAhCIFIQcCQCAAQYH3AGsiAUHAAHEEQCACIAFBQGqthiEHQgAhAgwBCyABRQ0AIAcgAa0iBIYgAkHAACABa62IhCEHIAIgBIYhAgsgCCACNwMQIAggBzcDGAJAQYH4ACAAayIAQcAAcQRAIAUgAEFAaq2IIQNCACEFDAELIABFDQAgBUHAACAAa62GIAMgAK0iAoiEIQMgBSACiCEFCyAIIAM3AwAgCCAF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ASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCAALCQAgASAAEQIACwUAQcM7Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAqCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRHgALBQBBvjsLIQAgACABKAIAIAEgASwAC0EASBtBuzsgAigCABAQNgIACyoBAX9BDBAeIgFBADoABCABIAAoAgA2AgggAEEANgIAIAFB2Cc2AgAgAQsFAEG7OwsFAEG4OwshACAAIAEoAgAgASABLAALQQBIG0GkOyACKAIAEBA2AgAL2AEBBH8jAEEgayIDJAAgASgCACIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIFEB4hBiADIAVBgICAgHhyNgIQIAMgBjYCCCADIAQ2AgwgBCAGaiEFDAELIAMgBDoAEyADQQhqIgYgBGohBSAERQ0BCyAGIAFBBGogBBArGgsgBUEAOgAAIAMgAjYCACADQRhqIANBCGogAyAAEQMAIAMoAhgQHSADKAIYIgAQBiADKAIAEAYgAywAE0EASARAIAMoAggQIwsgA0EgaiQAIAAPCxACAAsqAQF/QQwQHiIBQQA6AAQgASAAKAIANgIIIABBADYCACABQeAmNgIA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AkEIaiAIIAYQHyACIAcgAC8AABAfQQEhAyACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSADC0UNAiACLQAMIAItAARHDQILIABBAmohAEEBIQMgBCEGQQEhBCAGRQ0ACyABLwB6IgBBB3FFBEAgBS0AekEHcUUNAgsgCCAAECAiCiAHIAUvAHoQICILWw0BIAogClsNACALIAtcDQELIAFBFGogBUEUakHoABArGiABQfwAaiAFQfwAahCgAQNAIAEtAAAiAEEEcQ0BIAEgAEEEcjoAACABKAIQIgAEQCABIAARAAALIAFBgICA/gc2ApwBIAEoAuQDIgENAAsLIAJBEGokAAvGAwEEfyMAQaAEayICJAAgACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALAkAgACgCACIAKALoAyAAKALsA0YEQCAAKALkAw0BIAAgAkEYaiAAKAL0AxBcIgEpAgA3AgAgACABKAIQNgIQIAAgASkCCDcCCCAAQRRqIAFBFGpB6AAQKxogACABKQKMATcCjAEgACABKQKEATcChAEgACABKQJ8NwJ8IAEoApQBIQQgAUEANgKUASAAKAKUASEDIAAgBDYClAEgAwRAIAMQWwsgAEGYAWogAUGYAWpB0AIQKxogACgC6AMiAwRAIAAgAzYC7AMgAxAjCyAAIAEoAugDNgLoAyAAIAEoAuwDNgLsAyAAIAEoAvADNgLwAyABQQA2AvADIAFCADcC6AMgACABKQL8AzcC/AMgACABKQL0AzcC9AMgACABKAKEBDYChAQgASgClAEhACABQQA2ApQBIAAEQCAAEFsLIAJBoARqJAAPCyACQfAcNgIQIABBBUHYJSACQRBqECwQJAALIAJB5hE2AgAgAEEFQdglIAIQLBAkAAsLAEEMEB4gABCiAQsLAEEMEB5BABCiAQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhQLGQAgAUH/AXEEQBACAAsgACgCACgCEEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLJgAgASAAKAIAIgAoAhRHBEAgACABNgIUIAAgACgCDEEBajYCDAsLkgEBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGAEQCABIAAqAhhcBEAgACABOAIYIAAgACgCDEEBajYCDAsgAkEQaiQADwsgAkGIFDYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQbgwQdglIAIQSRoMAQsgAEEAQQVB2CUgAiAAKAIEEQ0AGgsgA0EQaiQAECQACz8AIAFB/wFxRQRAIAIgACgCACIAKAIQIgFBAXFHBEAgACABQX5xIAJyNgIQIAAgACgCDEEBajYCDAsPCxACAAsL4CYjAEGACAuBHk9ubHkgbGVhZiBub2RlcyB3aXRoIGN1c3RvbSBtZWFzdXJlIGZ1bmN0aW9ucyBzaG91bGQgbWFudWFsbHkgbWFyayB0aGVtc2VsdmVzIGFzIGRpcnR5AGlzRGlydHkAbWFya0RpcnR5AGRlc3Ryb3kAc2V0RGlzcGxheQBnZXREaXNwbGF5AHNldEZsZXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABzZXRGbGV4R3JvdwBnZXRGbGV4R3JvdwBzZXRPdmVyZmxvdwBnZXRPdmVyZmxvdwBoYXNOZXdMYXlvdXQAY2FsY3VsYXRlTGF5b3V0AGdldENvbXB1dGVkTGF5b3V0AHVuc2lnbmVkIHNob3J0AGdldENoaWxkQ291bnQAdW5zaWduZWQgaW50AHNldEp1c3RpZnlDb250ZW50AGdldEp1c3RpZnlDb250ZW50AGF2YWlsYWJsZUhlaWdodCBpcyBpbmRlZmluaXRlIHNvIGhlaWdodFNpemluZ01vZGUgbXVzdCBiZSBTaXppbmdNb2RlOjpNYXhDb250ZW50AGF2YWlsYWJsZVdpZHRoIGlzIGluZGVmaW5pdGUgc28gd2lkdGhTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABzZXRBbGlnbkNvbnRlbnQAZ2V0QWxpZ25Db250ZW50AGdldFBhcmVudABpbXBsZW1lbnQAc2V0TWF4SGVpZ2h0UGVyY2VudABzZXRIZWlnaHRQZXJjZW50AHNldE1pbkhlaWdodFBlcmNlbnQAc2V0RmxleEJhc2lzUGVyY2VudABzZXRHYXBQZXJjZW50AHNldFBvc2l0aW9uUGVyY2VudABzZXRNYXJnaW5QZXJjZW50AHNldE1heFdpZHRoUGVyY2VudABzZXRXaWR0aFBlcmNlbnQAc2V0TWluV2lkdGhQZXJjZW50AHNldFBhZGRpbmdQZXJjZW50AGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6UG9pbnQgfHwgaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQZXJjZW50AGNyZWF0ZURlZmF1bHQAdW5pdAByaWdodABoZWlnaHQAc2V0TWF4SGVpZ2h0AGdldE1heEhlaWdodABzZXRIZWlnaHQAZ2V0SGVpZ2h0AHNldE1pbkhlaWdodABnZXRNaW5IZWlnaHQAZ2V0Q29tcHV0ZWRIZWlnaHQAZ2V0Q29tcHV0ZWRSaWdodABsZWZ0AGdldENvbXB1dGVkTGVmdAByZXNldABfX2Rlc3RydWN0AGZsb2F0AHVpbnQ2NF90AHVzZVdlYkRlZmF1bHRzAHNldFVzZVdlYkRlZmF1bHRzAHNldEFsaWduSXRlbXMAZ2V0QWxpZ25JdGVtcwBzZXRGbGV4QmFzaXMAZ2V0RmxleEJhc2lzAENhbm5vdCBnZXQgbGF5b3V0IHByb3BlcnRpZXMgb2YgbXVsdGktZWRnZSBzaG9ydGhhbmRzAHNldFBvaW50U2NhbGVGYWN0b3IATWVhc3VyZUNhbGxiYWNrV3JhcHBlcgBEaXJ0aWVkQ2FsbGJhY2tXcmFwcGVyAENhbm5vdCByZXNldCBhIG5vZGUgc3RpbGwgYXR0YWNoZWQgdG8gYSBvd25lcgBzZXRCb3JkZXIAZ2V0Qm9yZGVyAGdldENvbXB1dGVkQm9yZGVyAGdldE51bWJlcgBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6Ok51bWJlcgB1bnNpZ25lZCBjaGFyAHRvcABnZXRDb21wdXRlZFRvcABzZXRGbGV4V3JhcABnZXRGbGV4V3JhcABzZXRHYXAAZ2V0R2FwACVwAHNldEhlaWdodEF1dG8Ac2V0RmxleEJhc2lzQXV0bwBzZXRQb3NpdGlvbkF1dG8Ac2V0TWFyZ2luQXV0bwBzZXRXaWR0aEF1dG8AU2NhbGUgZmFjdG9yIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuIHplcm8Ac2V0QXNwZWN0UmF0aW8AZ2V0QXNwZWN0UmF0aW8Ac2V0UG9zaXRpb24AZ2V0UG9zaXRpb24Abm90aWZ5T25EZXN0cnVjdGlvbgBzZXRGbGV4RGlyZWN0aW9uAGdldEZsZXhEaXJlY3Rpb24Ac2V0RGlyZWN0aW9uAGdldERpcmVjdGlvbgBzZXRNYXJnaW4AZ2V0TWFyZ2luAGdldENvbXB1dGVkTWFyZ2luAG1hcmtMYXlvdXRTZWVuAG5hbgBib3R0b20AZ2V0Q29tcHV0ZWRCb3R0b20AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0RmxleFNocmluawBnZXRGbGV4U2hyaW5rAHNldEFsd2F5c0Zvcm1zQ29udGFpbmluZ0Jsb2NrAE1lYXN1cmVDYWxsYmFjawBEaXJ0aWVkQ2FsbGJhY2sAZ2V0TGVuZ3RoAHdpZHRoAHNldE1heFdpZHRoAGdldE1heFdpZHRoAHNldFdpZHRoAGdldFdpZHRoAHNldE1pbldpZHRoAGdldE1pbldpZHRoAGdldENvbXB1dGVkV2lkdGgAcHVzaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1NtYWxsVmFsdWVCdWZmZXIuaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1N0eWxlVmFsdWVQb29sLmgAdW5zaWduZWQgbG9uZwBzZXRCb3hTaXppbmcAZ2V0Qm94U2l6aW5nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEATWVhc3VyZSBmdW5jdGlvbiByZXR1cm5lZCBhbiBpbnZhbGlkIGRpbWVuc2lvbiB0byBZb2dhOiBbd2lkdGg9JWYsIGhlaWdodD0lZl0ARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVk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",!X(ee)){var J=ee;ee=e.locateFile?e.locateFile(J,n):n+J}function H(){var E=ee;try{if(E==ee&&l)return new Uint8Array(l);if(X(E))try{var p=VI(E.slice(37)),Q=new Uint8Array(p.length);for(E=0;E<p.length;++E)Q[E]=p.charCodeAt(E);var m=Q}catch{throw Error("Converting base64 string to bytes failed.")}else m=void 0;var b=m;if(b)return b;throw"both async and sync fetching of the wasm failed"}catch(U){P(U)}}function ne(){return l||typeof fetch!="function"?Promise.resolve().then(function(){return H()}):fetch(ee,{credentials:"same-origin"}).then(function(E){if(!E.ok)throw"failed to load wasm binary file at '"+ee+"'";return E.arrayBuffer()}).catch(function(){return H()})}function q(E){for(;0<E.length;)E.shift()(e)}function W(E){if(E===void 0)return"_unknown";E=E.replace(/[^a-zA-Z0-9_]/g,"$");var p=E.charCodeAt(0);return 48<=p&&57>=p?"_"+E:E}function oe(E,p){return E=W(E),function(){return p.apply(this,arguments)}}var te=[{},{value:void 0},{value:null},{value:!0},{value:!1}],ae=[];function Ae(E){var p=Error,Q=oe(E,function(m){this.name=E,this.message=m,m=Error(m).stack,m!==void 0&&(this.stack=this.toString()+`
|
|
771
771
|
`+m.replace(/^Error(:[^\n]*)?\n/,""))});return Q.prototype=Object.create(p.prototype),Q.prototype.constructor=Q,Q.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},Q}var le=void 0;function z(E){throw new le(E)}var Ie=E=>(E||z("Cannot use deleted val. handle = "+E),te[E].value),nt=E=>{switch(E){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var p=ae.length?ae.pop():te.length;return te[p]={ga:1,value:E},p}},ot=void 0,Oe=void 0;function ge(E){for(var p="";C[E];)p+=Oe[C[E++]];return p}var me=[];function He(){for(;me.length;){var E=me.pop();E.M.$=!1,E.delete()}}var Ve=void 0,be={};function et(E,p){for(p===void 0&&z("ptr should not be undefined");E.R;)p=E.ba(p),E=E.R;return p}var Ft={};function Hr(E){E=Nl(E);var p=ge(E);return Xt(E),p}function wn(E,p){var Q=Ft[E];return Q===void 0&&z(p+" has unknown type "+Hr(E)),Q}function Jr(){}var vn=!1;function bl(E){--E.count.value,E.count.value===0&&(E.T?E.U.W(E.T):E.P.N.W(E.O))}function xl(E,p,Q){return p===Q?E:Q.R===void 0?null:(E=xl(E,p,Q.R),E===null?null:Q.na(E))}var Sl={};function DI(E,p){return p=et(E,p),be[p]}var Ml=void 0;function Kr(E){throw new Ml(E)}function Yr(E,p){return p.P&&p.O||Kr("makeClassHandle requires ptr and ptrType"),!!p.U!=!!p.T&&Kr("Both smartPtrType and smartPtr must be specified"),p.count={value:1},Ai(Object.create(E,{M:{value:p}}))}function Ai(E){return typeof FinalizationRegistry>"u"?(Ai=p=>p,E):(vn=new FinalizationRegistry(p=>{bl(p.M)}),Ai=p=>{var Q=p.M;return Q.T&&vn.register(p,{M:Q},p),p},Jr=p=>{vn.unregister(p)},Ai(E))}var Wr={};function _n(E){for(;E.length;){var p=E.pop();E.pop()(p)}}function Ki(E){return this.fromWireType(S[E>>2])}var ii={},Vr={};function cA(E,p,Q){function m(F){F=Q(F),F.length!==E.length&&Kr("Mismatched type converter count");for(var K=0;K<E.length;++K)zt(E[K],F[K])}E.forEach(function(F){Vr[F]=p});var b=Array(p.length),U=[],N=0;p.forEach((F,K)=>{Ft.hasOwnProperty(F)?b[K]=Ft[F]:(U.push(F),ii.hasOwnProperty(F)||(ii[F]=[]),ii[F].push(()=>{b[K]=Ft[F],++N,N===U.length&&m(b)}))}),U.length===0&&m(b)}function Dn(E){switch(E){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+E)}}function zt(E,p,Q={}){if(!("argPackAdvance"in p))throw new TypeError("registerType registeredInstance requires argPackAdvance");var m=p.name;if(E||z('type "'+m+'" must have a positive integer typeid pointer'),Ft.hasOwnProperty(E)){if(Q.ua)return;z("Cannot register type '"+m+"' twice")}Ft[E]=p,delete Vr[E],ii.hasOwnProperty(E)&&(p=ii[E],delete ii[E],p.forEach(b=>b()))}function bn(E){z(E.M.P.N.name+" instance already deleted")}function uA(){}function xn(E,p,Q){if(E[p].S===void 0){var m=E[p];E[p]=function(){return E[p].S.hasOwnProperty(arguments.length)||z("Function '"+Q+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+E[p].S+")!"),E[p].S[arguments.length].apply(this,arguments)},E[p].S=[],E[p].S[m.Z]=m}}function bI(E,p){e.hasOwnProperty(E)?(z("Cannot register public name '"+E+"' twice"),xn(e,E,E),e.hasOwnProperty(void 0)&&z("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),e[E].S[void 0]=p):e[E]=p}function xI(E,p,Q,m,b,U,N,F){this.name=E,this.constructor=p,this.X=Q,this.W=m,this.R=b,this.pa=U,this.ba=N,this.na=F,this.ja=[]}function Sn(E,p,Q){for(;p!==Q;)p.ba||z("Expected null or instance of "+Q.name+", got an instance of "+p.name),E=p.ba(E),p=p.R;return E}function SI(E,p){return p===null?(this.ea&&z("null is not a valid "+this.name),0):(p.M||z('Cannot pass "'+kn(p)+'" as a '+this.name),p.M.O||z("Cannot pass deleted object as a pointer of type "+this.name),Sn(p.M.O,p.M.P.N,this.N))}function MI(E,p){if(p===null){if(this.ea&&z("null is not a valid "+this.name),this.da){var Q=this.fa();return E!==null&&E.push(this.W,Q),Q}return 0}if(p.M||z('Cannot pass "'+kn(p)+'" as a '+this.name),p.M.O||z("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&p.M.P.ca&&z("Cannot convert argument of type "+(p.M.U?p.M.U.name:p.M.P.name)+" to parameter type "+this.name),Q=Sn(p.M.O,p.M.P.N,this.N),this.da)switch(p.M.T===void 0&&z("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:p.M.U===this?Q=p.M.T:z("Cannot convert argument of type "+(p.M.U?p.M.U.name:p.M.P.name)+" to parameter type "+this.name);break;case 1:Q=p.M.T;break;case 2:if(p.M.U===this)Q=p.M.T;else{var m=p.clone();Q=this.xa(Q,nt(function(){m.delete()})),E!==null&&E.push(this.W,Q)}break;default:z("Unsupporting sharing policy")}return Q}function RI(E,p){return p===null?(this.ea&&z("null is not a valid "+this.name),0):(p.M||z('Cannot pass "'+kn(p)+'" as a '+this.name),p.M.O||z("Cannot pass deleted object as a pointer of type "+this.name),p.M.P.ca&&z("Cannot convert argument of type "+p.M.P.name+" to parameter type "+this.name),Sn(p.M.O,p.M.P.N,this.N))}function qt(E,p,Q,m){this.name=E,this.N=p,this.ea=Q,this.ca=m,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,p.R!==void 0?this.toWireType=MI:(this.toWireType=m?SI:RI,this.V=null)}function UI(E,p){e.hasOwnProperty(E)||Kr("Replacing nonexistant public symbol"),e[E]=p,e[E].Z=void 0}function kI(E,p){var Q=[];return function(){if(Q.length=0,Object.assign(Q,arguments),E.includes("j")){var m=e["dynCall_"+E];m=Q&&Q.length?m.apply(null,[p].concat(Q)):m.call(null,p)}else m=D.get(p).apply(null,Q);return m}}function wt(E,p){E=ge(E);var Q=E.includes("j")?kI(E,p):D.get(p);return typeof Q!="function"&&z("unknown function pointer with signature "+E+": "+p),Q}var Rl=void 0;function zr(E,p){function Q(U){b[U]||Ft[U]||(Vr[U]?Vr[U].forEach(Q):(m.push(U),b[U]=!0))}var m=[],b={};throw p.forEach(Q),new Rl(E+": "+m.map(Hr).join([", "]))}function Mn(E,p,Q,m,b){var U=p.length;2>U&&z("argTypes array size mismatch! Must at least get return value and 'this' types!");var N=p[1]!==null&&Q!==null,F=!1;for(Q=1;Q<p.length;++Q)if(p[Q]!==null&&p[Q].V===void 0){F=!0;break}var K=p[0].name!=="void",O=U-2,V=Array(O),Z=[],he=[];return function(){if(arguments.length!==O&&z("function "+E+" called with "+arguments.length+" arguments, expected "+O+" args!"),he.length=0,Z.length=N?2:1,Z[0]=b,N){var Ue=p[1].toWireType(he,this);Z[1]=Ue}for(var ue=0;ue<O;++ue)V[ue]=p[ue+2].toWireType(he,arguments[ue]),Z.push(V[ue]);if(ue=m.apply(null,Z),F)_n(he);else for(var ft=N?1:2;ft<p.length;ft++){var vt=ft===1?Ue:V[ft-2];p[ft].V!==null&&p[ft].V(vt)}return Ue=K?p[0].fromWireType(ue):void 0,Ue}}function Rn(E,p){for(var Q=[],m=0;m<E;m++)Q.push(_[p+4*m>>2]);return Q}function Un(E){4<E&&--te[E].ga===0&&(te[E]=void 0,ae.push(E))}function kn(E){if(E===null)return"null";var p=typeof E;return p==="object"||p==="array"||p==="function"?E.toString():""+E}function PI(E,p){switch(p){case 2:return function(Q){return this.fromWireType(M[Q>>2])};case 3:return function(Q){return this.fromWireType(w[Q>>3])};default:throw new TypeError("Unknown float type: "+E)}}function NI(E,p,Q){switch(p){case 0:return Q?function(m){return d[m]}:function(m){return C[m]};case 1:return Q?function(m){return B[m>>1]}:function(m){return R[m>>1]};case 2:return Q?function(m){return S[m>>2]}:function(m){return _[m>>2]};default:throw new TypeError("Unknown integer type: "+E)}}function FI(E,p){for(var Q="",m=0;!(m>=p/2);++m){var b=B[E+2*m>>1];if(b==0)break;Q+=String.fromCharCode(b)}return Q}function TI(E,p,Q){if(Q===void 0&&(Q=2147483647),2>Q)return 0;Q-=2;var m=p;Q=Q<2*E.length?Q/2:E.length;for(var b=0;b<Q;++b)B[p>>1]=E.charCodeAt(b),p+=2;return B[p>>1]=0,p-m}function LI(E){return 2*E.length}function GI(E,p){for(var Q=0,m="";!(Q>=p/4);){var b=S[E+4*Q>>2];if(b==0)break;++Q,65536<=b?(b-=65536,m+=String.fromCharCode(55296|b>>10,56320|b&1023)):m+=String.fromCharCode(b)}return m}function OI(E,p,Q){if(Q===void 0&&(Q=2147483647),4>Q)return 0;var m=p;Q=m+Q-4;for(var b=0;b<E.length;++b){var U=E.charCodeAt(b);if(55296<=U&&57343>=U){var N=E.charCodeAt(++b);U=65536+((U&1023)<<10)|N&1023}if(S[p>>2]=U,p+=4,p+4>Q)break}return S[p>>2]=0,p-m}function HI(E){for(var p=0,Q=0;Q<E.length;++Q){var m=E.charCodeAt(Q);55296<=m&&57343>=m&&++Q,p+=4}return p}var JI={};function Ul(E){var p=JI[E];return p===void 0?ge(E):p}var qr=[];function KI(E){var p=qr.length;return qr.push(E),p}function YI(E,p){for(var Q=Array(E),m=0;m<E;++m)Q[m]=wn(_[p+4*m>>2],"parameter "+m);return Q}var kl=[],WI=[null,[],[]];le=e.BindingError=Ae("BindingError"),e.count_emval_handles=function(){for(var E=0,p=5;p<te.length;++p)te[p]!==void 0&&++E;return E},e.get_first_emval=function(){for(var E=5;E<te.length;++E)if(te[E]!==void 0)return te[E];return null},ot=e.PureVirtualError=Ae("PureVirtualError");for(var Pl=Array(256),Xr=0;256>Xr;++Xr)Pl[Xr]=String.fromCharCode(Xr);Oe=Pl,e.getInheritedInstanceCount=function(){return Object.keys(be).length},e.getLiveInheritedInstances=function(){var E=[],p;for(p in be)be.hasOwnProperty(p)&&E.push(be[p]);return E},e.flushPendingDeletes=He,e.setDelayFunction=function(E){Ve=E,me.length&&Ve&&Ve(He)},Ml=e.InternalError=Ae("InternalError"),uA.prototype.isAliasOf=function(E){if(!(this instanceof uA&&E instanceof uA))return!1;var p=this.M.P.N,Q=this.M.O,m=E.M.P.N;for(E=E.M.O;p.R;)Q=p.ba(Q),p=p.R;for(;m.R;)E=m.ba(E),m=m.R;return p===m&&Q===E},uA.prototype.clone=function(){if(this.M.O||bn(this),this.M.aa)return this.M.count.value+=1,this;var E=Ai,p=Object,Q=p.create,m=Object.getPrototypeOf(this),b=this.M;return E=E(Q.call(p,m,{M:{value:{count:b.count,$:b.$,aa:b.aa,O:b.O,P:b.P,T:b.T,U:b.U}}})),E.M.count.value+=1,E.M.$=!1,E},uA.prototype.delete=function(){this.M.O||bn(this),this.M.$&&!this.M.aa&&z("Object already scheduled for deletion"),Jr(this),bl(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},uA.prototype.isDeleted=function(){return!this.M.O},uA.prototype.deleteLater=function(){return this.M.O||bn(this),this.M.$&&!this.M.aa&&z("Object already scheduled for deletion"),me.push(this),me.length===1&&Ve&&Ve(He),this.M.$=!0,this},qt.prototype.qa=function(E){return this.ka&&(E=this.ka(E)),E},qt.prototype.ha=function(E){this.W&&this.W(E)},qt.prototype.argPackAdvance=8,qt.prototype.readValueFromPointer=Ki,qt.prototype.deleteObject=function(E){E!==null&&E.delete()},qt.prototype.fromWireType=function(E){function p(){return this.da?Yr(this.N.X,{P:this.wa,O:Q,U:this,T:E}):Yr(this.N.X,{P:this,O:E})}var Q=this.qa(E);if(!Q)return this.ha(E),null;var m=DI(this.N,Q);if(m!==void 0)return m.M.count.value===0?(m.M.O=Q,m.M.T=E,m.clone()):(m=m.clone(),this.ha(E),m);if(m=this.N.pa(Q),m=Sl[m],!m)return p.call(this);m=this.ca?m.la:m.pointerType;var b=xl(Q,this.N,m.N);return b===null?p.call(this):this.da?Yr(m.N.X,{P:m,O:b,U:this,T:E}):Yr(m.N.X,{P:m,O:b})},Rl=e.UnboundTypeError=Ae("UnboundTypeError");var VI=typeof atob=="function"?atob:function(E){var p="",Q=0;E=E.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(E.charAt(Q++)),b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(E.charAt(Q++)),U="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(E.charAt(Q++)),N="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(E.charAt(Q++));m=m<<2|b>>4,b=(b&15)<<4|U>>2;var F=(U&3)<<6|N;p+=String.fromCharCode(m),U!==64&&(p+=String.fromCharCode(b)),N!==64&&(p+=String.fromCharCode(F))}while(Q<E.length);return p},zI={l:function(E,p,Q,m){P("Assertion failed: "+(E?f(C,E):"")+", at: "+[p?p?f(C,p):"":"unknown filename",Q,m?m?f(C,m):"":"unknown function"])},q:function(E,p,Q){E=ge(E),p=wn(p,"wrapper"),Q=Ie(Q);var m=[].slice,b=p.N,U=b.X,N=b.R.X,F=b.R.constructor;E=oe(E,function(){b.R.ja.forEach((function(O){if(this[O]===N[O])throw new ot("Pure virtual function "+O+" must be implemented in JavaScript")}).bind(this)),Object.defineProperty(this,"__parent",{value:U}),this.__construct.apply(this,m.call(arguments))}),U.__construct=function(){this===U&&z("Pass correct 'this' to __construct");var O=F.implement.apply(void 0,[this].concat(m.call(arguments)));Jr(O);var V=O.M;O.notifyOnDestruction(),V.aa=!0,Object.defineProperties(this,{M:{value:V}}),Ai(this),O=V.O,O=et(b,O),be.hasOwnProperty(O)?z("Tried to register registered instance: "+O):be[O]=this},U.__destruct=function(){this===U&&z("Pass correct 'this' to __destruct"),Jr(this);var O=this.M.O;O=et(b,O),be.hasOwnProperty(O)?delete be[O]:z("Tried to unregister unregistered instance: "+O)},E.prototype=Object.create(U);for(var K in Q)E.prototype[K]=Q[K];return nt(E)},j:function(E){var p=Wr[E];delete Wr[E];var Q=p.fa,m=p.W,b=p.ia,U=b.map(N=>N.ta).concat(b.map(N=>N.za));cA([E],U,N=>{var F={};return b.forEach((K,O)=>{var V=N[O],Z=K.ra,he=K.sa,Ue=N[O+b.length],ue=K.ya,ft=K.Aa;F[K.oa]={read:vt=>V.fromWireType(Z(he,vt)),write:(vt,Yi)=>{var jt=[];ue(ft,vt,Ue.toWireType(jt,Yi)),_n(jt)}}}),[{name:p.name,fromWireType:function(K){var O={},V;for(V in F)O[V]=F[V].read(K);return m(K),O},toWireType:function(K,O){for(var V in F)if(!(V in O))throw new TypeError('Missing field: "'+V+'"');var Z=Q();for(V in F)F[V].write(Z,O[V]);return K!==null&&K.push(m,Z),Z},argPackAdvance:8,readValueFromPointer:Ki,V:m}]})},v:function(){},B:function(E,p,Q,m,b){var U=Dn(Q);p=ge(p),zt(E,{name:p,fromWireType:function(N){return!!N},toWireType:function(N,F){return F?m:b},argPackAdvance:8,readValueFromPointer:function(N){if(Q===1)var F=d;else if(Q===2)F=B;else if(Q===4)F=S;else throw new TypeError("Unknown boolean type size: "+p);return this.fromWireType(F[N>>U])},V:null})},f:function(E,p,Q,m,b,U,N,F,K,O,V,Z,he){V=ge(V),U=wt(b,U),F&&(F=wt(N,F)),O&&(O=wt(K,O)),he=wt(Z,he);var Ue=W(V);bI(Ue,function(){zr("Cannot construct "+V+" due to unbound types",[m])}),cA([E,p,Q],m?[m]:[],function(ue){if(ue=ue[0],m)var ft=ue.N,vt=ft.X;else vt=uA.prototype;ue=oe(Ue,function(){if(Object.getPrototypeOf(this)!==Yi)throw new le("Use 'new' to construct "+V);if(jt.Y===void 0)throw new le(V+" has no accessible constructor");var Ll=jt.Y[arguments.length];if(Ll===void 0)throw new le("Tried to invoke ctor of "+V+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(jt.Y).toString()+") parameters instead!");return Ll.apply(this,arguments)});var Yi=Object.create(vt,{constructor:{value:ue}});ue.prototype=Yi;var jt=new xI(V,ue,Yi,he,ft,U,F,O);ft=new qt(V,jt,!0,!1),vt=new qt(V+"*",jt,!1,!1);var Tl=new qt(V+" const*",jt,!1,!0);return Sl[E]={pointerType:vt,la:Tl},UI(Ue,ue),[ft,vt,Tl]})},d:function(E,p,Q,m,b,U,N){var F=Rn(Q,m);p=ge(p),U=wt(b,U),cA([],[E],function(K){function O(){zr("Cannot call "+V+" due to unbound types",F)}K=K[0];var V=K.name+"."+p;p.startsWith("@@")&&(p=Symbol[p.substring(2)]);var Z=K.N.constructor;return Z[p]===void 0?(O.Z=Q-1,Z[p]=O):(xn(Z,p,V),Z[p].S[Q-1]=O),cA([],F,function(he){return he=Mn(V,[he[0],null].concat(he.slice(1)),null,U,N),Z[p].S===void 0?(he.Z=Q-1,Z[p]=he):Z[p].S[Q-1]=he,[]}),[]})},p:function(E,p,Q,m,b,U){0<p||P();var N=Rn(p,Q);b=wt(m,b),cA([],[E],function(F){F=F[0];var K="constructor "+F.name;if(F.N.Y===void 0&&(F.N.Y=[]),F.N.Y[p-1]!==void 0)throw new le("Cannot register multiple constructors with identical number of parameters ("+(p-1)+") for class '"+F.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return F.N.Y[p-1]=()=>{zr("Cannot construct "+F.name+" due to unbound types",N)},cA([],N,function(O){return O.splice(1,0,null),F.N.Y[p-1]=Mn(K,O,null,b,U),[]}),[]})},a:function(E,p,Q,m,b,U,N,F){var K=Rn(Q,m);p=ge(p),U=wt(b,U),cA([],[E],function(O){function V(){zr("Cannot call "+Z+" due to unbound types",K)}O=O[0];var Z=O.name+"."+p;p.startsWith("@@")&&(p=Symbol[p.substring(2)]),F&&O.N.ja.push(p);var he=O.N.X,Ue=he[p];return Ue===void 0||Ue.S===void 0&&Ue.className!==O.name&&Ue.Z===Q-2?(V.Z=Q-2,V.className=O.name,he[p]=V):(xn(he,p,Z),he[p].S[Q-2]=V),cA([],K,function(ue){return ue=Mn(Z,ue,O,U,N),he[p].S===void 0?(ue.Z=Q-2,he[p]=ue):he[p].S[Q-2]=ue,[]}),[]})},A:function(E,p){p=ge(p),zt(E,{name:p,fromWireType:function(Q){var m=Ie(Q);return Un(Q),m},toWireType:function(Q,m){return nt(m)},argPackAdvance:8,readValueFromPointer:Ki,V:null})},n:function(E,p,Q){Q=Dn(Q),p=ge(p),zt(E,{name:p,fromWireType:function(m){return m},toWireType:function(m,b){return b},argPackAdvance:8,readValueFromPointer:PI(p,Q),V:null})},e:function(E,p,Q,m,b){p=ge(p),b===-1&&(b=4294967295),b=Dn(Q);var U=F=>F;if(m===0){var N=32-8*Q;U=F=>F<<N>>>N}Q=p.includes("unsigned")?function(F,K){return K>>>0}:function(F,K){return K},zt(E,{name:p,fromWireType:U,toWireType:Q,argPackAdvance:8,readValueFromPointer:NI(p,b,m!==0),V:null})},b:function(E,p,Q){function m(U){U>>=2;var N=_;return new b(I,N[U+1],N[U])}var b=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][p];Q=ge(Q),zt(E,{name:Q,fromWireType:m,argPackAdvance:8,readValueFromPointer:m},{ua:!0})},o:function(E,p){p=ge(p);var Q=p==="std::string";zt(E,{name:p,fromWireType:function(m){var b=_[m>>2],U=m+4;if(Q)for(var N=U,F=0;F<=b;++F){var K=U+F;if(F==b||C[K]==0){if(N=N?f(C,N,K-N):"",O===void 0)var O=N;else O+="\0",O+=N;N=K+1}}else{for(O=Array(b),F=0;F<b;++F)O[F]=String.fromCharCode(C[U+F]);O=O.join("")}return Xt(m),O},toWireType:function(m,b){b instanceof ArrayBuffer&&(b=new Uint8Array(b));var U,N=typeof b=="string";if(N||b instanceof Uint8Array||b instanceof Uint8ClampedArray||b instanceof Int8Array||z("Cannot pass non-string to std::string"),Q&&N){var F=0;for(U=0;U<b.length;++U){var K=b.charCodeAt(U);127>=K?F++:2047>=K?F+=2:55296<=K&&57343>=K?(F+=4,++U):F+=3}U=F}else U=b.length;if(F=Pn(4+U+1),K=F+4,_[F>>2]=U,Q&&N){if(N=K,K=U+1,U=C,0<K){K=N+K-1;for(var O=0;O<b.length;++O){var V=b.charCodeAt(O);if(55296<=V&&57343>=V){var Z=b.charCodeAt(++O);V=65536+((V&1023)<<10)|Z&1023}if(127>=V){if(N>=K)break;U[N++]=V}else{if(2047>=V){if(N+1>=K)break;U[N++]=192|V>>6}else{if(65535>=V){if(N+2>=K)break;U[N++]=224|V>>12}else{if(N+3>=K)break;U[N++]=240|V>>18,U[N++]=128|V>>12&63}U[N++]=128|V>>6&63}U[N++]=128|V&63}}U[N]=0}}else if(N)for(N=0;N<U;++N)O=b.charCodeAt(N),255<O&&(Xt(K),z("String has UTF-16 code units that do not fit in 8 bits")),C[K+N]=O;else for(N=0;N<U;++N)C[K+N]=b[N];return m!==null&&m.push(Xt,F),F},argPackAdvance:8,readValueFromPointer:Ki,V:function(m){Xt(m)}})},i:function(E,p,Q){if(Q=ge(Q),p===2)var m=FI,b=TI,U=LI,N=()=>R,F=1;else p===4&&(m=GI,b=OI,U=HI,N=()=>_,F=2);zt(E,{name:Q,fromWireType:function(K){for(var O=_[K>>2],V=N(),Z,he=K+4,Ue=0;Ue<=O;++Ue){var ue=K+4+Ue*p;(Ue==O||V[ue>>F]==0)&&(he=m(he,ue-he),Z===void 0?Z=he:(Z+="\0",Z+=he),he=ue+p)}return Xt(K),Z},toWireType:function(K,O){typeof O!="string"&&z("Cannot pass non-string to C++ string type "+Q);var V=U(O),Z=Pn(4+V+p);return _[Z>>2]=V>>F,b(O,Z+4,V+p),K!==null&&K.push(Xt,Z),Z},argPackAdvance:8,readValueFromPointer:Ki,V:function(K){Xt(K)}})},k:function(E,p,Q,m,b,U){Wr[E]={name:ge(p),fa:wt(Q,m),W:wt(b,U),ia:[]}},h:function(E,p,Q,m,b,U,N,F,K,O){Wr[E].ia.push({oa:ge(p),ta:Q,ra:wt(m,b),sa:U,za:N,ya:wt(F,K),Aa:O})},C:function(E,p){p=ge(p),zt(E,{va:!0,name:p,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(E,p,Q,m,b){E=qr[E],p=Ie(p),Q=Ul(Q);var U=[];return _[m>>2]=nt(U),E(p,Q,U,b)},t:function(E,p,Q,m){E=qr[E],p=Ie(p),Q=Ul(Q),E(p,Q,null,m)},g:Un,m:function(E,p){var Q=YI(E,p),m=Q[0];p=m.name+"_$"+Q.slice(1).map(function(N){return N.name}).join("_")+"$";var b=kl[p];if(b!==void 0)return b;var U=Array(E-1);return b=KI((N,F,K,O)=>{for(var V=0,Z=0;Z<E-1;++Z)U[Z]=Q[Z+1].readValueFromPointer(O+V),V+=Q[Z+1].argPackAdvance;for(N=N[F].apply(N,U),Z=0;Z<E-1;++Z)Q[Z+1].ma&&Q[Z+1].ma(U[Z]);if(!m.va)return m.toWireType(K,N)}),kl[p]=b},D:function(E){4<E&&(te[E].ga+=1)},r:function(E){var p=Ie(E);_n(p),Un(E)},c:function(){P("")},x:function(E,p,Q){C.copyWithin(E,p,p+Q)},w:function(E){var p=C.length;if(E>>>=0,2147483648<E)return!1;for(var Q=1;4>=Q;Q*=2){var m=p*(1+.2/Q);m=Math.min(m,E+100663296);var b=Math;m=Math.max(E,m),b=b.min.call(b,2147483648,m+(65536-m%65536)%65536);e:{try{g.grow(b-I.byteLength+65535>>>16),v();var U=1;break e}catch{}U=void 0}if(U)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(E,p,Q,m){for(var b=0,U=0;U<Q;U++){var N=_[p>>2],F=_[p+4>>2];p+=8;for(var K=0;K<F;K++){var O=C[N+K],V=WI[E];O===0||O===10?((E===1?o:a)(f(V,0)),V.length=0):V.push(O)}b+=F}return _[m>>2]=b,0}};(function(){function E(b){e.asm=b.exports,g=e.asm.E,v(),D=e.asm.J,L.unshift(e.asm.F),T--,e.monitorRunDependencies&&e.monitorRunDependencies(T),T==0&&$&&(b=$,$=null,b())}function p(b){E(b.instance)}function Q(b){return ne().then(function(U){return WebAssembly.instantiate(U,m)}).then(function(U){return U}).then(b,function(U){a("failed to asynchronously prepare wasm: "+U),P(U)})}var m={a:zI};if(T++,e.monitorRunDependencies&&e.monitorRunDependencies(T),e.instantiateWasm)try{return e.instantiateWasm(m,E)}catch(b){a("Module.instantiateWasm callback failed with error: "+b),i(b)}return function(){return l||typeof WebAssembly.instantiateStreaming!="function"||X(ee)||typeof fetch!="function"?Q(p):fetch(ee,{credentials:"same-origin"}).then(function(b){return WebAssembly.instantiateStreaming(b,m).then(p,function(U){return a("wasm streaming compile failed: "+U),a("falling back to ArrayBuffer instantiation"),Q(p)})})}().catch(i),{}})(),e.___wasm_call_ctors=function(){return(e.___wasm_call_ctors=e.asm.F).apply(null,arguments)};var Nl=e.___getTypeName=function(){return(Nl=e.___getTypeName=e.asm.G).apply(null,arguments)};e.__embind_initialize_bindings=function(){return(e.__embind_initialize_bindings=e.asm.H).apply(null,arguments)};var Pn=e._malloc=function(){return(Pn=e._malloc=e.asm.I).apply(null,arguments)},Xt=e._free=function(){return(Xt=e._free=e.asm.K).apply(null,arguments)};e.dynCall_jiji=function(){return(e.dynCall_jiji=e.asm.L).apply(null,arguments)};var jr;$=function E(){jr||Fl(),jr||($=E)};function Fl(){function E(){if(!jr&&(jr=!0,e.calledRun=!0,!c)){if(q(L),t(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),e.postRun)for(typeof e.postRun=="function"&&(e.postRun=[e.postRun]);e.postRun.length;){var p=e.postRun.shift();j.unshift(p)}q(j)}}if(!(0<T)){if(e.preRun)for(typeof e.preRun=="function"&&(e.preRun=[e.preRun]);e.preRun.length;)Y();q(x),0<T||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),E()},1)):E())}}if(e.preInit)for(typeof e.preInit=="function"&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();return Fl(),A.ready}})();let Ne=function(r){return r[r.Auto=0]="Auto",r[r.FlexStart=1]="FlexStart",r[r.Center=2]="Center",r[r.FlexEnd=3]="FlexEnd",r[r.Stretch=4]="Stretch",r[r.Baseline=5]="Baseline",r[r.SpaceBetween=6]="SpaceBetween",r[r.SpaceAround=7]="SpaceAround",r[r.SpaceEvenly=8]="SpaceEvenly",r}({}),or=function(r){return r[r.BorderBox=0]="BorderBox",r[r.ContentBox=1]="ContentBox",r}({}),Ua=function(r){return r[r.Width=0]="Width",r[r.Height=1]="Height",r}({}),tA=function(r){return r[r.Inherit=0]="Inherit",r[r.LTR=1]="LTR",r[r.RTL=2]="RTL",r}({}),LA=function(r){return r[r.Flex=0]="Flex",r[r.None=1]="None",r[r.Contents=2]="Contents",r}({}),de=function(r){return r[r.Left=0]="Left",r[r.Top=1]="Top",r[r.Right=2]="Right",r[r.Bottom=3]="Bottom",r[r.Start=4]="Start",r[r.End=5]="End",r[r.Horizontal=6]="Horizontal",r[r.Vertical=7]="Vertical",r[r.All=8]="All",r}({}),GA=function(r){return r[r.None=0]="None",r[r.StretchFlexBasis=1]="StretchFlexBasis",r[r.AbsolutePositionWithoutInsetsExcludesPadding=2]="AbsolutePositionWithoutInsetsExcludesPadding",r[r.AbsolutePercentAgainstInnerSize=4]="AbsolutePercentAgainstInnerSize",r[r.All=2147483647]="All",r[r.Classic=2147483646]="Classic",r}({}),su=function(r){return r[r.WebFlexBasis=0]="WebFlexBasis",r}({}),AA=function(r){return r[r.Column=0]="Column",r[r.ColumnReverse=1]="ColumnReverse",r[r.Row=2]="Row",r[r.RowReverse=3]="RowReverse",r}({}),ar=function(r){return r[r.Column=0]="Column",r[r.Row=1]="Row",r[r.All=2]="All",r}({}),Bt=function(r){return r[r.FlexStart=0]="FlexStart",r[r.Center=1]="Center",r[r.FlexEnd=2]="FlexEnd",r[r.SpaceBetween=3]="SpaceBetween",r[r.SpaceAround=4]="SpaceAround",r[r.SpaceEvenly=5]="SpaceEvenly",r}({}),OA=function(r){return r[r.Error=0]="Error",r[r.Warn=1]="Warn",r[r.Info=2]="Info",r[r.Debug=3]="Debug",r[r.Verbose=4]="Verbose",r[r.Fatal=5]="Fatal",r}({}),Os=function(r){return r[r.Undefined=0]="Undefined",r[r.Exactly=1]="Exactly",r[r.AtMost=2]="AtMost",r}({}),ka=function(r){return r[r.Default=0]="Default",r[r.Text=1]="Text",r}({}),HA=function(r){return r[r.Visible=0]="Visible",r[r.Hidden=1]="Hidden",r[r.Scroll=2]="Scroll",r}({}),JA=function(r){return r[r.Static=0]="Static",r[r.Relative=1]="Relative",r[r.Absolute=2]="Absolute",r}({}),Ut=function(r){return r[r.Undefined=0]="Undefined",r[r.Point=1]="Point",r[r.Percent=2]="Percent",r[r.Auto=3]="Auto",r}({}),KA=function(r){return r[r.NoWrap=0]="NoWrap",r[r.Wrap=1]="Wrap",r[r.WrapReverse=2]="WrapReverse",r}({});const nu={ALIGN_AUTO:Ne.Auto,ALIGN_FLEX_START:Ne.FlexStart,ALIGN_CENTER:Ne.Center,ALIGN_FLEX_END:Ne.FlexEnd,ALIGN_STRETCH:Ne.Stretch,ALIGN_BASELINE:Ne.Baseline,ALIGN_SPACE_BETWEEN:Ne.SpaceBetween,ALIGN_SPACE_AROUND:Ne.SpaceAround,ALIGN_SPACE_EVENLY:Ne.SpaceEvenly,BOX_SIZING_BORDER_BOX:or.BorderBox,BOX_SIZING_CONTENT_BOX:or.ContentBox,DIMENSION_WIDTH:Ua.Width,DIMENSION_HEIGHT:Ua.Height,DIRECTION_INHERIT:tA.Inherit,DIRECTION_LTR:tA.LTR,DIRECTION_RTL:tA.RTL,DISPLAY_FLEX:LA.Flex,DISPLAY_NONE:LA.None,DISPLAY_CONTENTS:LA.Contents,EDGE_LEFT:de.Left,EDGE_TOP:de.Top,EDGE_RIGHT:de.Right,EDGE_BOTTOM:de.Bottom,EDGE_START:de.Start,EDGE_END:de.End,EDGE_HORIZONTAL:de.Horizontal,EDGE_VERTICAL:de.Vertical,EDGE_ALL:de.All,ERRATA_NONE:GA.None,ERRATA_STRETCH_FLEX_BASIS:GA.StretchFlexBasis,ERRATA_ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING:GA.AbsolutePositionWithoutInsetsExcludesPadding,ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE:GA.AbsolutePercentAgainstInnerSize,ERRATA_ALL:GA.All,ERRATA_CLASSIC:GA.Classic,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:su.WebFlexBasis,FLEX_DIRECTION_COLUMN:AA.Column,FLEX_DIRECTION_COLUMN_REVERSE:AA.ColumnReverse,FLEX_DIRECTION_ROW:AA.Row,FLEX_DIRECTION_ROW_REVERSE:AA.RowReverse,GUTTER_COLUMN:ar.Column,GUTTER_ROW:ar.Row,GUTTER_ALL:ar.All,JUSTIFY_FLEX_START:Bt.FlexStart,JUSTIFY_CENTER:Bt.Center,JUSTIFY_FLEX_END:Bt.FlexEnd,JUSTIFY_SPACE_BETWEEN:Bt.SpaceBetween,JUSTIFY_SPACE_AROUND:Bt.SpaceAround,JUSTIFY_SPACE_EVENLY:Bt.SpaceEvenly,LOG_LEVEL_ERROR:OA.Error,LOG_LEVEL_WARN:OA.Warn,LOG_LEVEL_INFO:OA.Info,LOG_LEVEL_DEBUG:OA.Debug,LOG_LEVEL_VERBOSE:OA.Verbose,LOG_LEVEL_FATAL:OA.Fatal,MEASURE_MODE_UNDEFINED:Os.Undefined,MEASURE_MODE_EXACTLY:Os.Exactly,MEASURE_MODE_AT_MOST:Os.AtMost,NODE_TYPE_DEFAULT:ka.Default,NODE_TYPE_TEXT:ka.Text,OVERFLOW_VISIBLE:HA.Visible,OVERFLOW_HIDDEN:HA.Hidden,OVERFLOW_SCROLL:HA.Scroll,POSITION_TYPE_STATIC:JA.Static,POSITION_TYPE_RELATIVE:JA.Relative,POSITION_TYPE_ABSOLUTE:JA.Absolute,UNIT_UNDEFINED:Ut.Undefined,UNIT_POINT:Ut.Point,UNIT_PERCENT:Ut.Percent,UNIT_AUTO:Ut.Auto,WRAP_NO_WRAP:KA.NoWrap,WRAP_WRAP:KA.Wrap,WRAP_WRAP_REVERSE:KA.WrapReverse};function ou(r){function A(i,s,n){const o=i[s];i[s]=function(){for(var a=arguments.length,l=new Array(a),g=0;g<a;g++)l[g]=arguments[g];return n.call(this,o,...l)}}for(const i of["setPosition","setMargin","setFlexBasis","setWidth","setHeight","setMinWidth","setMinHeight","setMaxWidth","setMaxHeight","setPadding","setGap"]){const s={[Ut.Point]:r.Node.prototype[i],[Ut.Percent]:r.Node.prototype[`${i}Percent`],[Ut.Auto]:r.Node.prototype[`${i}Auto`]};A(r.Node.prototype,i,function(n){for(var o=arguments.length,a=new Array(o>1?o-1:0),l=1;l<o;l++)a[l-1]=arguments[l];const g=a.pop();let c,f;if(g==="auto")c=Ut.Auto,f=void 0;else if(typeof g=="object")c=g.unit,f=g.valueOf();else if(c=typeof g=="string"&&g.endsWith("%")?Ut.Percent:Ut.Point,f=parseFloat(g),g!==void 0&&!Number.isNaN(g)&&Number.isNaN(f))throw new Error(`Invalid value ${g} for ${i}`);if(!s[c])throw new Error(`Failed to execute "${i}": Unsupported unit '${g}'`);return f!==void 0?s[c].call(this,...a,f):s[c].call(this,...a)})}function e(i){return r.MeasureCallback.implement({measure:function(){const{width:s,height:n}=i(...arguments);return{width:s??NaN,height:n??NaN}}})}A(r.Node.prototype,"setMeasureFunc",function(i,s){return s?i.call(this,e(s)):this.unsetMeasureFunc()});function t(i){return r.DirtiedCallback.implement({dirtied:i})}return A(r.Node.prototype,"setDirtiedFunc",function(i,s){i.call(this,t(s))}),A(r.Config.prototype,"free",function(){r.Config.destroy(this)}),A(r.Node,"create",(i,s)=>s?r.Node.createWithConfig(s):r.Node.createDefault()),A(r.Node.prototype,"free",function(){r.Node.destroy(this)}),A(r.Node.prototype,"freeRecursive",function(){for(let i=0,s=this.getChildCount();i<s;++i)this.getChild(0).freeRecursive();this.free()}),A(r.Node.prototype,"calculateLayout",function(i){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:tA.LTR;return i.call(this,s,n,o)}),{Config:r.Config,Node:r.Node,...nu}}async function au(){return ou(await ru())}class Hs extends wi{constructor(A){super(),this.setProperties(A)}}const Pa={alignContent:"stretch",alignItems:"stretch",alignSelf:"auto",borderTop:"none",borderLeft:"none",borderRight:"none",borderBottom:"none",borderWidth:0,border:"none",direction:"inherit",display:"flex",flex:0,flexBasis:"auto",flexDirection:"row",flexGrow:0,flexShrink:1,flexWrap:"nowrap",height:"auto",justifyContent:"flex-start",gap:0,marginTop:0,marginLeft:0,marginRight:0,marginBottom:0,margin:0,maxHeight:0,maxWidth:0,minHeight:0,minWidth:0,paddingTop:0,paddingLeft:0,paddingRight:0,paddingBottom:0,padding:0,top:0,bottom:0,left:0,right:0,position:"static",boxSizing:"content-box",width:"auto"};for(const r in Pa)xA(Hs,r,{default:Pa[r]});const Js={auto:Ne.Auto,"flex-start":Ne.FlexStart,center:Ne.Center,"flex-end":Ne.FlexEnd,stretch:Ne.Stretch,baseline:Ne.Baseline,"space-between":Ne.SpaceBetween,"space-around":Ne.SpaceAround,"space-evenly":Ne.SpaceEvenly},lu={none:LA.None,flex:LA.Flex,contents:LA.Contents},gu={inherit:tA.Inherit,ltr:tA.LTR,rtl:tA.RTL},hu={column:AA.Column,"column-reverse":AA.ColumnReverse,row:AA.Row,"row-reverse":AA.RowReverse},cu={"no-wrap":KA.NoWrap,wrap:KA.Wrap,"Wrap-reverse":KA.WrapReverse},uu={"flex-start":Bt.FlexStart,center:Bt.Center,"flex-end":Bt.FlexEnd,"space-between":Bt.SpaceBetween,"space-around":Bt.SpaceAround,"space-evenly":Bt.SpaceEvenly},fu={visible:HA.Visible,hidden:HA.Hidden,scroll:HA.Scroll},du={static:JA.Static,relative:JA.Relative,absolute:JA.Absolute},Iu={"border-box":or.BorderBox,"content-box":or.ContentBox},Tr=class Tr{constructor(A){h(this,"_node",Tr._yoga.Node.create());this._element=A}static async load(){this._yoga=await au()}get _style(){return this._element.style}get offsetLeft(){return this._node.getComputedLeft()}get offsetTop(){return this._node.getComputedTop()}get offsetWidth(){return this._node.getComputedWidth()}get offsetHeight(){return this._node.getComputedHeight()}calculateLayout(A,e,t){return this._node.calculateLayout(A,e,t)}getComputedLayout(){return this._node.getComputedLayout()}updateStyleProperty(A,e,t,i){switch(A){case"alignContent":this._node.setAlignContent(Js[this._style.alignContent]);break;case"alignItems":this._node.setAlignItems(Js[this._style.alignItems]);break;case"alignSelf":this._node.setAlignSelf(Js[this._style.alignSelf]);break;case"aspectRatio":this._node.setAspectRatio(e);break;case"borderTop":this._node.setBorder(de.Top,this._style.borderWidth);break;case"borderBottom":this._node.setBorder(de.Bottom,this._style.borderWidth);break;case"borderLeft":this._node.setBorder(de.Left,this._style.borderWidth);break;case"borderRight":this._node.setBorder(de.Right,this._style.borderWidth);break;case"border":this._node.setBorder(de.All,this._style.borderWidth);break;case"direction":this._node.setDirection(gu[this._style.direction]);break;case"display":this._node.setDisplay(lu[this._style.display]);break;case"flex":this._node.setFlex(this._style.flex);break;case"flexBasis":this._node.setFlexBasis(this._style.flexBasis);break;case"flexDirection":this._node.setFlexDirection(hu[this._style.flexDirection]);break;case"flexGrow":this._node.setFlexGrow(this._style.flexGrow);break;case"flexShrink":this._node.setFlexShrink(this._style.flexShrink);break;case"flexWrap":this._node.setFlexWrap(cu[this._style.flexWrap]);break;case"height":this._node.setHeight(this._style.height);break;case"justifyContent":this._node.setJustifyContent(uu[this._style.justifyContent]);break;case"gap":this._node.setGap(ar.All,this._style.gap);break;case"marginTop":this._node.setMargin(de.Top,this._style.marginTop);break;case"marginBottom":this._node.setMargin(de.Top,this._style.marginBottom);break;case"marginLeft":this._node.setMargin(de.Left,this._style.marginLeft);break;case"marginRight":this._node.setMargin(de.Top,this._style.marginRight);break;case"margin":this._node.setMargin(de.All,this._style.margin);break;case"maxHeight":this._node.setMaxHeight(this._style.maxHeight);break;case"maxWidth":this._node.setMaxWidth(this._style.maxWidth);break;case"minHeight":this._node.setMinHeight(this._style.minHeight);break;case"minWidth":this._node.setMinWidth(this._style.minWidth);break;case"overflow":this._node.setOverflow(fu[this._style.overflow]);break;case"paddingTop":this._node.setPadding(de.Top,this._style.paddingTop);break;case"paddingBottom":this._node.setPadding(de.Bottom,this._style.paddingBottom);break;case"paddingLeft":this._node.setPadding(de.Left,this._style.paddingLeft);break;case"paddingRight":this._node.setPadding(de.Right,this._style.paddingRight);break;case"padding":this._node.setPadding(de.All,this._style.padding);break;case"top":this._node.setPosition(de.Top,this._style.top);break;case"bottom":this._node.setPosition(de.Bottom,this._style.bottom);break;case"left":this._node.setPosition(de.Left,this._style.left);break;case"right":this._node.setPosition(de.Right,this._style.right);break;case"position":this._node.setPositionType(du[this._style.position]);break;case"boxSizing":this._node.setBoxSizing(Iu[this._style.boxSizing]);break;case"width":this._node.setWidth(this._style.width);break}}};h(Tr,"_yoga");let lr=Tr;var Bu=Object.getOwnPropertyDescriptor,Eu=(r,A,e,t)=>{for(var i=t>1?void 0:t?Bu(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(i)||i);return i};u.FlexElement2D=class extends u.BaseElement2D{constructor(e,t=[]){super();h(this,"_layout",new lr(this));this.style=new Hs,this.setProperties(e).append(t)}get style(){return this._style}set style(e){var i;const t=(...s)=>{this.emit("updateStyleProperty",...s),this._updateStyleProperty(s[0],s[1],s[2],s[3])};e.on("updateProperty",t),(i=this._style)==null||i.off("updateProperty",t),this._style=e}get offsetLeft(){return this._layout.offsetLeft}get offsetTop(){return this._layout.offsetTop}get offsetWidth(){return this._layout.offsetWidth}get offsetHeight(){return this._layout.offsetHeight}_parented(e){super._parented(e),e._layout&&this._layout._node&&e._layout._node.insertChild(this._layout._node,e._layout._node.getChildCount())}_unparented(e){var t;super._unparented(e),(t=e._layout)!=null&&t._node&&e._layout._node.removeChild(this._layout._node)}_updateStyleProperty(e,t,i,s){super._updateStyleProperty(e,t,i,s),this._layout.updateStyleProperty(e,t,i,s),this._layout._node.isDirty()&&this.requestRelayout()}_updateTransform(){this.calculateLayout(void 0,void 0,tA.LTR);const{left:e,top:t,width:i,height:s}=this._layout.getComputedLayout();this.position.x=e,this.position.y=t,this.size.x=i,this.size.y=s,super._updateTransform()}calculateLayout(e,t,i){var n;const s=this.getParent();(n=s==null?void 0:s._layout)!=null&&n.calculateLayout?s==null||s._layout.calculateLayout(e,t,i):this._layout.calculateLayout(e,t,i)}},u.FlexElement2D=Eu([re("FlexElement2D")],u.FlexElement2D);var pu=Object.defineProperty,Cu=Object.getOwnPropertyDescriptor,ke=(r,A,e,t)=>{for(var i=t>1?void 0:t?Cu(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&pu(A,e,i),i};function Fe(r){return function(A,e){Object.defineProperty(A.constructor.prototype,e,{get(){return r!=null&&r.method?(...t)=>(this.context[e].call(this.context,...t),r.redraw&&this.requestRedraw(),A):this.context[e]},set(t){this.context[e]=t},configurable:!0,enumerable:!0})}}u.Graphics2D=class extends u.Node2D{constructor(){super(...arguments);h(this,"_resetContext",!1);h(this,"lineCap");h(this,"lineJoin");h(this,"fillStyle");h(this,"strokeStyle");h(this,"lineWidth");h(this,"miterLimit")}drawCircle(e,t,i){return this.arc(e+i,t+i,i,0,ze),this.fill(),this}drawEllipse(e,t,i,s){const n=i/2,o=s/2;return this.ellipse(e+n,t+o,n,o,0,0,ze),this.fill(),this}},ke([Fe()],u.Graphics2D.prototype,"lineCap",2),ke([Fe()],u.Graphics2D.prototype,"lineJoin",2),ke([Fe()],u.Graphics2D.prototype,"fillStyle",2),ke([Fe()],u.Graphics2D.prototype,"strokeStyle",2),ke([Fe()],u.Graphics2D.prototype,"lineWidth",2),ke([Fe()],u.Graphics2D.prototype,"miterLimit",2),ke([Fe({method:!0})],u.Graphics2D.prototype,"rect",2),ke([Fe({method:!0,redraw:!0})],u.Graphics2D.prototype,"fillRect",2),ke([Fe({method:!0,redraw:!0})],u.Graphics2D.prototype,"strokeRect",2),ke([Fe({method:!0})],u.Graphics2D.prototype,"roundRect",2),ke([Fe({method:!0})],u.Graphics2D.prototype,"ellipse",2),ke([Fe({method:!0})],u.Graphics2D.prototype,"arc",2),ke([Fe({method:!0})],u.Graphics2D.prototype,"beginPath",2),ke([Fe({method:!0})],u.Graphics2D.prototype,"moveTo",2),ke([Fe({method:!0})],u.Graphics2D.prototype,"lineTo",2),ke([Fe({method:!0})],u.Graphics2D.prototype,"closePath",2),ke([Fe({method:!0,redraw:!0})],u.Graphics2D.prototype,"fill",2),ke([Fe({method:!0,redraw:!0})],u.Graphics2D.prototype,"stroke",2),u.Graphics2D=ke([re("Graphics2D")],u.Graphics2D);var Qu=Object.defineProperty,yu=Object.getOwnPropertyDescriptor,vi=(r,A,e,t)=>{for(var i=t>1?void 0:t?yu(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&Qu(A,e,i),i};u.Image2D=class extends u.Element2D{constructor(e,t=[]){super();h(this,"texture");h(this,"_frameIndex",0);h(this,"_complete",!1);h(this,"_wait",Promise.resolve());this.setProperties(e),this.append(t)}get currentFrameTexture(){var e,t;return(t=(e=this.texture)==null?void 0:e.frames[this._frameIndex])==null?void 0:t.texture}get textureDuration(){var e;return((e=this.texture)==null?void 0:e.duration)??0}get naturalWidth(){var e;return((e=this.currentFrameTexture)==null?void 0:e.realWidth)??0}get naturalHeight(){var e;return((e=this.currentFrameTexture)==null?void 0:e.realHeight)??0}get complete(){return this._complete}_updateProperty(e,t,i,s){switch(super._updateProperty(e,t,i,s),e){case"src":this._wait=this._load(t);break;case"srcRect":this.requestRedraw();break}}decode(){return this._wait}setResource(e){let t;if(e instanceof er?t=e:t=new er(e),this.texture=t.updateDuration(),this.currentFrameTexture&&(!this.style.width||!this.style.height)){const i=this.currentFrameTexture;this.style.width=i.realWidth,this.style.height=i.realHeight}return this}async _load(e){if(this._complete=!1,e)try{this.setResource(this.gif?await Vt.gif.load(e):await Vt.texture.load(e)),this.requestRedraw(),this.emit("load")}catch(t){console.warn(t),this.emit("error",t)}else this.texture=void 0;this._complete=!0}_getFrameCurrentTime(){const e=this.textureDuration;if(!e||!this._tree)return 0;const t=this._currentTime;return t<0?0:t%e}_updateFrameIndex(){if(!this.texture)return this;const e=this._getFrameCurrentTime(),t=this.texture.frames,i=t.length;if(i<=1&&this._frameIndex===0)return this;let s=i-1;for(let n=0,o=0;o<i;o++)if(n+=t[o].duration??0,n>=e){s=o;break}return this._frameIndex!==s&&(this._frameIndex=s,this.requestRepaint()),this}_process(e){this._updateFrameIndex(),super._process(e)}_drawContent(){const e=this.currentFrameTexture;if(e!=null&&e.valid){const{left:t=0,top:i=0,right:s=0,bottom:n=0}=this.srcRect??{},{width:o,height:a}=this.size;this.context.fillStyle=e;const l=Math.abs(1+(t+s))*o,g=Math.abs(1+(i+n))*a,c=1/l,f=1/g,I=t*o*c,d=i*a*f;this.context.textureTransform=new xt().scale(c,f).translate(I,d),super._drawContent()}}_repaint(e){return super._repaint(e).map(t=>({...t,disableWrapMode:!0}))}},vi([Ee()],u.Image2D.prototype,"texture",2),vi([k()],u.Image2D.prototype,"srcRect",2),vi([k({default:""})],u.Image2D.prototype,"src",2),vi([k({default:!1})],u.Image2D.prototype,"gif",2),u.Image2D=vi([re("Image2D")],u.Image2D);class gr extends u.Element2D{constructor(e,t=[]){super();h(this,"texture");this.setProperties(e).append(t)}_drawContent(){var e;if((e=this.texture)!=null&&e.valid){const{width:t,height:i}=this.size;this.context.fillStyle=this.texture,this.context.textureTransform=new xt().scale(1/t,1/i),super._drawContent()}}}var mu=Object.defineProperty,wu=Object.getOwnPropertyDescriptor,Na=(r,A,e,t)=>{for(var i=t>1?void 0:t?wu(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&mu(A,e,i),i};u.Lottie2D=class extends gr{constructor(e,t=[]){super();h(this,"texture",new li);h(this,"animation");this.setProperties(e),this.append(t)}_updateProperty(e,t,i,s){switch(super._updateProperty(e,t,i,s),e){case"src":this._load();break}}_updateStyleProperty(e,t,i){switch(super._updateStyleProperty(e,t,i),e){case"width":this.texture.width=this.style.width;break;case"height":this.texture.height=this.style.height;break}}async _load(){this.animation=await Vt.lottie.load(this.src,this.texture.source),this.duration=this.animation.getDuration(!1)*1e3,this.texture.requestUpload(),this.requestRedraw()}_process(e){var t;(t=this.animation)==null||t.goToAndStop(this.currentTime,!1),this.texture.requestUpload(),this.requestRepaint(),super._process(e)}},Na([k({default:""})],u.Lottie2D.prototype,"src",2),u.Lottie2D=Na([re("Lottie2D")],u.Lottie2D);function vu(){return{shadowColor:"transparent",shadowOffsetX:0,shadowOffsetY:0,shadowBlur:0}}function _u(){return{left:0,top:0,width:0,height:0,rotate:0,scaleX:1,scaleY:1,skewX:0,skewY:0,translateX:0,translateY:0,transform:"none",transformOrigin:"center"}}function Du(){return{overflow:"visible",visibility:"visible",filter:"none",opacity:1,marginLeft:0,marginTop:0,marginRight:0,marginBottom:0,paddingLeft:0,paddingTop:0,paddingRight:0,paddingBottom:0,..._u(),backgroundImage:"none",backgroundColor:"transparent",...vu(),borderRadius:0,borderColor:"transparent",borderWidth:1}}function bu(){return{writingMode:"horizontal-tb",verticalAlign:"baseline",lineHeight:1.2,letterSpacing:0,wordSpacing:0,fontSize:14,fontWeight:"normal",fontFamily:"",fontStyle:"normal",fontKerning:"normal",textWrap:"wrap",textAlign:"start",textIndent:0,textTransform:"none",textOrientation:"mixed",textDecoration:"none",textStrokeWidth:0,textStrokeColor:"black",color:"black",listStyleType:"none",listStyleImage:"none",listStyleColormap:"none",listStyleSize:"cover",listStylePosition:"outside",highlightImage:"none",highlightReferImage:"none",highlightColormap:"none",highlightLine:"none",highlightSize:"cover",highlightThickness:"100%"}}function xu(){return{...Du(),...bu()}}var qe=Uint8Array,ht=Uint16Array,Ks=Int32Array,hr=new qe([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),cr=new qe([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Ys=new qe([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Fa=function(r,A){for(var e=new ht(31),t=0;t<31;++t)e[t]=A+=1<<r[t-1];for(var i=new Ks(e[30]),t=1;t<30;++t)for(var s=e[t];s<e[t+1];++s)i[s]=s-e[t]<<5|t;return{b:e,r:i}},Ta=Fa(hr,2),La=Ta.b,Ws=Ta.r;La[28]=258,Ws[258]=28;for(var Ga=Fa(cr,0),Su=Ga.b,Oa=Ga.r,Vs=new ht(32768),pe=0;pe<32768;++pe){var iA=(pe&43690)>>1|(pe&21845)<<1;iA=(iA&52428)>>2|(iA&13107)<<2,iA=(iA&61680)>>4|(iA&3855)<<4,Vs[pe]=((iA&65280)>>8|(iA&255)<<8)>>1}for(var kt=function(r,A,e){for(var t=r.length,i=0,s=new ht(A);i<t;++i)r[i]&&++s[r[i]-1];var n=new ht(A);for(i=1;i<A;++i)n[i]=n[i-1]+s[i-1]<<1;var o;if(e){o=new ht(1<<A);var a=15-A;for(i=0;i<t;++i)if(r[i])for(var l=i<<4|r[i],g=A-r[i],c=n[r[i]-1]++<<g,f=c|(1<<g)-1;c<=f;++c)o[Vs[c]>>a]=l}else for(o=new ht(t),i=0;i<t;++i)r[i]&&(o[i]=Vs[n[r[i]-1]++]>>15-r[i]);return o},rA=new qe(288),pe=0;pe<144;++pe)rA[pe]=8;for(var pe=144;pe<256;++pe)rA[pe]=9;for(var pe=256;pe<280;++pe)rA[pe]=7;for(var pe=280;pe<288;++pe)rA[pe]=8;for(var _i=new qe(32),pe=0;pe<32;++pe)_i[pe]=5;var Mu=kt(rA,9,0),Ru=kt(rA,9,1),Uu=kt(_i,5,0),ku=kt(_i,5,1),zs=function(r){for(var A=r[0],e=1;e<r.length;++e)r[e]>A&&(A=r[e]);return A},yt=function(r,A,e){var t=A/8|0;return(r[t]|r[t+1]<<8)>>(A&7)&e},qs=function(r,A){var e=A/8|0;return(r[e]|r[e+1]<<8|r[e+2]<<16)>>(A&7)},Xs=function(r){return(r+7)/8|0},Ha=function(r,A,e){return(e==null||e>r.length)&&(e=r.length),new qe(r.subarray(A,e))},Pu=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],mt=function(r,A,e){var t=new Error(A||Pu[r]);if(t.code=r,Error.captureStackTrace&&Error.captureStackTrace(t,mt),!e)throw t;return t},Nu=function(r,A,e,t){var i=r.length,s=0;if(!i||A.f&&!A.l)return e||new qe(0);var n=!e,o=n||A.i!=2,a=A.i;n&&(e=new qe(i*3));var l=function(Oe){var ge=e.length;if(Oe>ge){var me=new qe(Math.max(ge*2,Oe));me.set(e),e=me}},g=A.f||0,c=A.p||0,f=A.b||0,I=A.l,d=A.d,C=A.m,B=A.n,R=i*8;do{if(!I){g=yt(r,c,1);var S=yt(r,c+1,3);if(c+=3,S)if(S==1)I=Ru,d=ku,C=9,B=5;else if(S==2){var v=yt(r,c,31)+257,D=yt(r,c+10,15)+4,x=v+yt(r,c+5,31)+1;c+=14;for(var L=new qe(x),j=new qe(19),Y=0;Y<D;++Y)j[Ys[Y]]=yt(r,c+Y*3,7);c+=D*3;for(var T=zs(j),$=(1<<T)-1,P=kt(j,T,1),Y=0;Y<x;){var X=P[yt(r,c,$)];c+=X&15;var _=X>>4;if(_<16)L[Y++]=_;else{var ee=0,J=0;for(_==16?(J=3+yt(r,c,3),c+=2,ee=L[Y-1]):_==17?(J=3+yt(r,c,7),c+=3):_==18&&(J=11+yt(r,c,127),c+=7);J--;)L[Y++]=ee}}var H=L.subarray(0,v),ne=L.subarray(v);C=zs(H),B=zs(ne),I=kt(H,C,1),d=kt(ne,B,1)}else mt(1);else{var _=Xs(c)+4,M=r[_-4]|r[_-3]<<8,w=_+M;if(w>i){a&&mt(0);break}o&&l(f+M),e.set(r.subarray(_,w),f),A.b=f+=M,A.p=c=w*8,A.f=g;continue}if(c>R){a&&mt(0);break}}o&&l(f+131072);for(var q=(1<<C)-1,W=(1<<B)-1,oe=c;;oe=c){var ee=I[qs(r,c)&q],te=ee>>4;if(c+=ee&15,c>R){a&&mt(0);break}if(ee||mt(2),te<256)e[f++]=te;else if(te==256){oe=c,I=null;break}else{var ae=te-254;if(te>264){var Y=te-257,Ae=hr[Y];ae=yt(r,c,(1<<Ae)-1)+La[Y],c+=Ae}var le=d[qs(r,c)&W],z=le>>4;le||mt(3),c+=le&15;var ne=Su[z];if(z>3){var Ae=cr[z];ne+=qs(r,c)&(1<<Ae)-1,c+=Ae}if(c>R){a&&mt(0);break}o&&l(f+131072);var Ie=f+ae;if(f<ne){var nt=s-ne,ot=Math.min(ne,Ie);for(nt+f<0&&mt(3);f<ot;++f)e[f]=t[nt+f]}for(;f<Ie;++f)e[f]=e[f-ne]}}A.l=I,A.p=oe,A.b=f,A.f=g,I&&(g=1,A.m=C,A.d=d,A.n=B)}while(!g);return f!=e.length&&n?Ha(e,0,f):e.subarray(0,f)},Yt=function(r,A,e){e<<=A&7;var t=A/8|0;r[t]|=e,r[t+1]|=e>>8},Di=function(r,A,e){e<<=A&7;var t=A/8|0;r[t]|=e,r[t+1]|=e>>8,r[t+2]|=e>>16},js=function(r,A){for(var e=[],t=0;t<r.length;++t)r[t]&&e.push({s:t,f:r[t]});var i=e.length,s=e.slice();if(!i)return{t:Wa,l:0};if(i==1){var n=new qe(e[0].s+1);return n[e[0].s]=1,{t:n,l:1}}e.sort(function(w,v){return w.f-v.f}),e.push({s:-1,f:25001});var o=e[0],a=e[1],l=0,g=1,c=2;for(e[0]={s:-1,f:o.f+a.f,l:o,r:a};g!=i-1;)o=e[e[l].f<e[c].f?l++:c++],a=e[l!=g&&e[l].f<e[c].f?l++:c++],e[g++]={s:-1,f:o.f+a.f,l:o,r:a};for(var f=s[0].s,t=1;t<i;++t)s[t].s>f&&(f=s[t].s);var I=new ht(f+1),d=Zs(e[g-1],I,0);if(d>A){var t=0,C=0,B=d-A,R=1<<B;for(s.sort(function(v,D){return I[D.s]-I[v.s]||v.f-D.f});t<i;++t){var S=s[t].s;if(I[S]>A)C+=R-(1<<d-I[S]),I[S]=A;else break}for(C>>=B;C>0;){var _=s[t].s;I[_]<A?C-=1<<A-I[_]++-1:++t}for(;t>=0&&C;--t){var M=s[t].s;I[M]==A&&(--I[M],++C)}d=A}return{t:new qe(I),l:d}},Zs=function(r,A,e){return r.s==-1?Math.max(Zs(r.l,A,e+1),Zs(r.r,A,e+1)):A[r.s]=e},Ja=function(r){for(var A=r.length;A&&!r[--A];);for(var e=new ht(++A),t=0,i=r[0],s=1,n=function(a){e[t++]=a},o=1;o<=A;++o)if(r[o]==i&&o!=A)++s;else{if(!i&&s>2){for(;s>138;s-=138)n(32754);s>2&&(n(s>10?s-11<<5|28690:s-3<<5|12305),s=0)}else if(s>3){for(n(i),--s;s>6;s-=6)n(8304);s>2&&(n(s-3<<5|8208),s=0)}for(;s--;)n(i);s=1,i=r[o]}return{c:e.subarray(0,t),n:A}},bi=function(r,A){for(var e=0,t=0;t<A.length;++t)e+=r[t]*A[t];return e},Ka=function(r,A,e){var t=e.length,i=Xs(A+2);r[i]=t&255,r[i+1]=t>>8,r[i+2]=r[i]^255,r[i+3]=r[i+1]^255;for(var s=0;s<t;++s)r[i+s+4]=e[s];return(i+4+t)*8},Ya=function(r,A,e,t,i,s,n,o,a,l,g){Yt(A,g++,e),++i[256];for(var c=js(i,15),f=c.t,I=c.l,d=js(s,15),C=d.t,B=d.l,R=Ja(f),S=R.c,_=R.n,M=Ja(C),w=M.c,v=M.n,D=new ht(19),x=0;x<S.length;++x)++D[S[x]&31];for(var x=0;x<w.length;++x)++D[w[x]&31];for(var L=js(D,7),j=L.t,Y=L.l,T=19;T>4&&!j[Ys[T-1]];--T);var $=l+5<<3,P=bi(i,rA)+bi(s,_i)+n,X=bi(i,f)+bi(s,C)+n+14+3*T+bi(D,j)+2*D[16]+3*D[17]+7*D[18];if(a>=0&&$<=P&&$<=X)return Ka(A,g,r.subarray(a,a+l));var ee,J,H,ne;if(Yt(A,g,1+(X<P)),g+=2,X<P){ee=kt(f,I,0),J=f,H=kt(C,B,0),ne=C;var q=kt(j,Y,0);Yt(A,g,_-257),Yt(A,g+5,v-1),Yt(A,g+10,T-4),g+=14;for(var x=0;x<T;++x)Yt(A,g+3*x,j[Ys[x]]);g+=3*T;for(var W=[S,w],oe=0;oe<2;++oe)for(var te=W[oe],x=0;x<te.length;++x){var ae=te[x]&31;Yt(A,g,q[ae]),g+=j[ae],ae>15&&(Yt(A,g,te[x]>>5&127),g+=te[x]>>12)}}else ee=Mu,J=rA,H=Uu,ne=_i;for(var x=0;x<o;++x){var Ae=t[x];if(Ae>255){var ae=Ae>>18&31;Di(A,g,ee[ae+257]),g+=J[ae+257],ae>7&&(Yt(A,g,Ae>>23&31),g+=hr[ae]);var le=Ae&31;Di(A,g,H[le]),g+=ne[le],le>3&&(Di(A,g,Ae>>5&8191),g+=cr[le])}else Di(A,g,ee[Ae]),g+=J[Ae]}return Di(A,g,ee[256]),g+J[256]},Fu=new Ks([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Wa=new qe(0),Tu=function(r,A,e,t,i,s){var n=s.z||r.length,o=new qe(t+n+5*(1+Math.ceil(n/7e3))+i),a=o.subarray(t,o.length-i),l=s.l,g=(s.r||0)&7;if(A){g&&(a[0]=s.r>>3);for(var c=Fu[A-1],f=c>>13,I=c&8191,d=(1<<e)-1,C=s.p||new ht(32768),B=s.h||new ht(d+1),R=Math.ceil(e/3),S=2*R,_=function(He){return(r[He]^r[He+1]<<R^r[He+2]<<S)&d},M=new Ks(25e3),w=new ht(288),v=new ht(32),D=0,x=0,L=s.i||0,j=0,Y=s.w||0,T=0;L+2<n;++L){var $=_(L),P=L&32767,X=B[$];if(C[P]=X,B[$]=P,Y<=L){var ee=n-L;if((D>7e3||j>24576)&&(ee>423||!l)){g=Ya(r,a,0,M,w,v,x,j,T,L-T,g),j=D=x=0,T=L;for(var J=0;J<286;++J)w[J]=0;for(var J=0;J<30;++J)v[J]=0}var H=2,ne=0,q=I,W=P-X&32767;if(ee>2&&$==_(L-W))for(var oe=Math.min(f,ee)-1,te=Math.min(32767,L),ae=Math.min(258,ee);W<=te&&--q&&P!=X;){if(r[L+H]==r[L+H-W]){for(var Ae=0;Ae<ae&&r[L+Ae]==r[L+Ae-W];++Ae);if(Ae>H){if(H=Ae,ne=W,Ae>oe)break;for(var le=Math.min(W,Ae-2),z=0,J=0;J<le;++J){var Ie=L-W+J&32767,nt=C[Ie],ot=Ie-nt&32767;ot>z&&(z=ot,X=Ie)}}}P=X,X=C[P],W+=P-X&32767}if(ne){M[j++]=268435456|Ws[H]<<18|Oa[ne];var Oe=Ws[H]&31,ge=Oa[ne]&31;x+=hr[Oe]+cr[ge],++w[257+Oe],++v[ge],Y=L+H,++D}else M[j++]=r[L],++w[r[L]]}}for(L=Math.max(L,Y);L<n;++L)M[j++]=r[L],++w[r[L]];g=Ya(r,a,l,M,w,v,x,j,T,L-T,g),l||(s.r=g&7|a[g/8|0]<<3,g-=7,s.h=B,s.p=C,s.i=L,s.w=Y)}else{for(var L=s.w||0;L<n+l;L+=65535){var me=L+65535;me>=n&&(a[g/8|0]=l,me=n),g=Ka(a,g+1,r.subarray(L,me))}s.i=n}return Ha(o,0,t+Xs(g)+i)},Va=function(){var r=1,A=0;return{p:function(e){for(var t=r,i=A,s=e.length|0,n=0;n!=s;){for(var o=Math.min(n+2655,s);n<o;++n)i+=t+=e[n];t=(t&65535)+15*(t>>16),i=(i&65535)+15*(i>>16)}r=t,A=i},d:function(){return r%=65521,A%=65521,(r&255)<<24|(r&65280)<<8|(A&255)<<8|A>>8}}},Lu=function(r,A,e,t,i){if(!i&&(i={l:1},A.dictionary)){var s=A.dictionary.subarray(-32768),n=new qe(s.length+r.length);n.set(s),n.set(r,s.length),r=n,i.w=s.length}return Tu(r,A.level==null?6:A.level,A.mem==null?i.l?Math.ceil(Math.max(8,Math.min(13,Math.log(r.length)))*1.5):20:12+A.mem,e,t,i)},za=function(r,A,e){for(;e;++A)r[A]=e,e>>>=8},Gu=function(r,A){var e=A.level,t=e==0?0:e<6?1:e==9?3:2;if(r[0]=120,r[1]=t<<6|(A.dictionary&&32),r[1]|=31-(r[0]<<8|r[1])%31,A.dictionary){var i=Va();i.p(A.dictionary),za(r,2,i.d())}},Ou=function(r,A){return((r[0]&15)!=8||r[0]>>4>7||(r[0]<<8|r[1])%31)&&mt(6,"invalid zlib data"),(r[1]>>5&1)==1&&mt(6,"invalid zlib data: "+(r[1]&32?"need":"unexpected")+" dictionary"),(r[1]>>3&4)+2};function Hu(r,A){A||(A={});var e=Va();e.p(r);var t=Lu(r,A,A.dictionary?6:2,4);return Gu(t,A),za(t,t.length-4,e.d()),t}function Ju(r,A){return Nu(r.subarray(Ou(r),-4),{i:2},A,A)}var Ku=typeof TextDecoder<"u"&&new TextDecoder,Yu=0;try{Ku.decode(Wa,{stream:!0}),Yu=1}catch{}const Wu="modern-font";function xi(r,A){if(!r)throw new Error(`[${Wu}] ${A}`)}function Vu(r){if("buffer"in r){const A=r.buffer;return r.byteOffset>0||r.byteLength<r.buffer.byteLength?A.slice(r.byteOffset,r.byteOffset+r.byteLength):A}else return r}function YA(r){return"buffer"in r?new DataView(r.buffer,r.byteOffset,r.byteLength):new DataView(r)}function zu(r){let A="";for(let e=0,t=r.length,i;e<t;e++)i=r.charCodeAt(e),i!==0&&(A+=String.fromCharCode(i));return A}function ur(r){r=zu(r);const A=[];for(let e=0,t=r.length,i;e<t;e++)i=r.charCodeAt(e),A.push(i>>8),A.push(i&255);return A}function qu(r){let A="";for(let e=0,t=r.length;e<t;e++)r[e]<127?A+=String.fromCharCode(r[e]):A+=`%${(256+r[e]).toString(16).slice(1)}`;return unescape(A)}function Xu(r){let A="";for(let e=0,t=r.length;e<t;e+=2)A+=String.fromCharCode((r[e]<<8)+r[e+1]);return A}var ju=Object.defineProperty,Xe=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&ju(A,e,i),i};const Si={int8:1,int16:2,int32:4,uint8:1,uint16:2,uint32:4,float32:4,float64:8,fixed:4,longDateTime:8,char:1};function je(){return function(r,A){Object.defineProperty(r.constructor.prototype,A,{get(){if(typeof A=="string"){if(A.startsWith("read"))return(...e)=>this.read(A.substring(4).toLowerCase(),...e);if(A.startsWith("write"))return(...e)=>this.write(A.substring(5).toLowerCase(),...e)}},configurable:!0,enumerable:!0})}}class Te extends DataView{constructor(e,t,i,s){super(Vu(e),t,i);h(this,"cursor",0);this.littleEndian=s}readColumn(e){if(e.size){const t=Array.from({length:e.size},(i,s)=>this.read(e.type,e.offset+s));switch(e.type){case"char":return t.join("");default:return t}}else return this.read(e.type,e.offset)}writeColumn(e,t){e.size?Array.from({length:e.size},(i,s)=>{this.write(e.type,t[s],e.offset+s)}):this.write(e.type,t,e.offset)}read(e,t=this.cursor,i=this.littleEndian){var l;switch(e){case"char":return this.readChar(t);case"fixed":return this.readFixed(t,i);case"longDateTime":return this.readLongDateTime(t,i)}const s=`get${e.replace(/^\S/,g=>g.toUpperCase())}`,n=this,o=(l=n[s])==null?void 0:l.bind(n),a=o==null?void 0:o(t,i);return this.cursor+=Si[e],a}readUint24(e=this.cursor){const[t,i,s]=this.readBytes(e,3);return(t<<16)+(i<<8)+s}readBytes(e,t){t==null&&(t=e,e=this.cursor);const i=[];for(let s=0;s<t;++s)i.push(this.getUint8(e+s));return this.cursor=e+t,i}readString(e,t){const i=this.readBytes(e,t);let s="";for(let n=0,o=i.length;n<o;n++)s+=String.fromCharCode(i[n]);return s}readFixed(e,t){const i=this.readInt32(e,t)/65536;return Math.ceil(i*1e5)/1e5}readLongDateTime(e=this.cursor,t){const i=this.readUint32(e+4,t),s=new Date;return s.setTime(i*1e3+-20775456e5),s}readChar(e){return this.readString(e,1)}write(e,t,i=this.cursor,s=this.littleEndian){var g;switch(e){case"char":return this.writeChar(t,i);case"fixed":return this.writeFixed(t,i);case"longDateTime":return this.writeLongDateTime(t,i)}const n=`set${e.replace(/^\S/,c=>c.toUpperCase())}`,o=this,a=(g=o[n])==null?void 0:g.bind(o),l=a==null?void 0:a(i,t,s);return this.cursor+=Si[e.toLowerCase()],l}writeString(e="",t=this.cursor){const i=e.replace(/[^\x00-\xFF]/g,"11").length;this.seek(t);for(let s=0,n=e.length,o;s<n;++s)o=e.charCodeAt(s)||0,o>127?this.writeUint16(o):this.writeUint8(o);return this.cursor+=i,this}writeChar(e,t){return this.writeString(e,t)}writeFixed(e,t){return this.writeInt32(Math.round(e*65536),t),this}writeLongDateTime(e,t=this.cursor){typeof e>"u"?e=-20775456e5:typeof e.getTime=="function"?e=e.getTime():/^\d+$/.test(e)?e=+e:e=Date.parse(e);const s=Math.round((e- -20775456e5)/1e3);return this.writeUint32(0,t),this.writeUint32(s,t+4),this}writeBytes(e,t=this.cursor){let i;if(Array.isArray(e)){i=e.length;for(let s=0;s<i;++s)this.setUint8(t+s,e[s])}else{const s=YA(e);i=s.byteLength;for(let n=0;n<i;++n)this.setUint8(t+n,s.getUint8(n))}return this.cursor=t+i,this}seek(e){return this.cursor=e,this}}Xe([je()],Te.prototype,"readInt8"),Xe([je()],Te.prototype,"readInt16"),Xe([je()],Te.prototype,"readInt32"),Xe([je()],Te.prototype,"readUint8"),Xe([je()],Te.prototype,"readUint16"),Xe([je()],Te.prototype,"readUint32"),Xe([je()],Te.prototype,"readFloat32"),Xe([je()],Te.prototype,"readFloat64"),Xe([je()],Te.prototype,"writeInt8"),Xe([je()],Te.prototype,"writeInt16"),Xe([je()],Te.prototype,"writeInt32"),Xe([je()],Te.prototype,"writeUint8"),Xe([je()],Te.prototype,"writeUint16"),Xe([je()],Te.prototype,"writeUint32"),Xe([je()],Te.prototype,"writeFloat32"),Xe([je()],Te.prototype,"writeFloat64");const qa=new WeakMap;function y(r){const A=typeof r=="object"?r:{type:r},{size:e=1,type:t}=A;return(i,s)=>{if(typeof s!="string")return;let n=qa.get(i);n||(n={columns:[],byteLength:0},qa.set(i,n));const o={...A,name:s,byteLength:e*Si[t],offset:A.offset??n.columns.reduce((a,l)=>a+l.byteLength,0)};n.columns.push(o),n.byteLength=n.columns.reduce((a,l)=>a+Si[l.type]*(l.size??1),0),Object.defineProperty(i.constructor.prototype,s,{get(){return this.view.readColumn(o)},set(a){this.view.writeColumn(o,a)},configurable:!0,enumerable:!0})}}class ct{constructor(A,e,t,i){h(this,"view");this.view=new Te(A,e,t,i)}}class fr extends ct{get buffer(){return this.view.buffer}toBuffer(){return this.view.buffer.slice(this.view.byteOffset,this.view.byteOffset+this.view.byteLength)}toBlob(){return new Blob([new Uint8Array(this.view.buffer,this.view.byteOffset,this.view.byteLength)],{type:this.mimeType})}toFontFace(A){return new FontFace(A,this.view.buffer)}}var Zu=Object.defineProperty,At=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&Zu(A,e,i),i};const it=class Gl extends fr{constructor(){super(...arguments);h(this,"format","EmbeddedOpenType");h(this,"mimeType","application/vnd.ms-fontobject")}static from(e){const t=e.sfnt,s=t.name.names,n=ur(s.fontFamily||""),o=n.length,a=ur(s.fontStyle||""),l=a.length,g=ur(s.version||""),c=g.length,f=ur(s.fullName||""),I=f.length,d=86+o+4+l+4+c+4+I+2+e.view.byteLength,C=new Gl(new ArrayBuffer(d),0,d,!0);C.EOTSize=C.view.byteLength,C.FontDataSize=e.view.byteLength,C.Version=131073,C.Flags=0,C.Charset=1,C.MagicNumber=20556,C.Padding1=0,C.CheckSumAdjustment=t.head.checkSumAdjustment;const B=t.os2;return B&&(C.FontPANOSE=B.fontPANOSE,C.Italic=B.fsSelection,C.Weight=B.usWeightClass,C.fsType=B.fsType,C.UnicodeRange=B.ulUnicodeRange,C.CodePageRange=B.ulCodePageRange),C.view.writeUint16(o),C.view.writeBytes(n),C.view.writeUint16(0),C.view.writeUint16(l),C.view.writeBytes(a),C.view.writeUint16(0),C.view.writeUint16(c),C.view.writeBytes(g),C.view.writeUint16(0),C.view.writeUint16(I),C.view.writeBytes(f),C.view.writeUint16(0),C.view.writeUint16(0),C.view.writeBytes(e.view),C}};At([y("uint32")],it.prototype,"EOTSize"),At([y("uint32")],it.prototype,"FontDataSize"),At([y("uint32")],it.prototype,"Version"),At([y("uint32")],it.prototype,"Flags"),At([y({type:"uint8",size:10})],it.prototype,"FontPANOSE"),At([y("uint8")],it.prototype,"Charset"),At([y("uint8")],it.prototype,"Italic"),At([y("uint32")],it.prototype,"Weight"),At([y("uint16")],it.prototype,"fsType"),At([y("uint16")],it.prototype,"MagicNumber"),At([y({type:"uint8",size:16})],it.prototype,"UnicodeRange"),At([y({type:"uint8",size:8})],it.prototype,"CodePageRange"),At([y("uint32")],it.prototype,"CheckSumAdjustment"),At([y({type:"uint8",size:16})],it.prototype,"Reserved"),At([y("uint16")],it.prototype,"Padding1");var $u=Object.defineProperty,dr=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&$u(A,e,i),i};class WA extends ct{constructor(A,e){super(A,e,16)}}dr([y({type:"char",size:4})],WA.prototype,"tag"),dr([y("uint32")],WA.prototype,"checkSum"),dr([y("uint32")],WA.prototype,"offset"),dr([y("uint32")],WA.prototype,"length");const $s=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],ef=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"];class en{constructor(A){h(this,"index");h(this,"name");h(this,"isComposite",!1);h(this,"components",[]);h(this,"pathCommands",[]);const e={...A};if(this.index=e.index??0,e.name===".notdef"?e.unicode=void 0:e.name===".null"&&(e.unicode=0),e.unicode===0&&e.name!==".null")throw new Error('The unicode value "0" is reserved for the glyph name ".null" and cannot be used by any other glyph.');this.name=e.name??null,e.unicode&&(this.unicode=e.unicode),e.unicodes?this.unicodes=e.unicodes:e.unicode&&(this.unicodes=[e.unicode])}getPathCommands(A=0,e=0,t=72,i={},s){const n=1/((s==null?void 0:s.unitsPerEm)??1e3)*t,{xScale:o=n,yScale:a=n}=i,l=this.pathCommands,g=[];for(let c=0,f=l.length;c<f;c+=1){const I=l[c];I.type==="M"?g.push({type:"M",x:A+I.x*o,y:e+-I.y*a}):I.type==="L"?g.push({type:"L",x:A+I.x*o,y:e+-I.y*a}):I.type==="Q"?g.push({type:"Q",x1:A+I.x1*o,y1:e+-I.y1*a,x:A+I.x*o,y:e+-I.y*a}):I.type==="C"?g.push({type:"C",x1:A+I.x1*o,y1:e+-I.y1*a,x2:A+I.x2*o,y2:e+-I.y2*a,x:A+I.x*o,y:e+-I.y*a}):I.type==="Z"&&g.push({type:"Z"})}return g}}class tf extends en{parse(A,e,t){const i=this,{nominalWidthX:s,defaultWidthX:n,gsubrsBias:o,subrsBias:a}=A,l=A.topDict.paintType,g=this.index;let c,f,I,d;const C=[],B=[];let R=0,S=!1,_=!1,M=n,w=0,v=0;function D(P,X){C.push({type:"L",x:P,y:X})}function x(P,X,ee,J,H,ne){C.push({type:"C",x1:P,y1:X,x2:ee,y2:J,x:H,y:ne})}function L(P,X){_&&l!==2&&j(),_=!0,C.push({type:"M",x:P,y:X})}function j(){C.push({type:"Z"})}function Y(P){C.push(...P)}function T(){B.length%2!==0&&!S&&(M=B.shift()+s),R+=B.length>>1,B.length=0,S=!0}function $(P){let X,ee,J,H,ne,q,W,oe,te,ae,Ae,le,z=0;for(;z<P.length;){let Ie=P[z++];switch(Ie){case 1:T();break;case 3:T();break;case 4:B.length>1&&!S&&(M=B.shift()+s,S=!0),v+=B.pop(),L(w,v);break;case 5:for(;B.length>0;)w+=B.shift(),v+=B.shift(),D(w,v);break;case 6:for(;B.length>0&&(w+=B.shift(),D(w,v),B.length!==0);)v+=B.shift(),D(w,v);break;case 7:for(;B.length>0&&(v+=B.shift(),D(w,v),B.length!==0);)w+=B.shift(),D(w,v);break;case 8:for(;B.length>0;)c=w+B.shift(),f=v+B.shift(),I=c+B.shift(),d=f+B.shift(),w=I+B.shift(),v=d+B.shift(),x(c,f,I,d,w,v);break;case 10:ne=B.pop()+a,q=A.subrs[ne],q&&$(q);break;case 11:return;case 12:switch(Ie=P[z],z+=1,Ie){case 35:c=w+B.shift(),f=v+B.shift(),I=c+B.shift(),d=f+B.shift(),W=I+B.shift(),oe=d+B.shift(),te=W+B.shift(),ae=oe+B.shift(),Ae=te+B.shift(),le=ae+B.shift(),w=Ae+B.shift(),v=le+B.shift(),B.shift(),x(c,f,I,d,W,oe),x(te,ae,Ae,le,w,v);break;case 34:c=w+B.shift(),f=v,I=c+B.shift(),d=f+B.shift(),W=I+B.shift(),oe=d,te=W+B.shift(),ae=d,Ae=te+B.shift(),le=v,w=Ae+B.shift(),x(c,f,I,d,W,oe),x(te,ae,Ae,le,w,v);break;case 36:c=w+B.shift(),f=v+B.shift(),I=c+B.shift(),d=f+B.shift(),W=I+B.shift(),oe=d,te=W+B.shift(),ae=d,Ae=te+B.shift(),le=ae+B.shift(),w=Ae+B.shift(),x(c,f,I,d,W,oe),x(te,ae,Ae,le,w,v);break;case 37:c=w+B.shift(),f=v+B.shift(),I=c+B.shift(),d=f+B.shift(),W=I+B.shift(),oe=d+B.shift(),te=W+B.shift(),ae=oe+B.shift(),Ae=te+B.shift(),le=ae+B.shift(),Math.abs(Ae-w)>Math.abs(le-v)?w=Ae+B.shift():v=le+B.shift(),x(c,f,I,d,W,oe),x(te,ae,Ae,le,w,v);break;default:console.warn(`Glyph ${g}: unknown operator ${1200+Ie}`),B.length=0}break;case 14:if(B.length>=4){const nt=$s[B.pop()],ot=$s[B.pop()],Oe=B.pop(),ge=B.pop();if(nt&&ot){i.isComposite=!0,i.components=[];const me=A.charset.indexOf(nt),He=A.charset.indexOf(ot);i.components.push({glyphIndex:He,dx:0,dy:0}),i.components.push({glyphIndex:me,dx:ge,dy:Oe}),Y(t.get(He).pathCommands);const Ve=JSON.parse(JSON.stringify(t.get(me).pathCommands));for(let be=0;be<Ve.length;be+=1){const et=Ve[be];et.type!=="Z"&&(et.x+=ge,et.y+=Oe),(et.type==="Q"||et.type==="C")&&(et.x1+=ge,et.y1+=Oe),et.type==="C"&&(et.x2+=ge,et.y2+=Oe)}Y(Ve)}}else B.length>0&&!S&&(M=B.shift()+s,S=!0);_&&l!==2&&(j(),_=!1);break;case 18:T();break;case 19:case 20:T(),z+=R+7>>3;break;case 21:B.length>2&&!S&&(M=B.shift()+s,S=!0),v+=B.pop(),w+=B.pop(),L(w,v);break;case 22:B.length>1&&!S&&(M=B.shift()+s,S=!0),w+=B.pop(),L(w,v);break;case 23:T();break;case 24:for(;B.length>2;)c=w+B.shift(),f=v+B.shift(),I=c+B.shift(),d=f+B.shift(),w=I+B.shift(),v=d+B.shift(),x(c,f,I,d,w,v);w+=B.shift(),v+=B.shift(),D(w,v);break;case 25:for(;B.length>6;)w+=B.shift(),v+=B.shift(),D(w,v);c=w+B.shift(),f=v+B.shift(),I=c+B.shift(),d=f+B.shift(),w=I+B.shift(),v=d+B.shift(),x(c,f,I,d,w,v);break;case 26:for(B.length%2&&(w+=B.shift());B.length>0;)c=w,f=v+B.shift(),I=c+B.shift(),d=f+B.shift(),w=I,v=d+B.shift(),x(c,f,I,d,w,v);break;case 27:for(B.length%2&&(v+=B.shift());B.length>0;)c=w+B.shift(),f=v,I=c+B.shift(),d=f+B.shift(),w=I+B.shift(),v=d,x(c,f,I,d,w,v);break;case 28:X=P[z],ee=P[z+1],B.push((X<<24|ee<<16)>>16),z+=2;break;case 29:ne=B.pop()+o,q=A.gsubrs[ne],q&&$(q);break;case 30:for(;B.length>0&&(c=w,f=v+B.shift(),I=c+B.shift(),d=f+B.shift(),w=I+B.shift(),v=d+(B.length===1?B.shift():0),x(c,f,I,d,w,v),B.length!==0);)c=w+B.shift(),f=v,I=c+B.shift(),d=f+B.shift(),v=d+B.shift(),w=I+(B.length===1?B.shift():0),x(c,f,I,d,w,v);break;case 31:for(;B.length>0&&(c=w+B.shift(),f=v,I=c+B.shift(),d=f+B.shift(),v=d+B.shift(),w=I+(B.length===1?B.shift():0),x(c,f,I,d,w,v),B.length!==0);)c=w,f=v+B.shift(),I=c+B.shift(),d=f+B.shift(),w=I+B.shift(),v=d+(B.length===1?B.shift():0),x(c,f,I,d,w,v);break;default:Ie<32?console.warn(`Glyph ${g}: unknown operator ${Ie}`):Ie<247?B.push(Ie-139):Ie<251?(X=P[z],z+=1,B.push((Ie-247)*256+X+108)):Ie<255?(X=P[z],z+=1,B.push(-(Ie-251)*256-X-108)):(X=P[z],ee=P[z+1],J=P[z+2],H=P[z+3],z+=4,B.push((X<<24|ee<<16|J<<8|H)/65536))}}}$(e),this.pathCommands=C,S&&(this.advanceWidth=M)}}class tn{constructor(A){h(this,"_items",[]);this._sfnt=A}get(A){const e=this._items[A];let t;if(e)t=e;else{t=this._get(A);const i=this._sfnt.hmtx.metrics[A];i&&(t.advanceWidth=t.advanceWidth||i.advanceWidth,t.leftSideBearing=t.leftSideBearing||i.leftSideBearing);const s=this._sfnt.cmap.glyphIndexToUnicodesMap.get(A);s&&(t.unicode??(t.unicode=s[0]),t.unicodes??(t.unicodes=s)),this._items[A]=t}return t}}class Af extends tn{get length(){return this._sfnt.cff.charStringsIndex.offsets.length-1}_get(A){const e=this._sfnt.cff,t=new tf({index:A});return t.parse(e,e.charStringsIndex.get(A),this),t.name=e.charset[A],t}}var rf=Object.defineProperty,Xa=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&rf(A,e,i),i};class Ir extends ct{constructor(e,t,i,s){super(e,t,i,s);h(this,"_offsets");h(this,"_objects");this._init()}get offsets(){return this._offsets??(this._offsets=this.readOffsets())}get objects(){return this._objects??(this._objects=this.readObjects())}_init(){const e=this.view,t=this.count,i=this.offsetSize;this.objectOffset=(t+1)*i+2,this.endOffset=e.byteOffset+this.objectOffset+this.offsets[t]}readOffsets(){const e=this.view,t=this.count,i=this.offsetSize;e.seek(3);const s=[];for(let n=0,o=t+1;n<o;n++){const a=this.view;let l=0;for(let g=0;g<i;g++)l<<=8,l+=a.readUint8();s.push(l)}return s}readObjects(){const e=[];for(let t=0,i=this.count;t<i;t++)e.push(this.get(t));return e}get(e){const t=this.offsets,i=this.objectOffset,s=i+t[e],o=i+t[e+1]-s;return this._isString?this.view.readString(s,o):this.view.readBytes(s,o)}}Xa([y("uint16")],Ir.prototype,"count"),Xa([y("uint8")],Ir.prototype,"offsetSize");class Br extends Ir{constructor(){super(...arguments);h(this,"_isString",!1)}}class ja extends Ir{constructor(){super(...arguments);h(this,"_isString",!0)}}const sf=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","266 ff","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],nf=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],of=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],af=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"];function Er(r,A){return A<=390?sf[A]:r[A-391]}function Ce(r,A="number",e){return(t,i)=>{if(typeof i!="string")return;const s={type:A,operator:r,default:e??A==="number"?0:void 0};Object.defineProperty(t.constructor.prototype,i,{get(){return this._getProp(s)},set(n){this._setProp(s,n)},configurable:!0,enumerable:!0})}}class Za extends ct{constructor(){super(...arguments);h(this,"_dict");h(this,"_stringIndex")}get dict(){return this._dict??(this._dict=this._readDict())}setStringIndex(e){return this._stringIndex=e,this}_readFloatOperand(){const e=this.view;let t="";const i=15,s=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];for(;;){const n=e.readUint8(),o=n>>4,a=n&15;if(o===i||(t+=s[o],a===i))break;t+=s[a]}return Number.parseFloat(t)}_readOperand(e){const t=this.view;let i,s,n,o;if(e===28)return i=t.readUint8(),s=t.readUint8(),i<<8|s;if(e===29)return i=t.readUint8(),s=t.readUint8(),n=t.readUint8(),o=t.readUint8(),i<<24|s<<16|n<<8|o;if(e===30)return this._readFloatOperand();if(e>=32&&e<=246)return e-139;if(e>=247&&e<=250)return i=t.readUint8(),(e-247)*256+i+108;if(e>=251&&e<=254)return i=t.readUint8(),-(e-251)*256-i-108;throw new Error(`invalid b0 ${e}, at: ${t.cursor}`)}_readDict(){const e=this.view;e.seek(0);let t=[];const i=e.cursor+e.byteLength,s={};for(;e.cursor<i;){let n=e.readUint8();n<=21?(n===12&&(n=1200+e.readUint8()),s[n]=t,t=[]):t.push(this._readOperand(n))}return s}_getProp(e){var i;const t=this.dict[e.operator]??e.default;switch(e.type){case"number":return t[0];case"string":return Er(((i=this._stringIndex)==null?void 0:i.objects)??[],t[0]);case"number[]":return t}return t}_setProp(e,t){}}var lf=Object.defineProperty,An=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&lf(A,e,i),i};class pr extends Za{}An([Ce(19)],pr.prototype,"subrs"),An([Ce(20)],pr.prototype,"defaultWidthX"),An([Ce(21)],pr.prototype,"nominalWidthX");var gf=Object.defineProperty,De=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&gf(A,e,i),i};class we extends Za{}De([Ce(0,"string")],we.prototype,"version"),De([Ce(1,"string")],we.prototype,"notice"),De([Ce(1200,"string")],we.prototype,"copyright"),De([Ce(2,"string")],we.prototype,"fullName"),De([Ce(3,"string")],we.prototype,"familyName"),De([Ce(4,"string")],we.prototype,"weight"),De([Ce(1201)],we.prototype,"isFixedPitch"),De([Ce(1202)],we.prototype,"italicAngle"),De([Ce(1203,"number",-100)],we.prototype,"underlinePosition"),De([Ce(1204,"number",50)],we.prototype,"underlineThickness"),De([Ce(1205)],we.prototype,"paintType"),De([Ce(1206,"number",2)],we.prototype,"charstringType"),De([Ce(1207,"number[]",[.001,0,0,.001,0,0])],we.prototype,"fontMatrix"),De([Ce(13)],we.prototype,"uniqueId"),De([Ce(5,"number[]",[0,0,0,0])],we.prototype,"fontBBox"),De([Ce(1208)],we.prototype,"strokeWidth"),De([Ce(14)],we.prototype,"xuid"),De([Ce(15)],we.prototype,"charset"),De([Ce(16)],we.prototype,"encoding"),De([Ce(17)],we.prototype,"charStrings"),De([Ce(18,"number[]",[0,0])],we.prototype,"private");function Ke(r,A=r){return e=>{pA.tableDefinitions.set(r,{tag:r,prop:A,class:e}),Object.defineProperty(pA.prototype,A,{get(){return this.get(r)},set(t){return this.set(r,t)},configurable:!0,enumerable:!0})}}const _A=class _A{constructor(A){h(this,"tables",new Map);h(this,"tableViews",new Map);(A instanceof Map?A:new Map(Object.entries(A))).forEach((t,i)=>{this.tableViews.set(i,new DataView(t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)))})}get hasGlyf(){return this.tableViews.has("glyf")}get names(){return this.name.names}get unitsPerEm(){return this.head.unitsPerEm}get ascender(){return this.hhea.ascent}get descender(){return this.hhea.descent}get createdTimestamp(){return this.head.created}get modifiedTimestamp(){return this.head.modified}get numGlyphs(){return this.maxp.numGlyphs}get unicodes(){return this.cmap.glyphIndexToUnicodesMap}get glyphs(){return this.hasGlyf?this.glyf.glyphs:this.cff.glyphs}charToGlyphIndex(A){let e=this.cmap.unicodeToGlyphIndexMap.get(A.codePointAt(0));if(e===void 0&&!this.hasGlyf){const{encoding:t,charset:i}=this.cff;e=i.indexOf(t[A.codePointAt(0)])}return e??0}charToGlyph(A){return this.glyphs.get(this.charToGlyphIndex(A))}textToGlyphIndexes(A){const e=[];for(const t of A)e.push(this.charToGlyphIndex(t));return e}textToGlyphs(A){const e=this.glyphs,t=this.textToGlyphIndexes(A),i=t.length,s=Array.from({length:i}),n=e.get(0);for(let o=0;o<i;o+=1)s[o]=e.get(t[o])||n;return s}getPathCommands(A,e,t,i,s){const n=[];return this.forEachGlyph(A,e,t,i,s,(o,a,l,g,c)=>{n.push(...o.getPathCommands(a,l,g,c,this))}),n}getAdvanceWidth(A,e,t){return this.forEachGlyph(A,0,0,e,t,()=>{})}forEachGlyph(A,e=0,t=0,i=72,s={},n){const o=1/this.unitsPerEm*i,a=this.textToGlyphs(A);for(let l=0;l<a.length;l+=1){const g=a[l];n.call(this,g,e,t,i,s),g.advanceWidth&&(e+=g.advanceWidth*o),s.letterSpacing?e+=s.letterSpacing*i:s.tracking&&(e+=s.tracking/1e3*i)}return e}clone(){return new _A(this.tableViews)}delete(A){const e=_A.tableDefinitions.get(A);return e?(this.tableViews.delete(A),this.tables.delete(e.prop),this):this}set(A,e){const t=_A.tableDefinitions.get(A);return t&&this.tables.set(t.prop,e),this.tableViews.set(A,e.view),this}get(A){const e=_A.tableDefinitions.get(A);if(!e)return;let t=this.tables.get(e.prop);if(!t){const i=e.class;if(i){const s=this.tableViews.get(A);if(!s)return;t=new i(s.buffer,s.byteOffset,s.byteLength).setSFNT(this),this.tables.set(e.prop,t)}}return t}};h(_A,"tableDefinitions",new Map);let pA=_A;class Ze extends ct{setSFNT(A){return this._sfnt=A,this}getSFNT(){return this._sfnt}}var hf=Object.defineProperty,cf=Object.getOwnPropertyDescriptor,Mi=(r,A,e,t)=>{for(var i=t>1?void 0:t?cf(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&hf(A,e,i),i};let CA=class extends Ze{constructor(A,e,t,i){super(A,e,t,i);h(this,"_glyphs");h(this,"privateDict");h(this,"subrsIndex");this._init()}get glyphs(){return this._glyphs??(this._glyphs=new Af(this._sfnt))}get gsubrs(){return this.globalSubrIndex.objects}get gsubrsBias(){return this._calcSubroutineBias(this.globalSubrIndex.objects)}get defaultWidthX(){var A;return((A=this.privateDict)==null?void 0:A.defaultWidthX)??0}get nominalWidthX(){var A;return((A=this.privateDict)==null?void 0:A.nominalWidthX)??0}get subrs(){var A;return((A=this.subrsIndex)==null?void 0:A.objects)??[]}get subrsBias(){return this._calcSubroutineBias(this.subrs)}_init(){const A=this.view,{buffer:e,byteOffset:t}=A,i=t+4;this.nameIndex=new ja(e,i),this.topDictIndex=new Br(e,this.nameIndex.endOffset),this.stringIndex=new ja(e,this.topDictIndex.endOffset),this.globalSubrIndex=new Br(e,this.stringIndex.endOffset),this.topDict=new we(new Uint8Array(this.topDictIndex.objects[0]).buffer).setStringIndex(this.stringIndex);const s=this.topDict.private[0],n=this.topDict.private[1];s&&(this.privateDict=new pr(e,t+n,s).setStringIndex(this.stringIndex),this.privateDict.subrs&&(this.subrsIndex=new Br(e,t+n+this.privateDict.subrs))),this.charStringsIndex=new Br(e,t+this.topDict.charStrings);const o=this.charStringsIndex.offsets.length-1;this.topDict.charset===0?this.charset=nf:this.topDict.charset===1?this.charset=of:this.topDict.charset===2?this.charset=af:this.charset=this._readCharset(t+this.topDict.charset,o,this.stringIndex.objects),this.topDict.encoding===0?this.encoding=$s:this.topDict.encoding===1?this.encoding=ef:this.encoding=this._readEncoding(t+this.topDict.encoding)}_readCharset(A,e,t){const i=this.view;i.seek(A);let s,n,o;e-=1;const a=[".notdef"],l=i.readUint8();if(l===0)for(s=0;s<e;s+=1)n=i.readUint16(),a.push(Er(t,n));else if(l===1)for(;a.length<=e;)for(n=i.readUint16(),o=i.readUint8(),s=0;s<=o;s+=1)a.push(Er(t,n)),n+=1;else if(l===2)for(;a.length<=e;)for(n=i.readUint16(),o=i.readUint16(),s=0;s<=o;s+=1)a.push(Er(t,n)),n+=1;else throw new Error(`Unknown charset format ${l}`);return a}_readEncoding(A){const e=this.view;e.seek(A);let t,i;const s={},n=e.readUint8();if(n===0){const o=e.readUint8();for(t=0;t<o;t+=1)i=e.readUint8(),s[i]=t}else if(n===1){const o=e.readUint8();for(i=1,t=0;t<o;t+=1){const a=e.readUint8(),l=e.readUint8();for(let g=a;g<=a+l;g+=1)s[g]=i,i+=1}}else console.warn(`unknown encoding format:${n}`);return s}_calcSubroutineBias(A){let e;return A.length<1240?e=107:A.length<33900?e=1131:e=32768,e}};Mi([y("uint8")],CA.prototype,"majorVersion",2),Mi([y("uint8")],CA.prototype,"minorVersion",2),Mi([y("uint8")],CA.prototype,"headerSize",2),Mi([y("uint8")],CA.prototype,"offsetSize",2),CA=Mi([Ke("CFF ","cff")],CA);var uf=Object.defineProperty,Cr=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&uf(A,e,i),i};const Ri=class Ol extends ct{constructor(A=new ArrayBuffer(262),e){super(A,e,262)}static from(A){const e=new Ol;return e.format=0,e.length=e.view.byteLength,e.language=0,A.forEach((t,i)=>{i<256&&t<256&&e.view.writeUint8(t,6+i)}),e}getUnicodeToGlyphIndexMap(){const A=new Map;return this.glyphIndexArray.forEach((e,t)=>{A.set(t,e)}),A}};Cr([y("uint16")],Ri.prototype,"format"),Cr([y("uint16")],Ri.prototype,"length"),Cr([y("uint16")],Ri.prototype,"language"),Cr([y({type:"uint8",size:256})],Ri.prototype,"glyphIndexArray");let rn=Ri;var ff=Object.defineProperty,sn=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&ff(A,e,i),i};class Ui extends ct{get subHeaderKeys(){return this.view.seek(6),Array.from({length:256},()=>this.view.readUint16()/8)}get maxSubHeaderKey(){return this.subHeaderKeys.reduce((A,e)=>Math.max(A,e),0)}get subHeaders(){const A=this.maxSubHeaderKey;return this.view.seek(6+256*2),Array.from({length:A},(e,t)=>({firstCode:this.view.readUint16(),entryCount:this.view.readUint16(),idDelta:this.view.readUint16(),idRangeOffset:(this.view.readUint16()-(A-t)*8-2)/2}))}get glyphIndexArray(){const A=this.maxSubHeaderKey,e=6+256*2+A*8;this.view.seek(e);const t=(this.view.byteLength-e)/2;return Array.from({length:t},()=>this.view.readUint16())}getUnicodeToGlyphIndexMap(A){const e=new Map,t=this.subHeaderKeys,i=this.maxSubHeaderKey,s=this.subHeaders,n=this.glyphIndexArray,o=t.findIndex(l=>l===i);let a=0;for(let l=0;l<256;l++)if(t[l]===0)l>=o||l<s[0].firstCode||l>=s[0].firstCode+s[0].entryCount||s[0].idRangeOffset+(l-s[0].firstCode)>=n.length?a=0:(a=n[s[0].idRangeOffset+(l-s[0].firstCode)],a!==0&&(a=a+s[0].idDelta)),a!==0&&a<A&&e.set(l,a);else{const g=t[l];for(let c=0,f=s[g].entryCount;c<f;c++)if(s[g].idRangeOffset+c>=n.length?a=0:(a=n[s[g].idRangeOffset+c],a!==0&&(a=a+s[g].idDelta)),a!==0&&a<A){const I=(l<<8|c+s[g].firstCode)%65535;e.set(I,a)}}return e}}sn([y("uint16")],Ui.prototype,"format"),sn([y("uint16")],Ui.prototype,"length"),sn([y("uint16")],Ui.prototype,"language");function $a(r){return r>32767?r-65536:r<-32767?r+65536:r}function nn(r,A){let e;const t=[];let i={};return r.forEach((s,n)=>{A&&n>A||((!e||n!==e.unicode+1||s!==e.glyphIndex+1)&&(e?(i.end=e.unicode,t.push(i),i={start:n,startId:s,delta:$a(s-n)}):(i.start=Number(n),i.startId=s,i.delta=$a(s-n))),e={unicode:n,glyphIndex:s})}),e&&(i.end=e.unicode,t.push(i)),t}var df=Object.defineProperty,QA=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&df(A,e,i),i};const sA=class Hl extends ct{get endCode(){const A=this.segCountX2;return this.view.seek(14),Array.from({length:A/2},()=>this.view.readUint16())}set endCode(A){this.view.seek(14),A.forEach(e=>this.view.writeUint16(e))}get reservedPad(){return this.view.readUint16(14+this.segCountX2)}set reservedPad(A){this.view.writeUint16(A,14+this.segCountX2)}get startCode(){const A=this.segCountX2;return this.view.seek(14+A+2),Array.from({length:A/2},()=>this.view.readUint16())}set startCode(A){this.view.seek(14+this.segCountX2+2),A.forEach(e=>this.view.writeUint16(e))}get idDelta(){const A=this.segCountX2;return this.view.seek(14+A+2+A),Array.from({length:A/2},()=>this.view.readUint16())}set idDelta(A){const e=this.segCountX2;this.view.seek(14+e+2+e),A.forEach(t=>this.view.writeUint16(t))}get idRangeOffsetCursor(){const A=this.segCountX2;return 14+A+2+A*2}get idRangeOffset(){const A=this.segCountX2;return this.view.seek(this.idRangeOffsetCursor),Array.from({length:A/2},()=>this.view.readUint16())}set idRangeOffset(A){this.view.seek(this.idRangeOffsetCursor),A.forEach(e=>this.view.writeUint16(e))}get glyphIndexArrayCursor(){const A=this.segCountX2;return 14+A+2+A*3}get glyphIndexArray(){const A=this.glyphIndexArrayCursor;this.view.seek(A);const e=(this.view.byteLength-A)/2;return Array.from({length:e},()=>this.view.readUint16())}static from(A){const e=nn(A,65535),t=e.length+1,i=Math.floor(Math.log(t)/Math.LN2),s=2*2**i,n=new Hl(new ArrayBuffer(24+e.length*8));return n.format=4,n.length=n.view.byteLength,n.language=0,n.segCountX2=t*2,n.searchRange=s,n.entrySelector=i,n.rangeShift=2*t-s,n.endCode=[...e.map(o=>o.end),65535],n.reservedPad=0,n.startCode=[...e.map(o=>o.start),65535],n.idDelta=[...e.map(o=>o.delta),1],n.idRangeOffset=Array.from({length:t},()=>0),n}getUnicodeToGlyphIndexMap(){const A=new Map,e=this.segCountX2/2,t=(this.glyphIndexArrayCursor-this.idRangeOffsetCursor)/2,i=this.startCode,s=this.endCode,n=this.idRangeOffset,o=this.idDelta,a=this.glyphIndexArray;for(let l=0;l<e;++l)for(let g=i[l],c=s[l];g<=c;++g)if(n[l]===0)A.set(g,(g+o[l])%65536);else{const f=l+n[l]/2+(g-i[l])-t,I=a[f];I!==0?A.set(g,(I+o[l])%65536):A.set(g,0)}return A.delete(65535),A}};QA([y("uint16")],sA.prototype,"format"),QA([y("uint16")],sA.prototype,"length"),QA([y("uint16")],sA.prototype,"language"),QA([y("uint16")],sA.prototype,"segCountX2"),QA([y("uint16")],sA.prototype,"searchRange"),QA([y("uint16")],sA.prototype,"entrySelector"),QA([y("uint16")],sA.prototype,"rangeShift");let on=sA;var If=Object.defineProperty,ki=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&If(A,e,i),i};class yA extends ct{get glyphIndexArray(){return this.view.seek(12),Array.from({length:this.entryCount},()=>this.view.readUint16())}getUnicodeToGlyphIndexMap(){const A=this.glyphIndexArray,e=new Map;return A.forEach((t,i)=>{e.set(i,t)}),e}}ki([y("uint16")],yA.prototype,"format"),ki([y("uint16")],yA.prototype,"length"),ki([y("uint16")],yA.prototype,"language"),ki([y("uint16")],yA.prototype,"firstCode"),ki([y("uint16")],yA.prototype,"entryCount");var Bf=Object.defineProperty,Pi=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&Bf(A,e,i),i};const VA=class Jl extends ct{get groups(){const A=this.nGroups;return this.view.seek(16),Array.from({length:A},()=>({startCharCode:this.view.readUint32(),endCharCode:this.view.readUint32(),startGlyphCode:this.view.readUint32()}))}static from(A){const e=nn(A),t=new Jl(new ArrayBuffer(16+e.length*12));return t.format=12,t.reserved=0,t.length=t.view.byteLength,t.language=0,t.nGroups=e.length,e.forEach(i=>{t.view.writeUint32(i.start),t.view.writeUint32(i.end),t.view.writeUint32(i.startId)}),t}getUnicodeToGlyphIndexMap(){const A=new Map,e=this.groups;for(let t=0,i=e.length;t<i;t++){const s=e[t];let n=s.startGlyphCode,o=s.startCharCode;const a=s.endCharCode;for(;o<=a;)A.set(o++,n++)}return A}};Pi([y("uint16")],VA.prototype,"format"),Pi([y("uint16")],VA.prototype,"reserved"),Pi([y("uint32")],VA.prototype,"length"),Pi([y("uint32")],VA.prototype,"language"),Pi([y("uint32")],VA.prototype,"nGroups");let an=VA;var Ef=Object.defineProperty,ln=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&Ef(A,e,i),i};class Ni extends ct{getVarSelectorRecords(){const A=this.numVarSelectorRecords;return this.view.seek(10),Array.from({length:A},()=>{const e={varSelector:this.view.readUint24(),defaultUVSOffset:this.view.readUint32(),unicodeValueRanges:[],nonDefaultUVSOffset:this.view.readUint32(),uVSMappings:[]};if(e.defaultUVSOffset){this.view.seek(e.defaultUVSOffset);const t=this.view.readUint32();e.unicodeValueRanges=Array.from({length:t},()=>({startUnicodeValue:this.view.readUint24(),additionalCount:this.view.readUint8()}))}if(e.nonDefaultUVSOffset){this.view.seek(e.nonDefaultUVSOffset);const t=this.view.readUint32();e.uVSMappings=Array.from({length:t},()=>({unicodeValue:this.view.readUint24(),glyphID:this.view.readUint16()}))}return e})}getUnicodeToGlyphIndexMap(){const A=new Map,e=this.getVarSelectorRecords();for(let t=0,i=e.length;t<i;t++){const{uVSMappings:s}=e[t];s.forEach(n=>{A.set(n.unicodeValue,n.glyphID)})}return A}}ln([y("uint16")],Ni.prototype,"format"),ln([y("uint32")],Ni.prototype,"length"),ln([y("uint32")],Ni.prototype,"numVarSelectorRecords");var pf=Object.defineProperty,Cf=Object.getOwnPropertyDescriptor,gn=(r,A,e,t)=>{for(var i=t>1?void 0:t?Cf(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&pf(A,e,i),i};let zA=class extends Ze{constructor(){super(...arguments);h(this,"_unicodeToGlyphIndexMap");h(this,"_glyphIndexToUnicodesMap")}static from(A){const e=Array.from(A.keys()).some(c=>c>65535),t=on.from(A),i=rn.from(A),s=e?an.from(A):void 0,n=4+(s?32:24),o=n+t.view.byteLength,a=o+i.view.byteLength,l=[{platformID:0,platformSpecificID:3,offset:n},{platformID:1,platformSpecificID:0,offset:o},{platformID:3,platformSpecificID:1,offset:n},s&&{platformID:3,platformSpecificID:10,offset:a}].filter(Boolean),g=new zA(new ArrayBuffer(4+8*l.length+t.view.byteLength+i.view.byteLength+((s==null?void 0:s.view.byteLength)??0)));return g.numberSubtables=l.length,g.view.seek(4),l.forEach(c=>{g.view.writeUint16(c.platformID),g.view.writeUint16(c.platformSpecificID),g.view.writeUint32(c.offset)}),g.view.writeBytes(t.view,n),g.view.writeBytes(i.view,o),s&&g.view.writeBytes(s.view,a),g}get unicodeToGlyphIndexMap(){return this._unicodeToGlyphIndexMap??(this._unicodeToGlyphIndexMap=this.readunicodeToGlyphIndexMap())}get glyphIndexToUnicodesMap(){if(!this._glyphIndexToUnicodesMap){const A=new Map,e=this.unicodeToGlyphIndexMap,t=Array.from(e.keys());for(let i=0,s=t.length;i<s;i++){const n=t[i],o=e.get(n);A.has(o)?A.get(o).push(n):A.set(o,[n])}this._glyphIndexToUnicodesMap=A}return this._glyphIndexToUnicodesMap}readSubtables(){const A=this.numberSubtables;return this.view.seek(4),Array.from({length:A},()=>({platformID:this.view.readUint16(),platformSpecificID:this.view.readUint16(),offset:this.view.readUint32()})).map(e=>{this.view.seek(e.offset);const t=this.view.readUint16();let i;switch(t){case 0:i=new rn(this.view.buffer,e.offset);break;case 2:i=new Ui(this.view.buffer,e.offset,this.view.readUint16());break;case 4:i=new on(this.view.buffer,e.offset,this.view.readUint16());break;case 6:i=new yA(this.view.buffer,e.offset,this.view.readUint16());break;case 12:i=new an(this.view.buffer,e.offset,this.view.readUint32(e.offset+4));break;case 14:default:i=new Ni(this.view.buffer,e.offset,this.view.readUint32());break}return{...e,format:t,view:i}})}readunicodeToGlyphIndexMap(){var o,a,l,g,c;const A=this.readSubtables(),e=(o=A.find(f=>f.format===0))==null?void 0:o.view,t=(a=A.find(f=>f.platformID===3&&f.platformSpecificID===3&&f.format===2))==null?void 0:a.view,i=(l=A.find(f=>f.platformID===3&&f.platformSpecificID===1&&f.format===4))==null?void 0:l.view,s=(g=A.find(f=>f.platformID===3&&f.platformSpecificID===10&&f.format===12))==null?void 0:g.view,n=(c=A.find(f=>f.platformID===0&&f.platformSpecificID===5&&f.format===14))==null?void 0:c.view;return new Map([...(e==null?void 0:e.getUnicodeToGlyphIndexMap())??[],...(t==null?void 0:t.getUnicodeToGlyphIndexMap(this._sfnt.maxp.numGlyphs))??[],...(i==null?void 0:i.getUnicodeToGlyphIndexMap())??[],...(s==null?void 0:s.getUnicodeToGlyphIndexMap())??[],...(n==null?void 0:n.getUnicodeToGlyphIndexMap())??[]])}};gn([y("uint16")],zA.prototype,"version",2),gn([y("uint16")],zA.prototype,"numberSubtables",2),zA=gn([Ke("cmap")],zA);class Qf extends en{_parseContours(A){const e=[];let t=[];for(let i=0;i<A.length;i+=1){const s=A[i];t.push(s),s.lastPointOfContour&&(e.push(t),t=[])}return xi(t.length===0,"There are still points left in the current contour."),e}_transformPoints(A,e){const t=[];for(let i=0;i<A.length;i+=1){const s=A[i],n={x:e.xScale*s.x+e.scale10*s.y+e.dx,y:e.scale01*s.x+e.yScale*s.y+e.dy,onCurve:s.onCurve,lastPointOfContour:s.lastPointOfContour};t.push(n)}return t}_parseGlyphCoordinate(A,e,t,i,s){let n;return(e&i)>0?(n=A.view.readUint8(),(e&s)===0&&(n=-n),n=t+n):(e&s)>0?n=t:n=t+A.view.readInt16(),n}parse(A,e,t){A.view.seek(e);const i=this.numberOfContours=A.view.readInt16();if(this.xMin=A.view.readInt16(),this.yMin=A.view.readInt16(),this.xMax=A.view.readInt16(),this.yMax=A.view.readInt16(),i>0){const o=this.endPointIndices=[];for(let C=0;C<i;C++)o.push(A.view.readUint16());const a=this.instructionLength=A.view.readUint16();xi(a<5e3,`Bad instructionLength:${a}`);const l=this.instructions=[];for(let C=0;C<a;++C)l.push(A.view.readUint8());const g=A.view.byteOffset,c=o[o.length-1]+1;xi(c<2e4,`Bad numberOfCoordinates:${g}`);const f=[];let I,d=0;for(;d<c;)if(I=A.view.readUint8(),f.push(I),d++,I&8&&d<c){const C=A.view.readUint8();for(let B=0;B<C;B++)f.push(I),d++}if(xi(f.length===c,`Bad flags length: ${f.length}, numberOfCoordinates: ${c}`),o.length>0){const C=[];let B;if(c>0){for(let _=0;_<c;_+=1)I=f[_],B={},B.onCurve=!!(I&1),B.lastPointOfContour=o.includes(_),C.push(B);let R=0;for(let _=0;_<c;_+=1)I=f[_],B=C[_],B.x=this._parseGlyphCoordinate(A,I,R,2,16),R=B.x;let S=0;for(let _=0;_<c;_+=1)I=f[_],B=C[_],B.y=this._parseGlyphCoordinate(A,I,S,4,32),S=B.y}this.points=C}else this.points=[]}else if(i===0)this.points=[];else{this.isComposite=!0,this.points=[],this.components=[];let o,a=!0;for(;a;){o=A.view.readUint16();const l={glyphIndex:A.view.readUint16(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(o&1)>0?(o&2)>0?(l.dx=A.view.readInt16(),l.dy=A.view.readInt16()):l.matchedPoints=[A.view.readUint16(),A.view.readUint16()]:(o&2)>0?(l.dx=A.view.readInt8(),l.dy=A.view.readInt8()):l.matchedPoints=[A.view.readUint8(),A.view.readUint8()],(o&8)>0?l.xScale=l.yScale=A.view.readInt16()/16384:(o&64)>0?(l.xScale=A.view.readInt16()/16384,l.yScale=A.view.readInt16()/16384):(o&128)>0&&(l.xScale=A.view.readInt16()/16384,l.scale01=A.view.readInt16()/16384,l.scale10=A.view.readInt16()/16384,l.yScale=A.view.readInt16()/16384),this.components.push(l),a=!!(o&32)}if(o&256){this.instructionLength=A.view.readUint16(),this.instructions=[];for(let l=0;l<this.instructionLength;l+=1)this.instructions.push(A.view.readUint8())}}if(this.isComposite)for(let o=0;o<this.components.length;o+=1){const a=this.components[o],l=t.get(a.glyphIndex);if(l.getPathCommands(),l.points){let g;if(a.matchedPoints===void 0)g=this._transformPoints(l.points,a);else{xi(a.matchedPoints[0]>this.points.length-1||a.matchedPoints[1]>l.points.length-1,`Matched points out of range in ${this.name}`);const c=this.points[a.matchedPoints[0]];let f=l.points[a.matchedPoints[1]];const I={xScale:a.xScale,scale01:a.scale01,scale10:a.scale10,yScale:a.yScale,dx:0,dy:0};f=this._transformPoints([f],I)[0],I.dx=c.x-f.x,I.dy=c.y-f.y,g=this._transformPoints(l.points,I)}this.points=this.points.concat(g)}}const s=[],n=this._parseContours(this.points);for(let o=0,a=n.length;o<a;++o){const l=n[o];let g=l[l.length-1],c=l[0];g.onCurve?s.push({type:"M",x:g.x,y:g.y}):c.onCurve?s.push({type:"M",x:c.x,y:c.y}):s.push({type:"M",x:(g.x+c.x)*.5,y:(g.y+c.y)*.5});for(let f=0,I=l.length;f<I;++f)if(g=c,c=l[(f+1)%I],g.onCurve)s.push({type:"L",x:g.x,y:g.y});else{let d=c;c.onCurve||(d={x:(g.x+c.x)*.5,y:(g.y+c.y)*.5}),s.push({type:"Q",x1:g.x,y1:g.y,x:d.x,y:d.y})}s.push({type:"Z"})}this.pathCommands=s}}class yf extends tn{get length(){return this._sfnt.loca.locations.length}_get(A){const e=this._sfnt.loca.locations,t=e[A],i=new Qf({index:A});return t!==e[A+1]&&i.parse(this._sfnt.glyf,t,this),i}}var mf=Object.getOwnPropertyDescriptor,wf=(r,A,e,t)=>{for(var i=t>1?void 0:t?mf(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(i)||i);return i};let Qr=class extends Ze{constructor(){super(...arguments);h(this,"_glyphs")}static from(A){const e=A.reduce((i,s)=>i+s.byteLength,0),t=new Qr(new ArrayBuffer(e));return A.forEach(i=>{t.view.writeBytes(i)}),t}get glyphs(){return this._glyphs??(this._glyphs=new yf(this._sfnt))}};Qr=wf([Ke("glyf")],Qr);var vf=Object.getOwnPropertyDescriptor,_f=(r,A,e,t)=>{for(var i=t>1?void 0:t?vf(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(i)||i);return i};let hn=class extends Ze{};hn=_f([Ke("GPOS","gpos")],hn);var Df=Object.defineProperty,bf=Object.getOwnPropertyDescriptor,mA=(r,A,e,t)=>{for(var i=t>1?void 0:t?bf(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&Df(A,e,i),i};let Wt=class extends Ze{};mA([y("uint16")],Wt.prototype,"majorVersion",2),mA([y("uint16")],Wt.prototype,"minorVersion",2),mA([y("uint16")],Wt.prototype,"scriptListOffset",2),mA([y("uint16")],Wt.prototype,"featureListOffset",2),mA([y("uint16")],Wt.prototype,"lookupListOffset",2),mA([y("uint16")],Wt.prototype,"featureVariationsOffset",2),Wt=mA([Ke("GSUB","gsub")],Wt);var xf=Object.defineProperty,Sf=Object.getOwnPropertyDescriptor,Le=(r,A,e,t)=>{for(var i=t>1?void 0:t?Sf(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&xf(A,e,i),i};let Re=class extends Ze{constructor(r=new ArrayBuffer(54),A){super(r,A,Math.min(54,r.byteLength-(A??0)))}};Le([y("fixed")],Re.prototype,"version",2),Le([y("fixed")],Re.prototype,"fontRevision",2),Le([y("uint32")],Re.prototype,"checkSumAdjustment",2),Le([y("uint32")],Re.prototype,"magickNumber",2),Le([y("uint16")],Re.prototype,"flags",2),Le([y("uint16")],Re.prototype,"unitsPerEm",2),Le([y({type:"longDateTime"})],Re.prototype,"created",2),Le([y({type:"longDateTime"})],Re.prototype,"modified",2),Le([y("int16")],Re.prototype,"xMin",2),Le([y("int16")],Re.prototype,"yMin",2),Le([y("int16")],Re.prototype,"xMax",2),Le([y("int16")],Re.prototype,"yMax",2),Le([y("uint16")],Re.prototype,"macStyle",2),Le([y("uint16")],Re.prototype,"lowestRecPPEM",2),Le([y("int16")],Re.prototype,"fontDirectionHint",2),Le([y("int16")],Re.prototype,"indexToLocFormat",2),Le([y("int16")],Re.prototype,"glyphDataFormat",2),Re=Le([Ke("head")],Re);var Mf=Object.defineProperty,Rf=Object.getOwnPropertyDescriptor,rt=(r,A,e,t)=>{for(var i=t>1?void 0:t?Rf(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&Mf(A,e,i),i};let Ye=class extends Ze{constructor(r=new ArrayBuffer(36),A){super(r,A,Math.min(36,r.byteLength-(A??0)))}};rt([y("fixed")],Ye.prototype,"version",2),rt([y("int16")],Ye.prototype,"ascent",2),rt([y("int16")],Ye.prototype,"descent",2),rt([y("int16")],Ye.prototype,"lineGap",2),rt([y("uint16")],Ye.prototype,"advanceWidthMax",2),rt([y("int16")],Ye.prototype,"minLeftSideBearing",2),rt([y("int16")],Ye.prototype,"minRightSideBearing",2),rt([y("int16")],Ye.prototype,"xMaxExtent",2),rt([y("int16")],Ye.prototype,"caretSlopeRise",2),rt([y("int16")],Ye.prototype,"caretSlopeRun",2),rt([y("int16")],Ye.prototype,"caretOffset",2),rt([y({type:"int16",size:4})],Ye.prototype,"reserved",2),rt([y("int16")],Ye.prototype,"metricDataFormat",2),rt([y("uint16")],Ye.prototype,"numOfLongHorMetrics",2),Ye=rt([Ke("hhea")],Ye);var Uf=Object.getOwnPropertyDescriptor,kf=(r,A,e,t)=>{for(var i=t>1?void 0:t?Uf(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(i)||i);return i};let yr=class extends Ze{constructor(){super(...arguments);h(this,"_metrics")}static from(A){const e=A.length*4,t=new yr(new ArrayBuffer(e));return A.forEach(i=>{t.view.writeUint16(i.advanceWidth),t.view.writeUint16(i.leftSideBearing)}),t}get metrics(){return this._metrics??(this._metrics=this.readMetrics())}readMetrics(){const A=this._sfnt.maxp.numGlyphs,e=this._sfnt.hhea.numOfLongHorMetrics;let t=0;const i=this.view;return i.seek(0),Array.from({length:A}).map((s,n)=>(n<e&&(t=i.readUint16()),{advanceWidth:t,leftSideBearing:i.readUint16()}))}};yr=kf([Ke("hmtx")],yr);var Pf=Object.getOwnPropertyDescriptor,Nf=(r,A,e,t)=>{for(var i=t>1?void 0:t?Pf(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(i)||i);return i};let cn=class extends Ze{};cn=Nf([Ke("kern","kern")],cn);var Ff=Object.getOwnPropertyDescriptor,Tf=(r,A,e,t)=>{for(var i=t>1?void 0:t?Ff(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(i)||i);return i};let mr=class extends Ze{constructor(){super(...arguments);h(this,"_locations")}static from(A,e=1){const t=A.length*(e?4:2),i=new mr(new ArrayBuffer(t));return A.forEach(s=>{e?i.view.writeUint32(s):i.view.writeUint16(s/2)}),i}get locations(){return this._locations??(this._locations=this.readLocations())}readLocations(){const A=this._sfnt.maxp.numGlyphs,e=this._sfnt.head.indexToLocFormat,t=this.view;return t.seek(0),Array.from({length:A}).map(()=>e?t.readUint32():t.readUint16()*2)}};mr=Tf([Ke("loca")],mr);var Lf=Object.defineProperty,Gf=Object.getOwnPropertyDescriptor,$e=(r,A,e,t)=>{for(var i=t>1?void 0:t?Gf(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&Lf(A,e,i),i};let Ge=class extends Ze{constructor(r=new ArrayBuffer(32),A){super(r,A,Math.min(32,r.byteLength-(A??0)))}};$e([y("fixed")],Ge.prototype,"version",2),$e([y("uint16")],Ge.prototype,"numGlyphs",2),$e([y("uint16")],Ge.prototype,"maxPoints",2),$e([y("uint16")],Ge.prototype,"maxContours",2),$e([y("uint16")],Ge.prototype,"maxComponentPoints",2),$e([y("uint16")],Ge.prototype,"maxComponentContours",2),$e([y("uint16")],Ge.prototype,"maxZones",2),$e([y("uint16")],Ge.prototype,"maxTwilightPoints",2),$e([y("uint16")],Ge.prototype,"maxStorage",2),$e([y("uint16")],Ge.prototype,"maxFunctionDefs",2),$e([y("uint16")],Ge.prototype,"maxInstructionDefs",2),$e([y("uint16")],Ge.prototype,"maxStackElements",2),$e([y("uint16")],Ge.prototype,"maxSizeOfInstructions",2),$e([y("uint16")],Ge.prototype,"maxComponentElements",2),$e([y("uint16")],Ge.prototype,"maxComponentDepth",2),Ge=$e([Ke("maxp")],Ge);var Of=Object.defineProperty,Hf=Object.getOwnPropertyDescriptor,wr=(r,A,e,t)=>{for(var i=t>1?void 0:t?Hf(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&Of(A,e,i),i};const el={0:"copyright",1:"fontFamily",2:"fontSubFamily",3:"uniqueSubFamily",4:"fullName",5:"version",6:"postScriptName",7:"tradeMark",8:"manufacturer",9:"designer",10:"description",11:"urlOfFontVendor",12:"urlOfFontDesigner",13:"licence",14:"urlOfLicence",16:"preferredFamily",17:"preferredSubFamily",18:"compatibleFull",19:"sampleText"},un={Macintosh:1,Microsoft:3},Jf={Default:0},tl={UCS2:1};let qA=class extends Ze{constructor(){super(...arguments);h(this,"_names")}get names(){return this._names??(this._names=this.readNames())}readNames(){const A=this.count;this.view.seek(6);const e=[];for(let a=0;a<A;++a)e.push({platform:this.view.readUint16(),encoding:this.view.readUint16(),language:this.view.readUint16(),nameId:this.view.readUint16(),length:this.view.readUint16(),offset:this.view.readUint16()});const t=this.stringOffset;for(let a=0;a<A;++a){const l=e[a];l.name=this.view.readBytes(t+l.offset,l.length)}let i=un.Macintosh,s=Jf.Default,n=0;e.some(a=>a.platform===un.Microsoft&&a.encoding===tl.UCS2&&a.language===1033)&&(i=un.Microsoft,s=tl.UCS2,n=1033);const o={};for(let a=0;a<A;++a){const l=e[a];l.platform===i&&l.encoding===s&&l.language===n&&el[l.nameId]&&(o[el[l.nameId]]=n===0?qu(l.name):Xu(l.name))}return o}};wr([y("uint16")],qA.prototype,"format",2),wr([y("uint16")],qA.prototype,"count",2),wr([y("uint16")],qA.prototype,"stringOffset",2),qA=wr([Ke("name")],qA);var Kf=Object.defineProperty,Yf=Object.getOwnPropertyDescriptor,se=(r,A,e,t)=>{for(var i=t>1?void 0:t?Yf(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&Kf(A,e,i),i};let ie=class extends Ze{get fontPANOSE(){return[this.bFamilyType,this.bSerifStyle,this.bWeight,this.bProportion,this.bContrast,this.bStrokeVariation,this.bArmStyle,this.bLetterform,this.bMidline,this.bXHeight]}};se([y("uint16")],ie.prototype,"version",2),se([y("int16")],ie.prototype,"xAvgCharWidth",2),se([y("uint16")],ie.prototype,"usWeightClass",2),se([y("uint16")],ie.prototype,"usWidthClass",2),se([y("uint16")],ie.prototype,"fsType",2),se([y("uint16")],ie.prototype,"ySubscriptXSize",2),se([y("uint16")],ie.prototype,"ySubscriptYSize",2),se([y("uint16")],ie.prototype,"ySubscriptXOffset",2),se([y("uint16")],ie.prototype,"ySubscriptYOffset",2),se([y("uint16")],ie.prototype,"ySuperscriptXSize",2),se([y("uint16")],ie.prototype,"ySuperscriptYSize",2),se([y("uint16")],ie.prototype,"ySuperscriptXOffset",2),se([y("uint16")],ie.prototype,"ySuperscriptYOffset",2),se([y("uint16")],ie.prototype,"yStrikeoutSize",2),se([y("uint16")],ie.prototype,"yStrikeoutPosition",2),se([y("uint16")],ie.prototype,"sFamilyClass",2),se([y({type:"uint8"})],ie.prototype,"bFamilyType",2),se([y({type:"uint8"})],ie.prototype,"bSerifStyle",2),se([y({type:"uint8"})],ie.prototype,"bWeight",2),se([y({type:"uint8"})],ie.prototype,"bProportion",2),se([y({type:"uint8"})],ie.prototype,"bContrast",2),se([y({type:"uint8"})],ie.prototype,"bStrokeVariation",2),se([y({type:"uint8"})],ie.prototype,"bArmStyle",2),se([y({type:"uint8"})],ie.prototype,"bLetterform",2),se([y({type:"uint8"})],ie.prototype,"bMidline",2),se([y({type:"uint8"})],ie.prototype,"bXHeight",2),se([y({type:"uint8",size:16})],ie.prototype,"ulUnicodeRange",2),se([y({type:"char",size:4})],ie.prototype,"achVendID",2),se([y("uint16")],ie.prototype,"fsSelection",2),se([y("uint16")],ie.prototype,"usFirstCharIndex",2),se([y("uint16")],ie.prototype,"usLastCharIndex",2),se([y("int16")],ie.prototype,"sTypoAscender",2),se([y("int16")],ie.prototype,"sTypoDescender",2),se([y("int16")],ie.prototype,"sTypoLineGap",2),se([y("uint16")],ie.prototype,"usWinAscent",2),se([y("uint16")],ie.prototype,"usWinDescent",2),se([y({offset:72,type:"uint8",size:8})],ie.prototype,"ulCodePageRange",2),se([y({offset:72,type:"int16"})],ie.prototype,"sxHeight",2),se([y("int16")],ie.prototype,"sCapHeight",2),se([y("uint16")],ie.prototype,"usDefaultChar",2),se([y("uint16")],ie.prototype,"usBreakChar",2),se([y("uint16")],ie.prototype,"usMaxContext",2),ie=se([Ke("OS/2","os2")],ie);var Wf=Object.defineProperty,Vf=Object.getOwnPropertyDescriptor,Pt=(r,A,e,t)=>{for(var i=t>1?void 0:t?Vf(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&Wf(A,e,i),i};let Et=class extends Ze{constructor(r=new ArrayBuffer(32),A,e){super(r,A,e)}};Pt([y("fixed")],Et.prototype,"format",2),Pt([y("fixed")],Et.prototype,"italicAngle",2),Pt([y("int16")],Et.prototype,"underlinePosition",2),Pt([y("int16")],Et.prototype,"underlineThickness",2),Pt([y("uint32")],Et.prototype,"isFixedPitch",2),Pt([y("uint32")],Et.prototype,"minMemType42",2),Pt([y("uint32")],Et.prototype,"maxMemType42",2),Pt([y("uint32")],Et.prototype,"minMemType1",2),Pt([y("uint32")],Et.prototype,"maxMemType1",2),Et=Pt([Ke("post")],Et);var zf=Object.defineProperty,qf=Object.getOwnPropertyDescriptor,st=(r,A,e,t)=>{for(var i=t>1?void 0:t?qf(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=(t?n(A,e,i):n(i))||i);return t&&i&&zf(A,e,i),i};let We=class extends Ze{constructor(r=new ArrayBuffer(36),A){super(r,A,Math.min(36,r.byteLength-(A??0)))}};st([y("fixed")],We.prototype,"version",2),st([y("int16")],We.prototype,"vertTypoAscender",2),st([y("int16")],We.prototype,"vertTypoDescender",2),st([y("int16")],We.prototype,"vertTypoLineGap",2),st([y("int16")],We.prototype,"advanceHeightMax",2),st([y("int16")],We.prototype,"minTopSideBearing",2),st([y("int16")],We.prototype,"minBottomSideBearing",2),st([y("int16")],We.prototype,"yMaxExtent",2),st([y("int16")],We.prototype,"caretSlopeRise",2),st([y("int16")],We.prototype,"caretSlopeRun",2),st([y("int16")],We.prototype,"caretOffset",2),st([y({type:"int16",size:4})],We.prototype,"reserved",2),st([y("int16")],We.prototype,"metricDataFormat",2),st([y("int16")],We.prototype,"numOfLongVerMetrics",2),We=st([Ke("vhea")],We);var Xf=Object.getOwnPropertyDescriptor,jf=(r,A,e,t)=>{for(var i=t>1?void 0:t?Xf(A,e):A,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(i)||i);return i};let vr=class extends Ze{constructor(){super(...arguments);h(this,"_metrics")}static from(A){const e=A.length*4,t=new vr(new ArrayBuffer(e));return A.forEach(i=>{t.view.writeUint16(i.advanceHeight),t.view.writeInt16(i.topSideBearing)}),t}get metrics(){return this._metrics??(this._metrics=this.readMetrics())}readMetrics(){var s;const A=this._sfnt.maxp.numGlyphs,e=((s=this._sfnt.vhea)==null?void 0:s.numOfLongVerMetrics)??0,t=this.view;t.seek(0);let i=0;return Array.from({length:A}).map((n,o)=>(o<e&&(i=t.readUint16()),{advanceHeight:i,topSideBearing:t.readUint8()}))}};vr=jf([Ke("vmtx")],vr);var Zf=Object.defineProperty,Fi=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&Zf(A,e,i),i};class pt extends fr{constructor(){super(...arguments);h(this,"format","TrueType");h(this,"mimeType","font/ttf");h(this,"_sfnt")}get sfnt(){return this._sfnt||(this._sfnt=this.createSFNT()),this._sfnt}static is(e){return typeof e=="number"?this.signature.has(e):this.signature.has(YA(e).getUint32(0))}static checksum(e){const t=YA(e);let i=t.byteLength;for(;i%4;)i++;let s=0;for(let n=0,o=i/4;n<o;n+=4)n*4<i-4&&(s+=t.getUint32(n*4,!1));return s&4294967295}static from(e){const t=f=>f+3&-4,i=e.tableViews.size,s=Array.from(e.tableViews.values()).reduce((f,I)=>f+t(I.byteLength),0),n=new this(new ArrayBuffer(12+i*16+s));n.scalerType=65536,n.numTables=i;const o=Math.log(2);n.searchRange=Math.floor(Math.log(i)/o)*16,n.entrySelector=Math.floor(n.searchRange/o),n.rangeShift=i*16-n.searchRange;let a=12+i*16,l=0;const g=n.getDirectories();e.tableViews.forEach((f,I)=>{const d=g[l++];d.tag=I,d.checkSum=this.checksum(f),d.offset=a,d.length=f.byteLength,n.view.writeBytes(f,a),a+=t(d.length)});const c=n.createSFNT().head;return c.checkSumAdjustment=0,c.checkSumAdjustment=2981146554-this.checksum(n.view),n}getDirectories(){let e=this.view.byteOffset+12;return Array.from({length:this.numTables},()=>{const t=new WA(this.view.buffer,e);return e+=t.view.byteLength,t})}createSFNT(){return new pA(this.getDirectories().reduce((e,t)=>(e[t.tag]=new DataView(this.view.buffer,this.view.byteOffset+t.offset,t.length),e),{}))}}h(pt,"signature",new Set([65536,1953658213,1954115633])),Fi([y("uint32")],pt.prototype,"scalerType"),Fi([y("uint16")],pt.prototype,"numTables"),Fi([y("uint16")],pt.prototype,"searchRange"),Fi([y("uint16")],pt.prototype,"entrySelector"),Fi([y("uint16")],pt.prototype,"rangeShift");class _r extends pt{constructor(){super(...arguments);h(this,"format","OpenType");h(this,"mimeType","font/otf")}static from(e){return super.from(e)}}h(_r,"signature",new Set([1330926671]));var $f=Object.defineProperty,Ti=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&$f(A,e,i),i};class wA extends ct{constructor(A,e){super(A,e,20)}}Ti([y({type:"char",size:4})],wA.prototype,"tag"),Ti([y("uint32")],wA.prototype,"offset"),Ti([y("uint32")],wA.prototype,"compLength"),Ti([y("uint32")],wA.prototype,"origLength"),Ti([y("uint32")],wA.prototype,"origChecksum");var ed=Object.defineProperty,ut=(r,A,e,t)=>{for(var i=void 0,s=r.length-1,n;s>=0;s--)(n=r[s])&&(i=n(A,e,i)||i);return i&&ed(A,e,i),i};const lt=(hA=class extends fr{constructor(){super(...arguments);h(this,"format","WOFF");h(this,"mimeType","font/woff");h(this,"_sfnt")}get subfontFormat(){return pt.is(this.flavor)?"TrueType":_r.is(this.flavor)?"OpenType":"Open"}get sfnt(){return this._sfnt||(this._sfnt=this.createSFNT()),this._sfnt}static is(e){return typeof e=="number"?this.signature.has(e):this.signature.has(YA(e).getUint32(0))}static checkSum(e){const t=YA(e),i=t.byteLength,s=Math.floor(i/4);let n=0,o=0;for(;o<s;)n+=t.getUint32(4*o++,!1);let a=i-s*4;if(a){let l=s*4;for(;a>0;)n+=t.getUint8(l)<<a*8,l++,a--}return n%4294967296}static from(e,t=new ArrayBuffer(0)){const i=f=>f+3&-4,s=[];e.tableViews.forEach((f,I)=>{const d=YA(Hu(new Uint8Array(f.buffer,f.byteOffset,f.byteLength)));s.push({tag:I,view:d.byteLength<f.byteLength?d:f,rawView:f})});const n=s.length,o=s.reduce((f,I)=>f+i(I.view.byteLength),0),a=new hA(new ArrayBuffer(44+20*n+o+t.byteLength));a.signature=2001684038,a.flavor=65536,a.length=a.view.byteLength,a.numTables=n,a.totalSFNTSize=12+16*n+s.reduce((f,I)=>f+i(I.rawView.byteLength),0);let l=44+n*20,g=0;const c=a.getDirectories();return s.forEach(f=>{const I=c[g++];I.tag=f.tag,I.offset=l,I.compLength=f.view.byteLength,I.origChecksum=hA.checkSum(f.rawView),I.origLength=f.rawView.byteLength,a.view.writeBytes(f.view,l),l+=i(I.compLength)}),a.view.writeBytes(t),a}getDirectories(){let e=44;return Array.from({length:this.numTables},()=>{const t=new wA(this.view.buffer,e);return e+=t.view.byteLength,t})}createSFNT(){return new pA(this.getDirectories().reduce((e,t)=>{const i=t.tag,s=this.view.byteOffset+t.offset,n=t.compLength,o=t.origLength,a=s+n;return e[i]=n>=o?new DataView(this.view.buffer,s,n):new DataView(Ju(new Uint8Array(this.view.buffer.slice(s,a))).buffer),e},{}))}},h(hA,"signature",new Set([2001684038])),hA);ut([y("uint32")],lt.prototype,"signature"),ut([y("uint32")],lt.prototype,"flavor"),ut([y("uint32")],lt.prototype,"length"),ut([y("uint16")],lt.prototype,"numTables"),ut([y("uint16")],lt.prototype,"reserved"),ut([y("uint32")],lt.prototype,"totalSFNTSize"),ut([y("uint16")],lt.prototype,"majorVersion"),ut([y("uint16")],lt.prototype,"minorVersion"),ut([y("uint32")],lt.prototype,"metaOffset"),ut([y("uint32")],lt.prototype,"metaLength"),ut([y("uint32")],lt.prototype,"metaOrigLength"),ut([y("uint32")],lt.prototype,"privOffset"),ut([y("uint32")],lt.prototype,"privLength");let Dr=lt;function Al(r,A=!0){if(pt.is(r))return new pt(r);if(_r.is(r))return new _r(r);if(Dr.is(r))return new Dr(r);if(A)throw new Error("Failed to parseFont")}function il(r,A=!0){const e=Al(r,!1);if(e)return e;if(A)throw new Error("Failed to parseFont")}const Lr=class Lr{constructor(){h(this,"fallbackFont");h(this,"loading",new Map);h(this,"loaded",new Map);h(this,"familyToUrl",new Map)}_createRequest(A,e){const t=new AbortController;return{url:A,when:fetch(A,{...Lr.defaultRequestInit,...e,signal:t.signal}).then(i=>i.arrayBuffer()),cancel:()=>t.abort()}}injectFontFace(A,e){return document.fonts.add(new FontFace(A,e)),this}injectStyleTag(A,e){const t=document.createElement("style");return t.appendChild(document.createTextNode(`@font-face {
|
|
772
772
|
font-family: "${A}";
|
|
773
773
|
src: url(${e});
|