@drincs/pixi-vn 1.2.20 → 1.2.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,9 @@
1
- var rx=Object.create;var Yi=Object.defineProperty;var ix=Object.getOwnPropertyDescriptor;var sx=Object.getOwnPropertyNames;var ox=Object.getPrototypeOf,nx=Object.prototype.hasOwnProperty;var ax=(i,t,e)=>t in i?Yi(i,t,{enumerable:true,configurable:true,writable:true,value:e}):i[t]=e;var p=(i,t)=>()=>(i&&(t=i(i=0)),t);var Ml=(i,t)=>()=>(t||i((t={exports:{}}).exports,t),t.exports),lx=(i,t)=>{for(var e in t)Yi(i,e,{get:t[e],enumerable:true});},hx=(i,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of sx(t))!nx.call(i,s)&&s!==e&&Yi(i,s,{get:()=>t[s],enumerable:!(r=ix(t,s))||r.enumerable});return i};var Al=(i,t,e)=>(e=i!=null?rx(ox(i)):{},hx(Yi(e,"default",{value:i,enumerable:true}),i));var rt=(i,t,e)=>ax(i,typeof t!="symbol"?t+"":t,e);var S,Io,Ur,I,B=p(()=>{S=(i=>(i.Application="application",i.WebGLPipes="webgl-pipes",i.WebGLPipesAdaptor="webgl-pipes-adaptor",i.WebGLSystem="webgl-system",i.WebGPUPipes="webgpu-pipes",i.WebGPUPipesAdaptor="webgpu-pipes-adaptor",i.WebGPUSystem="webgpu-system",i.CanvasSystem="canvas-system",i.CanvasPipesAdaptor="canvas-pipes-adaptor",i.CanvasPipes="canvas-pipes",i.Asset="asset",i.LoadParser="load-parser",i.ResolveParser="resolve-parser",i.CacheParser="cache-parser",i.DetectionParser="detection-parser",i.MaskEffect="mask-effect",i.BlendMode="blend-mode",i.TextureSource="texture-source",i.Environment="environment",i.ShapeBuilder="shape-builder",i.Batcher="batcher",i))(S||{}),Io=i=>{if(typeof i=="function"||typeof i=="object"&&i.extension){if(!i.extension)throw new Error("Extension class must have an extension object");i={...typeof i.extension!="object"?{type:i.extension}:i.extension,ref:i};}if(typeof i=="object")i={...i};else throw new Error("Invalid extension type");return typeof i.type=="string"&&(i.type=[i.type]),i},Ur=(i,t)=>Io(i).priority??t,I={_addHandlers:{},_removeHandlers:{},_queue:{},remove(...i){return i.map(Io).forEach(t=>{t.type.forEach(e=>this._removeHandlers[e]?.(t));}),this},add(...i){return i.map(Io).forEach(t=>{t.type.forEach(e=>{let r=this._addHandlers,s=this._queue;r[e]?r[e]?.(t):(s[e]=s[e]||[],s[e]?.push(t));});}),this},handle(i,t,e){let r=this._addHandlers,s=this._removeHandlers;if(r[i]||s[i])throw new Error(`Extension type ${i} already has a handler`);r[i]=t,s[i]=e;let o=this._queue;return o[i]&&(o[i]?.forEach(n=>t(n)),delete o[i]),this},handleByMap(i,t){return this.handle(i,e=>{e.name&&(t[e.name]=e.ref);},e=>{e.name&&delete t[e.name];})},handleByNamedList(i,t,e=-1){return this.handle(i,r=>{t.findIndex(o=>o.name===r.name)>=0||(t.push({name:r.name,value:r.ref}),t.sort((o,n)=>Ur(n.value,e)-Ur(o.value,e)));},r=>{let s=t.findIndex(o=>o.name===r.name);s!==-1&&t.splice(s,1);})},handleByList(i,t,e=-1){return this.handle(i,r=>{t.includes(r.ref)||(t.push(r.ref),t.sort((s,o)=>Ur(o,e)-Ur(s,e)));},r=>{let s=t.indexOf(r.ref);s!==-1&&t.splice(s,1);})},mixin(i,...t){for(let e of t)Object.defineProperties(i.prototype,Object.getOwnPropertyDescriptors(e));}};});var Bl=Ml((py,Ro)=>{var ux=Object.prototype.hasOwnProperty,Tt="~";function Lr(){}Object.create&&(Lr.prototype=Object.create(null),new Lr().__proto__||(Tt=false));function cx(i,t,e){this.fn=i,this.context=t,this.once=e||false;}function Fl(i,t,e,r,s){if(typeof e!="function")throw new TypeError("The listener must be a function");var o=new cx(e,r||i,s),n=Tt?Tt+t:t;return i._events[n]?i._events[n].fn?i._events[n]=[i._events[n],o]:i._events[n].push(o):(i._events[n]=o,i._eventsCount++),i}function Ji(i,t){--i._eventsCount===0?i._events=new Lr:delete i._events[t];}function vt(){this._events=new Lr,this._eventsCount=0;}vt.prototype.eventNames=function(){var t=[],e,r;if(this._eventsCount===0)return t;for(r in e=this._events)ux.call(e,r)&&t.push(Tt?r.slice(1):r);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};vt.prototype.listeners=function(t){var e=Tt?Tt+t:t,r=this._events[e];if(!r)return [];if(r.fn)return [r.fn];for(var s=0,o=r.length,n=new Array(o);s<o;s++)n[s]=r[s].fn;return n};vt.prototype.listenerCount=function(t){var e=Tt?Tt+t:t,r=this._events[e];return r?r.fn?1:r.length:0};vt.prototype.emit=function(t,e,r,s,o,n){var a=Tt?Tt+t:t;if(!this._events[a])return false;var l=this._events[a],h=arguments.length,u,c;if(l.fn){switch(l.once&&this.removeListener(t,l.fn,void 0,true),h){case 1:return l.fn.call(l.context),true;case 2:return l.fn.call(l.context,e),true;case 3:return l.fn.call(l.context,e,r),true;case 4:return l.fn.call(l.context,e,r,s),true;case 5:return l.fn.call(l.context,e,r,s,o),true;case 6:return l.fn.call(l.context,e,r,s,o,n),true}for(c=1,u=new Array(h-1);c<h;c++)u[c-1]=arguments[c];l.fn.apply(l.context,u);}else {var f=l.length,d;for(c=0;c<f;c++)switch(l[c].once&&this.removeListener(t,l[c].fn,void 0,true),h){case 1:l[c].fn.call(l[c].context);break;case 2:l[c].fn.call(l[c].context,e);break;case 3:l[c].fn.call(l[c].context,e,r);break;case 4:l[c].fn.call(l[c].context,e,r,s);break;default:if(!u)for(d=1,u=new Array(h-1);d<h;d++)u[d-1]=arguments[d];l[c].fn.apply(l[c].context,u);}}return true};vt.prototype.on=function(t,e,r){return Fl(this,t,e,r,false)};vt.prototype.once=function(t,e,r){return Fl(this,t,e,r,true)};vt.prototype.removeListener=function(t,e,r,s){var o=Tt?Tt+t:t;if(!this._events[o])return this;if(!e)return Ji(this,o),this;var n=this._events[o];if(n.fn)n.fn===e&&(!s||n.once)&&(!r||n.context===r)&&Ji(this,o);else {for(var a=0,l=[],h=n.length;a<h;a++)(n[a].fn!==e||s&&!n[a].once||r&&n[a].context!==r)&&l.push(n[a]);l.length?this._events[o]=l.length===1?l[0]:l:Ji(this,o);}return this};vt.prototype.removeAllListeners=function(t){var e;return t?(e=Tt?Tt+t:t,this._events[e]&&Ji(this,e)):(this._events=new Lr,this._eventsCount=0),this};vt.prototype.off=vt.prototype.removeListener;vt.prototype.addListener=vt.prototype.on;vt.prefixed=Tt;vt.EventEmitter=vt;typeof Ro<"u"&&(Ro.exports=vt);});var kl,N,Et=p(()=>{kl=Al(Bl()),N=kl.default;});var dx,ae,gt,zt,zl,Gl,Do,fx,ts,Wl,Vl,Il,Rl,Dl,Or,px,mx,xx,gx,Oo,Ul,_x,Uo,Lo,Ll,zo,Nt,Ol,Hl,Nl=p(()=>{dx={grad:.9,turn:360,rad:360/(2*Math.PI)},ae=function(i){return typeof i=="string"?i.length>0:typeof i=="number"},gt=function(i,t,e){return t===void 0&&(t=0),e===void 0&&(e=Math.pow(10,t)),Math.round(e*i)/e+0},zt=function(i,t,e){return t===void 0&&(t=0),e===void 0&&(e=1),i>e?e:i>t?i:t},zl=function(i){return (i=isFinite(i)?i%360:0)>0?i:i+360},Gl=function(i){return {r:zt(i.r,0,255),g:zt(i.g,0,255),b:zt(i.b,0,255),a:zt(i.a)}},Do=function(i){return {r:gt(i.r),g:gt(i.g),b:gt(i.b),a:gt(i.a,3)}},fx=/^#([0-9a-f]{3,8})$/i,ts=function(i){var t=i.toString(16);return t.length<2?"0"+t:t},Wl=function(i){var t=i.r,e=i.g,r=i.b,s=i.a,o=Math.max(t,e,r),n=o-Math.min(t,e,r),a=n?o===t?(e-r)/n:o===e?2+(r-t)/n:4+(t-e)/n:0;return {h:60*(a<0?a+6:a),s:o?n/o*100:0,v:o/255*100,a:s}},Vl=function(i){var t=i.h,e=i.s,r=i.v,s=i.a;t=t/360*6,e/=100,r/=100;var o=Math.floor(t),n=r*(1-e),a=r*(1-(t-o)*e),l=r*(1-(1-t+o)*e),h=o%6;return {r:255*[r,a,n,n,l,r][h],g:255*[l,r,r,a,n,n][h],b:255*[n,n,l,r,r,a][h],a:s}},Il=function(i){return {h:zl(i.h),s:zt(i.s,0,100),l:zt(i.l,0,100),a:zt(i.a)}},Rl=function(i){return {h:gt(i.h),s:gt(i.s),l:gt(i.l),a:gt(i.a,3)}},Dl=function(i){return Vl((e=(t=i).s,{h:t.h,s:(e*=((r=t.l)<50?r:100-r)/100)>0?2*e/(r+e)*100:0,v:r+e,a:t.a}));var t,e,r;},Or=function(i){return {h:(t=Wl(i)).h,s:(s=(200-(e=t.s))*(r=t.v)/100)>0&&s<200?e*r/100/(s<=100?s:200-s)*100:0,l:s/2,a:t.a};var t,e,r,s;},px=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,mx=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,xx=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,gx=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Oo={string:[[function(i){var t=fx.exec(i);return t?(i=t[1]).length<=4?{r:parseInt(i[0]+i[0],16),g:parseInt(i[1]+i[1],16),b:parseInt(i[2]+i[2],16),a:i.length===4?gt(parseInt(i[3]+i[3],16)/255,2):1}:i.length===6||i.length===8?{r:parseInt(i.substr(0,2),16),g:parseInt(i.substr(2,2),16),b:parseInt(i.substr(4,2),16),a:i.length===8?gt(parseInt(i.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(i){var t=xx.exec(i)||gx.exec(i);return t?t[2]!==t[4]||t[4]!==t[6]?null:Gl({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(i){var t=px.exec(i)||mx.exec(i);if(!t)return null;var e,r,s=Il({h:(e=t[1],r=t[2],r===void 0&&(r="deg"),Number(e)*(dx[r]||1)),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)});return Dl(s)},"hsl"]],object:[[function(i){var t=i.r,e=i.g,r=i.b,s=i.a,o=s===void 0?1:s;return ae(t)&&ae(e)&&ae(r)?Gl({r:Number(t),g:Number(e),b:Number(r),a:Number(o)}):null},"rgb"],[function(i){var t=i.h,e=i.s,r=i.l,s=i.a,o=s===void 0?1:s;if(!ae(t)||!ae(e)||!ae(r))return null;var n=Il({h:Number(t),s:Number(e),l:Number(r),a:Number(o)});return Dl(n)},"hsl"],[function(i){var t=i.h,e=i.s,r=i.v,s=i.a,o=s===void 0?1:s;if(!ae(t)||!ae(e)||!ae(r))return null;var n=function(a){return {h:zl(a.h),s:zt(a.s,0,100),v:zt(a.v,0,100),a:zt(a.a)}}({h:Number(t),s:Number(e),v:Number(r),a:Number(o)});return Vl(n)},"hsv"]]},Ul=function(i,t){for(var e=0;e<t.length;e++){var r=t[e][0](i);if(r)return [r,t[e][1]]}return [null,void 0]},_x=function(i){return typeof i=="string"?Ul(i.trim(),Oo.string):typeof i=="object"&&i!==null?Ul(i,Oo.object):[null,void 0]},Uo=function(i,t){var e=Or(i);return {h:e.h,s:zt(e.s+100*t,0,100),l:e.l,a:e.a}},Lo=function(i){return (299*i.r+587*i.g+114*i.b)/1e3/255},Ll=function(i,t){var e=Or(i);return {h:e.h,s:e.s,l:zt(e.l+100*t,0,100),a:e.a}},zo=function(){function i(t){this.parsed=_x(t)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1};}return i.prototype.isValid=function(){return this.parsed!==null},i.prototype.brightness=function(){return gt(Lo(this.rgba),2)},i.prototype.isDark=function(){return Lo(this.rgba)<.5},i.prototype.isLight=function(){return Lo(this.rgba)>=.5},i.prototype.toHex=function(){return t=Do(this.rgba),e=t.r,r=t.g,s=t.b,n=(o=t.a)<1?ts(gt(255*o)):"","#"+ts(e)+ts(r)+ts(s)+n;var t,e,r,s,o,n;},i.prototype.toRgb=function(){return Do(this.rgba)},i.prototype.toRgbString=function(){return t=Do(this.rgba),e=t.r,r=t.g,s=t.b,(o=t.a)<1?"rgba("+e+", "+r+", "+s+", "+o+")":"rgb("+e+", "+r+", "+s+")";var t,e,r,s,o;},i.prototype.toHsl=function(){return Rl(Or(this.rgba))},i.prototype.toHslString=function(){return t=Rl(Or(this.rgba)),e=t.h,r=t.s,s=t.l,(o=t.a)<1?"hsla("+e+", "+r+"%, "+s+"%, "+o+")":"hsl("+e+", "+r+"%, "+s+"%)";var t,e,r,s,o;},i.prototype.toHsv=function(){return t=Wl(this.rgba),{h:gt(t.h),s:gt(t.s),v:gt(t.v),a:gt(t.a,3)};var t;},i.prototype.invert=function(){return Nt({r:255-(t=this.rgba).r,g:255-t.g,b:255-t.b,a:t.a});var t;},i.prototype.saturate=function(t){return t===void 0&&(t=.1),Nt(Uo(this.rgba,t))},i.prototype.desaturate=function(t){return t===void 0&&(t=.1),Nt(Uo(this.rgba,-t))},i.prototype.grayscale=function(){return Nt(Uo(this.rgba,-1))},i.prototype.lighten=function(t){return t===void 0&&(t=.1),Nt(Ll(this.rgba,t))},i.prototype.darken=function(t){return t===void 0&&(t=.1),Nt(Ll(this.rgba,-t))},i.prototype.rotate=function(t){return t===void 0&&(t=15),this.hue(this.hue()+t)},i.prototype.alpha=function(t){return typeof t=="number"?Nt({r:(e=this.rgba).r,g:e.g,b:e.b,a:t}):gt(this.rgba.a,3);var e;},i.prototype.hue=function(t){var e=Or(this.rgba);return typeof t=="number"?Nt({h:t,s:e.s,l:e.l,a:e.a}):gt(e.h)},i.prototype.isEqual=function(t){return this.toHex()===Nt(t).toHex()},i}(),Nt=function(i){return i instanceof zo?i:new zo(i)},Ol=[],Hl=function(i){i.forEach(function(t){Ol.indexOf(t)<0&&(t(zo,Oo),Ol.push(t));});};});function $l(i,t){var e={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},r={};for(var s in e)r[e[s]]=s;var o={};i.prototype.toName=function(n){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return "transparent";var a,l,h=r[this.toHex()];if(h)return h;if(n?.closest){var u=this.toRgb(),c=1/0,f="black";if(!o.length)for(var d in e)o[d]=new i(e[d]).toRgb();for(var m in e){var g=(a=u,l=o[m],Math.pow(a.r-l.r,2)+Math.pow(a.g-l.g,2)+Math.pow(a.b-l.b,2));g<c&&(c=g,f=m);}return f}},t.string.push([function(n){var a=n.toLowerCase(),l=a==="transparent"?"#0000":e[a];return l?new i(l).toRgb():null},"name"]);}var Yl=p(()=>{});var Ze,H,Ft=p(()=>{Nl();Yl();Hl([$l]);Ze=class zr{constructor(t=16777215){this._value=null,this._components=new Float32Array(4),this._components.fill(1),this._int=16777215,this.value=t;}get red(){return this._components[0]}get green(){return this._components[1]}get blue(){return this._components[2]}get alpha(){return this._components[3]}setValue(t){return this.value=t,this}set value(t){if(t instanceof zr)this._value=this._cloneSource(t._value),this._int=t._int,this._components.set(t._components);else {if(t===null)throw new Error("Cannot set Color#value to null");(this._value===null||!this._isSourceEqual(this._value,t))&&(this._value=this._cloneSource(t),this._normalize(this._value));}}get value(){return this._value}_cloneSource(t){return typeof t=="string"||typeof t=="number"||t instanceof Number||t===null?t:Array.isArray(t)||ArrayBuffer.isView(t)?t.slice(0):typeof t=="object"&&t!==null?{...t}:t}_isSourceEqual(t,e){let r=typeof t;if(r!==typeof e)return false;if(r==="number"||r==="string"||t instanceof Number)return t===e;if(Array.isArray(t)&&Array.isArray(e)||ArrayBuffer.isView(t)&&ArrayBuffer.isView(e))return t.length!==e.length?false:t.every((o,n)=>o===e[n]);if(t!==null&&e!==null){let o=Object.keys(t),n=Object.keys(e);return o.length!==n.length?false:o.every(a=>t[a]===e[a])}return t===e}toRgba(){let[t,e,r,s]=this._components;return {r:t,g:e,b:r,a:s}}toRgb(){let[t,e,r]=this._components;return {r:t,g:e,b:r}}toRgbaString(){let[t,e,r]=this.toUint8RgbArray();return `rgba(${t},${e},${r},${this.alpha})`}toUint8RgbArray(t){let[e,r,s]=this._components;return this._arrayRgb||(this._arrayRgb=[]),t||(t=this._arrayRgb),t[0]=Math.round(e*255),t[1]=Math.round(r*255),t[2]=Math.round(s*255),t}toArray(t){this._arrayRgba||(this._arrayRgba=[]),t||(t=this._arrayRgba);let[e,r,s,o]=this._components;return t[0]=e,t[1]=r,t[2]=s,t[3]=o,t}toRgbArray(t){this._arrayRgb||(this._arrayRgb=[]),t||(t=this._arrayRgb);let[e,r,s]=this._components;return t[0]=e,t[1]=r,t[2]=s,t}toNumber(){return this._int}toBgrNumber(){let[t,e,r]=this.toUint8RgbArray();return (r<<16)+(e<<8)+t}toLittleEndianNumber(){let t=this._int;return (t>>16)+(t&65280)+((t&255)<<16)}multiply(t){let[e,r,s,o]=zr._temp.setValue(t)._components;return this._components[0]*=e,this._components[1]*=r,this._components[2]*=s,this._components[3]*=o,this._refreshInt(),this._value=null,this}premultiply(t,e=true){return e&&(this._components[0]*=t,this._components[1]*=t,this._components[2]*=t),this._components[3]=t,this._refreshInt(),this._value=null,this}toPremultiplied(t,e=true){if(t===1)return (255<<24)+this._int;if(t===0)return e?0:this._int;let r=this._int>>16&255,s=this._int>>8&255,o=this._int&255;return e&&(r=r*t+.5|0,s=s*t+.5|0,o=o*t+.5|0),(t*255<<24)+(r<<16)+(s<<8)+o}toHex(){let t=this._int.toString(16);return `#${"000000".substring(0,6-t.length)+t}`}toHexa(){let e=Math.round(this._components[3]*255).toString(16);return this.toHex()+"00".substring(0,2-e.length)+e}setAlpha(t){return this._components[3]=this._clamp(t),this}_normalize(t){let e,r,s,o;if((typeof t=="number"||t instanceof Number)&&t>=0&&t<=16777215){let n=t;e=(n>>16&255)/255,r=(n>>8&255)/255,s=(n&255)/255,o=1;}else if((Array.isArray(t)||t instanceof Float32Array)&&t.length>=3&&t.length<=4)t=this._clamp(t),[e,r,s,o=1]=t;else if((t instanceof Uint8Array||t instanceof Uint8ClampedArray)&&t.length>=3&&t.length<=4)t=this._clamp(t,0,255),[e,r,s,o=255]=t,e/=255,r/=255,s/=255,o/=255;else if(typeof t=="string"||typeof t=="object"){if(typeof t=="string"){let a=zr.HEX_PATTERN.exec(t);a&&(t=`#${a[2]}`);}let n=Nt(t);n.isValid()&&({r:e,g:r,b:s,a:o}=n.rgba,e/=255,r/=255,s/=255);}if(e!==void 0)this._components[0]=e,this._components[1]=r,this._components[2]=s,this._components[3]=o,this._refreshInt();else throw new Error(`Unable to convert color ${t}`)}_refreshInt(){this._clamp(this._components);let[t,e,r]=this._components;this._int=(t*255<<16)+(e*255<<8)+(r*255|0);}_clamp(t,e=0,r=1){return typeof t=="number"?Math.min(Math.max(t,e),r):(t.forEach((s,o)=>{t[o]=Math.min(Math.max(s,e),r);}),t)}static isColorLike(t){return typeof t=="number"||typeof t=="string"||t instanceof Number||t instanceof zr||Array.isArray(t)||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Float32Array||t.r!==void 0&&t.g!==void 0&&t.b!==void 0||t.r!==void 0&&t.g!==void 0&&t.b!==void 0&&t.a!==void 0||t.h!==void 0&&t.s!==void 0&&t.l!==void 0||t.h!==void 0&&t.s!==void 0&&t.l!==void 0&&t.a!==void 0||t.h!==void 0&&t.s!==void 0&&t.v!==void 0||t.h!==void 0&&t.s!==void 0&&t.v!==void 0&&t.a!==void 0}};Ze.shared=new Ze;Ze._temp=new Ze;Ze.HEX_PATTERN=/^(#|0x)?(([a-f0-9]{3}){1,2}([a-f0-9]{2})?)$/i;H=Ze;});var Xl,jl=p(()=>{Xl={cullArea:null,cullable:false,cullableChildren:true};});var ql,Kl,Zl,Wo=p(()=>{ql=Math.PI*2,Kl=180/Math.PI,Zl=Math.PI/180;});var $,Vo,qt=p(()=>{$=class i{constructor(t=0,e=0){this.x=0,this.y=0,this.x=t,this.y=e;}clone(){return new i(this.x,this.y)}copyFrom(t){return this.set(t.x,t.y),this}copyTo(t){return t.set(this.x,this.y),t}equals(t){return t.x===this.x&&t.y===this.y}set(t=0,e=t){return this.x=t,this.y=e,this}toString(){return `[pixi.js/math:Point x=${this.x} y=${this.y}]`}static get shared(){return Vo.x=0,Vo.y=0,Vo}},Vo=new $;});var M,yx,bx,tt=p(()=>{Wo();qt();M=class i{constructor(t=1,e=0,r=0,s=1,o=0,n=0){this.array=null,this.a=t,this.b=e,this.c=r,this.d=s,this.tx=o,this.ty=n;}fromArray(t){this.a=t[0],this.b=t[1],this.c=t[3],this.d=t[4],this.tx=t[2],this.ty=t[5];}set(t,e,r,s,o,n){return this.a=t,this.b=e,this.c=r,this.d=s,this.tx=o,this.ty=n,this}toArray(t,e){this.array||(this.array=new Float32Array(9));let r=e||this.array;return t?(r[0]=this.a,r[1]=this.b,r[2]=0,r[3]=this.c,r[4]=this.d,r[5]=0,r[6]=this.tx,r[7]=this.ty,r[8]=1):(r[0]=this.a,r[1]=this.c,r[2]=this.tx,r[3]=this.b,r[4]=this.d,r[5]=this.ty,r[6]=0,r[7]=0,r[8]=1),r}apply(t,e){e=e||new $;let r=t.x,s=t.y;return e.x=this.a*r+this.c*s+this.tx,e.y=this.b*r+this.d*s+this.ty,e}applyInverse(t,e){e=e||new $;let r=this.a,s=this.b,o=this.c,n=this.d,a=this.tx,l=this.ty,h=1/(r*n+o*-s),u=t.x,c=t.y;return e.x=n*h*u+-o*h*c+(l*o-a*n)*h,e.y=r*h*c+-s*h*u+(-l*r+a*s)*h,e}translate(t,e){return this.tx+=t,this.ty+=e,this}scale(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this}rotate(t){let e=Math.cos(t),r=Math.sin(t),s=this.a,o=this.c,n=this.tx;return this.a=s*e-this.b*r,this.b=s*r+this.b*e,this.c=o*e-this.d*r,this.d=o*r+this.d*e,this.tx=n*e-this.ty*r,this.ty=n*r+this.ty*e,this}append(t){let e=this.a,r=this.b,s=this.c,o=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*r+t.b*o,this.c=t.c*e+t.d*s,this.d=t.c*r+t.d*o,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*r+t.ty*o+this.ty,this}appendFrom(t,e){let r=t.a,s=t.b,o=t.c,n=t.d,a=t.tx,l=t.ty,h=e.a,u=e.b,c=e.c,f=e.d;return this.a=r*h+s*c,this.b=r*u+s*f,this.c=o*h+n*c,this.d=o*u+n*f,this.tx=a*h+l*c+e.tx,this.ty=a*u+l*f+e.ty,this}setTransform(t,e,r,s,o,n,a,l,h){return this.a=Math.cos(a+h)*o,this.b=Math.sin(a+h)*o,this.c=-Math.sin(a-l)*n,this.d=Math.cos(a-l)*n,this.tx=t-(r*this.a+s*this.c),this.ty=e-(r*this.b+s*this.d),this}prepend(t){let e=this.tx;if(t.a!==1||t.b!==0||t.c!==0||t.d!==1){let r=this.a,s=this.c;this.a=r*t.a+this.b*t.c,this.b=r*t.b+this.b*t.d,this.c=s*t.a+this.d*t.c,this.d=s*t.b+this.d*t.d;}return this.tx=e*t.a+this.ty*t.c+t.tx,this.ty=e*t.b+this.ty*t.d+t.ty,this}decompose(t){let e=this.a,r=this.b,s=this.c,o=this.d,n=t.pivot,a=-Math.atan2(-s,o),l=Math.atan2(r,e),h=Math.abs(a+l);return h<1e-5||Math.abs(ql-h)<1e-5?(t.rotation=l,t.skew.x=t.skew.y=0):(t.rotation=0,t.skew.x=a,t.skew.y=l),t.scale.x=Math.sqrt(e*e+r*r),t.scale.y=Math.sqrt(s*s+o*o),t.position.x=this.tx+(n.x*e+n.y*s),t.position.y=this.ty+(n.x*r+n.y*o),t}invert(){let t=this.a,e=this.b,r=this.c,s=this.d,o=this.tx,n=t*s-e*r;return this.a=s/n,this.b=-e/n,this.c=-r/n,this.d=t/n,this.tx=(r*this.ty-s*o)/n,this.ty=-(t*this.ty-e*o)/n,this}isIdentity(){return this.a===1&&this.b===0&&this.c===0&&this.d===1&&this.tx===0&&this.ty===0}identity(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this}clone(){let t=new i;return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t}copyTo(t){return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t}copyFrom(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this}equals(t){return t.a===this.a&&t.b===this.b&&t.c===this.c&&t.d===this.d&&t.tx===this.tx&&t.ty===this.ty}toString(){return `[pixi.js:Matrix a=${this.a} b=${this.b} c=${this.c} d=${this.d} tx=${this.tx} ty=${this.ty}]`}static get IDENTITY(){return bx.identity()}static get shared(){return yx.identity()}},yx=new M,bx=new M;});var wt,Ho=p(()=>{wt=class i{constructor(t,e,r){this._x=e||0,this._y=r||0,this._observer=t;}clone(t){return new i(t??this._observer,this._x,this._y)}set(t=0,e=t){return (this._x!==t||this._y!==e)&&(this._x=t,this._y=e,this._observer._onUpdate(this)),this}copyFrom(t){return (this._x!==t.x||this._y!==t.y)&&(this._x=t.x,this._y=t.y,this._observer._onUpdate(this)),this}copyTo(t){return t.set(this._x,this._y),t}equals(t){return t.x===this._x&&t.y===this._y}toString(){return `[pixi.js/math:ObservablePoint x=${this._x} y=${this._y} scope=${this._observer}]`}get x(){return this._x}set x(t){this._x!==t&&(this._x=t,this._observer._onUpdate(this));}get y(){return this._y}set y(t){this._y!==t&&(this._y=t,this._observer._onUpdate(this));}};});function Y(i="default"){return No[i]===void 0&&(No[i]=-1),++No[i]}var No,Pt=p(()=>{No={default:-1};});function G(i,t,e=3){if(Ql[t])return;let r=new Error().stack;typeof r>"u"?console.warn("PixiJS Deprecation Warning: ",`${t}
1
+ var ig=Object.create;var Yi=Object.defineProperty;var sg=Object.getOwnPropertyDescriptor;var og=Object.getOwnPropertyNames;var ng=Object.getPrototypeOf,ag=Object.prototype.hasOwnProperty;var lg=(i,t,e)=>t in i?Yi(i,t,{enumerable:true,configurable:true,writable:true,value:e}):i[t]=e;var p=(i,t)=>()=>(i&&(t=i(i=0)),t);var Al=(i,t)=>()=>(t||i((t={exports:{}}).exports,t),t.exports),hg=(i,t)=>{for(var e in t)Yi(i,e,{get:t[e],enumerable:true});},ug=(i,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of og(t))!ag.call(i,s)&&s!==e&&Yi(i,s,{get:()=>t[s],enumerable:!(r=sg(t,s))||r.enumerable});return i};var Cl=(i,t,e)=>(e=i!=null?ig(ng(i)):{},ug(Yi(e,"default",{value:i,enumerable:true}),i));var rt=(i,t,e)=>lg(i,typeof t!="symbol"?t+"":t,e);var S,Do,Lr,I,k=p(()=>{S=(i=>(i.Application="application",i.WebGLPipes="webgl-pipes",i.WebGLPipesAdaptor="webgl-pipes-adaptor",i.WebGLSystem="webgl-system",i.WebGPUPipes="webgpu-pipes",i.WebGPUPipesAdaptor="webgpu-pipes-adaptor",i.WebGPUSystem="webgpu-system",i.CanvasSystem="canvas-system",i.CanvasPipesAdaptor="canvas-pipes-adaptor",i.CanvasPipes="canvas-pipes",i.Asset="asset",i.LoadParser="load-parser",i.ResolveParser="resolve-parser",i.CacheParser="cache-parser",i.DetectionParser="detection-parser",i.MaskEffect="mask-effect",i.BlendMode="blend-mode",i.TextureSource="texture-source",i.Environment="environment",i.ShapeBuilder="shape-builder",i.Batcher="batcher",i))(S||{}),Do=i=>{if(typeof i=="function"||typeof i=="object"&&i.extension){if(!i.extension)throw new Error("Extension class must have an extension object");i={...typeof i.extension!="object"?{type:i.extension}:i.extension,ref:i};}if(typeof i=="object")i={...i};else throw new Error("Invalid extension type");return typeof i.type=="string"&&(i.type=[i.type]),i},Lr=(i,t)=>Do(i).priority??t,I={_addHandlers:{},_removeHandlers:{},_queue:{},remove(...i){return i.map(Do).forEach(t=>{t.type.forEach(e=>this._removeHandlers[e]?.(t));}),this},add(...i){return i.map(Do).forEach(t=>{t.type.forEach(e=>{let r=this._addHandlers,s=this._queue;r[e]?r[e]?.(t):(s[e]=s[e]||[],s[e]?.push(t));});}),this},handle(i,t,e){let r=this._addHandlers,s=this._removeHandlers;if(r[i]||s[i])throw new Error(`Extension type ${i} already has a handler`);r[i]=t,s[i]=e;let o=this._queue;return o[i]&&(o[i]?.forEach(n=>t(n)),delete o[i]),this},handleByMap(i,t){return this.handle(i,e=>{e.name&&(t[e.name]=e.ref);},e=>{e.name&&delete t[e.name];})},handleByNamedList(i,t,e=-1){return this.handle(i,r=>{t.findIndex(o=>o.name===r.name)>=0||(t.push({name:r.name,value:r.ref}),t.sort((o,n)=>Lr(n.value,e)-Lr(o.value,e)));},r=>{let s=t.findIndex(o=>o.name===r.name);s!==-1&&t.splice(s,1);})},handleByList(i,t,e=-1){return this.handle(i,r=>{t.includes(r.ref)||(t.push(r.ref),t.sort((s,o)=>Lr(o,e)-Lr(s,e)));},r=>{let s=t.indexOf(r.ref);s!==-1&&t.splice(s,1);})},mixin(i,...t){for(let e of t)Object.defineProperties(i.prototype,Object.getOwnPropertyDescriptors(e));}};});var kl=Al((my,Lo)=>{var cg=Object.prototype.hasOwnProperty,Pt="~";function Ur(){}Object.create&&(Ur.prototype=Object.create(null),new Ur().__proto__||(Pt=false));function dg(i,t,e){this.fn=i,this.context=t,this.once=e||false;}function Bl(i,t,e,r,s){if(typeof e!="function")throw new TypeError("The listener must be a function");var o=new dg(e,r||i,s),n=Pt?Pt+t:t;return i._events[n]?i._events[n].fn?i._events[n]=[i._events[n],o]:i._events[n].push(o):(i._events[n]=o,i._eventsCount++),i}function Ji(i,t){--i._eventsCount===0?i._events=new Ur:delete i._events[t];}function St(){this._events=new Ur,this._eventsCount=0;}St.prototype.eventNames=function(){var t=[],e,r;if(this._eventsCount===0)return t;for(r in e=this._events)cg.call(e,r)&&t.push(Pt?r.slice(1):r);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};St.prototype.listeners=function(t){var e=Pt?Pt+t:t,r=this._events[e];if(!r)return [];if(r.fn)return [r.fn];for(var s=0,o=r.length,n=new Array(o);s<o;s++)n[s]=r[s].fn;return n};St.prototype.listenerCount=function(t){var e=Pt?Pt+t:t,r=this._events[e];return r?r.fn?1:r.length:0};St.prototype.emit=function(t,e,r,s,o,n){var a=Pt?Pt+t:t;if(!this._events[a])return false;var l=this._events[a],h=arguments.length,u,c;if(l.fn){switch(l.once&&this.removeListener(t,l.fn,void 0,true),h){case 1:return l.fn.call(l.context),true;case 2:return l.fn.call(l.context,e),true;case 3:return l.fn.call(l.context,e,r),true;case 4:return l.fn.call(l.context,e,r,s),true;case 5:return l.fn.call(l.context,e,r,s,o),true;case 6:return l.fn.call(l.context,e,r,s,o,n),true}for(c=1,u=new Array(h-1);c<h;c++)u[c-1]=arguments[c];l.fn.apply(l.context,u);}else {var f=l.length,d;for(c=0;c<f;c++)switch(l[c].once&&this.removeListener(t,l[c].fn,void 0,true),h){case 1:l[c].fn.call(l[c].context);break;case 2:l[c].fn.call(l[c].context,e);break;case 3:l[c].fn.call(l[c].context,e,r);break;case 4:l[c].fn.call(l[c].context,e,r,s);break;default:if(!u)for(d=1,u=new Array(h-1);d<h;d++)u[d-1]=arguments[d];l[c].fn.apply(l[c].context,u);}}return true};St.prototype.on=function(t,e,r){return Bl(this,t,e,r,false)};St.prototype.once=function(t,e,r){return Bl(this,t,e,r,true)};St.prototype.removeListener=function(t,e,r,s){var o=Pt?Pt+t:t;if(!this._events[o])return this;if(!e)return Ji(this,o),this;var n=this._events[o];if(n.fn)n.fn===e&&(!s||n.once)&&(!r||n.context===r)&&Ji(this,o);else {for(var a=0,l=[],h=n.length;a<h;a++)(n[a].fn!==e||s&&!n[a].once||r&&n[a].context!==r)&&l.push(n[a]);l.length?this._events[o]=l.length===1?l[0]:l:Ji(this,o);}return this};St.prototype.removeAllListeners=function(t){var e;return t?(e=Pt?Pt+t:t,this._events[e]&&Ji(this,e)):(this._events=new Ur,this._eventsCount=0),this};St.prototype.off=St.prototype.removeListener;St.prototype.addListener=St.prototype.on;St.prefixed=Pt;St.EventEmitter=St;typeof Lo<"u"&&(Lo.exports=St);});var Gl,N,Et=p(()=>{Gl=Cl(kl()),N=Gl.default;});var fg,ae,xt,zt,Wl,Il,Uo,pg,ts,Vl,Hl,Rl,Dl,Ll,Or,mg,gg,xg,_g,Wo,Ul,yg,Oo,zo,Ol,Vo,Nt,zl,Nl,$l=p(()=>{fg={grad:.9,turn:360,rad:360/(2*Math.PI)},ae=function(i){return typeof i=="string"?i.length>0:typeof i=="number"},xt=function(i,t,e){return t===void 0&&(t=0),e===void 0&&(e=Math.pow(10,t)),Math.round(e*i)/e+0},zt=function(i,t,e){return t===void 0&&(t=0),e===void 0&&(e=1),i>e?e:i>t?i:t},Wl=function(i){return (i=isFinite(i)?i%360:0)>0?i:i+360},Il=function(i){return {r:zt(i.r,0,255),g:zt(i.g,0,255),b:zt(i.b,0,255),a:zt(i.a)}},Uo=function(i){return {r:xt(i.r),g:xt(i.g),b:xt(i.b),a:xt(i.a,3)}},pg=/^#([0-9a-f]{3,8})$/i,ts=function(i){var t=i.toString(16);return t.length<2?"0"+t:t},Vl=function(i){var t=i.r,e=i.g,r=i.b,s=i.a,o=Math.max(t,e,r),n=o-Math.min(t,e,r),a=n?o===t?(e-r)/n:o===e?2+(r-t)/n:4+(t-e)/n:0;return {h:60*(a<0?a+6:a),s:o?n/o*100:0,v:o/255*100,a:s}},Hl=function(i){var t=i.h,e=i.s,r=i.v,s=i.a;t=t/360*6,e/=100,r/=100;var o=Math.floor(t),n=r*(1-e),a=r*(1-(t-o)*e),l=r*(1-(1-t+o)*e),h=o%6;return {r:255*[r,a,n,n,l,r][h],g:255*[l,r,r,a,n,n][h],b:255*[n,n,l,r,r,a][h],a:s}},Rl=function(i){return {h:Wl(i.h),s:zt(i.s,0,100),l:zt(i.l,0,100),a:zt(i.a)}},Dl=function(i){return {h:xt(i.h),s:xt(i.s),l:xt(i.l),a:xt(i.a,3)}},Ll=function(i){return Hl((e=(t=i).s,{h:t.h,s:(e*=((r=t.l)<50?r:100-r)/100)>0?2*e/(r+e)*100:0,v:r+e,a:t.a}));var t,e,r;},Or=function(i){return {h:(t=Vl(i)).h,s:(s=(200-(e=t.s))*(r=t.v)/100)>0&&s<200?e*r/100/(s<=100?s:200-s)*100:0,l:s/2,a:t.a};var t,e,r,s;},mg=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,gg=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,xg=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,_g=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Wo={string:[[function(i){var t=pg.exec(i);return t?(i=t[1]).length<=4?{r:parseInt(i[0]+i[0],16),g:parseInt(i[1]+i[1],16),b:parseInt(i[2]+i[2],16),a:i.length===4?xt(parseInt(i[3]+i[3],16)/255,2):1}:i.length===6||i.length===8?{r:parseInt(i.substr(0,2),16),g:parseInt(i.substr(2,2),16),b:parseInt(i.substr(4,2),16),a:i.length===8?xt(parseInt(i.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(i){var t=xg.exec(i)||_g.exec(i);return t?t[2]!==t[4]||t[4]!==t[6]?null:Il({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(i){var t=mg.exec(i)||gg.exec(i);if(!t)return null;var e,r,s=Rl({h:(e=t[1],r=t[2],r===void 0&&(r="deg"),Number(e)*(fg[r]||1)),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)});return Ll(s)},"hsl"]],object:[[function(i){var t=i.r,e=i.g,r=i.b,s=i.a,o=s===void 0?1:s;return ae(t)&&ae(e)&&ae(r)?Il({r:Number(t),g:Number(e),b:Number(r),a:Number(o)}):null},"rgb"],[function(i){var t=i.h,e=i.s,r=i.l,s=i.a,o=s===void 0?1:s;if(!ae(t)||!ae(e)||!ae(r))return null;var n=Rl({h:Number(t),s:Number(e),l:Number(r),a:Number(o)});return Ll(n)},"hsl"],[function(i){var t=i.h,e=i.s,r=i.v,s=i.a,o=s===void 0?1:s;if(!ae(t)||!ae(e)||!ae(r))return null;var n=function(a){return {h:Wl(a.h),s:zt(a.s,0,100),v:zt(a.v,0,100),a:zt(a.a)}}({h:Number(t),s:Number(e),v:Number(r),a:Number(o)});return Hl(n)},"hsv"]]},Ul=function(i,t){for(var e=0;e<t.length;e++){var r=t[e][0](i);if(r)return [r,t[e][1]]}return [null,void 0]},yg=function(i){return typeof i=="string"?Ul(i.trim(),Wo.string):typeof i=="object"&&i!==null?Ul(i,Wo.object):[null,void 0]},Oo=function(i,t){var e=Or(i);return {h:e.h,s:zt(e.s+100*t,0,100),l:e.l,a:e.a}},zo=function(i){return (299*i.r+587*i.g+114*i.b)/1e3/255},Ol=function(i,t){var e=Or(i);return {h:e.h,s:e.s,l:zt(e.l+100*t,0,100),a:e.a}},Vo=function(){function i(t){this.parsed=yg(t)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1};}return i.prototype.isValid=function(){return this.parsed!==null},i.prototype.brightness=function(){return xt(zo(this.rgba),2)},i.prototype.isDark=function(){return zo(this.rgba)<.5},i.prototype.isLight=function(){return zo(this.rgba)>=.5},i.prototype.toHex=function(){return t=Uo(this.rgba),e=t.r,r=t.g,s=t.b,n=(o=t.a)<1?ts(xt(255*o)):"","#"+ts(e)+ts(r)+ts(s)+n;var t,e,r,s,o,n;},i.prototype.toRgb=function(){return Uo(this.rgba)},i.prototype.toRgbString=function(){return t=Uo(this.rgba),e=t.r,r=t.g,s=t.b,(o=t.a)<1?"rgba("+e+", "+r+", "+s+", "+o+")":"rgb("+e+", "+r+", "+s+")";var t,e,r,s,o;},i.prototype.toHsl=function(){return Dl(Or(this.rgba))},i.prototype.toHslString=function(){return t=Dl(Or(this.rgba)),e=t.h,r=t.s,s=t.l,(o=t.a)<1?"hsla("+e+", "+r+"%, "+s+"%, "+o+")":"hsl("+e+", "+r+"%, "+s+"%)";var t,e,r,s,o;},i.prototype.toHsv=function(){return t=Vl(this.rgba),{h:xt(t.h),s:xt(t.s),v:xt(t.v),a:xt(t.a,3)};var t;},i.prototype.invert=function(){return Nt({r:255-(t=this.rgba).r,g:255-t.g,b:255-t.b,a:t.a});var t;},i.prototype.saturate=function(t){return t===void 0&&(t=.1),Nt(Oo(this.rgba,t))},i.prototype.desaturate=function(t){return t===void 0&&(t=.1),Nt(Oo(this.rgba,-t))},i.prototype.grayscale=function(){return Nt(Oo(this.rgba,-1))},i.prototype.lighten=function(t){return t===void 0&&(t=.1),Nt(Ol(this.rgba,t))},i.prototype.darken=function(t){return t===void 0&&(t=.1),Nt(Ol(this.rgba,-t))},i.prototype.rotate=function(t){return t===void 0&&(t=15),this.hue(this.hue()+t)},i.prototype.alpha=function(t){return typeof t=="number"?Nt({r:(e=this.rgba).r,g:e.g,b:e.b,a:t}):xt(this.rgba.a,3);var e;},i.prototype.hue=function(t){var e=Or(this.rgba);return typeof t=="number"?Nt({h:t,s:e.s,l:e.l,a:e.a}):xt(e.h)},i.prototype.isEqual=function(t){return this.toHex()===Nt(t).toHex()},i}(),Nt=function(i){return i instanceof Vo?i:new Vo(i)},zl=[],Nl=function(i){i.forEach(function(t){zl.indexOf(t)<0&&(t(Vo,Wo),zl.push(t));});};});function Yl(i,t){var e={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},r={};for(var s in e)r[e[s]]=s;var o={};i.prototype.toName=function(n){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return "transparent";var a,l,h=r[this.toHex()];if(h)return h;if(n?.closest){var u=this.toRgb(),c=1/0,f="black";if(!o.length)for(var d in e)o[d]=new i(e[d]).toRgb();for(var g in e){var x=(a=u,l=o[g],Math.pow(a.r-l.r,2)+Math.pow(a.g-l.g,2)+Math.pow(a.b-l.b,2));x<c&&(c=x,f=g);}return f}},t.string.push([function(n){var a=n.toLowerCase(),l=a==="transparent"?"#0000":e[a];return l?new i(l).toRgb():null},"name"]);}var Xl=p(()=>{});var Ze,H,Ft=p(()=>{$l();Xl();Nl([Yl]);Ze=class zr{constructor(t=16777215){this._value=null,this._components=new Float32Array(4),this._components.fill(1),this._int=16777215,this.value=t;}get red(){return this._components[0]}get green(){return this._components[1]}get blue(){return this._components[2]}get alpha(){return this._components[3]}setValue(t){return this.value=t,this}set value(t){if(t instanceof zr)this._value=this._cloneSource(t._value),this._int=t._int,this._components.set(t._components);else {if(t===null)throw new Error("Cannot set Color#value to null");(this._value===null||!this._isSourceEqual(this._value,t))&&(this._value=this._cloneSource(t),this._normalize(this._value));}}get value(){return this._value}_cloneSource(t){return typeof t=="string"||typeof t=="number"||t instanceof Number||t===null?t:Array.isArray(t)||ArrayBuffer.isView(t)?t.slice(0):typeof t=="object"&&t!==null?{...t}:t}_isSourceEqual(t,e){let r=typeof t;if(r!==typeof e)return false;if(r==="number"||r==="string"||t instanceof Number)return t===e;if(Array.isArray(t)&&Array.isArray(e)||ArrayBuffer.isView(t)&&ArrayBuffer.isView(e))return t.length!==e.length?false:t.every((o,n)=>o===e[n]);if(t!==null&&e!==null){let o=Object.keys(t),n=Object.keys(e);return o.length!==n.length?false:o.every(a=>t[a]===e[a])}return t===e}toRgba(){let[t,e,r,s]=this._components;return {r:t,g:e,b:r,a:s}}toRgb(){let[t,e,r]=this._components;return {r:t,g:e,b:r}}toRgbaString(){let[t,e,r]=this.toUint8RgbArray();return `rgba(${t},${e},${r},${this.alpha})`}toUint8RgbArray(t){let[e,r,s]=this._components;return this._arrayRgb||(this._arrayRgb=[]),t||(t=this._arrayRgb),t[0]=Math.round(e*255),t[1]=Math.round(r*255),t[2]=Math.round(s*255),t}toArray(t){this._arrayRgba||(this._arrayRgba=[]),t||(t=this._arrayRgba);let[e,r,s,o]=this._components;return t[0]=e,t[1]=r,t[2]=s,t[3]=o,t}toRgbArray(t){this._arrayRgb||(this._arrayRgb=[]),t||(t=this._arrayRgb);let[e,r,s]=this._components;return t[0]=e,t[1]=r,t[2]=s,t}toNumber(){return this._int}toBgrNumber(){let[t,e,r]=this.toUint8RgbArray();return (r<<16)+(e<<8)+t}toLittleEndianNumber(){let t=this._int;return (t>>16)+(t&65280)+((t&255)<<16)}multiply(t){let[e,r,s,o]=zr._temp.setValue(t)._components;return this._components[0]*=e,this._components[1]*=r,this._components[2]*=s,this._components[3]*=o,this._refreshInt(),this._value=null,this}premultiply(t,e=true){return e&&(this._components[0]*=t,this._components[1]*=t,this._components[2]*=t),this._components[3]=t,this._refreshInt(),this._value=null,this}toPremultiplied(t,e=true){if(t===1)return (255<<24)+this._int;if(t===0)return e?0:this._int;let r=this._int>>16&255,s=this._int>>8&255,o=this._int&255;return e&&(r=r*t+.5|0,s=s*t+.5|0,o=o*t+.5|0),(t*255<<24)+(r<<16)+(s<<8)+o}toHex(){let t=this._int.toString(16);return `#${"000000".substring(0,6-t.length)+t}`}toHexa(){let e=Math.round(this._components[3]*255).toString(16);return this.toHex()+"00".substring(0,2-e.length)+e}setAlpha(t){return this._components[3]=this._clamp(t),this}_normalize(t){let e,r,s,o;if((typeof t=="number"||t instanceof Number)&&t>=0&&t<=16777215){let n=t;e=(n>>16&255)/255,r=(n>>8&255)/255,s=(n&255)/255,o=1;}else if((Array.isArray(t)||t instanceof Float32Array)&&t.length>=3&&t.length<=4)t=this._clamp(t),[e,r,s,o=1]=t;else if((t instanceof Uint8Array||t instanceof Uint8ClampedArray)&&t.length>=3&&t.length<=4)t=this._clamp(t,0,255),[e,r,s,o=255]=t,e/=255,r/=255,s/=255,o/=255;else if(typeof t=="string"||typeof t=="object"){if(typeof t=="string"){let a=zr.HEX_PATTERN.exec(t);a&&(t=`#${a[2]}`);}let n=Nt(t);n.isValid()&&({r:e,g:r,b:s,a:o}=n.rgba,e/=255,r/=255,s/=255);}if(e!==void 0)this._components[0]=e,this._components[1]=r,this._components[2]=s,this._components[3]=o,this._refreshInt();else throw new Error(`Unable to convert color ${t}`)}_refreshInt(){this._clamp(this._components);let[t,e,r]=this._components;this._int=(t*255<<16)+(e*255<<8)+(r*255|0);}_clamp(t,e=0,r=1){return typeof t=="number"?Math.min(Math.max(t,e),r):(t.forEach((s,o)=>{t[o]=Math.min(Math.max(s,e),r);}),t)}static isColorLike(t){return typeof t=="number"||typeof t=="string"||t instanceof Number||t instanceof zr||Array.isArray(t)||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Float32Array||t.r!==void 0&&t.g!==void 0&&t.b!==void 0||t.r!==void 0&&t.g!==void 0&&t.b!==void 0&&t.a!==void 0||t.h!==void 0&&t.s!==void 0&&t.l!==void 0||t.h!==void 0&&t.s!==void 0&&t.l!==void 0&&t.a!==void 0||t.h!==void 0&&t.s!==void 0&&t.v!==void 0||t.h!==void 0&&t.s!==void 0&&t.v!==void 0&&t.a!==void 0}};Ze.shared=new Ze;Ze._temp=new Ze;Ze.HEX_PATTERN=/^(#|0x)?(([a-f0-9]{3}){1,2}([a-f0-9]{2})?)$/i;H=Ze;});var jl,ql=p(()=>{jl={cullArea:null,cullable:false,cullableChildren:true};});var Kl,Zl,Ql,Ho=p(()=>{Kl=Math.PI*2,Zl=180/Math.PI,Ql=Math.PI/180;});var $,No,qt=p(()=>{$=class i{constructor(t=0,e=0){this.x=0,this.y=0,this.x=t,this.y=e;}clone(){return new i(this.x,this.y)}copyFrom(t){return this.set(t.x,t.y),this}copyTo(t){return t.set(this.x,this.y),t}equals(t){return t.x===this.x&&t.y===this.y}set(t=0,e=t){return this.x=t,this.y=e,this}toString(){return `[pixi.js/math:Point x=${this.x} y=${this.y}]`}static get shared(){return No.x=0,No.y=0,No}},No=new $;});var P,bg,vg,tt=p(()=>{Ho();qt();P=class i{constructor(t=1,e=0,r=0,s=1,o=0,n=0){this.array=null,this.a=t,this.b=e,this.c=r,this.d=s,this.tx=o,this.ty=n;}fromArray(t){this.a=t[0],this.b=t[1],this.c=t[3],this.d=t[4],this.tx=t[2],this.ty=t[5];}set(t,e,r,s,o,n){return this.a=t,this.b=e,this.c=r,this.d=s,this.tx=o,this.ty=n,this}toArray(t,e){this.array||(this.array=new Float32Array(9));let r=e||this.array;return t?(r[0]=this.a,r[1]=this.b,r[2]=0,r[3]=this.c,r[4]=this.d,r[5]=0,r[6]=this.tx,r[7]=this.ty,r[8]=1):(r[0]=this.a,r[1]=this.c,r[2]=this.tx,r[3]=this.b,r[4]=this.d,r[5]=this.ty,r[6]=0,r[7]=0,r[8]=1),r}apply(t,e){e=e||new $;let r=t.x,s=t.y;return e.x=this.a*r+this.c*s+this.tx,e.y=this.b*r+this.d*s+this.ty,e}applyInverse(t,e){e=e||new $;let r=this.a,s=this.b,o=this.c,n=this.d,a=this.tx,l=this.ty,h=1/(r*n+o*-s),u=t.x,c=t.y;return e.x=n*h*u+-o*h*c+(l*o-a*n)*h,e.y=r*h*c+-s*h*u+(-l*r+a*s)*h,e}translate(t,e){return this.tx+=t,this.ty+=e,this}scale(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this}rotate(t){let e=Math.cos(t),r=Math.sin(t),s=this.a,o=this.c,n=this.tx;return this.a=s*e-this.b*r,this.b=s*r+this.b*e,this.c=o*e-this.d*r,this.d=o*r+this.d*e,this.tx=n*e-this.ty*r,this.ty=n*r+this.ty*e,this}append(t){let e=this.a,r=this.b,s=this.c,o=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*r+t.b*o,this.c=t.c*e+t.d*s,this.d=t.c*r+t.d*o,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*r+t.ty*o+this.ty,this}appendFrom(t,e){let r=t.a,s=t.b,o=t.c,n=t.d,a=t.tx,l=t.ty,h=e.a,u=e.b,c=e.c,f=e.d;return this.a=r*h+s*c,this.b=r*u+s*f,this.c=o*h+n*c,this.d=o*u+n*f,this.tx=a*h+l*c+e.tx,this.ty=a*u+l*f+e.ty,this}setTransform(t,e,r,s,o,n,a,l,h){return this.a=Math.cos(a+h)*o,this.b=Math.sin(a+h)*o,this.c=-Math.sin(a-l)*n,this.d=Math.cos(a-l)*n,this.tx=t-(r*this.a+s*this.c),this.ty=e-(r*this.b+s*this.d),this}prepend(t){let e=this.tx;if(t.a!==1||t.b!==0||t.c!==0||t.d!==1){let r=this.a,s=this.c;this.a=r*t.a+this.b*t.c,this.b=r*t.b+this.b*t.d,this.c=s*t.a+this.d*t.c,this.d=s*t.b+this.d*t.d;}return this.tx=e*t.a+this.ty*t.c+t.tx,this.ty=e*t.b+this.ty*t.d+t.ty,this}decompose(t){let e=this.a,r=this.b,s=this.c,o=this.d,n=t.pivot,a=-Math.atan2(-s,o),l=Math.atan2(r,e),h=Math.abs(a+l);return h<1e-5||Math.abs(Kl-h)<1e-5?(t.rotation=l,t.skew.x=t.skew.y=0):(t.rotation=0,t.skew.x=a,t.skew.y=l),t.scale.x=Math.sqrt(e*e+r*r),t.scale.y=Math.sqrt(s*s+o*o),t.position.x=this.tx+(n.x*e+n.y*s),t.position.y=this.ty+(n.x*r+n.y*o),t}invert(){let t=this.a,e=this.b,r=this.c,s=this.d,o=this.tx,n=t*s-e*r;return this.a=s/n,this.b=-e/n,this.c=-r/n,this.d=t/n,this.tx=(r*this.ty-s*o)/n,this.ty=-(t*this.ty-e*o)/n,this}isIdentity(){return this.a===1&&this.b===0&&this.c===0&&this.d===1&&this.tx===0&&this.ty===0}identity(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this}clone(){let t=new i;return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t}copyTo(t){return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t}copyFrom(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this}equals(t){return t.a===this.a&&t.b===this.b&&t.c===this.c&&t.d===this.d&&t.tx===this.tx&&t.ty===this.ty}toString(){return `[pixi.js:Matrix a=${this.a} b=${this.b} c=${this.c} d=${this.d} tx=${this.tx} ty=${this.ty}]`}static get IDENTITY(){return vg.identity()}static get shared(){return bg.identity()}},bg=new P,vg=new P;});var _t,$o=p(()=>{_t=class i{constructor(t,e,r){this._x=e||0,this._y=r||0,this._observer=t;}clone(t){return new i(t??this._observer,this._x,this._y)}set(t=0,e=t){return (this._x!==t||this._y!==e)&&(this._x=t,this._y=e,this._observer._onUpdate(this)),this}copyFrom(t){return (this._x!==t.x||this._y!==t.y)&&(this._x=t.x,this._y=t.y,this._observer._onUpdate(this)),this}copyTo(t){return t.set(this._x,this._y),t}equals(t){return t.x===this._x&&t.y===this._y}toString(){return `[pixi.js/math:ObservablePoint x=${this._x} y=${this._y} scope=${this._observer}]`}get x(){return this._x}set x(t){this._x!==t&&(this._x=t,this._observer._onUpdate(this));}get y(){return this._y}set y(t){this._y!==t&&(this._y=t,this._observer._onUpdate(this));}};});function Y(i="default"){return Yo[i]===void 0&&(Yo[i]=-1),++Yo[i]}var Yo,Mt=p(()=>{Yo={default:-1};});function F(i,t,e=3){if(Jl[t])return;let r=new Error().stack;typeof r>"u"?console.warn("PixiJS Deprecation Warning: ",`${t}
2
2
  Deprecated since v${i}`):(r=r.split(`
3
3
  `).splice(e).join(`
4
4
  `),console.groupCollapsed?(console.groupCollapsed("%cPixiJS Deprecation Warning: %c%s","color:#614108;background:#fffbe6","font-weight:normal;color:#614108;background:#fffbe6",`${t}
5
5
  Deprecated since v${i}`),console.warn(r),console.groupEnd()):(console.warn("PixiJS Deprecation Warning: ",`${t}
6
- Deprecated since v${i}`),console.warn(r))),Ql[t]=true;}var Ql,W,Jl,ht=p(()=>{Ql={},W="8.0.0",Jl="8.3.4";});var Fe,$o=p(()=>{Fe=class{constructor(t,e){this._pool=[],this._count=0,this._index=0,this._classType=t,e&&this.prepopulate(e);}prepopulate(t){for(let e=0;e<t;e++)this._pool[this._index++]=new this._classType;this._count+=t;}get(t){let e;return this._index>0?e=this._pool[--this._index]:e=new this._classType,e.init?.(t),e}return(t){t.reset?.(),this._pool[this._index++]=t;}get totalSize(){return this._count}get totalFree(){return this._index}get totalUsed(){return this._count-this._index}clear(){this._pool.length=0,this._index=0;}};});var Yo,pt,Be=p(()=>{$o();Yo=class{constructor(){this._poolsByClass=new Map;}prepopulate(t,e){this.getPool(t).prepopulate(e);}get(t,e){return this.getPool(t).get(e)}return(t){this.getPool(t.constructor).return(t);}getPool(t){return this._poolsByClass.has(t)||this._poolsByClass.set(t,new Fe(t)),this._poolsByClass.get(t)}stats(){let t={};return this._poolsByClass.forEach(e=>{let r=t[e._classType.name]?e._classType.name+e._classType.ID:e._classType.name;t[r]={free:e.totalFree,used:e.totalUsed,size:e.totalSize};}),t}},pt=new Yo;});var th,eh=p(()=>{ht();th={get isCachedAsTexture(){return !!this.renderGroup?.isCachedAsTexture},cacheAsTexture(i){typeof i=="boolean"&&i===false?this.disableRenderGroup():(this.enableRenderGroup(),this.renderGroup.enableCacheAsTexture(i===true?{}:i));},updateCacheTexture(){this.renderGroup?.updateCacheTexture();},get cacheAsBitmap(){return this.isCachedAsTexture},set cacheAsBitmap(i){G("v8.6.0","cacheAsBitmap is deprecated, use cacheAsTexture instead."),this.cacheAsTexture(i);}};});function es(i,t,e){let r=i.length,s;if(t>=r||e===0)return;e=t+e>r?r-t:e;let o=r-e;for(s=t;s<o;++s)i[s]=i[s+e];i.length=o;}var Xo=p(()=>{});var rh,ih=p(()=>{Xo();ht();rh={allowChildren:true,removeChildren(i=0,t){let e=t??this.children.length,r=e-i,s=[];if(r>0&&r<=e){for(let n=e-1;n>=i;n--){let a=this.children[n];a&&(s.push(a),a.parent=null);}es(this.children,i,e);let o=this.renderGroup||this.parentRenderGroup;o&&o.removeChildren(s);for(let n=0;n<s.length;++n){let a=s[n];a.parentRenderLayer?.detach(a),this.emit("childRemoved",a,this,n),s[n].emit("removed",this);}return s.length>0&&this._didViewChangeTick++,s}else if(r===0&&this.children.length===0)return s;throw new RangeError("removeChildren: numeric values are outside the acceptable range.")},removeChildAt(i){let t=this.getChildAt(i);return this.removeChild(t)},getChildAt(i){if(i<0||i>=this.children.length)throw new Error(`getChildAt: Index (${i}) does not exist.`);return this.children[i]},setChildIndex(i,t){if(t<0||t>=this.children.length)throw new Error(`The index ${t} supplied is out of bounds ${this.children.length}`);this.getChildIndex(i),this.addChildAt(i,t);},getChildIndex(i){let t=this.children.indexOf(i);if(t===-1)throw new Error("The supplied Container must be a child of the caller");return t},addChildAt(i,t){this.allowChildren||G(W,"addChildAt: Only Containers will be allowed to add children in v8.0.0");let{children:e}=this;if(t<0||t>e.length)throw new Error(`${i}addChildAt: The index ${t} supplied is out of bounds ${e.length}`);if(i.parent){let s=i.parent.children.indexOf(i);if(i.parent===this&&s===t)return i;s!==-1&&i.parent.children.splice(s,1);}t===e.length?e.push(i):e.splice(t,0,i),i.parent=this,i.didChange=true,i._updateFlags=15;let r=this.renderGroup||this.parentRenderGroup;return r&&r.addChild(i),this.sortableChildren&&(this.sortDirty=true),this.emit("childAdded",i,this,t),i.emit("added",this),i},swapChildren(i,t){if(i===t)return;let e=this.getChildIndex(i),r=this.getChildIndex(t);this.children[e]=t,this.children[r]=i;let s=this.renderGroup||this.parentRenderGroup;s&&(s.structureDidChange=true),this._didContainerChangeTick++;},removeFromParent(){this.parent?.removeChild(this);},reparentChild(...i){return i.length===1?this.reparentChildAt(i[0],this.children.length):(i.forEach(t=>this.reparentChildAt(t,this.children.length)),i[0])},reparentChildAt(i,t){if(i.parent===this)return this.setChildIndex(i,t),i;let e=i.worldTransform.clone();i.removeFromParent(),this.addChildAt(i,t);let r=this.worldTransform.clone();return r.invert(),e.prepend(r),i.setFromMatrix(e),i}};});var sh,oh=p(()=>{sh={collectRenderables(i,t,e){this.parentRenderLayer&&this.parentRenderLayer!==e||this.globalDisplayStatus<7||!this.includeInBuild||(this.sortableChildren&&this.sortChildren(),this.isSimple?this.collectRenderablesSimple(i,t,e):this.renderGroup?t.renderPipes.renderGroup.addRenderGroup(this.renderGroup,i):this.collectRenderablesWithEffects(i,t,e));},collectRenderablesSimple(i,t,e){let r=this.children,s=r.length;for(let o=0;o<s;o++)r[o].collectRenderables(i,t,e);},collectRenderablesWithEffects(i,t,e){let{renderPipes:r}=t;for(let s=0;s<this.effects.length;s++){let o=this.effects[s];r[o.pipe].push(o,this,i);}this.collectRenderablesSimple(i,t,e);for(let s=this.effects.length-1;s>=0;s--){let o=this.effects[s];r[o.pipe].pop(o,this,i);}}};});var Wr,nh=p(()=>{Wr=class{constructor(){this.pipe="filter",this.priority=1;}destroy(){for(let t=0;t<this.filters.length;t++)this.filters[t].destroy();this.filters=null,this.filterArea=null;}};});var jo,rs,ah=p(()=>{B();Be();jo=class{constructor(){this._effectClasses=[],this._tests=[],this._initialized=false;}init(){this._initialized||(this._initialized=true,this._effectClasses.forEach(t=>{this.add({test:t.test,maskClass:t});}));}add(t){this._tests.push(t);}getMaskEffect(t){this._initialized||this.init();for(let e=0;e<this._tests.length;e++){let r=this._tests[e];if(r.test(t))return pt.get(r.maskClass,t)}return t}returnMaskEffect(t){pt.return(t);}},rs=new jo;I.handleByList(S.MaskEffect,rs._effectClasses);});var lh,hh=p(()=>{nh();ah();lh={_maskEffect:null,_maskOptions:{inverse:false},_filterEffect:null,effects:[],_markStructureAsChanged(){let i=this.renderGroup||this.parentRenderGroup;i&&(i.structureDidChange=true);},addEffect(i){this.effects.indexOf(i)===-1&&(this.effects.push(i),this.effects.sort((e,r)=>e.priority-r.priority),this._markStructureAsChanged(),this._updateIsSimple());},removeEffect(i){let t=this.effects.indexOf(i);t!==-1&&(this.effects.splice(t,1),this._markStructureAsChanged(),this._updateIsSimple());},set mask(i){let t=this._maskEffect;t?.mask!==i&&(t&&(this.removeEffect(t),rs.returnMaskEffect(t),this._maskEffect=null),i!=null&&(this._maskEffect=rs.getMaskEffect(i),this.addEffect(this._maskEffect)));},get mask(){return this._maskEffect?.mask},setMask(i){this._maskOptions={...this._maskOptions,...i},i.mask&&(this.mask=i.mask),this._markStructureAsChanged();},set filters(i){!Array.isArray(i)&&i&&(i=[i]);let t=this._filterEffect||(this._filterEffect=new Wr);i=i;let e=i?.length>0,r=t.filters?.length>0,s=e!==r;i=Array.isArray(i)?i.slice(0):i,t.filters=Object.freeze(i),s&&(e?this.addEffect(t):(this.removeEffect(t),t.filters=i??null));},get filters(){return this._filterEffect?.filters},set filterArea(i){this._filterEffect||(this._filterEffect=new Wr),this._filterEffect.filterArea=i;},get filterArea(){return this._filterEffect?.filterArea}};});var uh,ch=p(()=>{ht();uh={label:null,get name(){return G(W,"Container.name property has been removed, use Container.label instead"),this.label},set name(i){G(W,"Container.name property has been removed, use Container.label instead"),this.label=i;},getChildByName(i,t=false){return this.getChildByLabel(i,t)},getChildByLabel(i,t=false){let e=this.children;for(let r=0;r<e.length;r++){let s=e[r];if(s.label===i||i instanceof RegExp&&i.test(s.label))return s}if(t)for(let r=0;r<e.length;r++){let o=e[r].getChildByLabel(i,true);if(o)return o}return null},getChildrenByLabel(i,t=false,e=[]){let r=this.children;for(let s=0;s<r.length;s++){let o=r[s];(o.label===i||i instanceof RegExp&&i.test(o.label))&&e.push(o);}if(t)for(let s=0;s<r.length;s++)r[s].getChildrenByLabel(i,true,e);return e}};});var is,j,Bt=p(()=>{qt();is=[new $,new $,new $,new $],j=class i{constructor(t=0,e=0,r=0,s=0){this.type="rectangle",this.x=Number(t),this.y=Number(e),this.width=Number(r),this.height=Number(s);}get left(){return this.x}get right(){return this.x+this.width}get top(){return this.y}get bottom(){return this.y+this.height}isEmpty(){return this.left===this.right||this.top===this.bottom}static get EMPTY(){return new i(0,0,0,0)}clone(){return new i(this.x,this.y,this.width,this.height)}copyFromBounds(t){return this.x=t.minX,this.y=t.minY,this.width=t.maxX-t.minX,this.height=t.maxY-t.minY,this}copyFrom(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this}copyTo(t){return t.copyFrom(this),t}contains(t,e){return this.width<=0||this.height<=0?false:t>=this.x&&t<this.x+this.width&&e>=this.y&&e<this.y+this.height}strokeContains(t,e,r,s=.5){let{width:o,height:n}=this;if(o<=0||n<=0)return false;let a=this.x,l=this.y,h=r*(1-s),u=r-h,c=a-h,f=a+o+h,d=l-h,m=l+n+h,g=a+u,x=a+o-u,_=l+u,y=l+n-u;return t>=c&&t<=f&&e>=d&&e<=m&&!(t>g&&t<x&&e>_&&e<y)}intersects(t,e){if(!e){let O=this.x<t.x?t.x:this.x;if((this.right>t.right?t.right:this.right)<=O)return false;let E=this.y<t.y?t.y:this.y;return (this.bottom>t.bottom?t.bottom:this.bottom)>E}let r=this.left,s=this.right,o=this.top,n=this.bottom;if(s<=r||n<=o)return false;let a=is[0].set(t.left,t.top),l=is[1].set(t.left,t.bottom),h=is[2].set(t.right,t.top),u=is[3].set(t.right,t.bottom);if(h.x<=a.x||l.y<=a.y)return false;let c=Math.sign(e.a*e.d-e.b*e.c);if(c===0||(e.apply(a,a),e.apply(l,l),e.apply(h,h),e.apply(u,u),Math.max(a.x,l.x,h.x,u.x)<=r||Math.min(a.x,l.x,h.x,u.x)>=s||Math.max(a.y,l.y,h.y,u.y)<=o||Math.min(a.y,l.y,h.y,u.y)>=n))return false;let f=c*(l.y-a.y),d=c*(a.x-l.x),m=f*r+d*o,g=f*s+d*o,x=f*r+d*n,_=f*s+d*n;if(Math.max(m,g,x,_)<=f*a.x+d*a.y||Math.min(m,g,x,_)>=f*u.x+d*u.y)return false;let y=c*(a.y-h.y),b=c*(h.x-a.x),v=y*r+b*o,P=y*s+b*o,T=y*r+b*n,w=y*s+b*n;return !(Math.max(v,P,T,w)<=y*a.x+b*a.y||Math.min(v,P,T,w)>=y*u.x+b*u.y)}pad(t=0,e=t){return this.x-=t,this.y-=e,this.width+=t*2,this.height+=e*2,this}fit(t){let e=Math.max(this.x,t.x),r=Math.min(this.x+this.width,t.x+t.width),s=Math.max(this.y,t.y),o=Math.min(this.y+this.height,t.y+t.height);return this.x=e,this.width=Math.max(r-e,0),this.y=s,this.height=Math.max(o-s,0),this}ceil(t=1,e=.001){let r=Math.ceil((this.x+this.width-e)*t)/t,s=Math.ceil((this.y+this.height-e)*t)/t;return this.x=Math.floor((this.x+e)*t)/t,this.y=Math.floor((this.y+e)*t)/t,this.width=r-this.x,this.height=s-this.y,this}enlarge(t){let e=Math.min(this.x,t.x),r=Math.max(this.x+this.width,t.x+t.width),s=Math.min(this.y,t.y),o=Math.max(this.y+this.height,t.y+t.height);return this.x=e,this.width=r-e,this.y=s,this.height=o-s,this}getBounds(t){return t||(t=new i),t.copyFrom(this),t}containsRect(t){if(this.width<=0||this.height<=0)return false;let e=t.x,r=t.y,s=t.x+t.width,o=t.y+t.height;return e>=this.x&&e<this.x+this.width&&r>=this.y&&r<this.y+this.height&&s>=this.x&&s<this.x+this.width&&o>=this.y&&o<this.y+this.height}set(t,e,r,s){return this.x=t,this.y=e,this.width=r,this.height=s,this}toString(){return `[pixi.js/math:Rectangle x=${this.x} y=${this.y} width=${this.width} height=${this.height}]`}};});var dh,ot,$t=p(()=>{tt();Bt();dh=new M,ot=class i{constructor(t=1/0,e=1/0,r=-1/0,s=-1/0){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.matrix=dh,this.minX=t,this.minY=e,this.maxX=r,this.maxY=s;}isEmpty(){return this.minX>this.maxX||this.minY>this.maxY}get rectangle(){this._rectangle||(this._rectangle=new j);let t=this._rectangle;return this.minX>this.maxX||this.minY>this.maxY?(t.x=0,t.y=0,t.width=0,t.height=0):t.copyFromBounds(this),t}clear(){return this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.matrix=dh,this}set(t,e,r,s){this.minX=t,this.minY=e,this.maxX=r,this.maxY=s;}addFrame(t,e,r,s,o){o||(o=this.matrix);let n=o.a,a=o.b,l=o.c,h=o.d,u=o.tx,c=o.ty,f=this.minX,d=this.minY,m=this.maxX,g=this.maxY,x=n*t+l*e+u,_=a*t+h*e+c;x<f&&(f=x),_<d&&(d=_),x>m&&(m=x),_>g&&(g=_),x=n*r+l*e+u,_=a*r+h*e+c,x<f&&(f=x),_<d&&(d=_),x>m&&(m=x),_>g&&(g=_),x=n*t+l*s+u,_=a*t+h*s+c,x<f&&(f=x),_<d&&(d=_),x>m&&(m=x),_>g&&(g=_),x=n*r+l*s+u,_=a*r+h*s+c,x<f&&(f=x),_<d&&(d=_),x>m&&(m=x),_>g&&(g=_),this.minX=f,this.minY=d,this.maxX=m,this.maxY=g;}addRect(t,e){this.addFrame(t.x,t.y,t.x+t.width,t.y+t.height,e);}addBounds(t,e){this.addFrame(t.minX,t.minY,t.maxX,t.maxY,e);}addBoundsMask(t){this.minX=this.minX>t.minX?this.minX:t.minX,this.minY=this.minY>t.minY?this.minY:t.minY,this.maxX=this.maxX<t.maxX?this.maxX:t.maxX,this.maxY=this.maxY<t.maxY?this.maxY:t.maxY;}applyMatrix(t){let e=this.minX,r=this.minY,s=this.maxX,o=this.maxY,{a:n,b:a,c:l,d:h,tx:u,ty:c}=t,f=n*e+l*r+u,d=a*e+h*r+c;this.minX=f,this.minY=d,this.maxX=f,this.maxY=d,f=n*s+l*r+u,d=a*s+h*r+c,this.minX=f<this.minX?f:this.minX,this.minY=d<this.minY?d:this.minY,this.maxX=f>this.maxX?f:this.maxX,this.maxY=d>this.maxY?d:this.maxY,f=n*e+l*o+u,d=a*e+h*o+c,this.minX=f<this.minX?f:this.minX,this.minY=d<this.minY?d:this.minY,this.maxX=f>this.maxX?f:this.maxX,this.maxY=d>this.maxY?d:this.maxY,f=n*s+l*o+u,d=a*s+h*o+c,this.minX=f<this.minX?f:this.minX,this.minY=d<this.minY?d:this.minY,this.maxX=f>this.maxX?f:this.maxX,this.maxY=d>this.maxY?d:this.maxY;}fit(t){return this.minX<t.left&&(this.minX=t.left),this.maxX>t.right&&(this.maxX=t.right),this.minY<t.top&&(this.minY=t.top),this.maxY>t.bottom&&(this.maxY=t.bottom),this}fitBounds(t,e,r,s){return this.minX<t&&(this.minX=t),this.maxX>e&&(this.maxX=e),this.minY<r&&(this.minY=r),this.maxY>s&&(this.maxY=s),this}pad(t,e=t){return this.minX-=t,this.maxX+=t,this.minY-=e,this.maxY+=e,this}ceil(){return this.minX=Math.floor(this.minX),this.minY=Math.floor(this.minY),this.maxX=Math.ceil(this.maxX),this.maxY=Math.ceil(this.maxY),this}clone(){return new i(this.minX,this.minY,this.maxX,this.maxY)}scale(t,e=t){return this.minX*=t,this.minY*=e,this.maxX*=t,this.maxY*=e,this}get x(){return this.minX}set x(t){let e=this.maxX-this.minX;this.minX=t,this.maxX=t+e;}get y(){return this.minY}set y(t){let e=this.maxY-this.minY;this.minY=t,this.maxY=t+e;}get width(){return this.maxX-this.minX}set width(t){this.maxX=this.minX+t;}get height(){return this.maxY-this.minY}set height(t){this.maxY=this.minY+t;}get left(){return this.minX}get right(){return this.maxX}get top(){return this.minY}get bottom(){return this.maxY}get isPositive(){return this.maxX-this.minX>0&&this.maxY-this.minY>0}get isValid(){return this.minX+this.minY!==1/0}addVertexData(t,e,r,s){let o=this.minX,n=this.minY,a=this.maxX,l=this.maxY;s||(s=this.matrix);let h=s.a,u=s.b,c=s.c,f=s.d,d=s.tx,m=s.ty;for(let g=e;g<r;g+=2){let x=t[g],_=t[g+1],y=h*x+c*_+d,b=u*x+f*_+m;o=y<o?y:o,n=b<n?b:n,a=y>a?y:a,l=b>l?b:l;}this.minX=o,this.minY=n,this.maxX=a,this.maxY=l;}containsPoint(t,e){return this.minX<=t&&this.minY<=e&&this.maxX>=t&&this.maxY>=e}toString(){return `[pixi.js:Bounds minX=${this.minX} minY=${this.minY} maxX=${this.maxX} maxY=${this.maxY} width=${this.width} height=${this.height}]`}copyFrom(t){return this.minX=t.minX,this.minY=t.minY,this.maxX=t.maxX,this.maxY=t.maxY,this}};});var ut,Rt,ke=p(()=>{tt();$o();$t();ut=new Fe(M),Rt=new Fe(ot);});var vx,fh,ph=p(()=>{tt();$t();ke();vx=new M,fh={getFastGlobalBounds(i,t){t||(t=new ot),t.clear(),this._getGlobalBoundsRecursive(!!i,t,this.parentRenderLayer),t.isValid||t.set(0,0,0,0);let e=this.renderGroup||this.parentRenderGroup;return t.applyMatrix(e.worldTransform),t},_getGlobalBoundsRecursive(i,t,e){let r=t;if(i&&this.parentRenderLayer&&this.parentRenderLayer!==e||this.localDisplayStatus!==7||!this.measurable)return;let s=!!this.effects.length;if((this.renderGroup||s)&&(r=Rt.get().clear()),this.boundsArea)t.addRect(this.boundsArea,this.worldTransform);else {if(this.renderPipeId){let n=this.bounds;r.addFrame(n.minX,n.minY,n.maxX,n.maxY,this.groupTransform);}let o=this.children;for(let n=0;n<o.length;n++)o[n]._getGlobalBoundsRecursive(i,r,e);}if(s){let o=false,n=this.renderGroup||this.parentRenderGroup;for(let a=0;a<this.effects.length;a++)this.effects[a].addBounds&&(o||(o=true,r.applyMatrix(n.worldTransform)),this.effects[a].addBounds(r,true));o&&(r.applyMatrix(n.worldTransform.copyTo(vx).invert()),t.addBounds(r,this.relativeGroupTransform)),t.addBounds(r),Rt.return(r);}else this.renderGroup&&(t.addBounds(r,this.relativeGroupTransform),Rt.return(r));}};});function ss(i,t,e){e.clear();let r,s;return i.parent?t?r=i.parent.worldTransform:(s=ut.get().identity(),r=os(i,s)):r=M.IDENTITY,mh(i,e,r,t),s&&ut.return(s),e.isValid||e.set(0,0,0,0),e}function mh(i,t,e,r){if(!i.visible||!i.measurable)return;let s;r?s=i.worldTransform:(i.updateLocalTransform(),s=ut.get(),s.appendFrom(i.localTransform,e));let o=t,n=!!i.effects.length;if(n&&(t=Rt.get().clear()),i.boundsArea)t.addRect(i.boundsArea,s);else {i.bounds&&(t.matrix=s,t.addBounds(i.bounds));for(let a=0;a<i.children.length;a++)mh(i.children[a],t,s,r);}if(n){for(let a=0;a<i.effects.length;a++)i.effects[a].addBounds?.(t);o.addBounds(t,M.IDENTITY),Rt.return(t);}r||ut.return(s);}function os(i,t){let e=i.parent;return e&&(os(e,t),e.updateLocalTransform(),t.append(e.localTransform)),t}var ns=p(()=>{tt();ke();});function as(i,t){if(i===16777215||!t)return t;if(t===16777215||!i)return i;let e=i>>16&255,r=i>>8&255,s=i&255,o=t>>16&255,n=t>>8&255,a=t&255,l=e*o/255|0,h=r*n/255|0,u=s*a/255|0;return (l<<16)+(h<<8)+u}var qo=p(()=>{});function Ko(i,t){return i===xh?t:t===xh?i:as(i,t)}var xh,gh=p(()=>{qo();xh=16777215;});function Vr(i){return ((i&255)<<16)+(i&65280)+(i>>16&255)}var _h,yh=p(()=>{ns();ke();gh();_h={getGlobalAlpha(i){if(i)return this.renderGroup?this.renderGroup.worldAlpha:this.parentRenderGroup?this.parentRenderGroup.worldAlpha*this.alpha:this.alpha;let t=this.alpha,e=this.parent;for(;e;)t*=e.alpha,e=e.parent;return t},getGlobalTransform(i,t){if(t)return i.copyFrom(this.worldTransform);this.updateLocalTransform();let e=os(this,ut.get().identity());return i.appendFrom(this.localTransform,e),ut.return(e),i},getGlobalTint(i){if(i)return this.renderGroup?Vr(this.renderGroup.worldColor):this.parentRenderGroup?Vr(Ko(this.localColor,this.parentRenderGroup.worldColor)):this.tint;let t=this.localColor,e=this.parent;for(;e;)t=Ko(t,e.localColor),e=e.parent;return Vr(t)}};});function ls(i,t,e){return t.clear(),e||(e=M.IDENTITY),bh(i,t,e,i,true),t.isValid||t.set(0,0,0,0),t}function bh(i,t,e,r,s){let o;if(s)o=ut.get(),o=e.copyTo(o);else {if(!i.visible||!i.measurable)return;i.updateLocalTransform();let l=i.localTransform;o=ut.get(),o.appendFrom(l,e);}let n=t,a=!!i.effects.length;if(a&&(t=Rt.get().clear()),i.boundsArea)t.addRect(i.boundsArea,o);else {i.renderPipeId&&(t.matrix=o,t.addBounds(i.bounds));let l=i.children;for(let h=0;h<l.length;h++)bh(l[h],t,o,r,false);}if(a){for(let l=0;l<i.effects.length;l++)i.effects[l].addLocalBounds?.(t,r);n.addBounds(t,M.IDENTITY),Rt.return(t);}ut.return(o);}var Zo=p(()=>{tt();ke();});function Qo(i,t){let e=i.children;for(let r=0;r<e.length;r++){let s=e[r],o=s.uid,n=(s._didViewChangeTick&65535)<<16|s._didContainerChangeTick&65535,a=t.index;(t.data[a]!==o||t.data[a+1]!==n)&&(t.data[t.index]=o,t.data[t.index+1]=n,t.didChange=true),t.index=a+2,s.children.length&&Qo(s,t);}return t.didChange}var vh=p(()=>{});var Sx,Sh,Th=p(()=>{tt();$t();ns();Zo();vh();Sx=new M,Sh={_localBoundsCacheId:-1,_localBoundsCacheData:null,_setWidth(i,t){let e=Math.sign(this.scale.x)||1;t!==0?this.scale.x=i/t*e:this.scale.x=e;},_setHeight(i,t){let e=Math.sign(this.scale.y)||1;t!==0?this.scale.y=i/t*e:this.scale.y=e;},getLocalBounds(){this._localBoundsCacheData||(this._localBoundsCacheData={data:[],index:1,didChange:false,localBounds:new ot});let i=this._localBoundsCacheData;return i.index=1,i.didChange=false,i.data[0]!==this._didViewChangeTick&&(i.didChange=true,i.data[0]=this._didViewChangeTick),Qo(this,i),i.didChange&&ls(this,i.localBounds,Sx),i.localBounds},getBounds(i,t){return ss(this,i,t||new ot)}};});var wh,Ph=p(()=>{wh={_onRender:null,set onRender(i){let t=this.renderGroup||this.parentRenderGroup;if(!i){this._onRender&&t?.removeOnRender(this),this._onRender=null;return}this._onRender||t?.addOnRender(this),this._onRender=i;},get onRender(){return this._onRender}};});function Tx(i,t){return i._zIndex-t._zIndex}var Mh,Ah=p(()=>{Mh={_zIndex:0,sortDirty:false,sortableChildren:false,get zIndex(){return this._zIndex},set zIndex(i){this._zIndex!==i&&(this._zIndex=i,this.depthOfChildModified());},depthOfChildModified(){this.parent&&(this.parent.sortableChildren=true,this.parent.sortDirty=true),this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=true);},sortChildren(){this.sortDirty&&(this.sortDirty=false,this.children.sort(Tx));}};});var Ch,Eh=p(()=>{qt();ke();Ch={getGlobalPosition(i=new $,t=false){return this.parent?this.parent.toGlobal(this._position,i,t):(i.x=this._position.x,i.y=this._position.y),i},toGlobal(i,t,e=false){let r=this.getGlobalTransform(ut.get(),e);return t=r.apply(i,t),ut.return(r),t},toLocal(i,t,e,r){t&&(i=t.toGlobal(i,e,r));let s=this.getGlobalTransform(ut.get(),r);return e=s.applyInverse(i,e),ut.return(s),e}};});var Qe,Jo=p(()=>{Pt();Qe=class{constructor(){this.uid=Y("instructionSet"),this.instructions=[],this.instructionSize=0,this.renderables=[],this.gcTick=0;}reset(){this.instructionSize=0;}add(t){this.instructions[this.instructionSize++]=t;}log(){this.instructions.length=this.instructionSize,console.table(this.instructions,["type","action"]);}};});function le(i){return i+=i===0?1:0,--i,i|=i>>>1,i|=i>>>2,i|=i>>>4,i|=i>>>8,i|=i>>>16,i+1}function tn(i){return !(i&i-1)&&!!i}var Hr=p(()=>{});function hs(i){let t={};for(let e in i)i[e]!==void 0&&(t[e]=i[e]);return t}var en=p(()=>{});function wx(i){let t=Fh[i];return t===void 0&&(Fh[i]=Y("resource")),t}var Fh,Bh,Wt,Je=p(()=>{Et();Pt();ht();Fh=Object.create(null);Bh=class kh extends N{constructor(t={}){super(),this._resourceType="textureSampler",this._touched=0,this._maxAnisotropy=1,this.destroyed=false,t={...kh.defaultOptions,...t},this.addressMode=t.addressMode,this.addressModeU=t.addressModeU??this.addressModeU,this.addressModeV=t.addressModeV??this.addressModeV,this.addressModeW=t.addressModeW??this.addressModeW,this.scaleMode=t.scaleMode,this.magFilter=t.magFilter??this.magFilter,this.minFilter=t.minFilter??this.minFilter,this.mipmapFilter=t.mipmapFilter??this.mipmapFilter,this.lodMinClamp=t.lodMinClamp,this.lodMaxClamp=t.lodMaxClamp,this.compare=t.compare,this.maxAnisotropy=t.maxAnisotropy??1;}set addressMode(t){this.addressModeU=t,this.addressModeV=t,this.addressModeW=t;}get addressMode(){return this.addressModeU}set wrapMode(t){G(W,"TextureStyle.wrapMode is now TextureStyle.addressMode"),this.addressMode=t;}get wrapMode(){return this.addressMode}set scaleMode(t){this.magFilter=t,this.minFilter=t,this.mipmapFilter=t;}get scaleMode(){return this.magFilter}set maxAnisotropy(t){this._maxAnisotropy=Math.min(t,16),this._maxAnisotropy>1&&(this.scaleMode="linear");}get maxAnisotropy(){return this._maxAnisotropy}get _resourceId(){return this._sharedResourceId||this._generateResourceId()}update(){this.emit("change",this),this._sharedResourceId=null;}_generateResourceId(){let t=`${this.addressModeU}-${this.addressModeV}-${this.addressModeW}-${this.magFilter}-${this.minFilter}-${this.mipmapFilter}-${this.lodMinClamp}-${this.lodMaxClamp}-${this.compare}-${this._maxAnisotropy}`;return this._sharedResourceId=wx(t),this._resourceId}destroy(){this.destroyed=true,this.emit("destroy",this),this.emit("change",this),this.removeAllListeners();}};Bh.defaultOptions={addressMode:"clamp-to-edge",scaleMode:"linear"};Wt=Bh;});var Gh,mt,he=p(()=>{Et();Hr();en();Pt();Je();Gh=class Ih extends N{constructor(t={}){super(),this.options=t,this.uid=Y("textureSource"),this._resourceType="textureSource",this._resourceId=Y("resource"),this.uploadMethodId="unknown",this._resolution=1,this.pixelWidth=1,this.pixelHeight=1,this.width=1,this.height=1,this.sampleCount=1,this.mipLevelCount=1,this.autoGenerateMipmaps=false,this.format="rgba8unorm",this.dimension="2d",this.antialias=false,this._touched=0,this._batchTick=-1,this._textureBindLocation=-1,t={...Ih.defaultOptions,...t},this.label=t.label??"",this.resource=t.resource,this.autoGarbageCollect=t.autoGarbageCollect,this._resolution=t.resolution,t.width?this.pixelWidth=t.width*this._resolution:this.pixelWidth=this.resource?this.resourceWidth??1:1,t.height?this.pixelHeight=t.height*this._resolution:this.pixelHeight=this.resource?this.resourceHeight??1:1,this.width=this.pixelWidth/this._resolution,this.height=this.pixelHeight/this._resolution,this.format=t.format,this.dimension=t.dimensions,this.mipLevelCount=t.mipLevelCount,this.autoGenerateMipmaps=t.autoGenerateMipmaps,this.sampleCount=t.sampleCount,this.antialias=t.antialias,this.alphaMode=t.alphaMode,this.style=new Wt(hs(t)),this.destroyed=false,this._refreshPOT();}get source(){return this}get style(){return this._style}set style(t){this.style!==t&&(this._style?.off("change",this._onStyleChange,this),this._style=t,this._style?.on("change",this._onStyleChange,this),this._onStyleChange());}get addressMode(){return this._style.addressMode}set addressMode(t){this._style.addressMode=t;}get repeatMode(){return this._style.addressMode}set repeatMode(t){this._style.addressMode=t;}get magFilter(){return this._style.magFilter}set magFilter(t){this._style.magFilter=t;}get minFilter(){return this._style.minFilter}set minFilter(t){this._style.minFilter=t;}get mipmapFilter(){return this._style.mipmapFilter}set mipmapFilter(t){this._style.mipmapFilter=t;}get lodMinClamp(){return this._style.lodMinClamp}set lodMinClamp(t){this._style.lodMinClamp=t;}get lodMaxClamp(){return this._style.lodMaxClamp}set lodMaxClamp(t){this._style.lodMaxClamp=t;}_onStyleChange(){this.emit("styleChange",this);}update(){if(this.resource){let t=this._resolution;if(this.resize(this.resourceWidth/t,this.resourceHeight/t))return}this.emit("update",this);}destroy(){this.destroyed=true,this.emit("destroy",this),this.emit("change",this),this._style&&(this._style.destroy(),this._style=null),this.uploadMethodId=null,this.resource=null,this.removeAllListeners();}unload(){this._resourceId=Y("resource"),this.emit("change",this),this.emit("unload",this);}get resourceWidth(){let{resource:t}=this;return t.naturalWidth||t.videoWidth||t.displayWidth||t.width}get resourceHeight(){let{resource:t}=this;return t.naturalHeight||t.videoHeight||t.displayHeight||t.height}get resolution(){return this._resolution}set resolution(t){this._resolution!==t&&(this._resolution=t,this.width=this.pixelWidth/t,this.height=this.pixelHeight/t);}resize(t,e,r){r||(r=this._resolution),t||(t=this.width),e||(e=this.height);let s=Math.round(t*r),o=Math.round(e*r);return this.width=s/r,this.height=o/r,this._resolution=r,this.pixelWidth===s&&this.pixelHeight===o?false:(this._refreshPOT(),this.pixelWidth=s,this.pixelHeight=o,this.emit("resize",this),this._resourceId=Y("resource"),this.emit("change",this),true)}updateMipmaps(){this.autoGenerateMipmaps&&this.mipLevelCount>1&&this.emit("updateMipmaps",this);}set wrapMode(t){this._style.wrapMode=t;}get wrapMode(){return this._style.wrapMode}set scaleMode(t){this._style.scaleMode=t;}get scaleMode(){return this._style.scaleMode}_refreshPOT(){this.isPowerOfTwo=tn(this.pixelWidth)&&tn(this.pixelHeight);}static test(t){throw new Error("Unimplemented")}};Gh.defaultOptions={resolution:1,format:"bgra8unorm",alphaMode:"premultiply-alpha-on-upload",dimensions:"2d",mipLevelCount:1,autoGenerateMipmaps:false,sampleCount:1,antialias:false,autoGarbageCollect:false};mt=Gh;});function Px(){for(let i=0;i<16;i++){let t=[];rn.push(t);for(let e=0;e<16;e++){let r=us(Ge[i]*Ge[e]+Re[i]*Ie[e]),s=us(Ie[i]*Ge[e]+De[i]*Ie[e]),o=us(Ge[i]*Re[e]+Re[i]*De[e]),n=us(Ie[i]*Re[e]+De[i]*De[e]);for(let a=0;a<16;a++)if(Ge[a]===r&&Ie[a]===s&&Re[a]===o&&De[a]===n){t.push(a);break}}}for(let i=0;i<16;i++){let t=new M;t.set(Ge[i],Ie[i],Re[i],De[i],0,0),Rh.push(t);}}var Ge,Ie,Re,De,rn,Rh,us,it,Dh=p(()=>{tt();Ge=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],Ie=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],Re=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],De=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],rn=[],Rh=[],us=Math.sign;Px();it={E:0,SE:1,S:2,SW:3,W:4,NW:5,N:6,NE:7,MIRROR_VERTICAL:8,MAIN_DIAGONAL:10,MIRROR_HORIZONTAL:12,REVERSE_DIAGONAL:14,uX:i=>Ge[i],uY:i=>Ie[i],vX:i=>Re[i],vY:i=>De[i],inv:i=>i&8?i&15:-i&7,add:(i,t)=>rn[i][t],sub:(i,t)=>rn[i][it.inv(t)],rotate180:i=>i^4,isVertical:i=>(i&3)===2,byDirection:(i,t)=>Math.abs(i)*2<=Math.abs(t)?t>=0?it.S:it.N:Math.abs(t)*2<=Math.abs(i)?i>0?it.E:it.W:t>0?i>0?it.SE:it.SW:i>0?it.NE:it.NW,matrixAppendRotationInv:(i,t,e=0,r=0)=>{let s=Rh[it.inv(t)];s.tx=e,s.ty=r,i.append(s);}};});var sn,Uh=p(()=>{sn=()=>{};});var Ue,on=p(()=>{B();he();Ue=class extends mt{constructor(t){let e=t.resource||new Float32Array(t.width*t.height*4),r=t.format;r||(e instanceof Float32Array?r="rgba32float":e instanceof Int32Array||e instanceof Uint32Array?r="rgba32uint":e instanceof Int16Array||e instanceof Uint16Array?r="rgba16uint":(r="bgra8unorm")),super({...t,resource:e,format:r}),this.uploadMethodId="buffer";}static test(t){return t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array}};Ue.extension=S.TextureSource;});var Lh,cs,Oh=p(()=>{tt();Lh=new M,cs=class{constructor(t,e){this.mapCoord=new M,this.uClampFrame=new Float32Array(4),this.uClampOffset=new Float32Array(2),this._textureID=-1,this._updateID=0,this.clampOffset=0,typeof e>"u"?this.clampMargin=t.width<10?0:.5:this.clampMargin=e,this.isSimple=false,this.texture=t;}get texture(){return this._texture}set texture(t){this.texture!==t&&(this._texture?.removeListener("update",this.update,this),this._texture=t,this._texture.addListener("update",this.update,this),this.update());}multiplyUvs(t,e){e===void 0&&(e=t);let r=this.mapCoord;for(let s=0;s<t.length;s+=2){let o=t[s],n=t[s+1];e[s]=o*r.a+n*r.c+r.tx,e[s+1]=o*r.b+n*r.d+r.ty;}return e}update(){let t=this._texture;this._updateID++;let e=t.uvs;this.mapCoord.set(e.x1-e.x0,e.y1-e.y0,e.x3-e.x0,e.y3-e.y0,e.x0,e.y0);let r=t.orig,s=t.trim;s&&(Lh.set(r.width/s.width,0,0,r.height/s.height,-s.x/s.width,-s.y/s.height),this.mapCoord.append(Lh));let o=t.source,n=this.uClampFrame,a=this.clampMargin/o._resolution,l=this.clampOffset/o._resolution;return n[0]=(t.frame.x+a+l)/o.width,n[1]=(t.frame.y+a+l)/o.height,n[2]=(t.frame.x+t.frame.width-a+l)/o.width,n[3]=(t.frame.y+t.frame.height-a+l)/o.height,this.uClampOffset[0]=this.clampOffset/o.pixelWidth,this.uClampOffset[1]=this.clampOffset/o.pixelHeight,this.isSimple=t.frame.width===o.width&&t.frame.height===o.height&&t.rotate===0,true}};});var F,yt=p(()=>{Et();Dh();Bt();Pt();ht();Uh();on();he();Oh();F=class extends N{constructor({source:t,label:e,frame:r,orig:s,trim:o,defaultAnchor:n,defaultBorders:a,rotate:l,dynamic:h}={}){if(super(),this.uid=Y("texture"),this.uvs={x0:0,y0:0,x1:0,y1:0,x2:0,y2:0,x3:0,y3:0},this.frame=new j,this.noFrame=false,this.dynamic=false,this.isTexture=true,this.label=e,this.source=t?.source??new mt,this.noFrame=!r,r)this.frame.copyFrom(r);else {let{width:u,height:c}=this._source;this.frame.width=u,this.frame.height=c;}this.orig=s||this.frame,this.trim=o,this.rotate=l??0,this.defaultAnchor=n,this.defaultBorders=a,this.destroyed=false,this.dynamic=h||false,this.updateUvs();}set source(t){this._source&&this._source.off("resize",this.update,this),this._source=t,t.on("resize",this.update,this),this.emit("update",this);}get source(){return this._source}get textureMatrix(){return this._textureMatrix||(this._textureMatrix=new cs(this)),this._textureMatrix}get width(){return this.orig.width}get height(){return this.orig.height}updateUvs(){let{uvs:t,frame:e}=this,{width:r,height:s}=this._source,o=e.x/r,n=e.y/s,a=e.width/r,l=e.height/s,h=this.rotate;if(h){let u=a/2,c=l/2,f=o+u,d=n+c;h=it.add(h,it.NW),t.x0=f+u*it.uX(h),t.y0=d+c*it.uY(h),h=it.add(h,2),t.x1=f+u*it.uX(h),t.y1=d+c*it.uY(h),h=it.add(h,2),t.x2=f+u*it.uX(h),t.y2=d+c*it.uY(h),h=it.add(h,2),t.x3=f+u*it.uX(h),t.y3=d+c*it.uY(h);}else t.x0=o,t.y0=n,t.x1=o+a,t.y1=n,t.x2=o+a,t.y2=n+l,t.x3=o,t.y3=n+l;}destroy(t=false){this._source&&t&&(this._source.destroy(),this._source=null),this._textureMatrix=null,this.destroyed=true,this.emit("destroy",this),this.removeAllListeners();}update(){this.noFrame&&(this.frame.width=this._source.width,this.frame.height=this._source.height),this.updateUvs(),this.emit("update",this);}get baseTexture(){return G(W,"Texture.baseTexture is now Texture.source"),this._source}};F.EMPTY=new F({label:"EMPTY",source:new mt({label:"EMPTY"})});F.EMPTY.destroy=sn;F.WHITE=new F({source:new Ue({resource:new Uint8Array([255,255,255,255]),width:1,height:1,alphaMode:"premultiply-alpha-on-upload",label:"WHITE"}),label:"WHITE"});F.WHITE.destroy=sn;});var Mx,nn,St,tr=p(()=>{Hr();he();yt();Je();Mx=0,nn=class{constructor(t){this._poolKeyHash=Object.create(null),this._texturePool={},this.textureOptions=t||{},this.enableFullScreen=false,this.textureStyle=new Wt(this.textureOptions);}createTexture(t,e,r){let s=new mt({...this.textureOptions,width:t,height:e,resolution:1,antialias:r,autoGarbageCollect:false});return new F({source:s,label:`texturePool_${Mx++}`})}getOptimalTexture(t,e,r=1,s){let o=Math.ceil(t*r-1e-6),n=Math.ceil(e*r-1e-6);o=le(o),n=le(n);let a=(o<<17)+(n<<1)+(s?1:0);this._texturePool[a]||(this._texturePool[a]=[]);let l=this._texturePool[a].pop();return l||(l=this.createTexture(o,n,s)),l.source._resolution=r,l.source.width=o/r,l.source.height=n/r,l.source.pixelWidth=o,l.source.pixelHeight=n,l.frame.x=0,l.frame.y=0,l.frame.width=t,l.frame.height=e,l.updateUvs(),this._poolKeyHash[l.uid]=a,l}getSameSizeTexture(t,e=false){let r=t.source;return this.getOptimalTexture(t.width,t.height,r._resolution,e)}returnTexture(t,e=false){let r=this._poolKeyHash[t.uid];e&&(t.source.style=this.textureStyle),this._texturePool[r].push(t);}clear(t){if(t=t!==false,t)for(let e in this._texturePool){let r=this._texturePool[e];if(r)for(let s=0;s<r.length;s++)r[s].destroy(true);}this._texturePool={};}},St=new nn;});var ds,zh=p(()=>{tt();Jo();tr();ds=class{constructor(){this.renderPipeId="renderGroup",this.root=null,this.canBundle=false,this.renderGroupParent=null,this.renderGroupChildren=[],this.worldTransform=new M,this.worldColorAlpha=4294967295,this.worldColor=16777215,this.worldAlpha=1,this.childrenToUpdate=Object.create(null),this.updateTick=0,this.gcTick=0,this.childrenRenderablesToUpdate={list:[],index:0},this.structureDidChange=true,this.instructionSet=new Qe,this._onRenderContainers=[],this.textureNeedsUpdate=true,this.isCachedAsTexture=false,this._matrixDirty=7;}init(t){this.root=t,t._onRender&&this.addOnRender(t),t.didChange=true;let e=t.children;for(let r=0;r<e.length;r++){let s=e[r];s._updateFlags=15,this.addChild(s);}}enableCacheAsTexture(t={}){this.textureOptions=t,this.isCachedAsTexture=true,this.textureNeedsUpdate=true;}disableCacheAsTexture(){this.isCachedAsTexture=false,this.texture&&(St.returnTexture(this.texture),this.texture=null);}updateCacheTexture(){this.textureNeedsUpdate=true;}reset(){this.renderGroupChildren.length=0;for(let t in this.childrenToUpdate){let e=this.childrenToUpdate[t];e.list.fill(null),e.index=0;}this.childrenRenderablesToUpdate.index=0,this.childrenRenderablesToUpdate.list.fill(null),this.root=null,this.updateTick=0,this.structureDidChange=true,this._onRenderContainers.length=0,this.renderGroupParent=null,this.disableCacheAsTexture();}get localTransform(){return this.root.localTransform}addRenderGroupChild(t){t.renderGroupParent&&t.renderGroupParent._removeRenderGroupChild(t),t.renderGroupParent=this,this.renderGroupChildren.push(t);}_removeRenderGroupChild(t){let e=this.renderGroupChildren.indexOf(t);e>-1&&this.renderGroupChildren.splice(e,1),t.renderGroupParent=null;}addChild(t){if(this.structureDidChange=true,t.parentRenderGroup=this,t.updateTick=-1,t.parent===this.root?t.relativeRenderGroupDepth=1:t.relativeRenderGroupDepth=t.parent.relativeRenderGroupDepth+1,t.didChange=true,this.onChildUpdate(t),t.renderGroup){this.addRenderGroupChild(t.renderGroup);return}t._onRender&&this.addOnRender(t);let e=t.children;for(let r=0;r<e.length;r++)this.addChild(e[r]);}removeChild(t){if(this.structureDidChange=true,t._onRender&&(t.renderGroup||this.removeOnRender(t)),t.parentRenderGroup=null,t.renderGroup){this._removeRenderGroupChild(t.renderGroup);return}let e=t.children;for(let r=0;r<e.length;r++)this.removeChild(e[r]);}removeChildren(t){for(let e=0;e<t.length;e++)this.removeChild(t[e]);}onChildUpdate(t){let e=this.childrenToUpdate[t.relativeRenderGroupDepth];e||(e=this.childrenToUpdate[t.relativeRenderGroupDepth]={index:0,list:[]}),e.list[e.index++]=t;}updateRenderable(t){t.globalDisplayStatus<7||(this.instructionSet.renderPipes[t.renderPipeId].updateRenderable(t),t.didViewUpdate=false);}onChildViewUpdate(t){this.childrenRenderablesToUpdate.list[this.childrenRenderablesToUpdate.index++]=t;}get isRenderable(){return this.root.localDisplayStatus===7&&this.worldAlpha>0}addOnRender(t){this._onRenderContainers.push(t);}removeOnRender(t){this._onRenderContainers.splice(this._onRenderContainers.indexOf(t),1);}runOnRender(t){for(let e=0;e<this._onRenderContainers.length;e++)this._onRenderContainers[e]._onRender(t);}destroy(){this.disableCacheAsTexture(),this.renderGroupParent=null,this.root=null,this.childrenRenderablesToUpdate=null,this.childrenToUpdate=null,this.renderGroupChildren=null,this._onRenderContainers=null,this.instructionSet=null;}getChildren(t=[]){let e=this.root.children;for(let r=0;r<e.length;r++)this._getChildren(e[r],t);return t}_getChildren(t,e=[]){if(e.push(t),t.renderGroup)return e;let r=t.children;for(let s=0;s<r.length;s++)this._getChildren(r[s],e);return e}invalidateMatrices(){this._matrixDirty=7;}get inverseWorldTransform(){return (this._matrixDirty&1)===0?this._inverseWorldTransform:(this._matrixDirty&=-2,this._inverseWorldTransform||(this._inverseWorldTransform=new M),this._inverseWorldTransform.copyFrom(this.worldTransform).invert())}get textureOffsetInverseTransform(){return (this._matrixDirty&2)===0?this._textureOffsetInverseTransform:(this._matrixDirty&=-3,this._textureOffsetInverseTransform||(this._textureOffsetInverseTransform=new M),this._textureOffsetInverseTransform.copyFrom(this.inverseWorldTransform).translate(-this._textureBounds.x,-this._textureBounds.y))}get inverseParentTextureTransform(){if((this._matrixDirty&4)===0)return this._inverseParentTextureTransform;this._matrixDirty&=-5;let t=this._parentCacheAsTextureRenderGroup;return t?(this._inverseParentTextureTransform||(this._inverseParentTextureTransform=new M),this._inverseParentTextureTransform.copyFrom(this.worldTransform).prepend(t.inverseWorldTransform).translate(-t._textureBounds.x,-t._textureBounds.y)):this.worldTransform}get cacheToLocalTransform(){return this._parentCacheAsTextureRenderGroup?this._parentCacheAsTextureRenderGroup.textureOffsetInverseTransform:null}};});function Wh(i,t,e={}){for(let r in t)!e[r]&&t[r]!==void 0&&(i[r]=t[r]);}var Vh=p(()=>{});var an,ln,hn,Hh,Ax,un,Yt,Nr=p(()=>{Et();Ft();jl();B();tt();Wo();Ho();Pt();ht();Be();eh();ih();oh();hh();ch();ph();yh();Th();Ph();Ah();Eh();zh();Vh();an=new wt(null),ln=new wt(null),hn=new wt(null,1,1),Hh=1,Ax=2,un=4,Yt=class i extends N{constructor(t={}){super(),this.uid=Y("renderable"),this._updateFlags=15,this.renderGroup=null,this.parentRenderGroup=null,this.parentRenderGroupIndex=0,this.didChange=false,this.didViewUpdate=false,this.relativeRenderGroupDepth=0,this.children=[],this.parent=null,this.includeInBuild=true,this.measurable=true,this.isSimple=true,this.updateTick=-1,this.localTransform=new M,this.relativeGroupTransform=new M,this.groupTransform=this.relativeGroupTransform,this.destroyed=false,this._position=new wt(this,0,0),this._scale=hn,this._pivot=ln,this._skew=an,this._cx=1,this._sx=0,this._cy=0,this._sy=1,this._rotation=0,this.localColor=16777215,this.localAlpha=1,this.groupAlpha=1,this.groupColor=16777215,this.groupColorAlpha=4294967295,this.localBlendMode="inherit",this.groupBlendMode="normal",this.localDisplayStatus=7,this.globalDisplayStatus=7,this._didContainerChangeTick=0,this._didViewChangeTick=0,this._didLocalTransformChangeId=-1,this.effects=[],Wh(this,t,{children:true,parent:true,effects:true}),t.children?.forEach(e=>this.addChild(e)),t.parent?.addChild(this);}static mixin(t){G("8.8.0","Container.mixin is deprecated, please use extensions.mixin instead."),I.mixin(i,t);}set _didChangeId(t){this._didViewChangeTick=t>>12&4095,this._didContainerChangeTick=t&4095;}get _didChangeId(){return this._didContainerChangeTick&4095|(this._didViewChangeTick&4095)<<12}addChild(...t){if(this.allowChildren||G(W,"addChild: Only Containers will be allowed to add children in v8.0.0"),t.length>1){for(let s=0;s<t.length;s++)this.addChild(t[s]);return t[0]}let e=t[0],r=this.renderGroup||this.parentRenderGroup;return e.parent===this?(this.children.splice(this.children.indexOf(e),1),this.children.push(e),r&&(r.structureDidChange=true),e):(e.parent&&e.parent.removeChild(e),this.children.push(e),this.sortableChildren&&(this.sortDirty=true),e.parent=this,e.didChange=true,e._updateFlags=15,r&&r.addChild(e),this.emit("childAdded",e,this,this.children.length-1),e.emit("added",this),this._didViewChangeTick++,e._zIndex!==0&&e.depthOfChildModified(),e)}removeChild(...t){if(t.length>1){for(let s=0;s<t.length;s++)this.removeChild(t[s]);return t[0]}let e=t[0],r=this.children.indexOf(e);return r>-1&&(this._didViewChangeTick++,this.children.splice(r,1),this.renderGroup?this.renderGroup.removeChild(e):this.parentRenderGroup&&this.parentRenderGroup.removeChild(e),e.parentRenderLayer&&e.parentRenderLayer.detach(e),e.parent=null,this.emit("childRemoved",e,this,r),e.emit("removed",this)),e}_onUpdate(t){t&&t===this._skew&&this._updateSkew(),this._didContainerChangeTick++,!this.didChange&&(this.didChange=true,this.parentRenderGroup&&this.parentRenderGroup.onChildUpdate(this));}set isRenderGroup(t){!!this.renderGroup!==t&&(t?this.enableRenderGroup():this.disableRenderGroup());}get isRenderGroup(){return !!this.renderGroup}enableRenderGroup(){if(this.renderGroup)return;let t=this.parentRenderGroup;t?.removeChild(this),this.renderGroup=pt.get(ds,this),this.groupTransform=M.IDENTITY,t?.addChild(this),this._updateIsSimple();}disableRenderGroup(){if(!this.renderGroup)return;let t=this.parentRenderGroup;t?.removeChild(this),pt.return(this.renderGroup),this.renderGroup=null,this.groupTransform=this.relativeGroupTransform,t?.addChild(this),this._updateIsSimple();}_updateIsSimple(){this.isSimple=!this.renderGroup&&this.effects.length===0;}get worldTransform(){return this._worldTransform||(this._worldTransform=new M),this.renderGroup?this._worldTransform.copyFrom(this.renderGroup.worldTransform):this.parentRenderGroup&&this._worldTransform.appendFrom(this.relativeGroupTransform,this.parentRenderGroup.worldTransform),this._worldTransform}get x(){return this._position.x}set x(t){this._position.x=t;}get y(){return this._position.y}set y(t){this._position.y=t;}get position(){return this._position}set position(t){this._position.copyFrom(t);}get rotation(){return this._rotation}set rotation(t){this._rotation!==t&&(this._rotation=t,this._onUpdate(this._skew));}get angle(){return this.rotation*Kl}set angle(t){this.rotation=t*Zl;}get pivot(){return this._pivot===ln&&(this._pivot=new wt(this,0,0)),this._pivot}set pivot(t){this._pivot===ln&&(this._pivot=new wt(this,0,0)),typeof t=="number"?this._pivot.set(t):this._pivot.copyFrom(t);}get skew(){return this._skew===an&&(this._skew=new wt(this,0,0)),this._skew}set skew(t){this._skew===an&&(this._skew=new wt(this,0,0)),this._skew.copyFrom(t);}get scale(){return this._scale===hn&&(this._scale=new wt(this,1,1)),this._scale}set scale(t){this._scale===hn&&(this._scale=new wt(this,0,0)),typeof t=="number"?this._scale.set(t):this._scale.copyFrom(t);}get width(){return Math.abs(this.scale.x*this.getLocalBounds().width)}set width(t){let e=this.getLocalBounds().width;this._setWidth(t,e);}get height(){return Math.abs(this.scale.y*this.getLocalBounds().height)}set height(t){let e=this.getLocalBounds().height;this._setHeight(t,e);}getSize(t){t||(t={});let e=this.getLocalBounds();return t.width=Math.abs(this.scale.x*e.width),t.height=Math.abs(this.scale.y*e.height),t}setSize(t,e){let r=this.getLocalBounds();typeof t=="object"?(e=t.height??t.width,t=t.width):e??(e=t),t!==void 0&&this._setWidth(t,r.width),e!==void 0&&this._setHeight(e,r.height);}_updateSkew(){let t=this._rotation,e=this._skew;this._cx=Math.cos(t+e._y),this._sx=Math.sin(t+e._y),this._cy=-Math.sin(t-e._x),this._sy=Math.cos(t-e._x);}updateTransform(t){return this.position.set(typeof t.x=="number"?t.x:this.position.x,typeof t.y=="number"?t.y:this.position.y),this.scale.set(typeof t.scaleX=="number"?t.scaleX||1:this.scale.x,typeof t.scaleY=="number"?t.scaleY||1:this.scale.y),this.rotation=typeof t.rotation=="number"?t.rotation:this.rotation,this.skew.set(typeof t.skewX=="number"?t.skewX:this.skew.x,typeof t.skewY=="number"?t.skewY:this.skew.y),this.pivot.set(typeof t.pivotX=="number"?t.pivotX:this.pivot.x,typeof t.pivotY=="number"?t.pivotY:this.pivot.y),this}setFromMatrix(t){t.decompose(this);}updateLocalTransform(){let t=this._didContainerChangeTick;if(this._didLocalTransformChangeId===t)return;this._didLocalTransformChangeId=t;let e=this.localTransform,r=this._scale,s=this._pivot,o=this._position,n=r._x,a=r._y,l=s._x,h=s._y;e.a=this._cx*n,e.b=this._sx*n,e.c=this._cy*a,e.d=this._sy*a,e.tx=o._x-(l*e.a+h*e.c),e.ty=o._y-(l*e.b+h*e.d);}set alpha(t){t!==this.localAlpha&&(this.localAlpha=t,this._updateFlags|=Hh,this._onUpdate());}get alpha(){return this.localAlpha}set tint(t){let r=H.shared.setValue(t??16777215).toBgrNumber();r!==this.localColor&&(this.localColor=r,this._updateFlags|=Hh,this._onUpdate());}get tint(){return Vr(this.localColor)}set blendMode(t){this.localBlendMode!==t&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=true),this._updateFlags|=Ax,this.localBlendMode=t,this._onUpdate());}get blendMode(){return this.localBlendMode}get visible(){return !!(this.localDisplayStatus&2)}set visible(t){let e=t?2:0;(this.localDisplayStatus&2)!==e&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=true),this._updateFlags|=un,this.localDisplayStatus^=2,this._onUpdate());}get culled(){return !(this.localDisplayStatus&4)}set culled(t){let e=t?0:4;(this.localDisplayStatus&4)!==e&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=true),this._updateFlags|=un,this.localDisplayStatus^=4,this._onUpdate());}get renderable(){return !!(this.localDisplayStatus&1)}set renderable(t){let e=t?1:0;(this.localDisplayStatus&1)!==e&&(this._updateFlags|=un,this.localDisplayStatus^=1,this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=true),this._onUpdate());}get isRenderable(){return this.localDisplayStatus===7&&this.groupAlpha>0}destroy(t=false){if(this.destroyed)return;this.destroyed=true;let e;if(this.children.length&&(e=this.removeChildren(0,this.children.length)),this.removeFromParent(),this.parent=null,this._maskEffect=null,this._filterEffect=null,this.effects=null,this._position=null,this._scale=null,this._pivot=null,this._skew=null,this.emit("destroyed",this),this.removeAllListeners(),(typeof t=="boolean"?t:t?.children)&&e)for(let s=0;s<e.length;++s)e[s].destroy(t);this.renderGroup?.destroy(),this.renderGroup=null;}};I.mixin(Yt,rh,fh,Ch,wh,Sh,lh,uh,Mh,Xl,th,_h,sh);});var ge,fs=p(()=>{qt();ge=class i{constructor(t){this.bubbles=true,this.cancelBubble=true,this.cancelable=false,this.composed=false,this.defaultPrevented=false,this.eventPhase=i.prototype.NONE,this.propagationStopped=false,this.propagationImmediatelyStopped=false,this.layer=new $,this.page=new $,this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,this.manager=t;}get layerX(){return this.layer.x}get layerY(){return this.layer.y}get pageX(){return this.page.x}get pageY(){return this.page.y}get data(){return this}composedPath(){return this.manager&&(!this.path||this.path[this.path.length-1]!==this.target)&&(this.path=this.target?this.manager.propagationPath(this.target):[]),this.path}initEvent(t,e,r){throw new Error("initEvent() is a legacy DOM API. It is not implemented in the Federated Events API.")}initUIEvent(t,e,r,s,o){throw new Error("initUIEvent() is a legacy DOM API. It is not implemented in the Federated Events API.")}preventDefault(){this.nativeEvent instanceof Event&&this.nativeEvent.cancelable&&this.nativeEvent.preventDefault(),this.defaultPrevented=true;}stopImmediatePropagation(){this.propagationImmediatelyStopped=true;}stopPropagation(){this.propagationStopped=true;}};});function Cx(i){return function(t){return t.test(i)}}function $r(i){var t={userAgent:"",platform:"",maxTouchPoints:0};!i&&typeof navigator<"u"?t={userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints||0}:typeof i=="string"?t.userAgent=i:i&&i.userAgent&&(t={userAgent:i.userAgent,platform:i.platform,maxTouchPoints:i.maxTouchPoints||0});var e=t.userAgent,r=e.split("[FBAN");typeof r[1]<"u"&&(e=r[0]),r=e.split("Twitter"),typeof r[1]<"u"&&(e=r[0]);var s=Cx(e),o={apple:{phone:s(cn)&&!s(ue),ipod:s(Nh),tablet:!s(cn)&&(s($h)||tu(t))&&!s(ue),universal:s(Yh),device:(s(cn)||s(Nh)||s($h)||s(Yh)||tu(t))&&!s(ue)},amazon:{phone:s(er),tablet:!s(er)&&s(ps),device:s(er)||s(ps)},android:{phone:!s(ue)&&s(er)||!s(ue)&&s(dn),tablet:!s(ue)&&!s(er)&&!s(dn)&&(s(ps)||s(Xh)),device:!s(ue)&&(s(er)||s(ps)||s(dn)||s(Xh))||s(/\bokhttp\b/i)},windows:{phone:s(ue),tablet:s(jh),device:s(ue)||s(jh)},other:{blackberry:s(qh),blackberry10:s(Kh),opera:s(Zh),firefox:s(Jh),chrome:s(Qh),device:s(qh)||s(Kh)||s(Zh)||s(Jh)||s(Qh)},any:false,phone:false,tablet:false};return o.any=o.apple.device||o.android.device||o.windows.device||o.other.device,o.phone=o.apple.phone||o.android.phone||o.windows.phone,o.tablet=o.apple.tablet||o.android.tablet||o.windows.tablet,o}var cn,Nh,$h,Yh,dn,Xh,er,ps,ue,jh,qh,Kh,Zh,Qh,Jh,tu,fn=p(()=>{cn=/iPhone/i,Nh=/iPod/i,$h=/iPad/i,Yh=/\biOS-universal(?:.+)Mac\b/i,dn=/\bAndroid(?:.+)Mobile\b/i,Xh=/Android/i,er=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,ps=/Silk/i,ue=/Windows Phone/i,jh=/\bWindows(?:.+)ARM\b/i,qh=/BlackBerry/i,Kh=/BB10/i,Zh=/Opera Mini/i,Qh=/\b(CriOS|Chrome)(?:.+)Mobile/i,Jh=/Mobile(?:.+)Firefox\b/i,tu=function(i){return typeof i<"u"&&i.platform==="MacIntel"&&typeof i.maxTouchPoints=="number"&&i.maxTouchPoints>1&&typeof MSStream>"u"};});var eu=p(()=>{fn();fn();});var Ex,ru,iu=p(()=>{eu();Ex=$r.default??$r,ru=Ex(globalThis.navigator);});var Fx,ms,Bx,kx,su,ou,Gx,Ix,Rx,pn,au,lu=p(()=>{fs();B();iu();Xo();Fx=9,ms=100,Bx=0,kx=0,su=2,ou=1,Gx=-1e3,Ix=-1e3,Rx=2,pn=class nu{constructor(t,e=ru){this._mobileInfo=e,this.debug=false,this._activateOnTab=true,this._deactivateOnMouseMove=true,this._isActive=false,this._isMobileAccessibility=false,this._div=null,this._pool=[],this._renderId=0,this._children=[],this._androidUpdateCount=0,this._androidUpdateFrequency=500,this._hookDiv=null,(e.tablet||e.phone)&&this._createTouchHook(),this._renderer=t;}get isActive(){return this._isActive}get isMobileAccessibility(){return this._isMobileAccessibility}get hookDiv(){return this._hookDiv}_createTouchHook(){let t=document.createElement("button");t.style.width=`${ou}px`,t.style.height=`${ou}px`,t.style.position="absolute",t.style.top=`${Gx}px`,t.style.left=`${Ix}px`,t.style.zIndex=Rx.toString(),t.style.backgroundColor="#FF0000",t.title="select to enable accessibility for this content",t.addEventListener("focus",()=>{this._isMobileAccessibility=true,this._activate(),this._destroyTouchHook();}),document.body.appendChild(t),this._hookDiv=t;}_destroyTouchHook(){this._hookDiv&&(document.body.removeChild(this._hookDiv),this._hookDiv=null);}_activate(){if(this._isActive)return;this._isActive=true,this._div||(this._div=document.createElement("div"),this._div.style.width=`${ms}px`,this._div.style.height=`${ms}px`,this._div.style.position="absolute",this._div.style.top=`${Bx}px`,this._div.style.left=`${kx}px`,this._div.style.zIndex=su.toString(),this._div.style.pointerEvents="none"),this._activateOnTab&&(this._onKeyDown=this._onKeyDown.bind(this),globalThis.addEventListener("keydown",this._onKeyDown,false)),this._deactivateOnMouseMove&&(this._onMouseMove=this._onMouseMove.bind(this),globalThis.document.addEventListener("mousemove",this._onMouseMove,true));let t=this._renderer.view.canvas;if(t.parentNode)t.parentNode.appendChild(this._div),this._initAccessibilitySetup();else {let e=new MutationObserver(()=>{t.parentNode&&(t.parentNode.appendChild(this._div),e.disconnect(),this._initAccessibilitySetup());});e.observe(document.body,{childList:true,subtree:true});}}_initAccessibilitySetup(){this._renderer.runners.postrender.add(this),this._renderer.lastObjectRendered&&this._updateAccessibleObjects(this._renderer.lastObjectRendered);}_deactivate(){if(!(!this._isActive||this._isMobileAccessibility)){this._isActive=false,globalThis.document.removeEventListener("mousemove",this._onMouseMove,true),this._activateOnTab&&globalThis.addEventListener("keydown",this._onKeyDown,false),this._renderer.runners.postrender.remove(this);for(let t of this._children)t._accessibleDiv&&t._accessibleDiv.parentNode&&(t._accessibleDiv.parentNode.removeChild(t._accessibleDiv),t._accessibleDiv=null),t._accessibleActive=false;this._pool.forEach(t=>{t.parentNode&&t.parentNode.removeChild(t);}),this._div&&this._div.parentNode&&this._div.parentNode.removeChild(this._div),this._pool=[],this._children=[];}}_updateAccessibleObjects(t){if(!t.visible||!t.accessibleChildren)return;t.accessible&&(t._accessibleActive||this._addChild(t),t._renderId=this._renderId);let e=t.children;if(e)for(let r=0;r<e.length;r++)this._updateAccessibleObjects(e[r]);}init(t){let r={accessibilityOptions:{...nu.defaultOptions,...t?.accessibilityOptions||{}}};this.debug=r.accessibilityOptions.debug,this._activateOnTab=r.accessibilityOptions.activateOnTab,this._deactivateOnMouseMove=r.accessibilityOptions.deactivateOnMouseMove,r.accessibilityOptions.enabledByDefault?this._activate():this._activateOnTab&&(this._onKeyDown=this._onKeyDown.bind(this),globalThis.addEventListener("keydown",this._onKeyDown,false)),this._renderer.runners.postrender.remove(this);}postrender(){let t=performance.now();if(this._mobileInfo.android.device&&t<this._androidUpdateCount||(this._androidUpdateCount=t+this._androidUpdateFrequency,!this._renderer.renderingToScreen||!this._renderer.view.canvas))return;let e=new Set;if(this._renderer.lastObjectRendered){this._updateAccessibleObjects(this._renderer.lastObjectRendered);for(let r of this._children)r._renderId===this._renderId&&e.add(this._children.indexOf(r));}for(let r=this._children.length-1;r>=0;r--){let s=this._children[r];e.has(r)||(s._accessibleDiv&&s._accessibleDiv.parentNode&&(s._accessibleDiv.parentNode.removeChild(s._accessibleDiv),this._pool.push(s._accessibleDiv),s._accessibleDiv=null),s._accessibleActive=false,es(this._children,r,1));}if(this._renderer.renderingToScreen){let{x:r,y:s,width:o,height:n}=this._renderer.screen,a=this._div;a.style.left=`${r}px`,a.style.top=`${s}px`,a.style.width=`${o}px`,a.style.height=`${n}px`;}for(let r=0;r<this._children.length;r++){let s=this._children[r];if(!s._accessibleActive||!s._accessibleDiv)continue;let o=s._accessibleDiv,n=s.hitArea||s.getBounds().rectangle;if(s.hitArea){let a=s.worldTransform,l=this._renderer.resolution,h=this._renderer.resolution;o.style.left=`${(a.tx+n.x*a.a)*l}px`,o.style.top=`${(a.ty+n.y*a.d)*h}px`,o.style.width=`${n.width*a.a*l}px`,o.style.height=`${n.height*a.d*h}px`;}else {this._capHitArea(n);let a=this._renderer.resolution,l=this._renderer.resolution;o.style.left=`${n.x*a}px`,o.style.top=`${n.y*l}px`,o.style.width=`${n.width*a}px`,o.style.height=`${n.height*l}px`;}}this._renderId++;}_updateDebugHTML(t){t.innerHTML=`type: ${t.type}</br> title : ${t.title}</br> tabIndex: ${t.tabIndex}`;}_capHitArea(t){t.x<0&&(t.width+=t.x,t.x=0),t.y<0&&(t.height+=t.y,t.y=0);let{width:e,height:r}=this._renderer;t.x+t.width>e&&(t.width=e-t.x),t.y+t.height>r&&(t.height=r-t.y);}_addChild(t){let e=this._pool.pop();e||(t.accessibleType==="button"?e=document.createElement("button"):(e=document.createElement(t.accessibleType),e.style.cssText=`
6
+ Deprecated since v${i}`),console.warn(r))),Jl[t]=true;}var Jl,V,th,lt=p(()=>{Jl={},V="8.0.0",th="8.3.4";});function z(...i){Xo!==eh&&(Xo++,Xo===eh?console.warn("PixiJS Warning: too many warnings, no more warnings will be reported to the console by PixiJS."):console.warn("PixiJS Warning: ",...i));}var Xo,eh,Tt=p(()=>{Xo=0,eh=500;});var Fe,jo=p(()=>{Fe=class{constructor(t,e){this._pool=[],this._count=0,this._index=0,this._classType=t,e&&this.prepopulate(e);}prepopulate(t){for(let e=0;e<t;e++)this._pool[this._index++]=new this._classType;this._count+=t;}get(t){let e;return this._index>0?e=this._pool[--this._index]:e=new this._classType,e.init?.(t),e}return(t){t.reset?.(),this._pool[this._index++]=t;}get totalSize(){return this._count}get totalFree(){return this._index}get totalUsed(){return this._count-this._index}clear(){this._pool.length=0,this._index=0;}};});var qo,pt,Be=p(()=>{jo();qo=class{constructor(){this._poolsByClass=new Map;}prepopulate(t,e){this.getPool(t).prepopulate(e);}get(t,e){return this.getPool(t).get(e)}return(t){this.getPool(t.constructor).return(t);}getPool(t){return this._poolsByClass.has(t)||this._poolsByClass.set(t,new Fe(t)),this._poolsByClass.get(t)}stats(){let t={};return this._poolsByClass.forEach(e=>{let r=t[e._classType.name]?e._classType.name+e._classType.ID:e._classType.name;t[r]={free:e.totalFree,used:e.totalUsed,size:e.totalSize};}),t}},pt=new qo;});var rh,ih=p(()=>{lt();rh={get isCachedAsTexture(){return !!this.renderGroup?.isCachedAsTexture},cacheAsTexture(i){typeof i=="boolean"&&i===false?this.disableRenderGroup():(this.enableRenderGroup(),this.renderGroup.enableCacheAsTexture(i===true?{}:i));},updateCacheTexture(){this.renderGroup?.updateCacheTexture();},get cacheAsBitmap(){return this.isCachedAsTexture},set cacheAsBitmap(i){F("v8.6.0","cacheAsBitmap is deprecated, use cacheAsTexture instead."),this.cacheAsTexture(i);}};});function es(i,t,e){let r=i.length,s;if(t>=r||e===0)return;e=t+e>r?r-t:e;let o=r-e;for(s=t;s<o;++s)i[s]=i[s+e];i.length=o;}var Ko=p(()=>{});var sh,oh=p(()=>{Ko();lt();sh={allowChildren:true,removeChildren(i=0,t){let e=t??this.children.length,r=e-i,s=[];if(r>0&&r<=e){for(let n=e-1;n>=i;n--){let a=this.children[n];a&&(s.push(a),a.parent=null);}es(this.children,i,e);let o=this.renderGroup||this.parentRenderGroup;o&&o.removeChildren(s);for(let n=0;n<s.length;++n){let a=s[n];a.parentRenderLayer?.detach(a),this.emit("childRemoved",a,this,n),s[n].emit("removed",this);}return s.length>0&&this._didViewChangeTick++,s}else if(r===0&&this.children.length===0)return s;throw new RangeError("removeChildren: numeric values are outside the acceptable range.")},removeChildAt(i){let t=this.getChildAt(i);return this.removeChild(t)},getChildAt(i){if(i<0||i>=this.children.length)throw new Error(`getChildAt: Index (${i}) does not exist.`);return this.children[i]},setChildIndex(i,t){if(t<0||t>=this.children.length)throw new Error(`The index ${t} supplied is out of bounds ${this.children.length}`);this.getChildIndex(i),this.addChildAt(i,t);},getChildIndex(i){let t=this.children.indexOf(i);if(t===-1)throw new Error("The supplied Container must be a child of the caller");return t},addChildAt(i,t){this.allowChildren||F(V,"addChildAt: Only Containers will be allowed to add children in v8.0.0");let{children:e}=this;if(t<0||t>e.length)throw new Error(`${i}addChildAt: The index ${t} supplied is out of bounds ${e.length}`);if(i.parent){let s=i.parent.children.indexOf(i);if(i.parent===this&&s===t)return i;s!==-1&&i.parent.children.splice(s,1);}t===e.length?e.push(i):e.splice(t,0,i),i.parent=this,i.didChange=true,i._updateFlags=15;let r=this.renderGroup||this.parentRenderGroup;return r&&r.addChild(i),this.sortableChildren&&(this.sortDirty=true),this.emit("childAdded",i,this,t),i.emit("added",this),i},swapChildren(i,t){if(i===t)return;let e=this.getChildIndex(i),r=this.getChildIndex(t);this.children[e]=t,this.children[r]=i;let s=this.renderGroup||this.parentRenderGroup;s&&(s.structureDidChange=true),this._didContainerChangeTick++;},removeFromParent(){this.parent?.removeChild(this);},reparentChild(...i){return i.length===1?this.reparentChildAt(i[0],this.children.length):(i.forEach(t=>this.reparentChildAt(t,this.children.length)),i[0])},reparentChildAt(i,t){if(i.parent===this)return this.setChildIndex(i,t),i;let e=i.worldTransform.clone();i.removeFromParent(),this.addChildAt(i,t);let r=this.worldTransform.clone();return r.invert(),e.prepend(r),i.setFromMatrix(e),i},replaceChild(i,t){i.updateLocalTransform(),this.addChildAt(t,this.getChildIndex(i)),t.setFromMatrix(i.localTransform),t.updateLocalTransform(),this.removeChild(i);}};});var nh,ah=p(()=>{nh={collectRenderables(i,t,e){this.parentRenderLayer&&this.parentRenderLayer!==e||this.globalDisplayStatus<7||!this.includeInBuild||(this.sortableChildren&&this.sortChildren(),this.isSimple?this.collectRenderablesSimple(i,t,e):this.renderGroup?t.renderPipes.renderGroup.addRenderGroup(this.renderGroup,i):this.collectRenderablesWithEffects(i,t,e));},collectRenderablesSimple(i,t,e){let r=this.children,s=r.length;for(let o=0;o<s;o++)r[o].collectRenderables(i,t,e);},collectRenderablesWithEffects(i,t,e){let{renderPipes:r}=t;for(let s=0;s<this.effects.length;s++){let o=this.effects[s];r[o.pipe].push(o,this,i);}this.collectRenderablesSimple(i,t,e);for(let s=this.effects.length-1;s>=0;s--){let o=this.effects[s];r[o.pipe].pop(o,this,i);}}};});var Wr,lh=p(()=>{Wr=class{constructor(){this.pipe="filter",this.priority=1;}destroy(){for(let t=0;t<this.filters.length;t++)this.filters[t].destroy();this.filters=null,this.filterArea=null;}};});var Zo,rs,hh=p(()=>{k();Be();Zo=class{constructor(){this._effectClasses=[],this._tests=[],this._initialized=false;}init(){this._initialized||(this._initialized=true,this._effectClasses.forEach(t=>{this.add({test:t.test,maskClass:t});}));}add(t){this._tests.push(t);}getMaskEffect(t){this._initialized||this.init();for(let e=0;e<this._tests.length;e++){let r=this._tests[e];if(r.test(t))return pt.get(r.maskClass,t)}return t}returnMaskEffect(t){pt.return(t);}},rs=new Zo;I.handleByList(S.MaskEffect,rs._effectClasses);});var uh,ch=p(()=>{lh();hh();uh={_maskEffect:null,_maskOptions:{inverse:false},_filterEffect:null,effects:[],_markStructureAsChanged(){let i=this.renderGroup||this.parentRenderGroup;i&&(i.structureDidChange=true);},addEffect(i){this.effects.indexOf(i)===-1&&(this.effects.push(i),this.effects.sort((e,r)=>e.priority-r.priority),this._markStructureAsChanged(),this._updateIsSimple());},removeEffect(i){let t=this.effects.indexOf(i);t!==-1&&(this.effects.splice(t,1),this._markStructureAsChanged(),this._updateIsSimple());},set mask(i){let t=this._maskEffect;t?.mask!==i&&(t&&(this.removeEffect(t),rs.returnMaskEffect(t),this._maskEffect=null),i!=null&&(this._maskEffect=rs.getMaskEffect(i),this.addEffect(this._maskEffect)));},get mask(){return this._maskEffect?.mask},setMask(i){this._maskOptions={...this._maskOptions,...i},i.mask&&(this.mask=i.mask),this._markStructureAsChanged();},set filters(i){!Array.isArray(i)&&i&&(i=[i]);let t=this._filterEffect||(this._filterEffect=new Wr);i=i;let e=i?.length>0,r=t.filters?.length>0,s=e!==r;i=Array.isArray(i)?i.slice(0):i,t.filters=Object.freeze(i),s&&(e?this.addEffect(t):(this.removeEffect(t),t.filters=i??null));},get filters(){return this._filterEffect?.filters},set filterArea(i){this._filterEffect||(this._filterEffect=new Wr),this._filterEffect.filterArea=i;},get filterArea(){return this._filterEffect?.filterArea}};});var dh,fh=p(()=>{lt();dh={label:null,get name(){return F(V,"Container.name property has been removed, use Container.label instead"),this.label},set name(i){F(V,"Container.name property has been removed, use Container.label instead"),this.label=i;},getChildByName(i,t=false){return this.getChildByLabel(i,t)},getChildByLabel(i,t=false){let e=this.children;for(let r=0;r<e.length;r++){let s=e[r];if(s.label===i||i instanceof RegExp&&i.test(s.label))return s}if(t)for(let r=0;r<e.length;r++){let o=e[r].getChildByLabel(i,true);if(o)return o}return null},getChildrenByLabel(i,t=false,e=[]){let r=this.children;for(let s=0;s<r.length;s++){let o=r[s];(o.label===i||i instanceof RegExp&&i.test(o.label))&&e.push(o);}if(t)for(let s=0;s<r.length;s++)r[s].getChildrenByLabel(i,true,e);return e}};});var is,j,Bt=p(()=>{qt();is=[new $,new $,new $,new $],j=class i{constructor(t=0,e=0,r=0,s=0){this.type="rectangle",this.x=Number(t),this.y=Number(e),this.width=Number(r),this.height=Number(s);}get left(){return this.x}get right(){return this.x+this.width}get top(){return this.y}get bottom(){return this.y+this.height}isEmpty(){return this.left===this.right||this.top===this.bottom}static get EMPTY(){return new i(0,0,0,0)}clone(){return new i(this.x,this.y,this.width,this.height)}copyFromBounds(t){return this.x=t.minX,this.y=t.minY,this.width=t.maxX-t.minX,this.height=t.maxY-t.minY,this}copyFrom(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this}copyTo(t){return t.copyFrom(this),t}contains(t,e){return this.width<=0||this.height<=0?false:t>=this.x&&t<this.x+this.width&&e>=this.y&&e<this.y+this.height}strokeContains(t,e,r,s=.5){let{width:o,height:n}=this;if(o<=0||n<=0)return false;let a=this.x,l=this.y,h=r*(1-s),u=r-h,c=a-h,f=a+o+h,d=l-h,g=l+n+h,x=a+u,m=a+o-u,_=l+u,y=l+n-u;return t>=c&&t<=f&&e>=d&&e<=g&&!(t>x&&t<m&&e>_&&e<y)}intersects(t,e){if(!e){let U=this.x<t.x?t.x:this.x;if((this.right>t.right?t.right:this.right)<=U)return false;let E=this.y<t.y?t.y:this.y;return (this.bottom>t.bottom?t.bottom:this.bottom)>E}let r=this.left,s=this.right,o=this.top,n=this.bottom;if(s<=r||n<=o)return false;let a=is[0].set(t.left,t.top),l=is[1].set(t.left,t.bottom),h=is[2].set(t.right,t.top),u=is[3].set(t.right,t.bottom);if(h.x<=a.x||l.y<=a.y)return false;let c=Math.sign(e.a*e.d-e.b*e.c);if(c===0||(e.apply(a,a),e.apply(l,l),e.apply(h,h),e.apply(u,u),Math.max(a.x,l.x,h.x,u.x)<=r||Math.min(a.x,l.x,h.x,u.x)>=s||Math.max(a.y,l.y,h.y,u.y)<=o||Math.min(a.y,l.y,h.y,u.y)>=n))return false;let f=c*(l.y-a.y),d=c*(a.x-l.x),g=f*r+d*o,x=f*s+d*o,m=f*r+d*n,_=f*s+d*n;if(Math.max(g,x,m,_)<=f*a.x+d*a.y||Math.min(g,x,m,_)>=f*u.x+d*u.y)return false;let y=c*(a.y-h.y),b=c*(h.x-a.x),v=y*r+b*o,A=y*s+b*o,T=y*r+b*n,w=y*s+b*n;return !(Math.max(v,A,T,w)<=y*a.x+b*a.y||Math.min(v,A,T,w)>=y*u.x+b*u.y)}pad(t=0,e=t){return this.x-=t,this.y-=e,this.width+=t*2,this.height+=e*2,this}fit(t){let e=Math.max(this.x,t.x),r=Math.min(this.x+this.width,t.x+t.width),s=Math.max(this.y,t.y),o=Math.min(this.y+this.height,t.y+t.height);return this.x=e,this.width=Math.max(r-e,0),this.y=s,this.height=Math.max(o-s,0),this}ceil(t=1,e=.001){let r=Math.ceil((this.x+this.width-e)*t)/t,s=Math.ceil((this.y+this.height-e)*t)/t;return this.x=Math.floor((this.x+e)*t)/t,this.y=Math.floor((this.y+e)*t)/t,this.width=r-this.x,this.height=s-this.y,this}enlarge(t){let e=Math.min(this.x,t.x),r=Math.max(this.x+this.width,t.x+t.width),s=Math.min(this.y,t.y),o=Math.max(this.y+this.height,t.y+t.height);return this.x=e,this.width=r-e,this.y=s,this.height=o-s,this}getBounds(t){return t||(t=new i),t.copyFrom(this),t}containsRect(t){if(this.width<=0||this.height<=0)return false;let e=t.x,r=t.y,s=t.x+t.width,o=t.y+t.height;return e>=this.x&&e<this.x+this.width&&r>=this.y&&r<this.y+this.height&&s>=this.x&&s<this.x+this.width&&o>=this.y&&o<this.y+this.height}set(t,e,r,s){return this.x=t,this.y=e,this.width=r,this.height=s,this}toString(){return `[pixi.js/math:Rectangle x=${this.x} y=${this.y} width=${this.width} height=${this.height}]`}};});var ph,ot,$t=p(()=>{tt();Bt();ph=new P,ot=class i{constructor(t=1/0,e=1/0,r=-1/0,s=-1/0){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.matrix=ph,this.minX=t,this.minY=e,this.maxX=r,this.maxY=s;}isEmpty(){return this.minX>this.maxX||this.minY>this.maxY}get rectangle(){this._rectangle||(this._rectangle=new j);let t=this._rectangle;return this.minX>this.maxX||this.minY>this.maxY?(t.x=0,t.y=0,t.width=0,t.height=0):t.copyFromBounds(this),t}clear(){return this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.matrix=ph,this}set(t,e,r,s){this.minX=t,this.minY=e,this.maxX=r,this.maxY=s;}addFrame(t,e,r,s,o){o||(o=this.matrix);let n=o.a,a=o.b,l=o.c,h=o.d,u=o.tx,c=o.ty,f=this.minX,d=this.minY,g=this.maxX,x=this.maxY,m=n*t+l*e+u,_=a*t+h*e+c;m<f&&(f=m),_<d&&(d=_),m>g&&(g=m),_>x&&(x=_),m=n*r+l*e+u,_=a*r+h*e+c,m<f&&(f=m),_<d&&(d=_),m>g&&(g=m),_>x&&(x=_),m=n*t+l*s+u,_=a*t+h*s+c,m<f&&(f=m),_<d&&(d=_),m>g&&(g=m),_>x&&(x=_),m=n*r+l*s+u,_=a*r+h*s+c,m<f&&(f=m),_<d&&(d=_),m>g&&(g=m),_>x&&(x=_),this.minX=f,this.minY=d,this.maxX=g,this.maxY=x;}addRect(t,e){this.addFrame(t.x,t.y,t.x+t.width,t.y+t.height,e);}addBounds(t,e){this.addFrame(t.minX,t.minY,t.maxX,t.maxY,e);}addBoundsMask(t){this.minX=this.minX>t.minX?this.minX:t.minX,this.minY=this.minY>t.minY?this.minY:t.minY,this.maxX=this.maxX<t.maxX?this.maxX:t.maxX,this.maxY=this.maxY<t.maxY?this.maxY:t.maxY;}applyMatrix(t){let e=this.minX,r=this.minY,s=this.maxX,o=this.maxY,{a:n,b:a,c:l,d:h,tx:u,ty:c}=t,f=n*e+l*r+u,d=a*e+h*r+c;this.minX=f,this.minY=d,this.maxX=f,this.maxY=d,f=n*s+l*r+u,d=a*s+h*r+c,this.minX=f<this.minX?f:this.minX,this.minY=d<this.minY?d:this.minY,this.maxX=f>this.maxX?f:this.maxX,this.maxY=d>this.maxY?d:this.maxY,f=n*e+l*o+u,d=a*e+h*o+c,this.minX=f<this.minX?f:this.minX,this.minY=d<this.minY?d:this.minY,this.maxX=f>this.maxX?f:this.maxX,this.maxY=d>this.maxY?d:this.maxY,f=n*s+l*o+u,d=a*s+h*o+c,this.minX=f<this.minX?f:this.minX,this.minY=d<this.minY?d:this.minY,this.maxX=f>this.maxX?f:this.maxX,this.maxY=d>this.maxY?d:this.maxY;}fit(t){return this.minX<t.left&&(this.minX=t.left),this.maxX>t.right&&(this.maxX=t.right),this.minY<t.top&&(this.minY=t.top),this.maxY>t.bottom&&(this.maxY=t.bottom),this}fitBounds(t,e,r,s){return this.minX<t&&(this.minX=t),this.maxX>e&&(this.maxX=e),this.minY<r&&(this.minY=r),this.maxY>s&&(this.maxY=s),this}pad(t,e=t){return this.minX-=t,this.maxX+=t,this.minY-=e,this.maxY+=e,this}ceil(){return this.minX=Math.floor(this.minX),this.minY=Math.floor(this.minY),this.maxX=Math.ceil(this.maxX),this.maxY=Math.ceil(this.maxY),this}clone(){return new i(this.minX,this.minY,this.maxX,this.maxY)}scale(t,e=t){return this.minX*=t,this.minY*=e,this.maxX*=t,this.maxY*=e,this}get x(){return this.minX}set x(t){let e=this.maxX-this.minX;this.minX=t,this.maxX=t+e;}get y(){return this.minY}set y(t){let e=this.maxY-this.minY;this.minY=t,this.maxY=t+e;}get width(){return this.maxX-this.minX}set width(t){this.maxX=this.minX+t;}get height(){return this.maxY-this.minY}set height(t){this.maxY=this.minY+t;}get left(){return this.minX}get right(){return this.maxX}get top(){return this.minY}get bottom(){return this.maxY}get isPositive(){return this.maxX-this.minX>0&&this.maxY-this.minY>0}get isValid(){return this.minX+this.minY!==1/0}addVertexData(t,e,r,s){let o=this.minX,n=this.minY,a=this.maxX,l=this.maxY;s||(s=this.matrix);let h=s.a,u=s.b,c=s.c,f=s.d,d=s.tx,g=s.ty;for(let x=e;x<r;x+=2){let m=t[x],_=t[x+1],y=h*m+c*_+d,b=u*m+f*_+g;o=y<o?y:o,n=b<n?b:n,a=y>a?y:a,l=b>l?b:l;}this.minX=o,this.minY=n,this.maxX=a,this.maxY=l;}containsPoint(t,e){return this.minX<=t&&this.minY<=e&&this.maxX>=t&&this.maxY>=e}toString(){return `[pixi.js:Bounds minX=${this.minX} minY=${this.minY} maxX=${this.maxX} maxY=${this.maxY} width=${this.width} height=${this.height}]`}copyFrom(t){return this.minX=t.minX,this.minY=t.minY,this.maxX=t.maxX,this.maxY=t.maxY,this}};});var ut,Rt,ke=p(()=>{tt();jo();$t();ut=new Fe(P),Rt=new Fe(ot);});var Sg,mh,gh=p(()=>{tt();$t();ke();Sg=new P,mh={getFastGlobalBounds(i,t){t||(t=new ot),t.clear(),this._getGlobalBoundsRecursive(!!i,t,this.parentRenderLayer),t.isValid||t.set(0,0,0,0);let e=this.renderGroup||this.parentRenderGroup;return t.applyMatrix(e.worldTransform),t},_getGlobalBoundsRecursive(i,t,e){let r=t;if(i&&this.parentRenderLayer&&this.parentRenderLayer!==e||this.localDisplayStatus!==7||!this.measurable)return;let s=!!this.effects.length;if((this.renderGroup||s)&&(r=Rt.get().clear()),this.boundsArea)t.addRect(this.boundsArea,this.worldTransform);else {if(this.renderPipeId){let n=this.bounds;r.addFrame(n.minX,n.minY,n.maxX,n.maxY,this.groupTransform);}let o=this.children;for(let n=0;n<o.length;n++)o[n]._getGlobalBoundsRecursive(i,r,e);}if(s){let o=false,n=this.renderGroup||this.parentRenderGroup;for(let a=0;a<this.effects.length;a++)this.effects[a].addBounds&&(o||(o=true,r.applyMatrix(n.worldTransform)),this.effects[a].addBounds(r,true));o&&(r.applyMatrix(n.worldTransform.copyTo(Sg).invert()),t.addBounds(r,this.relativeGroupTransform)),t.addBounds(r),Rt.return(r);}else this.renderGroup&&(t.addBounds(r,this.relativeGroupTransform),Rt.return(r));}};});function ss(i,t,e){e.clear();let r,s;return i.parent?t?r=i.parent.worldTransform:(s=ut.get().identity(),r=os(i,s)):r=P.IDENTITY,xh(i,e,r,t),s&&ut.return(s),e.isValid||e.set(0,0,0,0),e}function xh(i,t,e,r){if(!i.visible||!i.measurable)return;let s;r?s=i.worldTransform:(i.updateLocalTransform(),s=ut.get(),s.appendFrom(i.localTransform,e));let o=t,n=!!i.effects.length;if(n&&(t=Rt.get().clear()),i.boundsArea)t.addRect(i.boundsArea,s);else {i.bounds&&(t.matrix=s,t.addBounds(i.bounds));for(let a=0;a<i.children.length;a++)xh(i.children[a],t,s,r);}if(n){for(let a=0;a<i.effects.length;a++)i.effects[a].addBounds?.(t);o.addBounds(t,P.IDENTITY),Rt.return(t);}r||ut.return(s);}function os(i,t){let e=i.parent;return e&&(os(e,t),e.updateLocalTransform(),t.append(e.localTransform)),t}var ns=p(()=>{tt();ke();});function as(i,t){if(i===16777215||!t)return t;if(t===16777215||!i)return i;let e=i>>16&255,r=i>>8&255,s=i&255,o=t>>16&255,n=t>>8&255,a=t&255,l=e*o/255|0,h=r*n/255|0,u=s*a/255|0;return (l<<16)+(h<<8)+u}var Qo=p(()=>{});function Jo(i,t){return i===_h?t:t===_h?i:as(i,t)}var _h,yh=p(()=>{Qo();_h=16777215;});function Vr(i){return ((i&255)<<16)+(i&65280)+(i>>16&255)}var bh,vh=p(()=>{ns();ke();yh();bh={getGlobalAlpha(i){if(i)return this.renderGroup?this.renderGroup.worldAlpha:this.parentRenderGroup?this.parentRenderGroup.worldAlpha*this.alpha:this.alpha;let t=this.alpha,e=this.parent;for(;e;)t*=e.alpha,e=e.parent;return t},getGlobalTransform(i,t){if(t)return i.copyFrom(this.worldTransform);this.updateLocalTransform();let e=os(this,ut.get().identity());return i.appendFrom(this.localTransform,e),ut.return(e),i},getGlobalTint(i){if(i)return this.renderGroup?Vr(this.renderGroup.worldColor):this.parentRenderGroup?Vr(Jo(this.localColor,this.parentRenderGroup.worldColor)):this.tint;let t=this.localColor,e=this.parent;for(;e;)t=Jo(t,e.localColor),e=e.parent;return Vr(t)}};});function ls(i,t,e){return t.clear(),e||(e=P.IDENTITY),Sh(i,t,e,i,true),t.isValid||t.set(0,0,0,0),t}function Sh(i,t,e,r,s){let o;if(s)o=ut.get(),o=e.copyTo(o);else {if(!i.visible||!i.measurable)return;i.updateLocalTransform();let l=i.localTransform;o=ut.get(),o.appendFrom(l,e);}let n=t,a=!!i.effects.length;if(a&&(t=Rt.get().clear()),i.boundsArea)t.addRect(i.boundsArea,o);else {i.renderPipeId&&(t.matrix=o,t.addBounds(i.bounds));let l=i.children;for(let h=0;h<l.length;h++)Sh(l[h],t,o,r,false);}if(a){for(let l=0;l<i.effects.length;l++)i.effects[l].addLocalBounds?.(t,r);n.addBounds(t,P.IDENTITY),Rt.return(t);}ut.return(o);}var tn=p(()=>{tt();ke();});function en(i,t){let e=i.children;for(let r=0;r<e.length;r++){let s=e[r],o=s.uid,n=(s._didViewChangeTick&65535)<<16|s._didContainerChangeTick&65535,a=t.index;(t.data[a]!==o||t.data[a+1]!==n)&&(t.data[t.index]=o,t.data[t.index+1]=n,t.didChange=true),t.index=a+2,s.children.length&&en(s,t);}return t.didChange}var Th=p(()=>{});var Tg,wh,Ph=p(()=>{tt();$t();ns();tn();Th();Tg=new P,wh={_localBoundsCacheId:-1,_localBoundsCacheData:null,_setWidth(i,t){let e=Math.sign(this.scale.x)||1;t!==0?this.scale.x=i/t*e:this.scale.x=e;},_setHeight(i,t){let e=Math.sign(this.scale.y)||1;t!==0?this.scale.y=i/t*e:this.scale.y=e;},getLocalBounds(){this._localBoundsCacheData||(this._localBoundsCacheData={data:[],index:1,didChange:false,localBounds:new ot});let i=this._localBoundsCacheData;return i.index=1,i.didChange=false,i.data[0]!==this._didViewChangeTick&&(i.didChange=true,i.data[0]=this._didViewChangeTick),en(this,i),i.didChange&&ls(this,i.localBounds,Tg),i.localBounds},getBounds(i,t){return ss(this,i,t||new ot)}};});var Mh,Ah=p(()=>{Mh={_onRender:null,set onRender(i){let t=this.renderGroup||this.parentRenderGroup;if(!i){this._onRender&&t?.removeOnRender(this),this._onRender=null;return}this._onRender||t?.addOnRender(this),this._onRender=i;},get onRender(){return this._onRender}};});function wg(i,t){return i._zIndex-t._zIndex}var Ch,Eh=p(()=>{Ch={_zIndex:0,sortDirty:false,sortableChildren:false,get zIndex(){return this._zIndex},set zIndex(i){this._zIndex!==i&&(this._zIndex=i,this.depthOfChildModified());},depthOfChildModified(){this.parent&&(this.parent.sortableChildren=true,this.parent.sortDirty=true),this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=true);},sortChildren(){this.sortDirty&&(this.sortDirty=false,this.children.sort(wg));}};});var Fh,Bh=p(()=>{qt();ke();Fh={getGlobalPosition(i=new $,t=false){return this.parent?this.parent.toGlobal(this._position,i,t):(i.x=this._position.x,i.y=this._position.y),i},toGlobal(i,t,e=false){let r=this.getGlobalTransform(ut.get(),e);return t=r.apply(i,t),ut.return(r),t},toLocal(i,t,e,r){t&&(i=t.toGlobal(i,e,r));let s=this.getGlobalTransform(ut.get(),r);return e=s.applyInverse(i,e),ut.return(s),e}};});var Qe,rn=p(()=>{Mt();Qe=class{constructor(){this.uid=Y("instructionSet"),this.instructions=[],this.instructionSize=0,this.renderables=[],this.gcTick=0;}reset(){this.instructionSize=0;}add(t){this.instructions[this.instructionSize++]=t;}log(){this.instructions.length=this.instructionSize,console.table(this.instructions,["type","action"]);}};});function le(i){return i+=i===0?1:0,--i,i|=i>>>1,i|=i>>>2,i|=i>>>4,i|=i>>>8,i|=i>>>16,i+1}function sn(i){return !(i&i-1)&&!!i}var Hr=p(()=>{});function hs(i){let t={};for(let e in i)i[e]!==void 0&&(t[e]=i[e]);return t}var on=p(()=>{});function Pg(i){let t=kh[i];return t===void 0&&(kh[i]=Y("resource")),t}var kh,Gh,Wt,Je=p(()=>{Et();Mt();lt();kh=Object.create(null);Gh=class Ih extends N{constructor(t={}){super(),this._resourceType="textureSampler",this._touched=0,this._maxAnisotropy=1,this.destroyed=false,t={...Ih.defaultOptions,...t},this.addressMode=t.addressMode,this.addressModeU=t.addressModeU??this.addressModeU,this.addressModeV=t.addressModeV??this.addressModeV,this.addressModeW=t.addressModeW??this.addressModeW,this.scaleMode=t.scaleMode,this.magFilter=t.magFilter??this.magFilter,this.minFilter=t.minFilter??this.minFilter,this.mipmapFilter=t.mipmapFilter??this.mipmapFilter,this.lodMinClamp=t.lodMinClamp,this.lodMaxClamp=t.lodMaxClamp,this.compare=t.compare,this.maxAnisotropy=t.maxAnisotropy??1;}set addressMode(t){this.addressModeU=t,this.addressModeV=t,this.addressModeW=t;}get addressMode(){return this.addressModeU}set wrapMode(t){F(V,"TextureStyle.wrapMode is now TextureStyle.addressMode"),this.addressMode=t;}get wrapMode(){return this.addressMode}set scaleMode(t){this.magFilter=t,this.minFilter=t,this.mipmapFilter=t;}get scaleMode(){return this.magFilter}set maxAnisotropy(t){this._maxAnisotropy=Math.min(t,16),this._maxAnisotropy>1&&(this.scaleMode="linear");}get maxAnisotropy(){return this._maxAnisotropy}get _resourceId(){return this._sharedResourceId||this._generateResourceId()}update(){this.emit("change",this),this._sharedResourceId=null;}_generateResourceId(){let t=`${this.addressModeU}-${this.addressModeV}-${this.addressModeW}-${this.magFilter}-${this.minFilter}-${this.mipmapFilter}-${this.lodMinClamp}-${this.lodMaxClamp}-${this.compare}-${this._maxAnisotropy}`;return this._sharedResourceId=Pg(t),this._resourceId}destroy(){this.destroyed=true,this.emit("destroy",this),this.emit("change",this),this.removeAllListeners();}};Gh.defaultOptions={addressMode:"clamp-to-edge",scaleMode:"linear"};Wt=Gh;});var Rh,mt,he=p(()=>{Et();Hr();on();Mt();Je();Rh=class Dh extends N{constructor(t={}){super(),this.options=t,this.uid=Y("textureSource"),this._resourceType="textureSource",this._resourceId=Y("resource"),this.uploadMethodId="unknown",this._resolution=1,this.pixelWidth=1,this.pixelHeight=1,this.width=1,this.height=1,this.sampleCount=1,this.mipLevelCount=1,this.autoGenerateMipmaps=false,this.format="rgba8unorm",this.dimension="2d",this.antialias=false,this._touched=0,this._batchTick=-1,this._textureBindLocation=-1,t={...Dh.defaultOptions,...t},this.label=t.label??"",this.resource=t.resource,this.autoGarbageCollect=t.autoGarbageCollect,this._resolution=t.resolution,t.width?this.pixelWidth=t.width*this._resolution:this.pixelWidth=this.resource?this.resourceWidth??1:1,t.height?this.pixelHeight=t.height*this._resolution:this.pixelHeight=this.resource?this.resourceHeight??1:1,this.width=this.pixelWidth/this._resolution,this.height=this.pixelHeight/this._resolution,this.format=t.format,this.dimension=t.dimensions,this.mipLevelCount=t.mipLevelCount,this.autoGenerateMipmaps=t.autoGenerateMipmaps,this.sampleCount=t.sampleCount,this.antialias=t.antialias,this.alphaMode=t.alphaMode,this.style=new Wt(hs(t)),this.destroyed=false,this._refreshPOT();}get source(){return this}get style(){return this._style}set style(t){this.style!==t&&(this._style?.off("change",this._onStyleChange,this),this._style=t,this._style?.on("change",this._onStyleChange,this),this._onStyleChange());}get addressMode(){return this._style.addressMode}set addressMode(t){this._style.addressMode=t;}get repeatMode(){return this._style.addressMode}set repeatMode(t){this._style.addressMode=t;}get magFilter(){return this._style.magFilter}set magFilter(t){this._style.magFilter=t;}get minFilter(){return this._style.minFilter}set minFilter(t){this._style.minFilter=t;}get mipmapFilter(){return this._style.mipmapFilter}set mipmapFilter(t){this._style.mipmapFilter=t;}get lodMinClamp(){return this._style.lodMinClamp}set lodMinClamp(t){this._style.lodMinClamp=t;}get lodMaxClamp(){return this._style.lodMaxClamp}set lodMaxClamp(t){this._style.lodMaxClamp=t;}_onStyleChange(){this.emit("styleChange",this);}update(){if(this.resource){let t=this._resolution;if(this.resize(this.resourceWidth/t,this.resourceHeight/t))return}this.emit("update",this);}destroy(){this.destroyed=true,this.emit("destroy",this),this.emit("change",this),this._style&&(this._style.destroy(),this._style=null),this.uploadMethodId=null,this.resource=null,this.removeAllListeners();}unload(){this._resourceId=Y("resource"),this.emit("change",this),this.emit("unload",this);}get resourceWidth(){let{resource:t}=this;return t.naturalWidth||t.videoWidth||t.displayWidth||t.width}get resourceHeight(){let{resource:t}=this;return t.naturalHeight||t.videoHeight||t.displayHeight||t.height}get resolution(){return this._resolution}set resolution(t){this._resolution!==t&&(this._resolution=t,this.width=this.pixelWidth/t,this.height=this.pixelHeight/t);}resize(t,e,r){r||(r=this._resolution),t||(t=this.width),e||(e=this.height);let s=Math.round(t*r),o=Math.round(e*r);return this.width=s/r,this.height=o/r,this._resolution=r,this.pixelWidth===s&&this.pixelHeight===o?false:(this._refreshPOT(),this.pixelWidth=s,this.pixelHeight=o,this.emit("resize",this),this._resourceId=Y("resource"),this.emit("change",this),true)}updateMipmaps(){this.autoGenerateMipmaps&&this.mipLevelCount>1&&this.emit("updateMipmaps",this);}set wrapMode(t){this._style.wrapMode=t;}get wrapMode(){return this._style.wrapMode}set scaleMode(t){this._style.scaleMode=t;}get scaleMode(){return this._style.scaleMode}_refreshPOT(){this.isPowerOfTwo=sn(this.pixelWidth)&&sn(this.pixelHeight);}static test(t){throw new Error("Unimplemented")}};Rh.defaultOptions={resolution:1,format:"bgra8unorm",alphaMode:"premultiply-alpha-on-upload",dimensions:"2d",mipLevelCount:1,autoGenerateMipmaps:false,sampleCount:1,antialias:false,autoGarbageCollect:false};mt=Rh;});function Mg(){for(let i=0;i<16;i++){let t=[];nn.push(t);for(let e=0;e<16;e++){let r=us(Ge[i]*Ge[e]+Re[i]*Ie[e]),s=us(Ie[i]*Ge[e]+De[i]*Ie[e]),o=us(Ge[i]*Re[e]+Re[i]*De[e]),n=us(Ie[i]*Re[e]+De[i]*De[e]);for(let a=0;a<16;a++)if(Ge[a]===r&&Ie[a]===s&&Re[a]===o&&De[a]===n){t.push(a);break}}}for(let i=0;i<16;i++){let t=new P;t.set(Ge[i],Ie[i],Re[i],De[i],0,0),Lh.push(t);}}var Ge,Ie,Re,De,nn,Lh,us,it,Uh=p(()=>{tt();Ge=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],Ie=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],Re=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],De=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],nn=[],Lh=[],us=Math.sign;Mg();it={E:0,SE:1,S:2,SW:3,W:4,NW:5,N:6,NE:7,MIRROR_VERTICAL:8,MAIN_DIAGONAL:10,MIRROR_HORIZONTAL:12,REVERSE_DIAGONAL:14,uX:i=>Ge[i],uY:i=>Ie[i],vX:i=>Re[i],vY:i=>De[i],inv:i=>i&8?i&15:-i&7,add:(i,t)=>nn[i][t],sub:(i,t)=>nn[i][it.inv(t)],rotate180:i=>i^4,isVertical:i=>(i&3)===2,byDirection:(i,t)=>Math.abs(i)*2<=Math.abs(t)?t>=0?it.S:it.N:Math.abs(t)*2<=Math.abs(i)?i>0?it.E:it.W:t>0?i>0?it.SE:it.SW:i>0?it.NE:it.NW,matrixAppendRotationInv:(i,t,e=0,r=0)=>{let s=Lh[it.inv(t)];s.tx=e,s.ty=r,i.append(s);}};});var an,Oh=p(()=>{an=()=>{};});var Le,ln=p(()=>{k();he();Le=class extends mt{constructor(t){let e=t.resource||new Float32Array(t.width*t.height*4),r=t.format;r||(e instanceof Float32Array?r="rgba32float":e instanceof Int32Array||e instanceof Uint32Array?r="rgba32uint":e instanceof Int16Array||e instanceof Uint16Array?r="rgba16uint":(r="bgra8unorm")),super({...t,resource:e,format:r}),this.uploadMethodId="buffer";}static test(t){return t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array}};Le.extension=S.TextureSource;});var zh,cs,Wh=p(()=>{tt();zh=new P,cs=class{constructor(t,e){this.mapCoord=new P,this.uClampFrame=new Float32Array(4),this.uClampOffset=new Float32Array(2),this._textureID=-1,this._updateID=0,this.clampOffset=0,typeof e>"u"?this.clampMargin=t.width<10?0:.5:this.clampMargin=e,this.isSimple=false,this.texture=t;}get texture(){return this._texture}set texture(t){this.texture!==t&&(this._texture?.removeListener("update",this.update,this),this._texture=t,this._texture.addListener("update",this.update,this),this.update());}multiplyUvs(t,e){e===void 0&&(e=t);let r=this.mapCoord;for(let s=0;s<t.length;s+=2){let o=t[s],n=t[s+1];e[s]=o*r.a+n*r.c+r.tx,e[s+1]=o*r.b+n*r.d+r.ty;}return e}update(){let t=this._texture;this._updateID++;let e=t.uvs;this.mapCoord.set(e.x1-e.x0,e.y1-e.y0,e.x3-e.x0,e.y3-e.y0,e.x0,e.y0);let r=t.orig,s=t.trim;s&&(zh.set(r.width/s.width,0,0,r.height/s.height,-s.x/s.width,-s.y/s.height),this.mapCoord.append(zh));let o=t.source,n=this.uClampFrame,a=this.clampMargin/o._resolution,l=this.clampOffset/o._resolution;return n[0]=(t.frame.x+a+l)/o.width,n[1]=(t.frame.y+a+l)/o.height,n[2]=(t.frame.x+t.frame.width-a+l)/o.width,n[3]=(t.frame.y+t.frame.height-a+l)/o.height,this.uClampOffset[0]=this.clampOffset/o.pixelWidth,this.uClampOffset[1]=this.clampOffset/o.pixelHeight,this.isSimple=t.frame.width===o.width&&t.frame.height===o.height&&t.rotate===0,true}};});var B,bt=p(()=>{Et();Uh();Bt();Mt();lt();Oh();ln();he();Wh();B=class extends N{constructor({source:t,label:e,frame:r,orig:s,trim:o,defaultAnchor:n,defaultBorders:a,rotate:l,dynamic:h}={}){if(super(),this.uid=Y("texture"),this.uvs={x0:0,y0:0,x1:0,y1:0,x2:0,y2:0,x3:0,y3:0},this.frame=new j,this.noFrame=false,this.dynamic=false,this.isTexture=true,this.label=e,this.source=t?.source??new mt,this.noFrame=!r,r)this.frame.copyFrom(r);else {let{width:u,height:c}=this._source;this.frame.width=u,this.frame.height=c;}this.orig=s||this.frame,this.trim=o,this.rotate=l??0,this.defaultAnchor=n,this.defaultBorders=a,this.destroyed=false,this.dynamic=h||false,this.updateUvs();}set source(t){this._source&&this._source.off("resize",this.update,this),this._source=t,t.on("resize",this.update,this),this.emit("update",this);}get source(){return this._source}get textureMatrix(){return this._textureMatrix||(this._textureMatrix=new cs(this)),this._textureMatrix}get width(){return this.orig.width}get height(){return this.orig.height}updateUvs(){let{uvs:t,frame:e}=this,{width:r,height:s}=this._source,o=e.x/r,n=e.y/s,a=e.width/r,l=e.height/s,h=this.rotate;if(h){let u=a/2,c=l/2,f=o+u,d=n+c;h=it.add(h,it.NW),t.x0=f+u*it.uX(h),t.y0=d+c*it.uY(h),h=it.add(h,2),t.x1=f+u*it.uX(h),t.y1=d+c*it.uY(h),h=it.add(h,2),t.x2=f+u*it.uX(h),t.y2=d+c*it.uY(h),h=it.add(h,2),t.x3=f+u*it.uX(h),t.y3=d+c*it.uY(h);}else t.x0=o,t.y0=n,t.x1=o+a,t.y1=n,t.x2=o+a,t.y2=n+l,t.x3=o,t.y3=n+l;}destroy(t=false){this._source&&t&&(this._source.destroy(),this._source=null),this._textureMatrix=null,this.destroyed=true,this.emit("destroy",this),this.removeAllListeners();}update(){this.noFrame&&(this.frame.width=this._source.width,this.frame.height=this._source.height),this.updateUvs(),this.emit("update",this);}get baseTexture(){return F(V,"Texture.baseTexture is now Texture.source"),this._source}};B.EMPTY=new B({label:"EMPTY",source:new mt({label:"EMPTY"})});B.EMPTY.destroy=an;B.WHITE=new B({source:new Le({resource:new Uint8Array([255,255,255,255]),width:1,height:1,alphaMode:"premultiply-alpha-on-upload",label:"WHITE"}),label:"WHITE"});B.WHITE.destroy=an;});var Ag,hn,wt,tr=p(()=>{Hr();he();bt();Je();Ag=0,hn=class{constructor(t){this._poolKeyHash=Object.create(null),this._texturePool={},this.textureOptions=t||{},this.enableFullScreen=false,this.textureStyle=new Wt(this.textureOptions);}createTexture(t,e,r){let s=new mt({...this.textureOptions,width:t,height:e,resolution:1,antialias:r,autoGarbageCollect:false});return new B({source:s,label:`texturePool_${Ag++}`})}getOptimalTexture(t,e,r=1,s){let o=Math.ceil(t*r-1e-6),n=Math.ceil(e*r-1e-6);o=le(o),n=le(n);let a=(o<<17)+(n<<1)+(s?1:0);this._texturePool[a]||(this._texturePool[a]=[]);let l=this._texturePool[a].pop();return l||(l=this.createTexture(o,n,s)),l.source._resolution=r,l.source.width=o/r,l.source.height=n/r,l.source.pixelWidth=o,l.source.pixelHeight=n,l.frame.x=0,l.frame.y=0,l.frame.width=t,l.frame.height=e,l.updateUvs(),this._poolKeyHash[l.uid]=a,l}getSameSizeTexture(t,e=false){let r=t.source;return this.getOptimalTexture(t.width,t.height,r._resolution,e)}returnTexture(t,e=false){let r=this._poolKeyHash[t.uid];e&&(t.source.style=this.textureStyle),this._texturePool[r].push(t);}clear(t){if(t=t!==false,t)for(let e in this._texturePool){let r=this._texturePool[e];if(r)for(let s=0;s<r.length;s++)r[s].destroy(true);}this._texturePool={};}},wt=new hn;});var ds,Vh=p(()=>{tt();rn();tr();ds=class{constructor(){this.renderPipeId="renderGroup",this.root=null,this.canBundle=false,this.renderGroupParent=null,this.renderGroupChildren=[],this.worldTransform=new P,this.worldColorAlpha=4294967295,this.worldColor=16777215,this.worldAlpha=1,this.childrenToUpdate=Object.create(null),this.updateTick=0,this.gcTick=0,this.childrenRenderablesToUpdate={list:[],index:0},this.structureDidChange=true,this.instructionSet=new Qe,this._onRenderContainers=[],this.textureNeedsUpdate=true,this.isCachedAsTexture=false,this._matrixDirty=7;}init(t){this.root=t,t._onRender&&this.addOnRender(t),t.didChange=true;let e=t.children;for(let r=0;r<e.length;r++){let s=e[r];s._updateFlags=15,this.addChild(s);}}enableCacheAsTexture(t={}){this.textureOptions=t,this.isCachedAsTexture=true,this.textureNeedsUpdate=true;}disableCacheAsTexture(){this.isCachedAsTexture=false,this.texture&&(wt.returnTexture(this.texture),this.texture=null);}updateCacheTexture(){this.textureNeedsUpdate=true;}reset(){this.renderGroupChildren.length=0;for(let t in this.childrenToUpdate){let e=this.childrenToUpdate[t];e.list.fill(null),e.index=0;}this.childrenRenderablesToUpdate.index=0,this.childrenRenderablesToUpdate.list.fill(null),this.root=null,this.updateTick=0,this.structureDidChange=true,this._onRenderContainers.length=0,this.renderGroupParent=null,this.disableCacheAsTexture();}get localTransform(){return this.root.localTransform}addRenderGroupChild(t){t.renderGroupParent&&t.renderGroupParent._removeRenderGroupChild(t),t.renderGroupParent=this,this.renderGroupChildren.push(t);}_removeRenderGroupChild(t){let e=this.renderGroupChildren.indexOf(t);e>-1&&this.renderGroupChildren.splice(e,1),t.renderGroupParent=null;}addChild(t){if(this.structureDidChange=true,t.parentRenderGroup=this,t.updateTick=-1,t.parent===this.root?t.relativeRenderGroupDepth=1:t.relativeRenderGroupDepth=t.parent.relativeRenderGroupDepth+1,t.didChange=true,this.onChildUpdate(t),t.renderGroup){this.addRenderGroupChild(t.renderGroup);return}t._onRender&&this.addOnRender(t);let e=t.children;for(let r=0;r<e.length;r++)this.addChild(e[r]);}removeChild(t){if(this.structureDidChange=true,t._onRender&&(t.renderGroup||this.removeOnRender(t)),t.parentRenderGroup=null,t.renderGroup){this._removeRenderGroupChild(t.renderGroup);return}let e=t.children;for(let r=0;r<e.length;r++)this.removeChild(e[r]);}removeChildren(t){for(let e=0;e<t.length;e++)this.removeChild(t[e]);}onChildUpdate(t){let e=this.childrenToUpdate[t.relativeRenderGroupDepth];e||(e=this.childrenToUpdate[t.relativeRenderGroupDepth]={index:0,list:[]}),e.list[e.index++]=t;}updateRenderable(t){t.globalDisplayStatus<7||(this.instructionSet.renderPipes[t.renderPipeId].updateRenderable(t),t.didViewUpdate=false);}onChildViewUpdate(t){this.childrenRenderablesToUpdate.list[this.childrenRenderablesToUpdate.index++]=t;}get isRenderable(){return this.root.localDisplayStatus===7&&this.worldAlpha>0}addOnRender(t){this._onRenderContainers.push(t);}removeOnRender(t){this._onRenderContainers.splice(this._onRenderContainers.indexOf(t),1);}runOnRender(t){for(let e=0;e<this._onRenderContainers.length;e++)this._onRenderContainers[e]._onRender(t);}destroy(){this.disableCacheAsTexture(),this.renderGroupParent=null,this.root=null,this.childrenRenderablesToUpdate=null,this.childrenToUpdate=null,this.renderGroupChildren=null,this._onRenderContainers=null,this.instructionSet=null;}getChildren(t=[]){let e=this.root.children;for(let r=0;r<e.length;r++)this._getChildren(e[r],t);return t}_getChildren(t,e=[]){if(e.push(t),t.renderGroup)return e;let r=t.children;for(let s=0;s<r.length;s++)this._getChildren(r[s],e);return e}invalidateMatrices(){this._matrixDirty=7;}get inverseWorldTransform(){return (this._matrixDirty&1)===0?this._inverseWorldTransform:(this._matrixDirty&=-2,this._inverseWorldTransform||(this._inverseWorldTransform=new P),this._inverseWorldTransform.copyFrom(this.worldTransform).invert())}get textureOffsetInverseTransform(){return (this._matrixDirty&2)===0?this._textureOffsetInverseTransform:(this._matrixDirty&=-3,this._textureOffsetInverseTransform||(this._textureOffsetInverseTransform=new P),this._textureOffsetInverseTransform.copyFrom(this.inverseWorldTransform).translate(-this._textureBounds.x,-this._textureBounds.y))}get inverseParentTextureTransform(){if((this._matrixDirty&4)===0)return this._inverseParentTextureTransform;this._matrixDirty&=-5;let t=this._parentCacheAsTextureRenderGroup;return t?(this._inverseParentTextureTransform||(this._inverseParentTextureTransform=new P),this._inverseParentTextureTransform.copyFrom(this.worldTransform).prepend(t.inverseWorldTransform).translate(-t._textureBounds.x,-t._textureBounds.y)):this.worldTransform}get cacheToLocalTransform(){return this._parentCacheAsTextureRenderGroup?this._parentCacheAsTextureRenderGroup.textureOffsetInverseTransform:null}};});function Hh(i,t,e={}){for(let r in t)!e[r]&&t[r]!==void 0&&(i[r]=t[r]);}var Nh=p(()=>{});var un,fs,cn,ps,$h,Cg,dn,Yt,Nr=p(()=>{Et();Ft();ql();k();tt();Ho();$o();Mt();lt();Tt();Be();ih();oh();ah();ch();fh();gh();vh();Ph();Ah();Eh();Bh();Vh();Nh();un=new _t(null),fs=new _t(null),cn=new _t(null,1,1),ps=new _t(null),$h=1,Cg=2,dn=4,Yt=class i extends N{constructor(t={}){super(),this.uid=Y("renderable"),this._updateFlags=15,this.renderGroup=null,this.parentRenderGroup=null,this.parentRenderGroupIndex=0,this.didChange=false,this.didViewUpdate=false,this.relativeRenderGroupDepth=0,this.children=[],this.parent=null,this.includeInBuild=true,this.measurable=true,this.isSimple=true,this.updateTick=-1,this.localTransform=new P,this.relativeGroupTransform=new P,this.groupTransform=this.relativeGroupTransform,this.destroyed=false,this._position=new _t(this,0,0),this._scale=cn,this._pivot=fs,this._origin=ps,this._skew=un,this._cx=1,this._sx=0,this._cy=0,this._sy=1,this._rotation=0,this.localColor=16777215,this.localAlpha=1,this.groupAlpha=1,this.groupColor=16777215,this.groupColorAlpha=4294967295,this.localBlendMode="inherit",this.groupBlendMode="normal",this.localDisplayStatus=7,this.globalDisplayStatus=7,this._didContainerChangeTick=0,this._didViewChangeTick=0,this._didLocalTransformChangeId=-1,this.effects=[],Hh(this,t,{children:true,parent:true,effects:true}),t.children?.forEach(e=>this.addChild(e)),t.parent?.addChild(this);}static mixin(t){F("8.8.0","Container.mixin is deprecated, please use extensions.mixin instead."),I.mixin(i,t);}set _didChangeId(t){this._didViewChangeTick=t>>12&4095,this._didContainerChangeTick=t&4095;}get _didChangeId(){return this._didContainerChangeTick&4095|(this._didViewChangeTick&4095)<<12}addChild(...t){if(this.allowChildren||F(V,"addChild: Only Containers will be allowed to add children in v8.0.0"),t.length>1){for(let s=0;s<t.length;s++)this.addChild(t[s]);return t[0]}let e=t[0],r=this.renderGroup||this.parentRenderGroup;return e.parent===this?(this.children.splice(this.children.indexOf(e),1),this.children.push(e),r&&(r.structureDidChange=true),e):(e.parent&&e.parent.removeChild(e),this.children.push(e),this.sortableChildren&&(this.sortDirty=true),e.parent=this,e.didChange=true,e._updateFlags=15,r&&r.addChild(e),this.emit("childAdded",e,this,this.children.length-1),e.emit("added",this),this._didViewChangeTick++,e._zIndex!==0&&e.depthOfChildModified(),e)}removeChild(...t){if(t.length>1){for(let s=0;s<t.length;s++)this.removeChild(t[s]);return t[0]}let e=t[0],r=this.children.indexOf(e);return r>-1&&(this._didViewChangeTick++,this.children.splice(r,1),this.renderGroup?this.renderGroup.removeChild(e):this.parentRenderGroup&&this.parentRenderGroup.removeChild(e),e.parentRenderLayer&&e.parentRenderLayer.detach(e),e.parent=null,this.emit("childRemoved",e,this,r),e.emit("removed",this)),e}_onUpdate(t){t&&t===this._skew&&this._updateSkew(),this._didContainerChangeTick++,!this.didChange&&(this.didChange=true,this.parentRenderGroup&&this.parentRenderGroup.onChildUpdate(this));}set isRenderGroup(t){!!this.renderGroup!==t&&(t?this.enableRenderGroup():this.disableRenderGroup());}get isRenderGroup(){return !!this.renderGroup}enableRenderGroup(){if(this.renderGroup)return;let t=this.parentRenderGroup;t?.removeChild(this),this.renderGroup=pt.get(ds,this),this.groupTransform=P.IDENTITY,t?.addChild(this),this._updateIsSimple();}disableRenderGroup(){if(!this.renderGroup)return;let t=this.parentRenderGroup;t?.removeChild(this),pt.return(this.renderGroup),this.renderGroup=null,this.groupTransform=this.relativeGroupTransform,t?.addChild(this),this._updateIsSimple();}_updateIsSimple(){this.isSimple=!this.renderGroup&&this.effects.length===0;}get worldTransform(){return this._worldTransform||(this._worldTransform=new P),this.renderGroup?this._worldTransform.copyFrom(this.renderGroup.worldTransform):this.parentRenderGroup&&this._worldTransform.appendFrom(this.relativeGroupTransform,this.parentRenderGroup.worldTransform),this._worldTransform}get x(){return this._position.x}set x(t){this._position.x=t;}get y(){return this._position.y}set y(t){this._position.y=t;}get position(){return this._position}set position(t){this._position.copyFrom(t);}get rotation(){return this._rotation}set rotation(t){this._rotation!==t&&(this._rotation=t,this._onUpdate(this._skew));}get angle(){return this.rotation*Zl}set angle(t){this.rotation=t*Ql;}get pivot(){return this._pivot===fs&&(this._pivot=new _t(this,0,0)),this._pivot}set pivot(t){this._pivot===fs&&(this._pivot=new _t(this,0,0),this._origin!==ps&&z("Setting both a pivot and origin on a Container is not recommended. This can lead to unexpected behavior if not handled carefully.")),typeof t=="number"?this._pivot.set(t):this._pivot.copyFrom(t);}get skew(){return this._skew===un&&(this._skew=new _t(this,0,0)),this._skew}set skew(t){this._skew===un&&(this._skew=new _t(this,0,0)),this._skew.copyFrom(t);}get scale(){return this._scale===cn&&(this._scale=new _t(this,1,1)),this._scale}set scale(t){this._scale===cn&&(this._scale=new _t(this,0,0)),typeof t=="string"&&(t=parseFloat(t)),typeof t=="number"?this._scale.set(t):this._scale.copyFrom(t);}get origin(){return this._origin===ps&&(this._origin=new _t(this,0,0)),this._origin}set origin(t){this._origin===ps&&(this._origin=new _t(this,0,0),this._pivot!==fs&&z("Setting both a pivot and origin on a Container is not recommended. This can lead to unexpected behavior if not handled carefully.")),typeof t=="number"?this._origin.set(t):this._origin.copyFrom(t);}get width(){return Math.abs(this.scale.x*this.getLocalBounds().width)}set width(t){let e=this.getLocalBounds().width;this._setWidth(t,e);}get height(){return Math.abs(this.scale.y*this.getLocalBounds().height)}set height(t){let e=this.getLocalBounds().height;this._setHeight(t,e);}getSize(t){t||(t={});let e=this.getLocalBounds();return t.width=Math.abs(this.scale.x*e.width),t.height=Math.abs(this.scale.y*e.height),t}setSize(t,e){let r=this.getLocalBounds();typeof t=="object"?(e=t.height??t.width,t=t.width):e??(e=t),t!==void 0&&this._setWidth(t,r.width),e!==void 0&&this._setHeight(e,r.height);}_updateSkew(){let t=this._rotation,e=this._skew;this._cx=Math.cos(t+e._y),this._sx=Math.sin(t+e._y),this._cy=-Math.sin(t-e._x),this._sy=Math.cos(t-e._x);}updateTransform(t){return this.position.set(typeof t.x=="number"?t.x:this.position.x,typeof t.y=="number"?t.y:this.position.y),this.scale.set(typeof t.scaleX=="number"?t.scaleX||1:this.scale.x,typeof t.scaleY=="number"?t.scaleY||1:this.scale.y),this.rotation=typeof t.rotation=="number"?t.rotation:this.rotation,this.skew.set(typeof t.skewX=="number"?t.skewX:this.skew.x,typeof t.skewY=="number"?t.skewY:this.skew.y),this.pivot.set(typeof t.pivotX=="number"?t.pivotX:this.pivot.x,typeof t.pivotY=="number"?t.pivotY:this.pivot.y),this.origin.set(typeof t.originX=="number"?t.originX:this.origin.x,typeof t.originY=="number"?t.originY:this.origin.y),this}setFromMatrix(t){t.decompose(this);}updateLocalTransform(){let t=this._didContainerChangeTick;if(this._didLocalTransformChangeId===t)return;this._didLocalTransformChangeId=t;let e=this.localTransform,r=this._scale,s=this._pivot,o=this._origin,n=this._position,a=r._x,l=r._y,h=s._x,u=s._y,c=-o._x,f=-o._y;e.a=this._cx*a,e.b=this._sx*a,e.c=this._cy*l,e.d=this._sy*l,e.tx=n._x-(h*e.a+u*e.c)+(c*e.a+f*e.c)-c*a,e.ty=n._y-(h*e.b+u*e.d)+(c*e.b+f*e.d)-f*l;}set alpha(t){t!==this.localAlpha&&(this.localAlpha=t,this._updateFlags|=$h,this._onUpdate());}get alpha(){return this.localAlpha}set tint(t){let r=H.shared.setValue(t??16777215).toBgrNumber();r!==this.localColor&&(this.localColor=r,this._updateFlags|=$h,this._onUpdate());}get tint(){return Vr(this.localColor)}set blendMode(t){this.localBlendMode!==t&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=true),this._updateFlags|=Cg,this.localBlendMode=t,this._onUpdate());}get blendMode(){return this.localBlendMode}get visible(){return !!(this.localDisplayStatus&2)}set visible(t){let e=t?2:0;(this.localDisplayStatus&2)!==e&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=true),this._updateFlags|=dn,this.localDisplayStatus^=2,this._onUpdate());}get culled(){return !(this.localDisplayStatus&4)}set culled(t){let e=t?0:4;(this.localDisplayStatus&4)!==e&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=true),this._updateFlags|=dn,this.localDisplayStatus^=4,this._onUpdate());}get renderable(){return !!(this.localDisplayStatus&1)}set renderable(t){let e=t?1:0;(this.localDisplayStatus&1)!==e&&(this._updateFlags|=dn,this.localDisplayStatus^=1,this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=true),this._onUpdate());}get isRenderable(){return this.localDisplayStatus===7&&this.groupAlpha>0}destroy(t=false){if(this.destroyed)return;this.destroyed=true;let e;if(this.children.length&&(e=this.removeChildren(0,this.children.length)),this.removeFromParent(),this.parent=null,this._maskEffect=null,this._filterEffect=null,this.effects=null,this._position=null,this._scale=null,this._pivot=null,this._origin=null,this._skew=null,this.emit("destroyed",this),this.removeAllListeners(),(typeof t=="boolean"?t:t?.children)&&e)for(let s=0;s<e.length;++s)e[s].destroy(t);this.renderGroup?.destroy(),this.renderGroup=null;}};I.mixin(Yt,sh,mh,Fh,Mh,wh,uh,dh,Ch,jl,rh,bh,nh);});var xe,ms=p(()=>{qt();xe=class i{constructor(t){this.bubbles=true,this.cancelBubble=true,this.cancelable=false,this.composed=false,this.defaultPrevented=false,this.eventPhase=i.prototype.NONE,this.propagationStopped=false,this.propagationImmediatelyStopped=false,this.layer=new $,this.page=new $,this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,this.manager=t;}get layerX(){return this.layer.x}get layerY(){return this.layer.y}get pageX(){return this.page.x}get pageY(){return this.page.y}get data(){return this}composedPath(){return this.manager&&(!this.path||this.path[this.path.length-1]!==this.target)&&(this.path=this.target?this.manager.propagationPath(this.target):[]),this.path}initEvent(t,e,r){throw new Error("initEvent() is a legacy DOM API. It is not implemented in the Federated Events API.")}initUIEvent(t,e,r,s,o){throw new Error("initUIEvent() is a legacy DOM API. It is not implemented in the Federated Events API.")}preventDefault(){this.nativeEvent instanceof Event&&this.nativeEvent.cancelable&&this.nativeEvent.preventDefault(),this.defaultPrevented=true;}stopImmediatePropagation(){this.propagationImmediatelyStopped=true;}stopPropagation(){this.propagationStopped=true;}};});function Eg(i){return function(t){return t.test(i)}}function $r(i){var t={userAgent:"",platform:"",maxTouchPoints:0};!i&&typeof navigator<"u"?t={userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints||0}:typeof i=="string"?t.userAgent=i:i&&i.userAgent&&(t={userAgent:i.userAgent,platform:i.platform,maxTouchPoints:i.maxTouchPoints||0});var e=t.userAgent,r=e.split("[FBAN");typeof r[1]<"u"&&(e=r[0]),r=e.split("Twitter"),typeof r[1]<"u"&&(e=r[0]);var s=Eg(e),o={apple:{phone:s(fn)&&!s(ue),ipod:s(Yh),tablet:!s(fn)&&(s(Xh)||ru(t))&&!s(ue),universal:s(jh),device:(s(fn)||s(Yh)||s(Xh)||s(jh)||ru(t))&&!s(ue)},amazon:{phone:s(er),tablet:!s(er)&&s(gs),device:s(er)||s(gs)},android:{phone:!s(ue)&&s(er)||!s(ue)&&s(pn),tablet:!s(ue)&&!s(er)&&!s(pn)&&(s(gs)||s(qh)),device:!s(ue)&&(s(er)||s(gs)||s(pn)||s(qh))||s(/\bokhttp\b/i)},windows:{phone:s(ue),tablet:s(Kh),device:s(ue)||s(Kh)},other:{blackberry:s(Zh),blackberry10:s(Qh),opera:s(Jh),firefox:s(eu),chrome:s(tu),device:s(Zh)||s(Qh)||s(Jh)||s(eu)||s(tu)},any:false,phone:false,tablet:false};return o.any=o.apple.device||o.android.device||o.windows.device||o.other.device,o.phone=o.apple.phone||o.android.phone||o.windows.phone,o.tablet=o.apple.tablet||o.android.tablet||o.windows.tablet,o}var fn,Yh,Xh,jh,pn,qh,er,gs,ue,Kh,Zh,Qh,Jh,tu,eu,ru,mn=p(()=>{fn=/iPhone/i,Yh=/iPod/i,Xh=/iPad/i,jh=/\biOS-universal(?:.+)Mac\b/i,pn=/\bAndroid(?:.+)Mobile\b/i,qh=/Android/i,er=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,gs=/Silk/i,ue=/Windows Phone/i,Kh=/\bWindows(?:.+)ARM\b/i,Zh=/BlackBerry/i,Qh=/BB10/i,Jh=/Opera Mini/i,tu=/\b(CriOS|Chrome)(?:.+)Mobile/i,eu=/Mobile(?:.+)Firefox\b/i,ru=function(i){return typeof i<"u"&&i.platform==="MacIntel"&&typeof i.maxTouchPoints=="number"&&i.maxTouchPoints>1&&typeof MSStream>"u"};});var iu=p(()=>{mn();mn();});var Fg,su,ou=p(()=>{iu();Fg=$r.default??$r,su=Fg(globalThis.navigator);});var Bg,xs,kg,Gg,nu,au,Ig,Rg,Dg,gn,hu,uu=p(()=>{ms();k();ou();Ko();Bg=9,xs=100,kg=0,Gg=0,nu=2,au=1,Ig=-1e3,Rg=-1e3,Dg=2,gn=class lu{constructor(t,e=su){this._mobileInfo=e,this.debug=false,this._activateOnTab=true,this._deactivateOnMouseMove=true,this._isActive=false,this._isMobileAccessibility=false,this._div=null,this._pool=[],this._renderId=0,this._children=[],this._androidUpdateCount=0,this._androidUpdateFrequency=500,this._hookDiv=null,(e.tablet||e.phone)&&this._createTouchHook(),this._renderer=t;}get isActive(){return this._isActive}get isMobileAccessibility(){return this._isMobileAccessibility}get hookDiv(){return this._hookDiv}_createTouchHook(){let t=document.createElement("button");t.style.width=`${au}px`,t.style.height=`${au}px`,t.style.position="absolute",t.style.top=`${Ig}px`,t.style.left=`${Rg}px`,t.style.zIndex=Dg.toString(),t.style.backgroundColor="#FF0000",t.title="select to enable accessibility for this content",t.addEventListener("focus",()=>{this._isMobileAccessibility=true,this._activate(),this._destroyTouchHook();}),document.body.appendChild(t),this._hookDiv=t;}_destroyTouchHook(){this._hookDiv&&(document.body.removeChild(this._hookDiv),this._hookDiv=null);}_activate(){if(this._isActive)return;this._isActive=true,this._div||(this._div=document.createElement("div"),this._div.style.width=`${xs}px`,this._div.style.height=`${xs}px`,this._div.style.position="absolute",this._div.style.top=`${kg}px`,this._div.style.left=`${Gg}px`,this._div.style.zIndex=nu.toString(),this._div.style.pointerEvents="none"),this._activateOnTab&&(this._onKeyDown=this._onKeyDown.bind(this),globalThis.addEventListener("keydown",this._onKeyDown,false)),this._deactivateOnMouseMove&&(this._onMouseMove=this._onMouseMove.bind(this),globalThis.document.addEventListener("mousemove",this._onMouseMove,true));let t=this._renderer.view.canvas;if(t.parentNode)t.parentNode.appendChild(this._div),this._initAccessibilitySetup();else {let e=new MutationObserver(()=>{t.parentNode&&(t.parentNode.appendChild(this._div),e.disconnect(),this._initAccessibilitySetup());});e.observe(document.body,{childList:true,subtree:true});}}_initAccessibilitySetup(){this._renderer.runners.postrender.add(this),this._renderer.lastObjectRendered&&this._updateAccessibleObjects(this._renderer.lastObjectRendered);}_deactivate(){if(!(!this._isActive||this._isMobileAccessibility)){this._isActive=false,globalThis.document.removeEventListener("mousemove",this._onMouseMove,true),this._activateOnTab&&globalThis.addEventListener("keydown",this._onKeyDown,false),this._renderer.runners.postrender.remove(this);for(let t of this._children)t._accessibleDiv&&t._accessibleDiv.parentNode&&(t._accessibleDiv.parentNode.removeChild(t._accessibleDiv),t._accessibleDiv=null),t._accessibleActive=false;this._pool.forEach(t=>{t.parentNode&&t.parentNode.removeChild(t);}),this._div&&this._div.parentNode&&this._div.parentNode.removeChild(this._div),this._pool=[],this._children=[];}}_updateAccessibleObjects(t){if(!t.visible||!t.accessibleChildren)return;t.accessible&&(t._accessibleActive||this._addChild(t),t._renderId=this._renderId);let e=t.children;if(e)for(let r=0;r<e.length;r++)this._updateAccessibleObjects(e[r]);}init(t){let r={accessibilityOptions:{...lu.defaultOptions,...t?.accessibilityOptions||{}}};this.debug=r.accessibilityOptions.debug,this._activateOnTab=r.accessibilityOptions.activateOnTab,this._deactivateOnMouseMove=r.accessibilityOptions.deactivateOnMouseMove,r.accessibilityOptions.enabledByDefault?this._activate():this._activateOnTab&&(this._onKeyDown=this._onKeyDown.bind(this),globalThis.addEventListener("keydown",this._onKeyDown,false)),this._renderer.runners.postrender.remove(this);}postrender(){let t=performance.now();if(this._mobileInfo.android.device&&t<this._androidUpdateCount||(this._androidUpdateCount=t+this._androidUpdateFrequency,!this._renderer.renderingToScreen||!this._renderer.view.canvas))return;let e=new Set;if(this._renderer.lastObjectRendered){this._updateAccessibleObjects(this._renderer.lastObjectRendered);for(let r of this._children)r._renderId===this._renderId&&e.add(this._children.indexOf(r));}for(let r=this._children.length-1;r>=0;r--){let s=this._children[r];e.has(r)||(s._accessibleDiv&&s._accessibleDiv.parentNode&&(s._accessibleDiv.parentNode.removeChild(s._accessibleDiv),this._pool.push(s._accessibleDiv),s._accessibleDiv=null),s._accessibleActive=false,es(this._children,r,1));}if(this._renderer.renderingToScreen){let{x:r,y:s,width:o,height:n}=this._renderer.screen,a=this._div;a.style.left=`${r}px`,a.style.top=`${s}px`,a.style.width=`${o}px`,a.style.height=`${n}px`;}for(let r=0;r<this._children.length;r++){let s=this._children[r];if(!s._accessibleActive||!s._accessibleDiv)continue;let o=s._accessibleDiv,n=s.hitArea||s.getBounds().rectangle;if(s.hitArea){let a=s.worldTransform,l=this._renderer.resolution,h=this._renderer.resolution;o.style.left=`${(a.tx+n.x*a.a)*l}px`,o.style.top=`${(a.ty+n.y*a.d)*h}px`,o.style.width=`${n.width*a.a*l}px`,o.style.height=`${n.height*a.d*h}px`;}else {this._capHitArea(n);let a=this._renderer.resolution,l=this._renderer.resolution;o.style.left=`${n.x*a}px`,o.style.top=`${n.y*l}px`,o.style.width=`${n.width*a}px`,o.style.height=`${n.height*l}px`;}}this._renderId++;}_updateDebugHTML(t){t.innerHTML=`type: ${t.type}</br> title : ${t.title}</br> tabIndex: ${t.tabIndex}`;}_capHitArea(t){t.x<0&&(t.width+=t.x,t.x=0),t.y<0&&(t.height+=t.y,t.y=0);let{width:e,height:r}=this._renderer;t.x+t.width>e&&(t.width=e-t.x),t.y+t.height>r&&(t.height=r-t.y);}_addChild(t){let e=this._pool.pop();e||(t.accessibleType==="button"?e=document.createElement("button"):(e=document.createElement(t.accessibleType),e.style.cssText=`
7
7
  color: transparent;
8
8
  pointer-events: none;
9
9
  padding: 0;
@@ -16,9 +16,9 @@ Deprecated since v${i}`),console.warn(r))),Ql[t]=true;}var Ql,W,Jl,ht=p(()=>{Ql=
16
16
  -webkit-user-select: none;
17
17
  -moz-user-select: none;
18
18
  -ms-user-select: none;
19
- `,t.accessibleText&&(e.innerText=t.accessibleText)),e.style.width=`${ms}px`,e.style.height=`${ms}px`,e.style.backgroundColor=this.debug?"rgba(255,255,255,0.5)":"transparent",e.style.position="absolute",e.style.zIndex=su.toString(),e.style.borderStyle="none",navigator.userAgent.toLowerCase().includes("chrome")?e.setAttribute("aria-live","off"):e.setAttribute("aria-live","polite"),navigator.userAgent.match(/rv:.*Gecko\//)?e.setAttribute("aria-relevant","additions"):e.setAttribute("aria-relevant","text"),e.addEventListener("click",this._onClick.bind(this)),e.addEventListener("focus",this._onFocus.bind(this)),e.addEventListener("focusout",this._onFocusOut.bind(this))),e.style.pointerEvents=t.accessiblePointerEvents,e.type=t.accessibleType,t.accessibleTitle&&t.accessibleTitle!==null?e.title=t.accessibleTitle:(!t.accessibleHint||t.accessibleHint===null)&&(e.title=`container ${t.tabIndex}`),t.accessibleHint&&t.accessibleHint!==null&&e.setAttribute("aria-label",t.accessibleHint),this.debug&&this._updateDebugHTML(e),t._accessibleActive=true,t._accessibleDiv=e,e.container=t,this._children.push(t),this._div.appendChild(t._accessibleDiv),t.interactive&&(t._accessibleDiv.tabIndex=t.tabIndex);}_dispatchEvent(t,e){let{container:r}=t.target,s=this._renderer.events.rootBoundary,o=Object.assign(new ge(s),{target:r});s.rootTarget=this._renderer.lastObjectRendered,e.forEach(n=>s.dispatchEvent(o,n));}_onClick(t){this._dispatchEvent(t,["click","pointertap","tap"]);}_onFocus(t){t.target.getAttribute("aria-live")||t.target.setAttribute("aria-live","assertive"),this._dispatchEvent(t,["mouseover"]);}_onFocusOut(t){t.target.getAttribute("aria-live")||t.target.setAttribute("aria-live","polite"),this._dispatchEvent(t,["mouseout"]);}_onKeyDown(t){t.keyCode!==Fx||!this._activateOnTab||this._activate();}_onMouseMove(t){t.movementX===0&&t.movementY===0||this._deactivate();}destroy(){this._deactivate(),this._destroyTouchHook(),this._div=null,this._pool=null,this._children=null,this._renderer=null,this._activateOnTab&&globalThis.removeEventListener("keydown",this._onKeyDown);}setAccessibilityEnabled(t){t?this._activate():this._deactivate();}};pn.extension={type:[S.WebGLSystem,S.WebGPUSystem],name:"accessibility"};pn.defaultOptions={enabledByDefault:false,debug:false,activateOnTab:true,deactivateOnMouseMove:true};au=pn;});var hu,uu=p(()=>{hu={accessible:false,accessibleTitle:null,accessibleHint:null,tabIndex:0,accessibleType:"button",accessibleText:null,accessiblePointerEvents:"auto",accessibleChildren:true,_accessibleActive:false,_accessibleDiv:null,_renderId:-1};});var cu=p(()=>{B();Nr();lu();uu();I.add(au);I.mixin(Yt,hu);});var Yr,du=p(()=>{B();Yr=class{static init(t){Object.defineProperty(this,"resizeTo",{set(e){globalThis.removeEventListener("resize",this.queueResize),this._resizeTo=e,e&&(globalThis.addEventListener("resize",this.queueResize),this.resize());},get(){return this._resizeTo}}),this.queueResize=()=>{this._resizeTo&&(this._cancelResize(),this._resizeId=requestAnimationFrame(()=>this.resize()));},this._cancelResize=()=>{this._resizeId&&(cancelAnimationFrame(this._resizeId),this._resizeId=null);},this.resize=()=>{if(!this._resizeTo)return;this._cancelResize();let e,r;if(this._resizeTo===globalThis.window)e=globalThis.innerWidth,r=globalThis.innerHeight;else {let{clientWidth:s,clientHeight:o}=this._resizeTo;e=s,r=o;}this.renderer.resize(e,r),this.render();},this._resizeId=null,this._resizeTo=null,this.resizeTo=t.resizeTo||null;}static destroy(){globalThis.removeEventListener("resize",this.queueResize),this._cancelResize(),this._cancelResize=null,this.queueResize=null,this.resizeTo=null,this.resize=null;}};Yr.extension=S.Application;});var _e,xs=p(()=>{_e=(i=>(i[i.INTERACTION=50]="INTERACTION",i[i.HIGH=25]="HIGH",i[i.NORMAL=0]="NORMAL",i[i.LOW=-25]="LOW",i[i.UTILITY=-50]="UTILITY",i))(_e||{});});var rr,fu=p(()=>{rr=class{constructor(t,e=null,r=0,s=false){this.next=null,this.previous=null,this._destroyed=false,this._fn=t,this._context=e,this.priority=r,this._once=s;}match(t,e=null){return this._fn===t&&this._context===e}emit(t){this._fn&&(this._context?this._fn.call(this._context,t):this._fn(t));let e=this.next;return this._once&&this.destroy(true),this._destroyed&&(this.next=null),e}connect(t){this.previous=t,t.next&&(t.next.previous=this),this.next=t.next,t.next=this;}destroy(t=false){this._destroyed=true,this._fn=null,this._context=null,this.previous&&(this.previous.next=this.next),this.next&&(this.next.previous=this.previous);let e=this.next;return this.next=t?null:e,this.previous=null,e}};});var pu,xt,Xr=p(()=>{xs();fu();pu=class Dt{constructor(){this.autoStart=false,this.deltaTime=1,this.lastTime=-1,this.speed=1,this.started=false,this._requestId=null,this._maxElapsedMS=100,this._minElapsedMS=0,this._protected=false,this._lastFrame=-1,this._head=new rr(null,null,1/0),this.deltaMS=1/Dt.targetFPMS,this.elapsedMS=1/Dt.targetFPMS,this._tick=t=>{this._requestId=null,this.started&&(this.update(t),this.started&&this._requestId===null&&this._head.next&&(this._requestId=requestAnimationFrame(this._tick)));};}_requestIfNeeded(){this._requestId===null&&this._head.next&&(this.lastTime=performance.now(),this._lastFrame=this.lastTime,this._requestId=requestAnimationFrame(this._tick));}_cancelIfNeeded(){this._requestId!==null&&(cancelAnimationFrame(this._requestId),this._requestId=null);}_startIfPossible(){this.started?this._requestIfNeeded():this.autoStart&&this.start();}add(t,e,r=_e.NORMAL){return this._addListener(new rr(t,e,r))}addOnce(t,e,r=_e.NORMAL){return this._addListener(new rr(t,e,r,true))}_addListener(t){let e=this._head.next,r=this._head;if(!e)t.connect(r);else {for(;e;){if(t.priority>e.priority){t.connect(r);break}r=e,e=e.next;}t.previous||t.connect(r);}return this._startIfPossible(),this}remove(t,e){let r=this._head.next;for(;r;)r.match(t,e)?r=r.destroy():r=r.next;return this._head.next||this._cancelIfNeeded(),this}get count(){if(!this._head)return 0;let t=0,e=this._head;for(;e=e.next;)t++;return t}start(){this.started||(this.started=true,this._requestIfNeeded());}stop(){this.started&&(this.started=false,this._cancelIfNeeded());}destroy(){if(!this._protected){this.stop();let t=this._head.next;for(;t;)t=t.destroy(true);this._head.destroy(),this._head=null;}}update(t=performance.now()){let e;if(t>this.lastTime){if(e=this.elapsedMS=t-this.lastTime,e>this._maxElapsedMS&&(e=this._maxElapsedMS),e*=this.speed,this._minElapsedMS){let o=t-this._lastFrame|0;if(o<this._minElapsedMS)return;this._lastFrame=t-o%this._minElapsedMS;}this.deltaMS=e,this.deltaTime=this.deltaMS*Dt.targetFPMS;let r=this._head,s=r.next;for(;s;)s=s.emit(this);r.next||this._cancelIfNeeded();}else this.deltaTime=this.deltaMS=this.elapsedMS=0;this.lastTime=t;}get FPS(){return 1e3/this.elapsedMS}get minFPS(){return 1e3/this._maxElapsedMS}set minFPS(t){let e=Math.min(this.maxFPS,t),r=Math.min(Math.max(0,e)/1e3,Dt.targetFPMS);this._maxElapsedMS=1/r;}get maxFPS(){return this._minElapsedMS?Math.round(1e3/this._minElapsedMS):0}set maxFPS(t){if(t===0)this._minElapsedMS=0;else {let e=Math.max(this.minFPS,t);this._minElapsedMS=1/(e/1e3);}}static get shared(){if(!Dt._shared){let t=Dt._shared=new Dt;t.autoStart=true,t._protected=true;}return Dt._shared}static get system(){if(!Dt._system){let t=Dt._system=new Dt;t.autoStart=true,t._protected=true;}return Dt._system}};pu.targetFPMS=.06;xt=pu;});var jr,mu=p(()=>{B();xs();Xr();jr=class{static init(t){t=Object.assign({autoStart:true,sharedTicker:false},t),Object.defineProperty(this,"ticker",{set(e){this._ticker&&this._ticker.remove(this.render,this),this._ticker=e,e&&e.add(this.render,this,_e.LOW);},get(){return this._ticker}}),this.stop=()=>{this._ticker.stop();},this.start=()=>{this._ticker.start();},this._ticker=null,this.ticker=t.sharedTicker?xt.shared:new xt,t.autoStart&&this.start();}static destroy(){if(this._ticker){let t=this._ticker;this.ticker=null,t.destroy();}}};jr.extension=S.Application;});var mn=p(()=>{B();du();mu();I.add(Yr);I.add(jr);});function V(...i){xn!==xu&&(xn++,xn===xu?console.warn("PixiJS Warning: too many warnings, no more warnings will be reported to the console by PixiJS."):console.warn("PixiJS Warning: ",...i));}var xn,xu,Mt=p(()=>{xn=0,xu=500;});var gn,Kt,_n=p(()=>{xs();Xr();gn=class{constructor(){this.interactionFrequency=10,this._deltaTime=0,this._didMove=false,this._tickerAdded=false,this._pauseUpdate=true;}init(t){this.removeTickerListener(),this.events=t,this.interactionFrequency=10,this._deltaTime=0,this._didMove=false,this._tickerAdded=false,this._pauseUpdate=true;}get pauseUpdate(){return this._pauseUpdate}set pauseUpdate(t){this._pauseUpdate=t;}addTickerListener(){this._tickerAdded||!this.domElement||(xt.system.add(this._tickerUpdate,this,_e.INTERACTION),this._tickerAdded=true);}removeTickerListener(){this._tickerAdded&&(xt.system.remove(this._tickerUpdate,this),this._tickerAdded=false);}pointerMoved(){this._didMove=true;}_update(){if(!this.domElement||this._pauseUpdate)return;if(this._didMove){this._didMove=false;return}let t=this.events._rootPointerEvent;this.events.supportsTouchEvents&&t.pointerType==="touch"||globalThis.document.dispatchEvent(this.events.supportsPointerEvents?new PointerEvent("pointermove",{clientX:t.clientX,clientY:t.clientY,pointerType:t.pointerType,pointerId:t.pointerId}):new MouseEvent("mousemove",{clientX:t.clientX,clientY:t.clientY}));}_tickerUpdate(t){this._deltaTime+=t.deltaTime,!(this._deltaTime<this.interactionFrequency)&&(this._deltaTime=0,this._update());}},Kt=new gn;});var ce,gs=p(()=>{qt();fs();ce=class extends ge{constructor(){super(...arguments),this.client=new $,this.movement=new $,this.offset=new $,this.global=new $,this.screen=new $;}get clientX(){return this.client.x}get clientY(){return this.client.y}get x(){return this.clientX}get y(){return this.clientY}get movementX(){return this.movement.x}get movementY(){return this.movement.y}get offsetX(){return this.offset.x}get offsetY(){return this.offset.y}get globalX(){return this.global.x}get globalY(){return this.global.y}get screenX(){return this.screen.x}get screenY(){return this.screen.y}getLocalPosition(t,e,r){return t.worldTransform.applyInverse(r||this.global,e)}getModifierState(t){return "getModifierState"in this.nativeEvent&&this.nativeEvent.getModifierState(t)}initMouseEvent(t,e,r,s,o,n,a,l,h,u,c,f,d,m,g){throw new Error("Method not implemented.")}};});var At,yn=p(()=>{gs();At=class extends ce{constructor(){super(...arguments),this.width=0,this.height=0,this.isPrimary=false;}getCoalescedEvents(){return this.type==="pointermove"||this.type==="mousemove"||this.type==="touchmove"?[this]:[]}getPredictedEvents(){throw new Error("getPredictedEvents is not supported!")}};});var Zt,bn=p(()=>{gs();Zt=class extends ce{constructor(){super(...arguments),this.DOM_DELTA_PIXEL=0,this.DOM_DELTA_LINE=1,this.DOM_DELTA_PAGE=2;}};Zt.DOM_DELTA_PIXEL=0;Zt.DOM_DELTA_LINE=1;Zt.DOM_DELTA_PAGE=2;});var Dx,Ux,qr,_s,gu=p(()=>{Et();qt();Mt();_n();gs();yn();bn();Dx=2048,Ux=new $,qr=new $,_s=class{constructor(t){this.dispatch=new N,this.moveOnAll=false,this.enableGlobalMoveEvents=true,this.mappingState={trackingData:{}},this.eventPool=new Map,this._allInteractiveElements=[],this._hitElements=[],this._isPointerMoveEvent=false,this.rootTarget=t,this.hitPruneFn=this.hitPruneFn.bind(this),this.hitTestFn=this.hitTestFn.bind(this),this.mapPointerDown=this.mapPointerDown.bind(this),this.mapPointerMove=this.mapPointerMove.bind(this),this.mapPointerOut=this.mapPointerOut.bind(this),this.mapPointerOver=this.mapPointerOver.bind(this),this.mapPointerUp=this.mapPointerUp.bind(this),this.mapPointerUpOutside=this.mapPointerUpOutside.bind(this),this.mapWheel=this.mapWheel.bind(this),this.mappingTable={},this.addEventMapping("pointerdown",this.mapPointerDown),this.addEventMapping("pointermove",this.mapPointerMove),this.addEventMapping("pointerout",this.mapPointerOut),this.addEventMapping("pointerleave",this.mapPointerOut),this.addEventMapping("pointerover",this.mapPointerOver),this.addEventMapping("pointerup",this.mapPointerUp),this.addEventMapping("pointerupoutside",this.mapPointerUpOutside),this.addEventMapping("wheel",this.mapWheel);}addEventMapping(t,e){this.mappingTable[t]||(this.mappingTable[t]=[]),this.mappingTable[t].push({fn:e,priority:0}),this.mappingTable[t].sort((r,s)=>r.priority-s.priority);}dispatchEvent(t,e){t.propagationStopped=false,t.propagationImmediatelyStopped=false,this.propagate(t,e),this.dispatch.emit(e||t.type,t);}mapEvent(t){if(!this.rootTarget)return;let e=this.mappingTable[t.type];if(e)for(let r=0,s=e.length;r<s;r++)e[r].fn(t);else V(`[EventBoundary]: Event mapping not defined for ${t.type}`);}hitTest(t,e){Kt.pauseUpdate=true;let s=this._isPointerMoveEvent&&this.enableGlobalMoveEvents?"hitTestMoveRecursive":"hitTestRecursive",o=this[s](this.rootTarget,this.rootTarget.eventMode,Ux.set(t,e),this.hitTestFn,this.hitPruneFn);return o&&o[0]}propagate(t,e){if(!t.target)return;let r=t.composedPath();t.eventPhase=t.CAPTURING_PHASE;for(let s=0,o=r.length-1;s<o;s++)if(t.currentTarget=r[s],this.notifyTarget(t,e),t.propagationStopped||t.propagationImmediatelyStopped)return;if(t.eventPhase=t.AT_TARGET,t.currentTarget=t.target,this.notifyTarget(t,e),!(t.propagationStopped||t.propagationImmediatelyStopped)){t.eventPhase=t.BUBBLING_PHASE;for(let s=r.length-2;s>=0;s--)if(t.currentTarget=r[s],this.notifyTarget(t,e),t.propagationStopped||t.propagationImmediatelyStopped)return}}all(t,e,r=this._allInteractiveElements){if(r.length===0)return;t.eventPhase=t.BUBBLING_PHASE;let s=Array.isArray(e)?e:[e];for(let o=r.length-1;o>=0;o--)s.forEach(n=>{t.currentTarget=r[o],this.notifyTarget(t,n);});}propagationPath(t){let e=[t];for(let r=0;r<Dx&&t!==this.rootTarget&&t.parent;r++){if(!t.parent)throw new Error("Cannot find propagation path to disconnected target");e.push(t.parent),t=t.parent;}return e.reverse(),e}hitTestMoveRecursive(t,e,r,s,o,n=false){let a=false;if(this._interactivePrune(t))return null;if((t.eventMode==="dynamic"||e==="dynamic")&&(Kt.pauseUpdate=false),t.interactiveChildren&&t.children){let u=t.children;for(let c=u.length-1;c>=0;c--){let f=u[c],d=this.hitTestMoveRecursive(f,this._isInteractive(e)?e:f.eventMode,r,s,o,n||o(t,r));if(d){if(d.length>0&&!d[d.length-1].parent)continue;let m=t.isInteractive();(d.length>0||m)&&(m&&this._allInteractiveElements.push(t),d.push(t)),this._hitElements.length===0&&(this._hitElements=d),a=true;}}}let l=this._isInteractive(e),h=t.isInteractive();return h&&h&&this._allInteractiveElements.push(t),n||this._hitElements.length>0?null:a?this._hitElements:l&&!o(t,r)&&s(t,r)?h?[t]:[]:null}hitTestRecursive(t,e,r,s,o){if(this._interactivePrune(t)||o(t,r))return null;if((t.eventMode==="dynamic"||e==="dynamic")&&(Kt.pauseUpdate=false),t.interactiveChildren&&t.children){let l=t.children,h=r;for(let u=l.length-1;u>=0;u--){let c=l[u],f=this.hitTestRecursive(c,this._isInteractive(e)?e:c.eventMode,h,s,o);if(f){if(f.length>0&&!f[f.length-1].parent)continue;let d=t.isInteractive();return (f.length>0||d)&&f.push(t),f}}}let n=this._isInteractive(e),a=t.isInteractive();return n&&s(t,r)?a?[t]:[]:null}_isInteractive(t){return t==="static"||t==="dynamic"}_interactivePrune(t){return !t||!t.visible||!t.renderable||!t.measurable||t.eventMode==="none"||t.eventMode==="passive"&&!t.interactiveChildren}hitPruneFn(t,e){if(t.hitArea&&(t.worldTransform.applyInverse(e,qr),!t.hitArea.contains(qr.x,qr.y)))return true;if(t.effects&&t.effects.length)for(let r=0;r<t.effects.length;r++){let s=t.effects[r];if(s.containsPoint&&!s.containsPoint(e,this.hitTestFn))return true}return false}hitTestFn(t,e){return t.hitArea?true:t?.containsPoint?(t.worldTransform.applyInverse(e,qr),t.containsPoint(qr)):false}notifyTarget(t,e){if(!t.currentTarget.isInteractive())return;e??(e=t.type);let r=`on${e}`;t.currentTarget[r]?.(t);let s=t.eventPhase===t.CAPTURING_PHASE||t.eventPhase===t.AT_TARGET?`${e}capture`:e;this._notifyListeners(t,s),t.eventPhase===t.AT_TARGET&&this._notifyListeners(t,e);}mapPointerDown(t){if(!(t instanceof At)){V("EventBoundary cannot map a non-pointer event as a pointer event");return}let e=this.createPointerEvent(t);if(this.dispatchEvent(e,"pointerdown"),e.pointerType==="touch")this.dispatchEvent(e,"touchstart");else if(e.pointerType==="mouse"||e.pointerType==="pen"){let s=e.button===2;this.dispatchEvent(e,s?"rightdown":"mousedown");}let r=this.trackingData(t.pointerId);r.pressTargetsByButton[t.button]=e.composedPath(),this.freeEvent(e);}mapPointerMove(t){if(!(t instanceof At)){V("EventBoundary cannot map a non-pointer event as a pointer event");return}this._allInteractiveElements.length=0,this._hitElements.length=0,this._isPointerMoveEvent=true;let e=this.createPointerEvent(t);this._isPointerMoveEvent=false;let r=e.pointerType==="mouse"||e.pointerType==="pen",s=this.trackingData(t.pointerId),o=this.findMountedTarget(s.overTargets);if(s.overTargets?.length>0&&o!==e.target){let l=t.type==="mousemove"?"mouseout":"pointerout",h=this.createPointerEvent(t,l,o);if(this.dispatchEvent(h,"pointerout"),r&&this.dispatchEvent(h,"mouseout"),!e.composedPath().includes(o)){let u=this.createPointerEvent(t,"pointerleave",o);for(u.eventPhase=u.AT_TARGET;u.target&&!e.composedPath().includes(u.target);)u.currentTarget=u.target,this.notifyTarget(u),r&&this.notifyTarget(u,"mouseleave"),u.target=u.target.parent;this.freeEvent(u);}this.freeEvent(h);}if(o!==e.target){let l=t.type==="mousemove"?"mouseover":"pointerover",h=this.clonePointerEvent(e,l);this.dispatchEvent(h,"pointerover"),r&&this.dispatchEvent(h,"mouseover");let u=o?.parent;for(;u&&u!==this.rootTarget.parent&&u!==e.target;)u=u.parent;if(!u||u===this.rootTarget.parent){let f=this.clonePointerEvent(e,"pointerenter");for(f.eventPhase=f.AT_TARGET;f.target&&f.target!==o&&f.target!==this.rootTarget.parent;)f.currentTarget=f.target,this.notifyTarget(f),r&&this.notifyTarget(f,"mouseenter"),f.target=f.target.parent;this.freeEvent(f);}this.freeEvent(h);}let n=[],a=this.enableGlobalMoveEvents??true;this.moveOnAll?n.push("pointermove"):this.dispatchEvent(e,"pointermove"),a&&n.push("globalpointermove"),e.pointerType==="touch"&&(this.moveOnAll?n.splice(1,0,"touchmove"):this.dispatchEvent(e,"touchmove"),a&&n.push("globaltouchmove")),r&&(this.moveOnAll?n.splice(1,0,"mousemove"):this.dispatchEvent(e,"mousemove"),a&&n.push("globalmousemove"),this.cursor=e.target?.cursor),n.length>0&&this.all(e,n),this._allInteractiveElements.length=0,this._hitElements.length=0,s.overTargets=e.composedPath(),this.freeEvent(e);}mapPointerOver(t){if(!(t instanceof At)){V("EventBoundary cannot map a non-pointer event as a pointer event");return}let e=this.trackingData(t.pointerId),r=this.createPointerEvent(t),s=r.pointerType==="mouse"||r.pointerType==="pen";this.dispatchEvent(r,"pointerover"),s&&this.dispatchEvent(r,"mouseover"),r.pointerType==="mouse"&&(this.cursor=r.target?.cursor);let o=this.clonePointerEvent(r,"pointerenter");for(o.eventPhase=o.AT_TARGET;o.target&&o.target!==this.rootTarget.parent;)o.currentTarget=o.target,this.notifyTarget(o),s&&this.notifyTarget(o,"mouseenter"),o.target=o.target.parent;e.overTargets=r.composedPath(),this.freeEvent(r),this.freeEvent(o);}mapPointerOut(t){if(!(t instanceof At)){V("EventBoundary cannot map a non-pointer event as a pointer event");return}let e=this.trackingData(t.pointerId);if(e.overTargets){let r=t.pointerType==="mouse"||t.pointerType==="pen",s=this.findMountedTarget(e.overTargets),o=this.createPointerEvent(t,"pointerout",s);this.dispatchEvent(o),r&&this.dispatchEvent(o,"mouseout");let n=this.createPointerEvent(t,"pointerleave",s);for(n.eventPhase=n.AT_TARGET;n.target&&n.target!==this.rootTarget.parent;)n.currentTarget=n.target,this.notifyTarget(n),r&&this.notifyTarget(n,"mouseleave"),n.target=n.target.parent;e.overTargets=null,this.freeEvent(o),this.freeEvent(n);}this.cursor=null;}mapPointerUp(t){if(!(t instanceof At)){V("EventBoundary cannot map a non-pointer event as a pointer event");return}let e=performance.now(),r=this.createPointerEvent(t);if(this.dispatchEvent(r,"pointerup"),r.pointerType==="touch")this.dispatchEvent(r,"touchend");else if(r.pointerType==="mouse"||r.pointerType==="pen"){let a=r.button===2;this.dispatchEvent(r,a?"rightup":"mouseup");}let s=this.trackingData(t.pointerId),o=this.findMountedTarget(s.pressTargetsByButton[t.button]),n=o;if(o&&!r.composedPath().includes(o)){let a=o;for(;a&&!r.composedPath().includes(a);){if(r.currentTarget=a,this.notifyTarget(r,"pointerupoutside"),r.pointerType==="touch")this.notifyTarget(r,"touchendoutside");else if(r.pointerType==="mouse"||r.pointerType==="pen"){let l=r.button===2;this.notifyTarget(r,l?"rightupoutside":"mouseupoutside");}a=a.parent;}delete s.pressTargetsByButton[t.button],n=a;}if(n){let a=this.clonePointerEvent(r,"click");a.target=n,a.path=null,s.clicksByButton[t.button]||(s.clicksByButton[t.button]={clickCount:0,target:a.target,timeStamp:e});let l=s.clicksByButton[t.button];if(l.target===a.target&&e-l.timeStamp<200?++l.clickCount:l.clickCount=1,l.target=a.target,l.timeStamp=e,a.detail=l.clickCount,a.pointerType==="mouse"){let h=a.button===2;this.dispatchEvent(a,h?"rightclick":"click");}else a.pointerType==="touch"&&this.dispatchEvent(a,"tap");this.dispatchEvent(a,"pointertap"),this.freeEvent(a);}this.freeEvent(r);}mapPointerUpOutside(t){if(!(t instanceof At)){V("EventBoundary cannot map a non-pointer event as a pointer event");return}let e=this.trackingData(t.pointerId),r=this.findMountedTarget(e.pressTargetsByButton[t.button]),s=this.createPointerEvent(t);if(r){let o=r;for(;o;)s.currentTarget=o,this.notifyTarget(s,"pointerupoutside"),s.pointerType==="touch"?this.notifyTarget(s,"touchendoutside"):(s.pointerType==="mouse"||s.pointerType==="pen")&&this.notifyTarget(s,s.button===2?"rightupoutside":"mouseupoutside"),o=o.parent;delete e.pressTargetsByButton[t.button];}this.freeEvent(s);}mapWheel(t){if(!(t instanceof Zt)){V("EventBoundary cannot map a non-wheel event as a wheel event");return}let e=this.createWheelEvent(t);this.dispatchEvent(e),this.freeEvent(e);}findMountedTarget(t){if(!t)return null;let e=t[0];for(let r=1;r<t.length&&t[r].parent===e;r++)e=t[r];return e}createPointerEvent(t,e,r){let s=this.allocateEvent(At);return this.copyPointerData(t,s),this.copyMouseData(t,s),this.copyData(t,s),s.nativeEvent=t.nativeEvent,s.originalEvent=t,s.target=r??this.hitTest(s.global.x,s.global.y)??this._hitElements[0],typeof e=="string"&&(s.type=e),s}createWheelEvent(t){let e=this.allocateEvent(Zt);return this.copyWheelData(t,e),this.copyMouseData(t,e),this.copyData(t,e),e.nativeEvent=t.nativeEvent,e.originalEvent=t,e.target=this.hitTest(e.global.x,e.global.y),e}clonePointerEvent(t,e){let r=this.allocateEvent(At);return r.nativeEvent=t.nativeEvent,r.originalEvent=t.originalEvent,this.copyPointerData(t,r),this.copyMouseData(t,r),this.copyData(t,r),r.target=t.target,r.path=t.composedPath().slice(),r.type=e??r.type,r}copyWheelData(t,e){e.deltaMode=t.deltaMode,e.deltaX=t.deltaX,e.deltaY=t.deltaY,e.deltaZ=t.deltaZ;}copyPointerData(t,e){t instanceof At&&e instanceof At&&(e.pointerId=t.pointerId,e.width=t.width,e.height=t.height,e.isPrimary=t.isPrimary,e.pointerType=t.pointerType,e.pressure=t.pressure,e.tangentialPressure=t.tangentialPressure,e.tiltX=t.tiltX,e.tiltY=t.tiltY,e.twist=t.twist);}copyMouseData(t,e){t instanceof ce&&e instanceof ce&&(e.altKey=t.altKey,e.button=t.button,e.buttons=t.buttons,e.client.copyFrom(t.client),e.ctrlKey=t.ctrlKey,e.metaKey=t.metaKey,e.movement.copyFrom(t.movement),e.screen.copyFrom(t.screen),e.shiftKey=t.shiftKey,e.global.copyFrom(t.global));}copyData(t,e){e.isTrusted=t.isTrusted,e.srcElement=t.srcElement,e.timeStamp=performance.now(),e.type=t.type,e.detail=t.detail,e.view=t.view,e.which=t.which,e.layer.copyFrom(t.layer),e.page.copyFrom(t.page);}trackingData(t){return this.mappingState.trackingData[t]||(this.mappingState.trackingData[t]={pressTargetsByButton:{},clicksByButton:{},overTarget:null}),this.mappingState.trackingData[t]}allocateEvent(t){this.eventPool.has(t)||this.eventPool.set(t,[]);let e=this.eventPool.get(t).pop()||new t(this);return e.eventPhase=e.NONE,e.currentTarget=null,e.defaultPrevented=false,e.path=null,e.target=null,e}freeEvent(t){if(t.manager!==this)throw new Error("It is illegal to free an event not managed by this EventBoundary!");let e=t.constructor;this.eventPool.has(e)||this.eventPool.set(e,[]),this.eventPool.get(e).push(t);}_notifyListeners(t,e){let r=t.currentTarget._events[e];if(r)if("fn"in r)r.once&&t.currentTarget.removeListener(e,r.fn,void 0,true),r.fn.call(r.context,t);else for(let s=0,o=r.length;s<o&&!t.propagationImmediatelyStopped;s++)r[s].once&&t.currentTarget.removeListener(e,r[s].fn,void 0,true),r[s].fn.call(r[s].context,t);}};});var Lx,Ox,Sn,ys,Tn=p(()=>{B();gu();_n();yn();bn();Lx=1,Ox={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},Sn=class vn{constructor(t){this.supportsTouchEvents="ontouchstart"in globalThis,this.supportsPointerEvents=!!globalThis.PointerEvent,this.domElement=null,this.resolution=1,this.renderer=t,this.rootBoundary=new _s(null),Kt.init(this),this.autoPreventDefault=true,this._eventsAdded=false,this._rootPointerEvent=new At(null),this._rootWheelEvent=new Zt(null),this.cursorStyles={default:"inherit",pointer:"pointer"},this.features=new Proxy({...vn.defaultEventFeatures},{set:(e,r,s)=>(r==="globalMove"&&(this.rootBoundary.enableGlobalMoveEvents=s),e[r]=s,true)}),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),this._onPointerUp=this._onPointerUp.bind(this),this._onPointerOverOut=this._onPointerOverOut.bind(this),this.onWheel=this.onWheel.bind(this);}static get defaultEventMode(){return this._defaultEventMode}init(t){let{canvas:e,resolution:r}=this.renderer;this.setTargetElement(e),this.resolution=r,vn._defaultEventMode=t.eventMode??"passive",Object.assign(this.features,t.eventFeatures??{}),this.rootBoundary.enableGlobalMoveEvents=this.features.globalMove;}resolutionChange(t){this.resolution=t;}destroy(){this.setTargetElement(null),this.renderer=null,this._currentCursor=null;}setCursor(t){t||(t="default");let e=true;if(globalThis.OffscreenCanvas&&this.domElement instanceof OffscreenCanvas&&(e=false),this._currentCursor===t)return;this._currentCursor=t;let r=this.cursorStyles[t];if(r)switch(typeof r){case "string":e&&(this.domElement.style.cursor=r);break;case "function":r(t);break;case "object":e&&Object.assign(this.domElement.style,r);break}else e&&typeof t=="string"&&!Object.prototype.hasOwnProperty.call(this.cursorStyles,t)&&(this.domElement.style.cursor=t);}get pointer(){return this._rootPointerEvent}_onPointerDown(t){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;let e=this._normalizeToPointerData(t);this.autoPreventDefault&&e[0].isNormalized&&(t.cancelable||!("cancelable"in t))&&t.preventDefault();for(let r=0,s=e.length;r<s;r++){let o=e[r],n=this._bootstrapEvent(this._rootPointerEvent,o);this.rootBoundary.mapEvent(n);}this.setCursor(this.rootBoundary.cursor);}_onPointerMove(t){if(!this.features.move)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered,Kt.pointerMoved();let e=this._normalizeToPointerData(t);for(let r=0,s=e.length;r<s;r++){let o=this._bootstrapEvent(this._rootPointerEvent,e[r]);this.rootBoundary.mapEvent(o);}this.setCursor(this.rootBoundary.cursor);}_onPointerUp(t){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;let e=t.target;t.composedPath&&t.composedPath().length>0&&(e=t.composedPath()[0]);let r=e!==this.domElement?"outside":"",s=this._normalizeToPointerData(t);for(let o=0,n=s.length;o<n;o++){let a=this._bootstrapEvent(this._rootPointerEvent,s[o]);a.type+=r,this.rootBoundary.mapEvent(a);}this.setCursor(this.rootBoundary.cursor);}_onPointerOverOut(t){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;let e=this._normalizeToPointerData(t);for(let r=0,s=e.length;r<s;r++){let o=this._bootstrapEvent(this._rootPointerEvent,e[r]);this.rootBoundary.mapEvent(o);}this.setCursor(this.rootBoundary.cursor);}onWheel(t){if(!this.features.wheel)return;let e=this.normalizeWheelEvent(t);this.rootBoundary.rootTarget=this.renderer.lastObjectRendered,this.rootBoundary.mapEvent(e);}setTargetElement(t){this._removeEvents(),this.domElement=t,Kt.domElement=t,this._addEvents();}_addEvents(){if(this._eventsAdded||!this.domElement)return;Kt.addTickerListener();let t=this.domElement.style;t&&(globalThis.navigator.msPointerEnabled?(t.msContentZooming="none",t.msTouchAction="none"):this.supportsPointerEvents&&(t.touchAction="none")),this.supportsPointerEvents?(globalThis.document.addEventListener("pointermove",this._onPointerMove,true),this.domElement.addEventListener("pointerdown",this._onPointerDown,true),this.domElement.addEventListener("pointerleave",this._onPointerOverOut,true),this.domElement.addEventListener("pointerover",this._onPointerOverOut,true),globalThis.addEventListener("pointerup",this._onPointerUp,true)):(globalThis.document.addEventListener("mousemove",this._onPointerMove,true),this.domElement.addEventListener("mousedown",this._onPointerDown,true),this.domElement.addEventListener("mouseout",this._onPointerOverOut,true),this.domElement.addEventListener("mouseover",this._onPointerOverOut,true),globalThis.addEventListener("mouseup",this._onPointerUp,true),this.supportsTouchEvents&&(this.domElement.addEventListener("touchstart",this._onPointerDown,true),this.domElement.addEventListener("touchend",this._onPointerUp,true),this.domElement.addEventListener("touchmove",this._onPointerMove,true))),this.domElement.addEventListener("wheel",this.onWheel,{passive:true,capture:true}),this._eventsAdded=true;}_removeEvents(){if(!this._eventsAdded||!this.domElement)return;Kt.removeTickerListener();let t=this.domElement.style;t&&(globalThis.navigator.msPointerEnabled?(t.msContentZooming="",t.msTouchAction=""):this.supportsPointerEvents&&(t.touchAction="")),this.supportsPointerEvents?(globalThis.document.removeEventListener("pointermove",this._onPointerMove,true),this.domElement.removeEventListener("pointerdown",this._onPointerDown,true),this.domElement.removeEventListener("pointerleave",this._onPointerOverOut,true),this.domElement.removeEventListener("pointerover",this._onPointerOverOut,true),globalThis.removeEventListener("pointerup",this._onPointerUp,true)):(globalThis.document.removeEventListener("mousemove",this._onPointerMove,true),this.domElement.removeEventListener("mousedown",this._onPointerDown,true),this.domElement.removeEventListener("mouseout",this._onPointerOverOut,true),this.domElement.removeEventListener("mouseover",this._onPointerOverOut,true),globalThis.removeEventListener("mouseup",this._onPointerUp,true),this.supportsTouchEvents&&(this.domElement.removeEventListener("touchstart",this._onPointerDown,true),this.domElement.removeEventListener("touchend",this._onPointerUp,true),this.domElement.removeEventListener("touchmove",this._onPointerMove,true))),this.domElement.removeEventListener("wheel",this.onWheel,true),this.domElement=null,this._eventsAdded=false;}mapPositionToPoint(t,e,r){let s=this.domElement.isConnected?this.domElement.getBoundingClientRect():{width:this.domElement.width,height:this.domElement.height,left:0,top:0},o=1/this.resolution;t.x=(e-s.left)*(this.domElement.width/s.width)*o,t.y=(r-s.top)*(this.domElement.height/s.height)*o;}_normalizeToPointerData(t){let e=[];if(this.supportsTouchEvents&&t instanceof TouchEvent)for(let r=0,s=t.changedTouches.length;r<s;r++){let o=t.changedTouches[r];typeof o.button>"u"&&(o.button=0),typeof o.buttons>"u"&&(o.buttons=1),typeof o.isPrimary>"u"&&(o.isPrimary=t.touches.length===1&&t.type==="touchstart"),typeof o.width>"u"&&(o.width=o.radiusX||1),typeof o.height>"u"&&(o.height=o.radiusY||1),typeof o.tiltX>"u"&&(o.tiltX=0),typeof o.tiltY>"u"&&(o.tiltY=0),typeof o.pointerType>"u"&&(o.pointerType="touch"),typeof o.pointerId>"u"&&(o.pointerId=o.identifier||0),typeof o.pressure>"u"&&(o.pressure=o.force||.5),typeof o.twist>"u"&&(o.twist=0),typeof o.tangentialPressure>"u"&&(o.tangentialPressure=0),typeof o.layerX>"u"&&(o.layerX=o.offsetX=o.clientX),typeof o.layerY>"u"&&(o.layerY=o.offsetY=o.clientY),o.isNormalized=true,o.type=t.type,e.push(o);}else if(!globalThis.MouseEvent||t instanceof MouseEvent&&(!this.supportsPointerEvents||!(t instanceof globalThis.PointerEvent))){let r=t;typeof r.isPrimary>"u"&&(r.isPrimary=true),typeof r.width>"u"&&(r.width=1),typeof r.height>"u"&&(r.height=1),typeof r.tiltX>"u"&&(r.tiltX=0),typeof r.tiltY>"u"&&(r.tiltY=0),typeof r.pointerType>"u"&&(r.pointerType="mouse"),typeof r.pointerId>"u"&&(r.pointerId=Lx),typeof r.pressure>"u"&&(r.pressure=.5),typeof r.twist>"u"&&(r.twist=0),typeof r.tangentialPressure>"u"&&(r.tangentialPressure=0),r.isNormalized=true,e.push(r);}else e.push(t);return e}normalizeWheelEvent(t){let e=this._rootWheelEvent;return this._transferMouseData(e,t),e.deltaX=t.deltaX,e.deltaY=t.deltaY,e.deltaZ=t.deltaZ,e.deltaMode=t.deltaMode,this.mapPositionToPoint(e.screen,t.clientX,t.clientY),e.global.copyFrom(e.screen),e.offset.copyFrom(e.screen),e.nativeEvent=t,e.type=t.type,e}_bootstrapEvent(t,e){return t.originalEvent=null,t.nativeEvent=e,t.pointerId=e.pointerId,t.width=e.width,t.height=e.height,t.isPrimary=e.isPrimary,t.pointerType=e.pointerType,t.pressure=e.pressure,t.tangentialPressure=e.tangentialPressure,t.tiltX=e.tiltX,t.tiltY=e.tiltY,t.twist=e.twist,this._transferMouseData(t,e),this.mapPositionToPoint(t.screen,e.clientX,e.clientY),t.global.copyFrom(t.screen),t.offset.copyFrom(t.screen),t.isTrusted=e.isTrusted,t.type==="pointerleave"&&(t.type="pointerout"),t.type.startsWith("mouse")&&(t.type=t.type.replace("mouse","pointer")),t.type.startsWith("touch")&&(t.type=Ox[t.type]||t.type),t}_transferMouseData(t,e){t.isTrusted=e.isTrusted,t.srcElement=e.srcElement,t.timeStamp=performance.now(),t.type=e.type,t.altKey=e.altKey,t.button=e.button,t.buttons=e.buttons,t.client.x=e.clientX,t.client.y=e.clientY,t.ctrlKey=e.ctrlKey,t.metaKey=e.metaKey,t.movement.x=e.movementX,t.movement.y=e.movementY,t.page.x=e.pageX,t.page.y=e.pageY,t.relatedTarget=null,t.shiftKey=e.shiftKey;}};Sn.extension={name:"events",type:[S.WebGLSystem,S.CanvasSystem,S.WebGPUSystem],priority:-1};Sn.defaultEventFeatures={move:true,globalMove:true,click:true,wheel:true};ys=Sn;});var _u,yu=p(()=>{Tn();fs();_u={onclick:null,onmousedown:null,onmouseenter:null,onmouseleave:null,onmousemove:null,onglobalmousemove:null,onmouseout:null,onmouseover:null,onmouseup:null,onmouseupoutside:null,onpointercancel:null,onpointerdown:null,onpointerenter:null,onpointerleave:null,onpointermove:null,onglobalpointermove:null,onpointerout:null,onpointerover:null,onpointertap:null,onpointerup:null,onpointerupoutside:null,onrightclick:null,onrightdown:null,onrightup:null,onrightupoutside:null,ontap:null,ontouchcancel:null,ontouchend:null,ontouchendoutside:null,ontouchmove:null,onglobaltouchmove:null,ontouchstart:null,onwheel:null,get interactive(){return this.eventMode==="dynamic"||this.eventMode==="static"},set interactive(i){this.eventMode=i?"static":"passive";},_internalEventMode:void 0,get eventMode(){return this._internalEventMode??ys.defaultEventMode},set eventMode(i){this._internalEventMode=i;},isInteractive(){return this.eventMode==="static"||this.eventMode==="dynamic"},interactiveChildren:true,hitArea:null,addEventListener(i,t,e){let r=typeof e=="boolean"&&e||typeof e=="object"&&e.capture,s=typeof e=="object"?e.signal:void 0,o=typeof e=="object"?e.once===true:false,n=typeof t=="function"?void 0:t;i=r?`${i}capture`:i;let a=typeof t=="function"?t:t.handleEvent,l=this;s&&s.addEventListener("abort",()=>{l.off(i,a,n);}),o?l.once(i,a,n):l.on(i,a,n);},removeEventListener(i,t,e){let r=typeof e=="boolean"&&e||typeof e=="object"&&e.capture,s=typeof t=="function"?void 0:t;i=r?`${i}capture`:i,t=typeof t=="function"?t:t.handleEvent,this.off(i,t,s);},dispatchEvent(i){if(!(i instanceof ge))throw new Error("Container cannot propagate events outside of the Federated Events API");return i.defaultPrevented=false,i.path=null,i.target=this,i.manager.dispatchEvent(i),!i.defaultPrevented}};});var bu=p(()=>{B();Nr();Tn();yu();I.add(ys);I.mixin(Yt,_u);});var Kr,vu=p(()=>{B();Kr=class{constructor(t){this._attachedDomElements=[],this._renderer=t,this._renderer.runners.postrender.add(this),this._domElement=document.createElement("div"),this._domElement.style.position="absolute",this._domElement.style.top="0",this._domElement.style.left="0",this._domElement.style.pointerEvents="none",this._domElement.style.zIndex="1000";}addRenderable(t,e){this._attachedDomElements.includes(t)||this._attachedDomElements.push(t);}updateRenderable(t){}validateRenderable(t){return true}postrender(){let t=this._attachedDomElements;if(t.length===0){this._domElement.remove();return}let e=this._renderer.view.canvas;this._domElement.parentNode!==e.parentNode&&e.parentNode?.appendChild(this._domElement);let r=parseFloat(e.style.width)/e.width*this._renderer.resolution,s=parseFloat(e.style.height)/e.height*this._renderer.resolution;this._domElement.style.transform=`translate(${e.offsetLeft}px, ${e.offsetTop}px) scale(${r}, ${s})`;for(let o=0;o<t.length;o++){let n=t[o],a=n.element;if(!n.parent||n.globalDisplayStatus<7)a?.remove(),t.splice(o,1),o--;else {this._domElement.contains(a)||(a.style.position="absolute",a.style.pointerEvents="auto",this._domElement.appendChild(a));let l=n.worldTransform,h=n._anchor,u=n.width*h.x,c=n.height*h.y;a.style.transformOrigin=`${u}px ${c}px`,a.style.transform=`matrix(${l.a}, ${l.b}, ${l.c}, ${l.d}, ${l.tx-u}, ${l.ty-c})`,a.style.opacity=n.groupAlpha.toString();}}}destroy(){this._renderer.runners.postrender.remove(this);for(let t=0;t<this._attachedDomElements.length;t++)this._attachedDomElements[t].element?.remove();this._attachedDomElements.length=0,this._domElement.remove(),this._renderer=null;}};Kr.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"dom"};});var ir,wn=p(()=>{$t();Nr();ir=class extends Yt{constructor(t){super(t),this.canBundle=true,this.allowChildren=false,this._roundPixels=0,this._lastUsed=-1,this._gpuData=Object.create(null),this._bounds=new ot(0,1,0,0),this._boundsDirty=true;}get bounds(){return this._boundsDirty?(this.updateBounds(),this._boundsDirty=false,this._bounds):this._bounds}get roundPixels(){return !!this._roundPixels}set roundPixels(t){this._roundPixels=t?1:0;}containsPoint(t){let e=this.bounds,{x:r,y:s}=t;return r>=e.minX&&r<=e.maxX&&s>=e.minY&&s<=e.maxY}onViewUpdate(){if(this._didViewChangeTick++,this._boundsDirty=true,this.didViewUpdate)return;this.didViewUpdate=true;let t=this.renderGroup||this.parentRenderGroup;t&&t.onChildViewUpdate(this);}destroy(t){super.destroy(t),this._bounds=null;for(let e in this._gpuData)this._gpuData[e].destroy?.();this._gpuData=null;}collectRenderablesSimple(t,e,r){let{renderPipes:s}=e;s.blendMode.setBlendMode(this,this.groupBlendMode,t),s[this.renderPipeId].addRenderable(this,t),this.didViewUpdate=false;let n=this.children,a=n.length;for(let l=0;l<a;l++)n[l].collectRenderables(t,e,r);}};});var Su=p(()=>{B();vu();I.add(Kr);});var sr,Pn=p(()=>{sr=(i=>(i[i.Low=0]="Low",i[i.Normal=1]="Normal",i[i.High=2]="High",i))(sr||{});});var Tu,wu=p(()=>{Tu={createCanvas:(i,t)=>{let e=document.createElement("canvas");return e.width=i,e.height=t,e},getCanvasRenderingContext2D:()=>CanvasRenderingContext2D,getWebGLRenderingContext:()=>WebGLRenderingContext,getNavigator:()=>navigator,getBaseUrl:()=>document.baseURI??window.location.href,getFontFaceSet:()=>document.fonts,fetch:(i,t)=>fetch(i,t),parseXML:i=>new DOMParser().parseFromString(i,"text/xml")};});var Pu,nt,Xt=p(()=>{wu();Pu=Tu,nt={get(){return Pu},set(i){Pu=i;}};});function jt(i){if(typeof i!="string")throw new TypeError(`Path must be a string. Received ${JSON.stringify(i)}`)}function Zr(i){return i.split("?")[0].split("#")[0]}function zx(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Wx(i,t,e){return i.replace(new RegExp(zx(t),"g"),e)}function Vx(i,t){let e="",r=0,s=-1,o=0,n=-1;for(let a=0;a<=i.length;++a){if(a<i.length)n=i.charCodeAt(a);else {if(n===47)break;n=47;}if(n===47){if(!(s===a-1||o===1))if(s!==a-1&&o===2){if(e.length<2||r!==2||e.charCodeAt(e.length-1)!==46||e.charCodeAt(e.length-2)!==46){if(e.length>2){let l=e.lastIndexOf("/");if(l!==e.length-1){l===-1?(e="",r=0):(e=e.slice(0,l),r=e.length-1-e.lastIndexOf("/")),s=a,o=0;continue}}else if(e.length===2||e.length===1){e="",r=0,s=a,o=0;continue}}}else e.length>0?e+=`/${i.slice(s+1,a)}`:e=i.slice(s+1,a),r=a-s-1;s=a,o=0;}else n===46&&o!==-1?++o:o=-1;}return e}var kt,bs=p(()=>{Xt();kt={toPosix(i){return Wx(i,"\\","/")},isUrl(i){return /^https?:/.test(this.toPosix(i))},isDataUrl(i){return /^data:([a-z]+\/[a-z0-9-+.]+(;[a-z0-9-.!#$%*+.{}|~`]+=[a-z0-9-.!#$%*+.{}()_|~`]+)*)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s<>]*?)$/i.test(i)},isBlobUrl(i){return i.startsWith("blob:")},hasProtocol(i){return /^[^/:]+:/.test(this.toPosix(i))},getProtocol(i){jt(i),i=this.toPosix(i);let t=/^file:\/\/\//.exec(i);if(t)return t[0];let e=/^[^/:]+:\/{0,2}/.exec(i);return e?e[0]:""},toAbsolute(i,t,e){if(jt(i),this.isDataUrl(i)||this.isBlobUrl(i))return i;let r=Zr(this.toPosix(t??nt.get().getBaseUrl())),s=Zr(this.toPosix(e??this.rootname(r)));return i=this.toPosix(i),i.startsWith("/")?kt.join(s,i.slice(1)):this.isAbsolute(i)?i:this.join(r,i)},normalize(i){if(jt(i),i.length===0)return ".";if(this.isDataUrl(i)||this.isBlobUrl(i))return i;i=this.toPosix(i);let t="",e=i.startsWith("/");this.hasProtocol(i)&&(t=this.rootname(i),i=i.slice(t.length));let r=i.endsWith("/");return i=Vx(i),i.length>0&&r&&(i+="/"),e?`/${i}`:t+i},isAbsolute(i){return jt(i),i=this.toPosix(i),this.hasProtocol(i)?true:i.startsWith("/")},join(...i){if(i.length===0)return ".";let t;for(let e=0;e<i.length;++e){let r=i[e];if(jt(r),r.length>0)if(t===void 0)t=r;else {let s=i[e-1]??"";this.joinExtensions.includes(this.extname(s).toLowerCase())?t+=`/../${r}`:t+=`/${r}`;}}return t===void 0?".":this.normalize(t)},dirname(i){if(jt(i),i.length===0)return ".";i=this.toPosix(i);let t=i.charCodeAt(0),e=t===47,r=-1,s=true,o=this.getProtocol(i),n=i;i=i.slice(o.length);for(let a=i.length-1;a>=1;--a)if(t=i.charCodeAt(a),t===47){if(!s){r=a;break}}else s=false;return r===-1?e?"/":this.isUrl(n)?o+i:o:e&&r===1?"//":o+i.slice(0,r)},rootname(i){jt(i),i=this.toPosix(i);let t="";if(i.startsWith("/")?t="/":t=this.getProtocol(i),this.isUrl(i)){let e=i.indexOf("/",t.length);e!==-1?t=i.slice(0,e):t=i,t.endsWith("/")||(t+="/");}return t},basename(i,t){jt(i),t&&jt(t),i=Zr(this.toPosix(i));let e=0,r=-1,s=true,o;if(t!==void 0&&t.length>0&&t.length<=i.length){if(t.length===i.length&&t===i)return "";let n=t.length-1,a=-1;for(o=i.length-1;o>=0;--o){let l=i.charCodeAt(o);if(l===47){if(!s){e=o+1;break}}else a===-1&&(s=false,a=o+1),n>=0&&(l===t.charCodeAt(n)?--n===-1&&(r=o):(n=-1,r=a));}return e===r?r=a:r===-1&&(r=i.length),i.slice(e,r)}for(o=i.length-1;o>=0;--o)if(i.charCodeAt(o)===47){if(!s){e=o+1;break}}else r===-1&&(s=false,r=o+1);return r===-1?"":i.slice(e,r)},extname(i){jt(i),i=Zr(this.toPosix(i));let t=-1,e=0,r=-1,s=true,o=0;for(let n=i.length-1;n>=0;--n){let a=i.charCodeAt(n);if(a===47){if(!s){e=n+1;break}continue}r===-1&&(s=false,r=n+1),a===46?t===-1?t=n:o!==1&&(o=1):t!==-1&&(o=-1);}return t===-1||r===-1||o===0||o===1&&t===r-1&&t===e+1?"":i.slice(t,r)},parse(i){jt(i);let t={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return t;i=Zr(this.toPosix(i));let e=i.charCodeAt(0),r=this.isAbsolute(i),s;t.root=this.rootname(i),r||this.hasProtocol(i)?s=1:s=0;let n=-1,a=0,l=-1,h=true,u=i.length-1,c=0;for(;u>=s;--u){if(e=i.charCodeAt(u),e===47){if(!h){a=u+1;break}continue}l===-1&&(h=false,l=u+1),e===46?n===-1?n=u:c!==1&&(c=1):n!==-1&&(c=-1);}return n===-1||l===-1||c===0||c===1&&n===l-1&&n===a+1?l!==-1&&(a===0&&r?t.base=t.name=i.slice(1,l):t.base=t.name=i.slice(a,l)):(a===0&&r?(t.name=i.slice(1,n),t.base=i.slice(1,l)):(t.name=i.slice(a,n),t.base=i.slice(a,l)),t.ext=i.slice(n,l)),t.dir=this.dirname(i),t},sep:"/",delimiter:":",joinExtensions:[".html"]};});var ye,Mn=p(()=>{ye=(i,t,e=false)=>(Array.isArray(i)||(i=[i]),t?i.map(r=>typeof r=="string"||e?t(r):r):i);});function Mu(i,t,e,r,s){let o=t[e];for(let n=0;n<o.length;n++){let a=o[n];e<t.length-1?Mu(i.replace(r[e],a),t,e+1,r,s):s.push(i.replace(r[e],a));}}function Au(i){let t=/\{(.*?)\}/g,e=i.match(t),r=[];if(e){let s=[];e.forEach(o=>{let n=o.substring(1,o.length-1).split(",");s.push(n);}),Mu(i,s,0,e,r);}else r.push(i);return r}var Cu=p(()=>{});var An,Eu=p(()=>{An=i=>!Array.isArray(i);});function Hx(i){return i.split(".").pop().split("?").shift().split("#").shift()}var Qr,Fu=p(()=>{Mt();bs();Mn();Cu();Eu();Qr=class{constructor(){this._defaultBundleIdentifierOptions={connector:"-",createBundleAssetId:(t,e)=>`${t}${this._bundleIdConnector}${e}`,extractAssetIdFromBundle:(t,e)=>e.replace(`${t}${this._bundleIdConnector}`,"")},this._bundleIdConnector=this._defaultBundleIdentifierOptions.connector,this._createBundleAssetId=this._defaultBundleIdentifierOptions.createBundleAssetId,this._extractAssetIdFromBundle=this._defaultBundleIdentifierOptions.extractAssetIdFromBundle,this._assetMap={},this._preferredOrder=[],this._parsers=[],this._resolverHash={},this._bundles={};}setBundleIdentifier(t){if(this._bundleIdConnector=t.connector??this._bundleIdConnector,this._createBundleAssetId=t.createBundleAssetId??this._createBundleAssetId,this._extractAssetIdFromBundle=t.extractAssetIdFromBundle??this._extractAssetIdFromBundle,this._extractAssetIdFromBundle("foo",this._createBundleAssetId("foo","bar"))!=="bar")throw new Error("[Resolver] GenerateBundleAssetId are not working correctly")}prefer(...t){t.forEach(e=>{this._preferredOrder.push(e),e.priority||(e.priority=Object.keys(e.params));}),this._resolverHash={};}set basePath(t){this._basePath=t;}get basePath(){return this._basePath}set rootPath(t){this._rootPath=t;}get rootPath(){return this._rootPath}get parsers(){return this._parsers}reset(){this.setBundleIdentifier(this._defaultBundleIdentifierOptions),this._assetMap={},this._preferredOrder=[],this._resolverHash={},this._rootPath=null,this._basePath=null,this._manifest=null,this._bundles={},this._defaultSearchParams=null;}setDefaultSearchParams(t){if(typeof t=="string")this._defaultSearchParams=t;else {let e=t;this._defaultSearchParams=Object.keys(e).map(r=>`${encodeURIComponent(r)}=${encodeURIComponent(e[r])}`).join("&");}}getAlias(t){let{alias:e,src:r}=t;return ye(e||r,o=>typeof o=="string"?o:Array.isArray(o)?o.map(n=>n?.src??n):o?.src?o.src:o,true)}addManifest(t){this._manifest&&V("[Resolver] Manifest already exists, this will be overwritten"),this._manifest=t,t.bundles.forEach(e=>{this.addBundle(e.name,e.assets);});}addBundle(t,e){let r=[],s=e;Array.isArray(e)||(s=Object.entries(e).map(([o,n])=>typeof n=="string"||Array.isArray(n)?{alias:o,src:n}:{alias:o,...n})),s.forEach(o=>{let n=o.src,a=o.alias,l;if(typeof a=="string"){let h=this._createBundleAssetId(t,a);r.push(h),l=[a,h];}else {let h=a.map(u=>this._createBundleAssetId(t,u));r.push(...h),l=[...a,...h];}this.add({...o,alias:l,src:n});}),this._bundles[t]=r;}add(t){let e=[];Array.isArray(t)?e.push(...t):e.push(t);let r;r=o=>{this.hasKey(o)&&V(`[Resolver] already has key: ${o} overwriting`);},ye(e).forEach(o=>{let{src:n}=o,{data:a,format:l,loadParser:h}=o,u=ye(n).map(d=>typeof d=="string"?Au(d):Array.isArray(d)?d:[d]),c=this.getAlias(o);Array.isArray(c)?c.forEach(r):r(c);let f=[];u.forEach(d=>{d.forEach(m=>{let g={};if(typeof m!="object"){g.src=m;for(let x=0;x<this._parsers.length;x++){let _=this._parsers[x];if(_.test(m)){g=_.parse(m);break}}}else a=m.data??a,l=m.format??l,h=m.loadParser??h,g={...g,...m};if(!c)throw new Error(`[Resolver] alias is undefined for this asset: ${g.src}`);g=this._buildResolvedAsset(g,{aliases:c,data:a,format:l,loadParser:h}),f.push(g);});}),c.forEach(d=>{this._assetMap[d]=f;});});}resolveBundle(t){let e=An(t);t=ye(t);let r={};return t.forEach(s=>{let o=this._bundles[s];if(o){let n=this.resolve(o),a={};for(let l in n){let h=n[l];a[this._extractAssetIdFromBundle(s,l)]=h;}r[s]=a;}}),e?r[t[0]]:r}resolveUrl(t){let e=this.resolve(t);if(typeof t!="string"){let r={};for(let s in e)r[s]=e[s].src;return r}return e.src}resolve(t){let e=An(t);t=ye(t);let r={};return t.forEach(s=>{if(!this._resolverHash[s])if(this._assetMap[s]){let o=this._assetMap[s],n=this._getPreferredOrder(o);n?.priority.forEach(a=>{n.params[a].forEach(l=>{let h=o.filter(u=>u[a]?u[a]===l:false);h.length&&(o=h);});}),this._resolverHash[s]=o[0];}else this._resolverHash[s]=this._buildResolvedAsset({alias:[s],src:s},{});r[s]=this._resolverHash[s];}),e?r[t[0]]:r}hasKey(t){return !!this._assetMap[t]}hasBundle(t){return !!this._bundles[t]}_getPreferredOrder(t){for(let e=0;e<t.length;e++){let r=t[e],s=this._preferredOrder.find(o=>o.params.format.includes(r.format));if(s)return s}return this._preferredOrder[0]}_appendDefaultSearchParams(t){if(!this._defaultSearchParams)return t;let e=/\?/.test(t)?"&":"?";return `${t}${e}${this._defaultSearchParams}`}_buildResolvedAsset(t,e){let{aliases:r,data:s,loadParser:o,format:n}=e;return (this._basePath||this._rootPath)&&(t.src=kt.toAbsolute(t.src,this._basePath,this._rootPath)),t.alias=r??t.alias??[t.src],t.src=this._appendDefaultSearchParams(t.src),t.data={...s||{},...t.data},t.loadParser=o??t.loadParser,t.format=n??t.format??Hx(t.src),t}};Qr.RETINA_PREFIX=/@([0-9\.]+)x/;});var Cn,Bu=p(()=>{Cn=(i,t)=>{let e=t.split("?")[1];return e&&(i+=`?${e}`),i};});var ku,En,Gu=p(()=>{Bt();he();yt();ku=class Jr{constructor(t,e){this.linkedSheets=[];let r=t;t?.source instanceof mt&&(r={texture:t,data:e});let{texture:s,data:o,cachePrefix:n=""}=r;this.cachePrefix=n,this._texture=s instanceof F?s:null,this.textureSource=s.source,this.textures={},this.animations={},this.data=o;let a=parseFloat(o.meta.scale);a?(this.resolution=a,s.source.resolution=this.resolution):this.resolution=s.source._resolution,this._frames=this.data.frames,this._frameKeys=Object.keys(this._frames),this._batchIndex=0,this._callback=null;}parse(){return new Promise(t=>{this._callback=t,this._batchIndex=0,this._frameKeys.length<=Jr.BATCH_SIZE?(this._processFrames(0),this._processAnimations(),this._parseComplete()):this._nextBatch();})}_processFrames(t){let e=t,r=Jr.BATCH_SIZE;for(;e-t<r&&e<this._frameKeys.length;){let s=this._frameKeys[e],o=this._frames[s],n=o.frame;if(n){let a=null,l=null,h=o.trimmed!==false&&o.sourceSize?o.sourceSize:o.frame,u=new j(0,0,Math.floor(h.w)/this.resolution,Math.floor(h.h)/this.resolution);o.rotated?a=new j(Math.floor(n.x)/this.resolution,Math.floor(n.y)/this.resolution,Math.floor(n.h)/this.resolution,Math.floor(n.w)/this.resolution):a=new j(Math.floor(n.x)/this.resolution,Math.floor(n.y)/this.resolution,Math.floor(n.w)/this.resolution,Math.floor(n.h)/this.resolution),o.trimmed!==false&&o.spriteSourceSize&&(l=new j(Math.floor(o.spriteSourceSize.x)/this.resolution,Math.floor(o.spriteSourceSize.y)/this.resolution,Math.floor(n.w)/this.resolution,Math.floor(n.h)/this.resolution)),this.textures[s]=new F({source:this.textureSource,frame:a,orig:u,trim:l,rotate:o.rotated?2:0,defaultAnchor:o.anchor,defaultBorders:o.borders,label:s.toString()});}e++;}}_processAnimations(){let t=this.data.animations||{};for(let e in t){this.animations[e]=[];for(let r=0;r<t[e].length;r++){let s=t[e][r];this.animations[e].push(this.textures[s]);}}}_parseComplete(){let t=this._callback;this._callback=null,this._batchIndex=0,t.call(this,this.textures);}_nextBatch(){this._processFrames(this._batchIndex*Jr.BATCH_SIZE),this._batchIndex++,setTimeout(()=>{this._batchIndex*Jr.BATCH_SIZE<this._frameKeys.length?this._nextBatch():(this._processAnimations(),this._parseComplete());},0);}destroy(t=false){for(let e in this.textures)this.textures[e].destroy();this._frames=null,this._frameKeys=null,this.data=null,this.textures=null,t&&(this._texture?.destroy(),this.textureSource.destroy()),this._texture=null,this.textureSource=null,this.linkedSheets=[];}};ku.BATCH_SIZE=1e3;En=ku;});function Iu(i,t,e){let r={};if(i.forEach(s=>{r[s]=t;}),Object.keys(t.textures).forEach(s=>{r[`${t.cachePrefix}${s}`]=t.textures[s];}),!e){let s=kt.dirname(i[0]);t.linkedSheets.forEach((o,n)=>{let a=Iu([`${s}/${t.data.meta.related_multi_packs[n]}`],o,true);Object.assign(r,a);});}return r}var Nx,Ru,Du=p(()=>{Pn();Fu();Bu();B();yt();bs();Gu();Nx=["jpg","png","jpeg","avif","webp","basis","etc2","bc7","bc6h","bc5","bc4","bc3","bc2","bc1","eac","astc"];Ru={extension:S.Asset,cache:{test:i=>i instanceof En,getCacheableAssets:(i,t)=>Iu(i,t,false)},resolver:{extension:{type:S.ResolveParser,name:"resolveSpritesheet"},test:i=>{let e=i.split("?")[0].split("."),r=e.pop(),s=e.pop();return r==="json"&&Nx.includes(s)},parse:i=>{let t=i.split(".");return {resolution:parseFloat(Qr.RETINA_PREFIX.exec(i)?.[1]??"1"),format:t[t.length-2],src:i}}},loader:{name:"spritesheetLoader",extension:{type:S.LoadParser,priority:sr.Normal,name:"spritesheetLoader"},async testParse(i,t){return kt.extname(t.src).toLowerCase()===".json"&&!!i.frames},async parse(i,t,e){let{texture:r,imageFilename:s,textureOptions:o,cachePrefix:n}=t?.data??{},a=kt.dirname(t.src);a&&a.lastIndexOf("/")!==a.length-1&&(a+="/");let l;if(r instanceof F)l=r;else {let c=Cn(a+(s??i.meta.image),t.src);l=(await e.load([{src:c,data:o}]))[c];}let h=new En({texture:l.source,data:i,cachePrefix:n});await h.parse();let u=i?.meta?.related_multi_packs;if(Array.isArray(u)){let c=[];for(let d of u){if(typeof d!="string")continue;let m=a+d;t.data?.ignoreMultiPack||(m=Cn(m,t.src),c.push(e.load({src:m,data:{textureOptions:o,ignoreMultiPack:true}})));}let f=await Promise.all(c);h.linkedSheets=f,f.forEach(d=>{d.linkedSheets=[h].concat(h.linkedSheets.filter(m=>m!==d));});}return h},async unload(i,t,e){await e.unload(i.textureSource._sourceOrigin),i.destroy(false);}}};});var vs=p(()=>{B();Du();I.add(Ru);});function Ss(i,t,e){let{width:r,height:s}=e.orig,o=e.trim;if(o){let n=o.width,a=o.height;i.minX=o.x-t._x*r,i.maxX=i.minX+n,i.minY=o.y-t._y*s,i.maxY=i.minY+a;}else i.minX=-t._x*r,i.maxX=i.minX+r,i.minY=-t._y*s,i.maxY=i.minY+s;}var Fn=p(()=>{});var ti,Uu=p(()=>{Ho();yt();Fn();ht();wn();ti=class i extends ir{constructor(t=F.EMPTY){t instanceof F&&(t={texture:t});let{texture:e=F.EMPTY,anchor:r,roundPixels:s,width:o,height:n,...a}=t;super({label:"Sprite",...a}),this.renderPipeId="sprite",this.batched=true,this._visualBounds={minX:0,maxX:1,minY:0,maxY:0},this._anchor=new wt({_onUpdate:()=>{this.onViewUpdate();}}),r?this.anchor=r:e.defaultAnchor&&(this.anchor=e.defaultAnchor),this.texture=e,this.allowChildren=false,this.roundPixels=s??false,o!==void 0&&(this.width=o),n!==void 0&&(this.height=n);}static from(t,e=false){return t instanceof F?new i(t):new i(F.from(t,e))}set texture(t){t||(t=F.EMPTY);let e=this._texture;e!==t&&(e&&e.dynamic&&e.off("update",this.onViewUpdate,this),t.dynamic&&t.on("update",this.onViewUpdate,this),this._texture=t,this._width&&this._setWidth(this._width,this._texture.orig.width),this._height&&this._setHeight(this._height,this._texture.orig.height),this.onViewUpdate());}get texture(){return this._texture}get visualBounds(){return Ss(this._visualBounds,this._anchor,this._texture),this._visualBounds}get sourceBounds(){return G("8.6.1","Sprite.sourceBounds is deprecated, use visualBounds instead."),this.visualBounds}updateBounds(){let t=this._anchor,e=this._texture,r=this._bounds,{width:s,height:o}=e.orig;r.minX=-t._x*s,r.maxX=r.minX+s,r.minY=-t._y*o,r.maxY=r.minY+o;}destroy(t=false){if(super.destroy(t),typeof t=="boolean"?t:t?.texture){let r=typeof t=="boolean"?t:t?.textureSource;this._texture.destroy(r);}this._texture=null,this._visualBounds=null,this._bounds=null,this._anchor=null,this._gpuData=null;}get anchor(){return this._anchor}set anchor(t){typeof t=="number"?this._anchor.set(t):this._anchor.copyFrom(t);}get width(){return Math.abs(this.scale.x)*this._texture.orig.width}set width(t){this._setWidth(t,this._texture.orig.width),this._width=t;}get height(){return Math.abs(this.scale.y)*this._texture.orig.height}set height(t){this._setHeight(t,this._texture.orig.height),this._height=t;}getSize(t){return t||(t={}),t.width=Math.abs(this.scale.x)*this._texture.orig.width,t.height=Math.abs(this.scale.y)*this._texture.orig.height,t}setSize(t,e){typeof t=="object"?(e=t.height??t.width,t=t.width):e??(e=t),t!==void 0&&this._setWidth(t,this._texture.orig.width),e!==void 0&&this._setHeight(e,this._texture.orig.height);}};});function Ts(i,t,e){let r=$x;i.measurable=true,ss(i,e,r),t.addBoundsMask(r),i.measurable=false;}var $x,Bn=p(()=>{$t();ns();$x=new ot;});function ws(i,t,e){let r=Rt.get();i.measurable=true;let s=ut.get().identity(),o=Lu(i,e,s);ls(i,r,o),i.measurable=false,t.addBoundsMask(r),ut.return(s),Rt.return(r);}function Lu(i,t,e){return i?(i!==t&&(Lu(i.parent,t,e),i.updateLocalTransform(),e.append(i.localTransform)),e):(V("Mask bounds, renderable is not inside the root container"),e)}var kn=p(()=>{Zo();ke();Mt();});var ei,Ou=p(()=>{B();Uu();Bn();kn();ei=class{constructor(t){this.priority=0,this.inverse=false,this.pipe="alphaMask",t?.mask&&this.init(t.mask);}init(t){this.mask=t,this.renderMaskToTexture=!(t instanceof ti),this.mask.renderable=this.renderMaskToTexture,this.mask.includeInBuild=!this.renderMaskToTexture,this.mask.measurable=false;}reset(){this.mask.measurable=true,this.mask=null;}addBounds(t,e){this.inverse||Ts(this.mask,t,e);}addLocalBounds(t,e){ws(this.mask,t,e);}containsPoint(t,e){let r=this.mask;return e(r,t)}destroy(){this.reset();}static test(t){return t instanceof ti}};ei.extension=S.MaskEffect;});var ri,zu=p(()=>{B();ri=class{constructor(t){this.priority=0,this.pipe="colorMask",t?.mask&&this.init(t.mask);}init(t){this.mask=t;}destroy(){}static test(t){return typeof t=="number"}};ri.extension=S.MaskEffect;});var ii,Wu=p(()=>{B();Nr();Bn();kn();ii=class{constructor(t){this.priority=0,this.pipe="stencilMask",t?.mask&&this.init(t.mask);}init(t){this.mask=t,this.mask.includeInBuild=false,this.mask.measurable=false;}reset(){this.mask.measurable=true,this.mask.includeInBuild=true,this.mask=null;}addBounds(t,e){Ts(this.mask,t,e);}addLocalBounds(t,e){ws(this.mask,t,e);}containsPoint(t,e){let r=this.mask;return e(r,t)}destroy(){this.reset();}static test(t){return t instanceof Yt}};ii.extension=S.MaskEffect;});var or,Vu=p(()=>{Xt();B();he();or=class extends mt{constructor(t){t.resource||(t.resource=nt.get().createCanvas()),t.width||(t.width=t.resource.width,t.autoDensity||(t.width/=t.resolution)),t.height||(t.height=t.resource.height,t.autoDensity||(t.height/=t.resolution)),super(t),this.uploadMethodId="image",this.autoDensity=t.autoDensity,this.resizeCanvas(),this.transparent=!!t.transparent;}resizeCanvas(){this.autoDensity&&"style"in this.resource&&(this.resource.style.width=`${this.width}px`,this.resource.style.height=`${this.height}px`),(this.resource.width!==this.pixelWidth||this.resource.height!==this.pixelHeight)&&(this.resource.width=this.pixelWidth,this.resource.height=this.pixelHeight);}resize(t=this.width,e=this.height,r=this._resolution){let s=super.resize(t,e,r);return s&&this.resizeCanvas(),s}static test(t){return globalThis.HTMLCanvasElement&&t instanceof HTMLCanvasElement||globalThis.OffscreenCanvas&&t instanceof OffscreenCanvas}get context2D(){return this._context2D||(this._context2D=this.resource.getContext("2d"))}};or.extension=S.TextureSource;});var Qt,Ps=p(()=>{B();he();Qt=class extends mt{constructor(t){super(t),this.uploadMethodId="image",this.autoGarbageCollect=true;}static test(t){return globalThis.HTMLImageElement&&t instanceof HTMLImageElement||typeof ImageBitmap<"u"&&t instanceof ImageBitmap||globalThis.VideoFrame&&t instanceof VideoFrame}};Qt.extension=S.TextureSource;});async function Hu(){return Gn??(Gn=(async()=>{let t=document.createElement("canvas").getContext("webgl");if(!t)return "premultiply-alpha-on-upload";let e=await new Promise(n=>{let a=document.createElement("video");a.onloadeddata=()=>n(a),a.onerror=()=>n(null),a.autoplay=false,a.crossOrigin="anonymous",a.preload="auto",a.src="data:video/webm;base64,GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQJChYECGFOAZwEAAAAAAAHTEU2bdLpNu4tTq4QVSalmU6yBoU27i1OrhBZUrmtTrIHGTbuMU6uEElTDZ1OsggEXTbuMU6uEHFO7a1OsggG97AEAAAAAAABZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmoCrXsYMPQkBNgIRMYXZmV0GETGF2ZkSJiEBEAAAAAAAAFlSua8yuAQAAAAAAAEPXgQFzxYgAAAAAAAAAAZyBACK1nIN1bmSIgQCGhVZfVlA5g4EBI+ODhAJiWgDglLCBArqBApqBAlPAgQFVsIRVuYEBElTDZ9Vzc9JjwItjxYgAAAAAAAAAAWfInEWjh0VOQ09ERVJEh49MYXZjIGxpYnZweC12cDlnyKJFo4hEVVJBVElPTkSHlDAwOjAwOjAwLjA0MDAwMDAwMAAAH0O2dcfngQCgwqGggQAAAIJJg0IAABAAFgA4JBwYSgAAICAAEb///4r+AAB1oZ2mm+6BAaWWgkmDQgAAEAAWADgkHBhKAAAgIABIQBxTu2uRu4+zgQC3iveBAfGCAXHwgQM=",a.load();});if(!e)return "premultiply-alpha-on-upload";let r=t.createTexture();t.bindTexture(t.TEXTURE_2D,r);let s=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,s),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,false),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,t.NONE),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e);let o=new Uint8Array(4);return t.readPixels(0,0,1,1,t.RGBA,t.UNSIGNED_BYTE,o),t.deleteFramebuffer(s),t.deleteTexture(r),t.getExtension("WEBGL_lose_context")?.loseContext(),o[0]<=o[3]?"premultiplied-alpha":"premultiply-alpha-on-upload"})()),Gn}var Gn,Nu=p(()=>{});var Ms,Yu,Xu=p(()=>{B();Xr();Nu();he();Ms=class $u extends mt{constructor(t){super(t),this.isReady=false,this.uploadMethodId="video",t={...$u.defaultOptions,...t},this._autoUpdate=true,this._isConnectedToTicker=false,this._updateFPS=t.updateFPS||0,this._msToNextUpdate=0,this.autoPlay=t.autoPlay!==false,this.alphaMode=t.alphaMode??"premultiply-alpha-on-upload",this._videoFrameRequestCallback=this._videoFrameRequestCallback.bind(this),this._videoFrameRequestCallbackHandle=null,this._load=null,this._resolve=null,this._reject=null,this._onCanPlay=this._onCanPlay.bind(this),this._onCanPlayThrough=this._onCanPlayThrough.bind(this),this._onError=this._onError.bind(this),this._onPlayStart=this._onPlayStart.bind(this),this._onPlayStop=this._onPlayStop.bind(this),this._onSeeked=this._onSeeked.bind(this),t.autoLoad!==false&&this.load();}updateFrame(){if(!this.destroyed){if(this._updateFPS){let t=xt.shared.elapsedMS*this.resource.playbackRate;this._msToNextUpdate=Math.floor(this._msToNextUpdate-t);}(!this._updateFPS||this._msToNextUpdate<=0)&&(this._msToNextUpdate=this._updateFPS?Math.floor(1e3/this._updateFPS):0),this.isValid&&this.update();}}_videoFrameRequestCallback(){this.updateFrame(),this.destroyed?this._videoFrameRequestCallbackHandle=null:this._videoFrameRequestCallbackHandle=this.resource.requestVideoFrameCallback(this._videoFrameRequestCallback);}get isValid(){return !!this.resource.videoWidth&&!!this.resource.videoHeight}async load(){if(this._load)return this._load;let t=this.resource,e=this.options;return (t.readyState===t.HAVE_ENOUGH_DATA||t.readyState===t.HAVE_FUTURE_DATA)&&t.width&&t.height&&(t.complete=true),t.addEventListener("play",this._onPlayStart),t.addEventListener("pause",this._onPlayStop),t.addEventListener("seeked",this._onSeeked),this._isSourceReady()?this._mediaReady():(e.preload||t.addEventListener("canplay",this._onCanPlay),t.addEventListener("canplaythrough",this._onCanPlayThrough),t.addEventListener("error",this._onError,true)),this.alphaMode=await Hu(),this._load=new Promise((r,s)=>{this.isValid?r(this):(this._resolve=r,this._reject=s,e.preloadTimeoutMs!==void 0&&(this._preloadTimeout=setTimeout(()=>{this._onError(new ErrorEvent(`Preload exceeded timeout of ${e.preloadTimeoutMs}ms`));})),t.load());}),this._load}_onError(t){this.resource.removeEventListener("error",this._onError,true),this.emit("error",t),this._reject&&(this._reject(t),this._reject=null,this._resolve=null);}_isSourcePlaying(){let t=this.resource;return !t.paused&&!t.ended}_isSourceReady(){return this.resource.readyState>2}_onPlayStart(){this.isValid||this._mediaReady(),this._configureAutoUpdate();}_onPlayStop(){this._configureAutoUpdate();}_onSeeked(){this._autoUpdate&&!this._isSourcePlaying()&&(this._msToNextUpdate=0,this.updateFrame(),this._msToNextUpdate=0);}_onCanPlay(){this.resource.removeEventListener("canplay",this._onCanPlay),this._mediaReady();}_onCanPlayThrough(){this.resource.removeEventListener("canplaythrough",this._onCanPlay),this._preloadTimeout&&(clearTimeout(this._preloadTimeout),this._preloadTimeout=void 0),this._mediaReady();}_mediaReady(){let t=this.resource;this.isValid&&(this.isReady=true,this.resize(t.videoWidth,t.videoHeight)),this._msToNextUpdate=0,this.updateFrame(),this._msToNextUpdate=0,this._resolve&&(this._resolve(this),this._resolve=null,this._reject=null),this._isSourcePlaying()?this._onPlayStart():this.autoPlay&&this.resource.play();}destroy(){this._configureAutoUpdate();let t=this.resource;t&&(t.removeEventListener("play",this._onPlayStart),t.removeEventListener("pause",this._onPlayStop),t.removeEventListener("seeked",this._onSeeked),t.removeEventListener("canplay",this._onCanPlay),t.removeEventListener("canplaythrough",this._onCanPlayThrough),t.removeEventListener("error",this._onError,true),t.pause(),t.src="",t.load()),super.destroy();}get autoUpdate(){return this._autoUpdate}set autoUpdate(t){t!==this._autoUpdate&&(this._autoUpdate=t,this._configureAutoUpdate());}get updateFPS(){return this._updateFPS}set updateFPS(t){t!==this._updateFPS&&(this._updateFPS=t,this._configureAutoUpdate());}_configureAutoUpdate(){this._autoUpdate&&this._isSourcePlaying()?!this._updateFPS&&this.resource.requestVideoFrameCallback?(this._isConnectedToTicker&&(xt.shared.remove(this.updateFrame,this),this._isConnectedToTicker=false,this._msToNextUpdate=0),this._videoFrameRequestCallbackHandle===null&&(this._videoFrameRequestCallbackHandle=this.resource.requestVideoFrameCallback(this._videoFrameRequestCallback))):(this._videoFrameRequestCallbackHandle!==null&&(this.resource.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker||(xt.shared.add(this.updateFrame,this),this._isConnectedToTicker=true,this._msToNextUpdate=0)):(this._videoFrameRequestCallbackHandle!==null&&(this.resource.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker&&(xt.shared.remove(this.updateFrame,this),this._isConnectedToTicker=false,this._msToNextUpdate=0));}static test(t){return globalThis.HTMLVideoElement&&t instanceof HTMLVideoElement}};Ms.extension=S.TextureSource;Ms.defaultOptions={...mt.defaultOptions,autoLoad:true,autoPlay:true,updateFPS:0,crossorigin:true,loop:false,muted:true,playsinline:true,preload:false};Ms.MIME_TYPES={ogv:"video/ogg",mov:"video/quicktime",m4v:"video/mp4"};Yu=Ms;});var In,ct,si=p(()=>{Mt();Mn();In=class{constructor(){this._parsers=[],this._cache=new Map,this._cacheMap=new Map;}reset(){this._cacheMap.clear(),this._cache.clear();}has(t){return this._cache.has(t)}get(t){let e=this._cache.get(t);return e||V(`[Assets] Asset id ${t} was not found in the Cache`),e}set(t,e){let r=ye(t),s;for(let l=0;l<this.parsers.length;l++){let h=this.parsers[l];if(h.test(e)){s=h.getCacheableAssets(r,e);break}}let o=new Map(Object.entries(s||{}));s||r.forEach(l=>{o.set(l,e);});let n=[...o.keys()],a={cacheKeys:n,keys:r};r.forEach(l=>{this._cacheMap.set(l,a);}),n.forEach(l=>{let h=s?s[l]:e;this._cache.has(l)&&this._cache.get(l)!==h&&V("[Cache] already has key:",l),this._cache.set(l,o.get(l));});}remove(t){if(!this._cacheMap.has(t)){V(`[Assets] Asset id ${t} was not found in the Cache`);return}let e=this._cacheMap.get(t);e.cacheKeys.forEach(s=>{this._cache.delete(s);}),e.keys.forEach(s=>{this._cacheMap.delete(s);});}get parsers(){return this._parsers}},ct=new In;});function ju(i={}){let t=i&&i.resource,e=t?i.resource:i,r=t?i:{resource:i};for(let s=0;s<Rn.length;s++){let o=Rn[s];if(o.test(e))return new o(r)}throw new Error(`Could not find a source type for resource: ${r.resource}`)}function qu(i={},t=false){let e=i&&i.resource,r=e?i.resource:i,s=e?i:{resource:i};if(!t&&ct.has(r))return ct.get(r);let o=new F({source:ju(s)});return o.on("destroy",()=>{ct.has(r)&&ct.remove(r);}),t||ct.set(r,o),o}function Ku(i,t=false){return typeof i=="string"?ct.get(i):i instanceof mt?new F({source:i}):qu(i,t)}var Rn,Dn=p(()=>{si();B();he();yt();Rn=[];I.handleByList(S.TextureSource,Rn);F.from=Ku;mt.from=ju;});var As=p(()=>{B();Ou();zu();Wu();on();Vu();Ps();Xu();Dn();I.add(ei,ri,ii,Yu,Qt,or,Ue);});var Vt,oi=p(()=>{Vt=class{constructor(t){this.resources=Object.create(null),this._dirty=true;let e=0;for(let r in t){let s=t[r];this.setResource(s,e++);}this._updateKey();}_updateKey(){if(!this._dirty)return;this._dirty=false;let t=[],e=0;for(let r in this.resources)t[e++]=this.resources[r]._resourceId;this._key=t.join("|");}setResource(t,e){let r=this.resources[e];t!==r&&(r&&t.off?.("change",this.onResourceChange,this),t.on?.("change",this.onResourceChange,this),this.resources[e]=t,this._dirty=true);}getResource(t){return this.resources[t]}_touch(t){let e=this.resources;for(let r in e)e[r]._touched=t;}destroy(){let t=this.resources;for(let e in t)t[e].off?.("change",this.onResourceChange,this);this.resources=null;}onResourceChange(t){if(this._dirty=true,t.destroyed){let e=this.resources;for(let r in e)e[r]===t&&(e[r]=null);}else this._updateKey();}};});function Qu(i,t,e){let r=2166136261;for(let s=0;s<t;s++)r^=i[s].uid,r=Math.imul(r,16777619),r>>>=0;return Zu[r]||Yx(i,t,r,e)}function Yx(i,t,e,r){let s={},o=0;for(let a=0;a<r;a++){let l=a<t?i[a]:F.EMPTY.source;s[o++]=l.source,s[o++]=l.style;}let n=new Vt(s);return Zu[e]=n,n}var Zu,Ju=p(()=>{oi();yt();Zu={};});var Jt,Un=p(()=>{Jt=class{constructor(t){typeof t=="number"?this.rawBinaryData=new ArrayBuffer(t):t instanceof Uint8Array?this.rawBinaryData=t.buffer:this.rawBinaryData=t,this.uint32View=new Uint32Array(this.rawBinaryData),this.float32View=new Float32Array(this.rawBinaryData),this.size=this.rawBinaryData.byteLength;}get int8View(){return this._int8View||(this._int8View=new Int8Array(this.rawBinaryData)),this._int8View}get uint8View(){return this._uint8View||(this._uint8View=new Uint8Array(this.rawBinaryData)),this._uint8View}get int16View(){return this._int16View||(this._int16View=new Int16Array(this.rawBinaryData)),this._int16View}get int32View(){return this._int32View||(this._int32View=new Int32Array(this.rawBinaryData)),this._int32View}get float64View(){return this._float64Array||(this._float64Array=new Float64Array(this.rawBinaryData)),this._float64Array}get bigUint64View(){return this._bigUint64Array||(this._bigUint64Array=new BigUint64Array(this.rawBinaryData)),this._bigUint64Array}view(t){return this[`${t}View`]}destroy(){this.rawBinaryData=null,this._int8View=null,this._uint8View=null,this._int16View=null,this.uint16View=null,this._int32View=null,this.uint32View=null,this.float32View=null;}static sizeOf(t){switch(t){case "int8":case "uint8":return 1;case "int16":case "uint16":return 2;case "int32":case "uint32":case "float32":return 4;default:throw new Error(`${t} isn't a valid view type`)}}};});function Ln(i,t){let e=i.byteLength/8|0,r=new Float64Array(i,0,e);new Float64Array(t,0,e).set(r);let o=i.byteLength-e*8;if(o>0){let n=new Uint8Array(i,e*8,o);new Uint8Array(t,e*8,o).set(n);}}var tc=p(()=>{});var ec,rc=p(()=>{ec={normal:"normal-npm",add:"add-npm",screen:"screen-npm"};});function de(i,t){return t.alphaMode==="no-premultiply-alpha"&&ec[i]||i}var ni=p(()=>{rc();});function Es(){return (!Cs||Cs?.isContextLost())&&(Cs=nt.get().createCanvas().getContext("webgl",{})),Cs}var Cs,On=p(()=>{Xt();});function jx(i){let t="";for(let e=0;e<i;++e)e>0&&(t+=`
20
- else `),e<i-1&&(t+=`if(test == ${e}.0){}`);return t}function ic(i,t){if(i===0)throw new Error("Invalid value of `0` passed to `checkMaxIfStatementsInShader`");let e=t.createShader(t.FRAGMENT_SHADER);try{for(;;){let r=Xx.replace(/%forloop%/gi,jx(i));if(t.shaderSource(e,r),t.compileShader(e),!t.getShaderParameter(e,t.COMPILE_STATUS))i=i/2|0;else break}}finally{t.deleteShader(e);}return i}var Xx,sc=p(()=>{Xx=["precision mediump float;","void main(void){","float test = 0.1;","%forloop%","gl_FragColor = vec4(0.0);","}"].join(`
21
- `);});function oc(){if(nr)return nr;let i=Es();return nr=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),nr=ic(nr,i),i.getExtension("WEBGL_lose_context")?.loseContext(),nr}var nr,nc=p(()=>{On();sc();nr=null;});var Fs,ac=p(()=>{Fs=class{constructor(){this.ids=Object.create(null),this.textures=[],this.count=0;}clear(){for(let t=0;t<this.count;t++){let e=this.textures[t];this.textures[t]=null,this.ids[e.uid]=null;}this.count=0;}};});function lc(){return Wn>0?uc[--Wn]:new zn}function hc(i){uc[Wn++]=i;}var zn,uc,Wn,ai,cc,fc,pc=p(()=>{Pt();Un();ht();tc();ni();nc();ac();zn=class{constructor(){this.renderPipeId="batch",this.action="startBatch",this.start=0,this.size=0,this.textures=new Fs,this.blendMode="normal",this.topology="triangle-strip",this.canBundle=true;}destroy(){this.textures=null,this.gpuBindGroup=null,this.bindGroup=null,this.batcher=null;}},uc=[],Wn=0;ai=0,cc=class dc{constructor(t){this.uid=Y("batcher"),this.dirty=true,this.batchIndex=0,this.batches=[],this._elements=[],t={...dc.defaultOptions,...t},t.maxTextures||(G("v8.8.0","maxTextures is a required option for Batcher now, please pass it in the options"),t.maxTextures=oc());let{maxTextures:e,attributesInitialSize:r,indicesInitialSize:s}=t;this.attributeBuffer=new Jt(r*4),this.indexBuffer=new Uint16Array(s),this.maxTextures=e;}begin(){this.elementSize=0,this.elementStart=0,this.indexSize=0,this.attributeSize=0;for(let t=0;t<this.batchIndex;t++)hc(this.batches[t]);this.batchIndex=0,this._batchIndexStart=0,this._batchIndexSize=0,this.dirty=true;}add(t){this._elements[this.elementSize++]=t,t._indexStart=this.indexSize,t._attributeStart=this.attributeSize,t._batcher=this,this.indexSize+=t.indexSize,this.attributeSize+=t.attributeSize*this.vertexSize;}checkAndUpdateTexture(t,e){let r=t._batch.textures.ids[e._source.uid];return !r&&r!==0?false:(t._textureId=r,t.texture=e,true)}updateElement(t){this.dirty=true;let e=this.attributeBuffer;t.packAsQuad?this.packQuadAttributes(t,e.float32View,e.uint32View,t._attributeStart,t._textureId):this.packAttributes(t,e.float32View,e.uint32View,t._attributeStart,t._textureId);}break(t){let e=this._elements;if(!e[this.elementStart])return;let r=lc(),s=r.textures;s.clear();let o=e[this.elementStart],n=de(o.blendMode,o.texture._source),a=o.topology;this.attributeSize*4>this.attributeBuffer.size&&this._resizeAttributeBuffer(this.attributeSize*4),this.indexSize>this.indexBuffer.length&&this._resizeIndexBuffer(this.indexSize);let l=this.attributeBuffer.float32View,h=this.attributeBuffer.uint32View,u=this.indexBuffer,c=this._batchIndexSize,f=this._batchIndexStart,d="startBatch",m=this.maxTextures;for(let g=this.elementStart;g<this.elementSize;++g){let x=e[g];e[g]=null;let y=x.texture._source,b=de(x.blendMode,y),v=n!==b||a!==x.topology;if(y._batchTick===ai&&!v){x._textureId=y._textureBindLocation,c+=x.indexSize,x.packAsQuad?(this.packQuadAttributes(x,l,h,x._attributeStart,x._textureId),this.packQuadIndex(u,x._indexStart,x._attributeStart/this.vertexSize)):(this.packAttributes(x,l,h,x._attributeStart,x._textureId),this.packIndex(x,u,x._indexStart,x._attributeStart/this.vertexSize)),x._batch=r;continue}y._batchTick=ai,(s.count>=m||v)&&(this._finishBatch(r,f,c-f,s,n,a,t,d),d="renderBatch",f=c,n=b,a=x.topology,r=lc(),s=r.textures,s.clear(),++ai),x._textureId=y._textureBindLocation=s.count,s.ids[y.uid]=s.count,s.textures[s.count++]=y,x._batch=r,c+=x.indexSize,x.packAsQuad?(this.packQuadAttributes(x,l,h,x._attributeStart,x._textureId),this.packQuadIndex(u,x._indexStart,x._attributeStart/this.vertexSize)):(this.packAttributes(x,l,h,x._attributeStart,x._textureId),this.packIndex(x,u,x._indexStart,x._attributeStart/this.vertexSize));}s.count>0&&(this._finishBatch(r,f,c-f,s,n,a,t,d),f=c,++ai),this.elementStart=this.elementSize,this._batchIndexStart=f,this._batchIndexSize=c;}_finishBatch(t,e,r,s,o,n,a,l){t.gpuBindGroup=null,t.bindGroup=null,t.action=l,t.batcher=this,t.textures=s,t.blendMode=o,t.topology=n,t.start=e,t.size=r,++ai,this.batches[this.batchIndex++]=t,a.add(t);}finish(t){this.break(t);}ensureAttributeBuffer(t){t*4<=this.attributeBuffer.size||this._resizeAttributeBuffer(t*4);}ensureIndexBuffer(t){t<=this.indexBuffer.length||this._resizeIndexBuffer(t);}_resizeAttributeBuffer(t){let e=Math.max(t,this.attributeBuffer.size*2),r=new Jt(e);Ln(this.attributeBuffer.rawBinaryData,r.rawBinaryData),this.attributeBuffer=r;}_resizeIndexBuffer(t){let e=this.indexBuffer,r=Math.max(t,e.length*1.5);r+=r%2;let s=r>65535?new Uint32Array(r):new Uint16Array(r);if(s.BYTES_PER_ELEMENT!==e.BYTES_PER_ELEMENT)for(let o=0;o<e.length;o++)s[o]=e[o];else Ln(e.buffer,s.buffer);this.indexBuffer=s;}packQuadIndex(t,e,r){t[e]=r+0,t[e+1]=r+1,t[e+2]=r+2,t[e+3]=r+0,t[e+4]=r+2,t[e+5]=r+3;}packIndex(t,e,r,s){let o=t.indices,n=t.indexSize,a=t.indexOffset,l=t.attributeOffset;for(let h=0;h<n;h++)e[r++]=s+o[h+a]-l;}destroy(){for(let t=0;t<this.batches.length;t++)hc(this.batches[t]);this.batches=null;for(let t=0;t<this._elements.length;t++)this._elements[t]._batch=null;this._elements=null,this.indexBuffer=null,this.attributeBuffer.destroy(),this.attributeBuffer=null;}};cc.defaultOptions={maxTextures:null,attributesInitialSize:4,indicesInitialSize:6};fc=cc;});var Q,ar=p(()=>{Q=(i=>(i[i.MAP_READ=1]="MAP_READ",i[i.MAP_WRITE=2]="MAP_WRITE",i[i.COPY_SRC=4]="COPY_SRC",i[i.COPY_DST=8]="COPY_DST",i[i.INDEX=16]="INDEX",i[i.VERTEX=32]="VERTEX",i[i.UNIFORM=64]="UNIFORM",i[i.STORAGE=128]="STORAGE",i[i.INDIRECT=256]="INDIRECT",i[i.QUERY_RESOLVE=512]="QUERY_RESOLVE",i[i.STATIC=1024]="STATIC",i))(Q||{});});var bt,lr=p(()=>{Et();Pt();ar();bt=class extends N{constructor(t){let{data:e,size:r}=t,{usage:s,label:o,shrinkToFit:n}=t;super(),this.uid=Y("buffer"),this._resourceType="buffer",this._resourceId=Y("resource"),this._touched=0,this._updateID=1,this._dataInt32=null,this.shrinkToFit=true,this.destroyed=false,e instanceof Array&&(e=new Float32Array(e)),this._data=e,r??(r=e?.byteLength);let a=!!e;this.descriptor={size:r,usage:s,mappedAtCreation:a,label:o},this.shrinkToFit=n??true;}get data(){return this._data}set data(t){this.setDataWithSize(t,t.length,true);}get dataInt32(){return this._dataInt32||(this._dataInt32=new Int32Array(this.data.buffer)),this._dataInt32}get static(){return !!(this.descriptor.usage&Q.STATIC)}set static(t){t?this.descriptor.usage|=Q.STATIC:this.descriptor.usage&=~Q.STATIC;}setDataWithSize(t,e,r){if(this._updateID++,this._updateSize=e*t.BYTES_PER_ELEMENT,this._data===t){r&&this.emit("update",this);return}let s=this._data;if(this._data=t,this._dataInt32=null,!s||s.length!==t.length){!this.shrinkToFit&&s&&t.byteLength<s.byteLength?r&&this.emit("update",this):(this.descriptor.size=t.byteLength,this._resourceId=Y("resource"),this.emit("change",this));return}r&&this.emit("update",this);}update(t){this._updateSize=t??this._updateSize,this._updateID++,this.emit("update",this);}destroy(){this.destroyed=true,this.emit("destroy",this),this.emit("change",this),this._data=null,this.descriptor=null,this.removeAllListeners();}};});function Vn(i,t){if(!(i instanceof bt)){let e=t?Q.INDEX:Q.VERTEX;i instanceof Array&&(t?(i=new Uint32Array(i),e=Q.INDEX|Q.COPY_DST):(i=new Float32Array(i),e=Q.VERTEX|Q.COPY_DST)),i=new bt({data:i,label:t?"index-mesh-buffer":"vertex-mesh-buffer",usage:e});}return i}var mc=p(()=>{lr();ar();});function xc(i,t,e){let r=i.getAttribute(t);if(!r)return e.minX=0,e.minY=0,e.maxX=0,e.maxY=0,e;let s=r.buffer.data,o=1/0,n=1/0,a=-1/0,l=-1/0,h=s.BYTES_PER_ELEMENT,u=(r.offset||0)/h,c=(r.stride||2*4)/h;for(let f=u;f<s.length;f+=c){let d=s[f],m=s[f+1];d>a&&(a=d),m>l&&(l=m),d<o&&(o=d),m<n&&(n=m);}return e.minX=o,e.minY=n,e.maxX=a,e.maxY=l,e}var gc=p(()=>{});function qx(i){return (i instanceof bt||Array.isArray(i)||i.BYTES_PER_ELEMENT)&&(i={buffer:i}),i.buffer=Vn(i.buffer,false),i}var te,li=p(()=>{Et();$t();Pt();lr();mc();gc();te=class extends N{constructor(t={}){super(),this.uid=Y("geometry"),this._layoutKey=0,this.instanceCount=1,this._bounds=new ot,this._boundsDirty=true;let{attributes:e,indexBuffer:r,topology:s}=t;if(this.buffers=[],this.attributes={},e)for(let o in e)this.addAttribute(o,e[o]);this.instanceCount=t.instanceCount??1,r&&this.addIndex(r),this.topology=s||"triangle-list";}onBufferUpdate(){this._boundsDirty=true,this.emit("update",this);}getAttribute(t){return this.attributes[t]}getIndex(){return this.indexBuffer}getBuffer(t){return this.getAttribute(t).buffer}getSize(){for(let t in this.attributes){let e=this.attributes[t];return e.buffer.data.length/(e.stride/4||e.size)}return 0}addAttribute(t,e){let r=qx(e);this.buffers.indexOf(r.buffer)===-1&&(this.buffers.push(r.buffer),r.buffer.on("update",this.onBufferUpdate,this),r.buffer.on("change",this.onBufferUpdate,this)),this.attributes[t]=r;}addIndex(t){this.indexBuffer=Vn(t,true),this.buffers.push(this.indexBuffer);}get bounds(){return this._boundsDirty?(this._boundsDirty=false,xc(this,"aPosition",this._bounds)):this._bounds}destroy(t=false){this.emit("destroy",this),this.removeAllListeners(),t&&this.buffers.forEach(e=>e.destroy()),this.attributes=null,this.buffers=null,this.indexBuffer=null,this._bounds=null;}};});var Kx,Zx,Bs,_c=p(()=>{lr();ar();li();Kx=new Float32Array(1),Zx=new Uint32Array(1),Bs=class extends te{constructor(){let e=new bt({data:Kx,label:"attribute-batch-buffer",usage:Q.VERTEX|Q.COPY_DST,shrinkToFit:false}),r=new bt({data:Zx,label:"index-batch-buffer",usage:Q.INDEX|Q.COPY_DST,shrinkToFit:false}),s=6*4;super({attributes:{aPosition:{buffer:e,format:"float32x2",stride:s,offset:0},aUV:{buffer:e,format:"float32x2",stride:s,offset:2*4},aColor:{buffer:e,format:"unorm8x4",stride:s,offset:4*4},aTextureIdAndRound:{buffer:e,format:"uint16x2",stride:s,offset:5*4}},indexBuffer:r});}};});function hr(i,t){let e=yc[i];return e===void 0&&(Hn[t]===void 0&&(Hn[t]=1),yc[i]=e=Hn[t]++),e}var Hn,yc,ks=p(()=>{Hn=Object.create(null),yc=Object.create(null);});function bc(){if(!Gs){Gs="mediump";let i=Es();i&&i.getShaderPrecisionFormat&&(Gs=i.getShaderPrecisionFormat(i.FRAGMENT_SHADER,i.HIGH_FLOAT).precision?"highp":"mediump");}return Gs}var Gs,vc=p(()=>{On();});function Sc(i,t,e){return t?i:e?(i=i.replace("out vec4 finalColor;",""),`
19
+ `,t.accessibleText&&(e.innerText=t.accessibleText)),e.style.width=`${xs}px`,e.style.height=`${xs}px`,e.style.backgroundColor=this.debug?"rgba(255,255,255,0.5)":"transparent",e.style.position="absolute",e.style.zIndex=nu.toString(),e.style.borderStyle="none",navigator.userAgent.toLowerCase().includes("chrome")?e.setAttribute("aria-live","off"):e.setAttribute("aria-live","polite"),navigator.userAgent.match(/rv:.*Gecko\//)?e.setAttribute("aria-relevant","additions"):e.setAttribute("aria-relevant","text"),e.addEventListener("click",this._onClick.bind(this)),e.addEventListener("focus",this._onFocus.bind(this)),e.addEventListener("focusout",this._onFocusOut.bind(this))),e.style.pointerEvents=t.accessiblePointerEvents,e.type=t.accessibleType,t.accessibleTitle&&t.accessibleTitle!==null?e.title=t.accessibleTitle:(!t.accessibleHint||t.accessibleHint===null)&&(e.title=`container ${t.tabIndex}`),t.accessibleHint&&t.accessibleHint!==null&&e.setAttribute("aria-label",t.accessibleHint),this.debug&&this._updateDebugHTML(e),t._accessibleActive=true,t._accessibleDiv=e,e.container=t,this._children.push(t),this._div.appendChild(t._accessibleDiv),t.interactive&&(t._accessibleDiv.tabIndex=t.tabIndex);}_dispatchEvent(t,e){let{container:r}=t.target,s=this._renderer.events.rootBoundary,o=Object.assign(new xe(s),{target:r});s.rootTarget=this._renderer.lastObjectRendered,e.forEach(n=>s.dispatchEvent(o,n));}_onClick(t){this._dispatchEvent(t,["click","pointertap","tap"]);}_onFocus(t){t.target.getAttribute("aria-live")||t.target.setAttribute("aria-live","assertive"),this._dispatchEvent(t,["mouseover"]);}_onFocusOut(t){t.target.getAttribute("aria-live")||t.target.setAttribute("aria-live","polite"),this._dispatchEvent(t,["mouseout"]);}_onKeyDown(t){t.keyCode!==Bg||!this._activateOnTab||this._activate();}_onMouseMove(t){t.movementX===0&&t.movementY===0||this._deactivate();}destroy(){this._deactivate(),this._destroyTouchHook(),this._div=null,this._pool=null,this._children=null,this._renderer=null,this._activateOnTab&&globalThis.removeEventListener("keydown",this._onKeyDown);}setAccessibilityEnabled(t){t?this._activate():this._deactivate();}};gn.extension={type:[S.WebGLSystem,S.WebGPUSystem],name:"accessibility"};gn.defaultOptions={enabledByDefault:false,debug:false,activateOnTab:true,deactivateOnMouseMove:true};hu=gn;});var cu,du=p(()=>{cu={accessible:false,accessibleTitle:null,accessibleHint:null,tabIndex:0,accessibleType:"button",accessibleText:null,accessiblePointerEvents:"auto",accessibleChildren:true,_accessibleActive:false,_accessibleDiv:null,_renderId:-1};});var fu=p(()=>{k();Nr();uu();du();I.add(hu);I.mixin(Yt,cu);});var Yr,pu=p(()=>{k();Yr=class{static init(t){Object.defineProperty(this,"resizeTo",{set(e){globalThis.removeEventListener("resize",this.queueResize),this._resizeTo=e,e&&(globalThis.addEventListener("resize",this.queueResize),this.resize());},get(){return this._resizeTo}}),this.queueResize=()=>{this._resizeTo&&(this._cancelResize(),this._resizeId=requestAnimationFrame(()=>this.resize()));},this._cancelResize=()=>{this._resizeId&&(cancelAnimationFrame(this._resizeId),this._resizeId=null);},this.resize=()=>{if(!this._resizeTo)return;this._cancelResize();let e,r;if(this._resizeTo===globalThis.window)e=globalThis.innerWidth,r=globalThis.innerHeight;else {let{clientWidth:s,clientHeight:o}=this._resizeTo;e=s,r=o;}this.renderer.resize(e,r),this.render();},this._resizeId=null,this._resizeTo=null,this.resizeTo=t.resizeTo||null;}static destroy(){globalThis.removeEventListener("resize",this.queueResize),this._cancelResize(),this._cancelResize=null,this.queueResize=null,this.resizeTo=null,this.resize=null;}};Yr.extension=S.Application;});var _e,_s=p(()=>{_e=(i=>(i[i.INTERACTION=50]="INTERACTION",i[i.HIGH=25]="HIGH",i[i.NORMAL=0]="NORMAL",i[i.LOW=-25]="LOW",i[i.UTILITY=-50]="UTILITY",i))(_e||{});});var rr,mu=p(()=>{rr=class{constructor(t,e=null,r=0,s=false){this.next=null,this.previous=null,this._destroyed=false,this._fn=t,this._context=e,this.priority=r,this._once=s;}match(t,e=null){return this._fn===t&&this._context===e}emit(t){this._fn&&(this._context?this._fn.call(this._context,t):this._fn(t));let e=this.next;return this._once&&this.destroy(true),this._destroyed&&(this.next=null),e}connect(t){this.previous=t,t.next&&(t.next.previous=this),this.next=t.next,t.next=this;}destroy(t=false){this._destroyed=true,this._fn=null,this._context=null,this.previous&&(this.previous.next=this.next),this.next&&(this.next.previous=this.previous);let e=this.next;return this.next=t?null:e,this.previous=null,e}};});var gu,gt,Xr=p(()=>{_s();mu();gu=class Dt{constructor(){this.autoStart=false,this.deltaTime=1,this.lastTime=-1,this.speed=1,this.started=false,this._requestId=null,this._maxElapsedMS=100,this._minElapsedMS=0,this._protected=false,this._lastFrame=-1,this._head=new rr(null,null,1/0),this.deltaMS=1/Dt.targetFPMS,this.elapsedMS=1/Dt.targetFPMS,this._tick=t=>{this._requestId=null,this.started&&(this.update(t),this.started&&this._requestId===null&&this._head.next&&(this._requestId=requestAnimationFrame(this._tick)));};}_requestIfNeeded(){this._requestId===null&&this._head.next&&(this.lastTime=performance.now(),this._lastFrame=this.lastTime,this._requestId=requestAnimationFrame(this._tick));}_cancelIfNeeded(){this._requestId!==null&&(cancelAnimationFrame(this._requestId),this._requestId=null);}_startIfPossible(){this.started?this._requestIfNeeded():this.autoStart&&this.start();}add(t,e,r=_e.NORMAL){return this._addListener(new rr(t,e,r))}addOnce(t,e,r=_e.NORMAL){return this._addListener(new rr(t,e,r,true))}_addListener(t){let e=this._head.next,r=this._head;if(!e)t.connect(r);else {for(;e;){if(t.priority>e.priority){t.connect(r);break}r=e,e=e.next;}t.previous||t.connect(r);}return this._startIfPossible(),this}remove(t,e){let r=this._head.next;for(;r;)r.match(t,e)?r=r.destroy():r=r.next;return this._head.next||this._cancelIfNeeded(),this}get count(){if(!this._head)return 0;let t=0,e=this._head;for(;e=e.next;)t++;return t}start(){this.started||(this.started=true,this._requestIfNeeded());}stop(){this.started&&(this.started=false,this._cancelIfNeeded());}destroy(){if(!this._protected){this.stop();let t=this._head.next;for(;t;)t=t.destroy(true);this._head.destroy(),this._head=null;}}update(t=performance.now()){let e;if(t>this.lastTime){if(e=this.elapsedMS=t-this.lastTime,e>this._maxElapsedMS&&(e=this._maxElapsedMS),e*=this.speed,this._minElapsedMS){let o=t-this._lastFrame|0;if(o<this._minElapsedMS)return;this._lastFrame=t-o%this._minElapsedMS;}this.deltaMS=e,this.deltaTime=this.deltaMS*Dt.targetFPMS;let r=this._head,s=r.next;for(;s;)s=s.emit(this);r.next||this._cancelIfNeeded();}else this.deltaTime=this.deltaMS=this.elapsedMS=0;this.lastTime=t;}get FPS(){return 1e3/this.elapsedMS}get minFPS(){return 1e3/this._maxElapsedMS}set minFPS(t){let e=Math.min(this.maxFPS,t),r=Math.min(Math.max(0,e)/1e3,Dt.targetFPMS);this._maxElapsedMS=1/r;}get maxFPS(){return this._minElapsedMS?Math.round(1e3/this._minElapsedMS):0}set maxFPS(t){if(t===0)this._minElapsedMS=0;else {let e=Math.max(this.minFPS,t);this._minElapsedMS=1/(e/1e3);}}static get shared(){if(!Dt._shared){let t=Dt._shared=new Dt;t.autoStart=true,t._protected=true;}return Dt._shared}static get system(){if(!Dt._system){let t=Dt._system=new Dt;t.autoStart=true,t._protected=true;}return Dt._system}};gu.targetFPMS=.06;gt=gu;});var jr,xu=p(()=>{k();_s();Xr();jr=class{static init(t){t=Object.assign({autoStart:true,sharedTicker:false},t),Object.defineProperty(this,"ticker",{set(e){this._ticker&&this._ticker.remove(this.render,this),this._ticker=e,e&&e.add(this.render,this,_e.LOW);},get(){return this._ticker}}),this.stop=()=>{this._ticker.stop();},this.start=()=>{this._ticker.start();},this._ticker=null,this.ticker=t.sharedTicker?gt.shared:new gt,t.autoStart&&this.start();}static destroy(){if(this._ticker){let t=this._ticker;this.ticker=null,t.destroy();}}};jr.extension=S.Application;});var xn=p(()=>{k();pu();xu();I.add(Yr);I.add(jr);});var _n,Kt,yn=p(()=>{_s();Xr();_n=class{constructor(){this.interactionFrequency=10,this._deltaTime=0,this._didMove=false,this._tickerAdded=false,this._pauseUpdate=true;}init(t){this.removeTickerListener(),this.events=t,this.interactionFrequency=10,this._deltaTime=0,this._didMove=false,this._tickerAdded=false,this._pauseUpdate=true;}get pauseUpdate(){return this._pauseUpdate}set pauseUpdate(t){this._pauseUpdate=t;}addTickerListener(){this._tickerAdded||!this.domElement||(gt.system.add(this._tickerUpdate,this,_e.INTERACTION),this._tickerAdded=true);}removeTickerListener(){this._tickerAdded&&(gt.system.remove(this._tickerUpdate,this),this._tickerAdded=false);}pointerMoved(){this._didMove=true;}_update(){if(!this.domElement||this._pauseUpdate)return;if(this._didMove){this._didMove=false;return}let t=this.events._rootPointerEvent;this.events.supportsTouchEvents&&t.pointerType==="touch"||globalThis.document.dispatchEvent(this.events.supportsPointerEvents?new PointerEvent("pointermove",{clientX:t.clientX,clientY:t.clientY,pointerType:t.pointerType,pointerId:t.pointerId}):new MouseEvent("mousemove",{clientX:t.clientX,clientY:t.clientY}));}_tickerUpdate(t){this._deltaTime+=t.deltaTime,!(this._deltaTime<this.interactionFrequency)&&(this._deltaTime=0,this._update());}},Kt=new _n;});var ce,ys=p(()=>{qt();ms();ce=class extends xe{constructor(){super(...arguments),this.client=new $,this.movement=new $,this.offset=new $,this.global=new $,this.screen=new $;}get clientX(){return this.client.x}get clientY(){return this.client.y}get x(){return this.clientX}get y(){return this.clientY}get movementX(){return this.movement.x}get movementY(){return this.movement.y}get offsetX(){return this.offset.x}get offsetY(){return this.offset.y}get globalX(){return this.global.x}get globalY(){return this.global.y}get screenX(){return this.screen.x}get screenY(){return this.screen.y}getLocalPosition(t,e,r){return t.worldTransform.applyInverse(r||this.global,e)}getModifierState(t){return "getModifierState"in this.nativeEvent&&this.nativeEvent.getModifierState(t)}initMouseEvent(t,e,r,s,o,n,a,l,h,u,c,f,d,g,x){throw new Error("Method not implemented.")}};});var At,bn=p(()=>{ys();At=class extends ce{constructor(){super(...arguments),this.width=0,this.height=0,this.isPrimary=false;}getCoalescedEvents(){return this.type==="pointermove"||this.type==="mousemove"||this.type==="touchmove"?[this]:[]}getPredictedEvents(){throw new Error("getPredictedEvents is not supported!")}};});var Zt,vn=p(()=>{ys();Zt=class extends ce{constructor(){super(...arguments),this.DOM_DELTA_PIXEL=0,this.DOM_DELTA_LINE=1,this.DOM_DELTA_PAGE=2;}};Zt.DOM_DELTA_PIXEL=0;Zt.DOM_DELTA_LINE=1;Zt.DOM_DELTA_PAGE=2;});var Lg,Ug,qr,bs,_u=p(()=>{Et();qt();Tt();yn();ys();bn();vn();Lg=2048,Ug=new $,qr=new $,bs=class{constructor(t){this.dispatch=new N,this.moveOnAll=false,this.enableGlobalMoveEvents=true,this.mappingState={trackingData:{}},this.eventPool=new Map,this._allInteractiveElements=[],this._hitElements=[],this._isPointerMoveEvent=false,this.rootTarget=t,this.hitPruneFn=this.hitPruneFn.bind(this),this.hitTestFn=this.hitTestFn.bind(this),this.mapPointerDown=this.mapPointerDown.bind(this),this.mapPointerMove=this.mapPointerMove.bind(this),this.mapPointerOut=this.mapPointerOut.bind(this),this.mapPointerOver=this.mapPointerOver.bind(this),this.mapPointerUp=this.mapPointerUp.bind(this),this.mapPointerUpOutside=this.mapPointerUpOutside.bind(this),this.mapWheel=this.mapWheel.bind(this),this.mappingTable={},this.addEventMapping("pointerdown",this.mapPointerDown),this.addEventMapping("pointermove",this.mapPointerMove),this.addEventMapping("pointerout",this.mapPointerOut),this.addEventMapping("pointerleave",this.mapPointerOut),this.addEventMapping("pointerover",this.mapPointerOver),this.addEventMapping("pointerup",this.mapPointerUp),this.addEventMapping("pointerupoutside",this.mapPointerUpOutside),this.addEventMapping("wheel",this.mapWheel);}addEventMapping(t,e){this.mappingTable[t]||(this.mappingTable[t]=[]),this.mappingTable[t].push({fn:e,priority:0}),this.mappingTable[t].sort((r,s)=>r.priority-s.priority);}dispatchEvent(t,e){t.propagationStopped=false,t.propagationImmediatelyStopped=false,this.propagate(t,e),this.dispatch.emit(e||t.type,t);}mapEvent(t){if(!this.rootTarget)return;let e=this.mappingTable[t.type];if(e)for(let r=0,s=e.length;r<s;r++)e[r].fn(t);else z(`[EventBoundary]: Event mapping not defined for ${t.type}`);}hitTest(t,e){Kt.pauseUpdate=true;let s=this._isPointerMoveEvent&&this.enableGlobalMoveEvents?"hitTestMoveRecursive":"hitTestRecursive",o=this[s](this.rootTarget,this.rootTarget.eventMode,Ug.set(t,e),this.hitTestFn,this.hitPruneFn);return o&&o[0]}propagate(t,e){if(!t.target)return;let r=t.composedPath();t.eventPhase=t.CAPTURING_PHASE;for(let s=0,o=r.length-1;s<o;s++)if(t.currentTarget=r[s],this.notifyTarget(t,e),t.propagationStopped||t.propagationImmediatelyStopped)return;if(t.eventPhase=t.AT_TARGET,t.currentTarget=t.target,this.notifyTarget(t,e),!(t.propagationStopped||t.propagationImmediatelyStopped)){t.eventPhase=t.BUBBLING_PHASE;for(let s=r.length-2;s>=0;s--)if(t.currentTarget=r[s],this.notifyTarget(t,e),t.propagationStopped||t.propagationImmediatelyStopped)return}}all(t,e,r=this._allInteractiveElements){if(r.length===0)return;t.eventPhase=t.BUBBLING_PHASE;let s=Array.isArray(e)?e:[e];for(let o=r.length-1;o>=0;o--)s.forEach(n=>{t.currentTarget=r[o],this.notifyTarget(t,n);});}propagationPath(t){let e=[t];for(let r=0;r<Lg&&t!==this.rootTarget&&t.parent;r++){if(!t.parent)throw new Error("Cannot find propagation path to disconnected target");e.push(t.parent),t=t.parent;}return e.reverse(),e}hitTestMoveRecursive(t,e,r,s,o,n=false){let a=false;if(this._interactivePrune(t))return null;if((t.eventMode==="dynamic"||e==="dynamic")&&(Kt.pauseUpdate=false),t.interactiveChildren&&t.children){let u=t.children;for(let c=u.length-1;c>=0;c--){let f=u[c],d=this.hitTestMoveRecursive(f,this._isInteractive(e)?e:f.eventMode,r,s,o,n||o(t,r));if(d){if(d.length>0&&!d[d.length-1].parent)continue;let g=t.isInteractive();(d.length>0||g)&&(g&&this._allInteractiveElements.push(t),d.push(t)),this._hitElements.length===0&&(this._hitElements=d),a=true;}}}let l=this._isInteractive(e),h=t.isInteractive();return h&&h&&this._allInteractiveElements.push(t),n||this._hitElements.length>0?null:a?this._hitElements:l&&!o(t,r)&&s(t,r)?h?[t]:[]:null}hitTestRecursive(t,e,r,s,o){if(this._interactivePrune(t)||o(t,r))return null;if((t.eventMode==="dynamic"||e==="dynamic")&&(Kt.pauseUpdate=false),t.interactiveChildren&&t.children){let l=t.children,h=r;for(let u=l.length-1;u>=0;u--){let c=l[u],f=this.hitTestRecursive(c,this._isInteractive(e)?e:c.eventMode,h,s,o);if(f){if(f.length>0&&!f[f.length-1].parent)continue;let d=t.isInteractive();return (f.length>0||d)&&f.push(t),f}}}let n=this._isInteractive(e),a=t.isInteractive();return n&&s(t,r)?a?[t]:[]:null}_isInteractive(t){return t==="static"||t==="dynamic"}_interactivePrune(t){return !t||!t.visible||!t.renderable||!t.measurable||t.eventMode==="none"||t.eventMode==="passive"&&!t.interactiveChildren}hitPruneFn(t,e){if(t.hitArea&&(t.worldTransform.applyInverse(e,qr),!t.hitArea.contains(qr.x,qr.y)))return true;if(t.effects&&t.effects.length)for(let r=0;r<t.effects.length;r++){let s=t.effects[r];if(s.containsPoint&&!s.containsPoint(e,this.hitTestFn))return true}return false}hitTestFn(t,e){return t.hitArea?true:t?.containsPoint?(t.worldTransform.applyInverse(e,qr),t.containsPoint(qr)):false}notifyTarget(t,e){if(!t.currentTarget.isInteractive())return;e??(e=t.type);let r=`on${e}`;t.currentTarget[r]?.(t);let s=t.eventPhase===t.CAPTURING_PHASE||t.eventPhase===t.AT_TARGET?`${e}capture`:e;this._notifyListeners(t,s),t.eventPhase===t.AT_TARGET&&this._notifyListeners(t,e);}mapPointerDown(t){if(!(t instanceof At)){z("EventBoundary cannot map a non-pointer event as a pointer event");return}let e=this.createPointerEvent(t);if(this.dispatchEvent(e,"pointerdown"),e.pointerType==="touch")this.dispatchEvent(e,"touchstart");else if(e.pointerType==="mouse"||e.pointerType==="pen"){let s=e.button===2;this.dispatchEvent(e,s?"rightdown":"mousedown");}let r=this.trackingData(t.pointerId);r.pressTargetsByButton[t.button]=e.composedPath(),this.freeEvent(e);}mapPointerMove(t){if(!(t instanceof At)){z("EventBoundary cannot map a non-pointer event as a pointer event");return}this._allInteractiveElements.length=0,this._hitElements.length=0,this._isPointerMoveEvent=true;let e=this.createPointerEvent(t);this._isPointerMoveEvent=false;let r=e.pointerType==="mouse"||e.pointerType==="pen",s=this.trackingData(t.pointerId),o=this.findMountedTarget(s.overTargets);if(s.overTargets?.length>0&&o!==e.target){let l=t.type==="mousemove"?"mouseout":"pointerout",h=this.createPointerEvent(t,l,o);if(this.dispatchEvent(h,"pointerout"),r&&this.dispatchEvent(h,"mouseout"),!e.composedPath().includes(o)){let u=this.createPointerEvent(t,"pointerleave",o);for(u.eventPhase=u.AT_TARGET;u.target&&!e.composedPath().includes(u.target);)u.currentTarget=u.target,this.notifyTarget(u),r&&this.notifyTarget(u,"mouseleave"),u.target=u.target.parent;this.freeEvent(u);}this.freeEvent(h);}if(o!==e.target){let l=t.type==="mousemove"?"mouseover":"pointerover",h=this.clonePointerEvent(e,l);this.dispatchEvent(h,"pointerover"),r&&this.dispatchEvent(h,"mouseover");let u=o?.parent;for(;u&&u!==this.rootTarget.parent&&u!==e.target;)u=u.parent;if(!u||u===this.rootTarget.parent){let f=this.clonePointerEvent(e,"pointerenter");for(f.eventPhase=f.AT_TARGET;f.target&&f.target!==o&&f.target!==this.rootTarget.parent;)f.currentTarget=f.target,this.notifyTarget(f),r&&this.notifyTarget(f,"mouseenter"),f.target=f.target.parent;this.freeEvent(f);}this.freeEvent(h);}let n=[],a=this.enableGlobalMoveEvents??true;this.moveOnAll?n.push("pointermove"):this.dispatchEvent(e,"pointermove"),a&&n.push("globalpointermove"),e.pointerType==="touch"&&(this.moveOnAll?n.splice(1,0,"touchmove"):this.dispatchEvent(e,"touchmove"),a&&n.push("globaltouchmove")),r&&(this.moveOnAll?n.splice(1,0,"mousemove"):this.dispatchEvent(e,"mousemove"),a&&n.push("globalmousemove"),this.cursor=e.target?.cursor),n.length>0&&this.all(e,n),this._allInteractiveElements.length=0,this._hitElements.length=0,s.overTargets=e.composedPath(),this.freeEvent(e);}mapPointerOver(t){if(!(t instanceof At)){z("EventBoundary cannot map a non-pointer event as a pointer event");return}let e=this.trackingData(t.pointerId),r=this.createPointerEvent(t),s=r.pointerType==="mouse"||r.pointerType==="pen";this.dispatchEvent(r,"pointerover"),s&&this.dispatchEvent(r,"mouseover"),r.pointerType==="mouse"&&(this.cursor=r.target?.cursor);let o=this.clonePointerEvent(r,"pointerenter");for(o.eventPhase=o.AT_TARGET;o.target&&o.target!==this.rootTarget.parent;)o.currentTarget=o.target,this.notifyTarget(o),s&&this.notifyTarget(o,"mouseenter"),o.target=o.target.parent;e.overTargets=r.composedPath(),this.freeEvent(r),this.freeEvent(o);}mapPointerOut(t){if(!(t instanceof At)){z("EventBoundary cannot map a non-pointer event as a pointer event");return}let e=this.trackingData(t.pointerId);if(e.overTargets){let r=t.pointerType==="mouse"||t.pointerType==="pen",s=this.findMountedTarget(e.overTargets),o=this.createPointerEvent(t,"pointerout",s);this.dispatchEvent(o),r&&this.dispatchEvent(o,"mouseout");let n=this.createPointerEvent(t,"pointerleave",s);for(n.eventPhase=n.AT_TARGET;n.target&&n.target!==this.rootTarget.parent;)n.currentTarget=n.target,this.notifyTarget(n),r&&this.notifyTarget(n,"mouseleave"),n.target=n.target.parent;e.overTargets=null,this.freeEvent(o),this.freeEvent(n);}this.cursor=null;}mapPointerUp(t){if(!(t instanceof At)){z("EventBoundary cannot map a non-pointer event as a pointer event");return}let e=performance.now(),r=this.createPointerEvent(t);if(this.dispatchEvent(r,"pointerup"),r.pointerType==="touch")this.dispatchEvent(r,"touchend");else if(r.pointerType==="mouse"||r.pointerType==="pen"){let a=r.button===2;this.dispatchEvent(r,a?"rightup":"mouseup");}let s=this.trackingData(t.pointerId),o=this.findMountedTarget(s.pressTargetsByButton[t.button]),n=o;if(o&&!r.composedPath().includes(o)){let a=o;for(;a&&!r.composedPath().includes(a);){if(r.currentTarget=a,this.notifyTarget(r,"pointerupoutside"),r.pointerType==="touch")this.notifyTarget(r,"touchendoutside");else if(r.pointerType==="mouse"||r.pointerType==="pen"){let l=r.button===2;this.notifyTarget(r,l?"rightupoutside":"mouseupoutside");}a=a.parent;}delete s.pressTargetsByButton[t.button],n=a;}if(n){let a=this.clonePointerEvent(r,"click");a.target=n,a.path=null,s.clicksByButton[t.button]||(s.clicksByButton[t.button]={clickCount:0,target:a.target,timeStamp:e});let l=s.clicksByButton[t.button];if(l.target===a.target&&e-l.timeStamp<200?++l.clickCount:l.clickCount=1,l.target=a.target,l.timeStamp=e,a.detail=l.clickCount,a.pointerType==="mouse"){let h=a.button===2;this.dispatchEvent(a,h?"rightclick":"click");}else a.pointerType==="touch"&&this.dispatchEvent(a,"tap");this.dispatchEvent(a,"pointertap"),this.freeEvent(a);}this.freeEvent(r);}mapPointerUpOutside(t){if(!(t instanceof At)){z("EventBoundary cannot map a non-pointer event as a pointer event");return}let e=this.trackingData(t.pointerId),r=this.findMountedTarget(e.pressTargetsByButton[t.button]),s=this.createPointerEvent(t);if(r){let o=r;for(;o;)s.currentTarget=o,this.notifyTarget(s,"pointerupoutside"),s.pointerType==="touch"?this.notifyTarget(s,"touchendoutside"):(s.pointerType==="mouse"||s.pointerType==="pen")&&this.notifyTarget(s,s.button===2?"rightupoutside":"mouseupoutside"),o=o.parent;delete e.pressTargetsByButton[t.button];}this.freeEvent(s);}mapWheel(t){if(!(t instanceof Zt)){z("EventBoundary cannot map a non-wheel event as a wheel event");return}let e=this.createWheelEvent(t);this.dispatchEvent(e),this.freeEvent(e);}findMountedTarget(t){if(!t)return null;let e=t[0];for(let r=1;r<t.length&&t[r].parent===e;r++)e=t[r];return e}createPointerEvent(t,e,r){let s=this.allocateEvent(At);return this.copyPointerData(t,s),this.copyMouseData(t,s),this.copyData(t,s),s.nativeEvent=t.nativeEvent,s.originalEvent=t,s.target=r??this.hitTest(s.global.x,s.global.y)??this._hitElements[0],typeof e=="string"&&(s.type=e),s}createWheelEvent(t){let e=this.allocateEvent(Zt);return this.copyWheelData(t,e),this.copyMouseData(t,e),this.copyData(t,e),e.nativeEvent=t.nativeEvent,e.originalEvent=t,e.target=this.hitTest(e.global.x,e.global.y),e}clonePointerEvent(t,e){let r=this.allocateEvent(At);return r.nativeEvent=t.nativeEvent,r.originalEvent=t.originalEvent,this.copyPointerData(t,r),this.copyMouseData(t,r),this.copyData(t,r),r.target=t.target,r.path=t.composedPath().slice(),r.type=e??r.type,r}copyWheelData(t,e){e.deltaMode=t.deltaMode,e.deltaX=t.deltaX,e.deltaY=t.deltaY,e.deltaZ=t.deltaZ;}copyPointerData(t,e){t instanceof At&&e instanceof At&&(e.pointerId=t.pointerId,e.width=t.width,e.height=t.height,e.isPrimary=t.isPrimary,e.pointerType=t.pointerType,e.pressure=t.pressure,e.tangentialPressure=t.tangentialPressure,e.tiltX=t.tiltX,e.tiltY=t.tiltY,e.twist=t.twist);}copyMouseData(t,e){t instanceof ce&&e instanceof ce&&(e.altKey=t.altKey,e.button=t.button,e.buttons=t.buttons,e.client.copyFrom(t.client),e.ctrlKey=t.ctrlKey,e.metaKey=t.metaKey,e.movement.copyFrom(t.movement),e.screen.copyFrom(t.screen),e.shiftKey=t.shiftKey,e.global.copyFrom(t.global));}copyData(t,e){e.isTrusted=t.isTrusted,e.srcElement=t.srcElement,e.timeStamp=performance.now(),e.type=t.type,e.detail=t.detail,e.view=t.view,e.which=t.which,e.layer.copyFrom(t.layer),e.page.copyFrom(t.page);}trackingData(t){return this.mappingState.trackingData[t]||(this.mappingState.trackingData[t]={pressTargetsByButton:{},clicksByButton:{},overTarget:null}),this.mappingState.trackingData[t]}allocateEvent(t){this.eventPool.has(t)||this.eventPool.set(t,[]);let e=this.eventPool.get(t).pop()||new t(this);return e.eventPhase=e.NONE,e.currentTarget=null,e.defaultPrevented=false,e.path=null,e.target=null,e}freeEvent(t){if(t.manager!==this)throw new Error("It is illegal to free an event not managed by this EventBoundary!");let e=t.constructor;this.eventPool.has(e)||this.eventPool.set(e,[]),this.eventPool.get(e).push(t);}_notifyListeners(t,e){let r=t.currentTarget._events[e];if(r)if("fn"in r)r.once&&t.currentTarget.removeListener(e,r.fn,void 0,true),r.fn.call(r.context,t);else for(let s=0,o=r.length;s<o&&!t.propagationImmediatelyStopped;s++)r[s].once&&t.currentTarget.removeListener(e,r[s].fn,void 0,true),r[s].fn.call(r[s].context,t);}};});var Og,zg,Tn,vs,wn=p(()=>{k();_u();yn();bn();vn();Og=1,zg={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},Tn=class Sn{constructor(t){this.supportsTouchEvents="ontouchstart"in globalThis,this.supportsPointerEvents=!!globalThis.PointerEvent,this.domElement=null,this.resolution=1,this.renderer=t,this.rootBoundary=new bs(null),Kt.init(this),this.autoPreventDefault=true,this._eventsAdded=false,this._rootPointerEvent=new At(null),this._rootWheelEvent=new Zt(null),this.cursorStyles={default:"inherit",pointer:"pointer"},this.features=new Proxy({...Sn.defaultEventFeatures},{set:(e,r,s)=>(r==="globalMove"&&(this.rootBoundary.enableGlobalMoveEvents=s),e[r]=s,true)}),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),this._onPointerUp=this._onPointerUp.bind(this),this._onPointerOverOut=this._onPointerOverOut.bind(this),this.onWheel=this.onWheel.bind(this);}static get defaultEventMode(){return this._defaultEventMode}init(t){let{canvas:e,resolution:r}=this.renderer;this.setTargetElement(e),this.resolution=r,Sn._defaultEventMode=t.eventMode??"passive",Object.assign(this.features,t.eventFeatures??{}),this.rootBoundary.enableGlobalMoveEvents=this.features.globalMove;}resolutionChange(t){this.resolution=t;}destroy(){this.setTargetElement(null),this.renderer=null,this._currentCursor=null;}setCursor(t){t||(t="default");let e=true;if(globalThis.OffscreenCanvas&&this.domElement instanceof OffscreenCanvas&&(e=false),this._currentCursor===t)return;this._currentCursor=t;let r=this.cursorStyles[t];if(r)switch(typeof r){case "string":e&&(this.domElement.style.cursor=r);break;case "function":r(t);break;case "object":e&&Object.assign(this.domElement.style,r);break}else e&&typeof t=="string"&&!Object.prototype.hasOwnProperty.call(this.cursorStyles,t)&&(this.domElement.style.cursor=t);}get pointer(){return this._rootPointerEvent}_onPointerDown(t){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;let e=this._normalizeToPointerData(t);this.autoPreventDefault&&e[0].isNormalized&&(t.cancelable||!("cancelable"in t))&&t.preventDefault();for(let r=0,s=e.length;r<s;r++){let o=e[r],n=this._bootstrapEvent(this._rootPointerEvent,o);this.rootBoundary.mapEvent(n);}this.setCursor(this.rootBoundary.cursor);}_onPointerMove(t){if(!this.features.move)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered,Kt.pointerMoved();let e=this._normalizeToPointerData(t);for(let r=0,s=e.length;r<s;r++){let o=this._bootstrapEvent(this._rootPointerEvent,e[r]);this.rootBoundary.mapEvent(o);}this.setCursor(this.rootBoundary.cursor);}_onPointerUp(t){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;let e=t.target;t.composedPath&&t.composedPath().length>0&&(e=t.composedPath()[0]);let r=e!==this.domElement?"outside":"",s=this._normalizeToPointerData(t);for(let o=0,n=s.length;o<n;o++){let a=this._bootstrapEvent(this._rootPointerEvent,s[o]);a.type+=r,this.rootBoundary.mapEvent(a);}this.setCursor(this.rootBoundary.cursor);}_onPointerOverOut(t){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;let e=this._normalizeToPointerData(t);for(let r=0,s=e.length;r<s;r++){let o=this._bootstrapEvent(this._rootPointerEvent,e[r]);this.rootBoundary.mapEvent(o);}this.setCursor(this.rootBoundary.cursor);}onWheel(t){if(!this.features.wheel)return;let e=this.normalizeWheelEvent(t);this.rootBoundary.rootTarget=this.renderer.lastObjectRendered,this.rootBoundary.mapEvent(e);}setTargetElement(t){this._removeEvents(),this.domElement=t,Kt.domElement=t,this._addEvents();}_addEvents(){if(this._eventsAdded||!this.domElement)return;Kt.addTickerListener();let t=this.domElement.style;t&&(globalThis.navigator.msPointerEnabled?(t.msContentZooming="none",t.msTouchAction="none"):this.supportsPointerEvents&&(t.touchAction="none")),this.supportsPointerEvents?(globalThis.document.addEventListener("pointermove",this._onPointerMove,true),this.domElement.addEventListener("pointerdown",this._onPointerDown,true),this.domElement.addEventListener("pointerleave",this._onPointerOverOut,true),this.domElement.addEventListener("pointerover",this._onPointerOverOut,true),globalThis.addEventListener("pointerup",this._onPointerUp,true)):(globalThis.document.addEventListener("mousemove",this._onPointerMove,true),this.domElement.addEventListener("mousedown",this._onPointerDown,true),this.domElement.addEventListener("mouseout",this._onPointerOverOut,true),this.domElement.addEventListener("mouseover",this._onPointerOverOut,true),globalThis.addEventListener("mouseup",this._onPointerUp,true),this.supportsTouchEvents&&(this.domElement.addEventListener("touchstart",this._onPointerDown,true),this.domElement.addEventListener("touchend",this._onPointerUp,true),this.domElement.addEventListener("touchmove",this._onPointerMove,true))),this.domElement.addEventListener("wheel",this.onWheel,{passive:true,capture:true}),this._eventsAdded=true;}_removeEvents(){if(!this._eventsAdded||!this.domElement)return;Kt.removeTickerListener();let t=this.domElement.style;t&&(globalThis.navigator.msPointerEnabled?(t.msContentZooming="",t.msTouchAction=""):this.supportsPointerEvents&&(t.touchAction="")),this.supportsPointerEvents?(globalThis.document.removeEventListener("pointermove",this._onPointerMove,true),this.domElement.removeEventListener("pointerdown",this._onPointerDown,true),this.domElement.removeEventListener("pointerleave",this._onPointerOverOut,true),this.domElement.removeEventListener("pointerover",this._onPointerOverOut,true),globalThis.removeEventListener("pointerup",this._onPointerUp,true)):(globalThis.document.removeEventListener("mousemove",this._onPointerMove,true),this.domElement.removeEventListener("mousedown",this._onPointerDown,true),this.domElement.removeEventListener("mouseout",this._onPointerOverOut,true),this.domElement.removeEventListener("mouseover",this._onPointerOverOut,true),globalThis.removeEventListener("mouseup",this._onPointerUp,true),this.supportsTouchEvents&&(this.domElement.removeEventListener("touchstart",this._onPointerDown,true),this.domElement.removeEventListener("touchend",this._onPointerUp,true),this.domElement.removeEventListener("touchmove",this._onPointerMove,true))),this.domElement.removeEventListener("wheel",this.onWheel,true),this.domElement=null,this._eventsAdded=false;}mapPositionToPoint(t,e,r){let s=this.domElement.isConnected?this.domElement.getBoundingClientRect():{width:this.domElement.width,height:this.domElement.height,left:0,top:0},o=1/this.resolution;t.x=(e-s.left)*(this.domElement.width/s.width)*o,t.y=(r-s.top)*(this.domElement.height/s.height)*o;}_normalizeToPointerData(t){let e=[];if(this.supportsTouchEvents&&t instanceof TouchEvent)for(let r=0,s=t.changedTouches.length;r<s;r++){let o=t.changedTouches[r];typeof o.button>"u"&&(o.button=0),typeof o.buttons>"u"&&(o.buttons=1),typeof o.isPrimary>"u"&&(o.isPrimary=t.touches.length===1&&t.type==="touchstart"),typeof o.width>"u"&&(o.width=o.radiusX||1),typeof o.height>"u"&&(o.height=o.radiusY||1),typeof o.tiltX>"u"&&(o.tiltX=0),typeof o.tiltY>"u"&&(o.tiltY=0),typeof o.pointerType>"u"&&(o.pointerType="touch"),typeof o.pointerId>"u"&&(o.pointerId=o.identifier||0),typeof o.pressure>"u"&&(o.pressure=o.force||.5),typeof o.twist>"u"&&(o.twist=0),typeof o.tangentialPressure>"u"&&(o.tangentialPressure=0),typeof o.layerX>"u"&&(o.layerX=o.offsetX=o.clientX),typeof o.layerY>"u"&&(o.layerY=o.offsetY=o.clientY),o.isNormalized=true,o.type=t.type,e.push(o);}else if(!globalThis.MouseEvent||t instanceof MouseEvent&&(!this.supportsPointerEvents||!(t instanceof globalThis.PointerEvent))){let r=t;typeof r.isPrimary>"u"&&(r.isPrimary=true),typeof r.width>"u"&&(r.width=1),typeof r.height>"u"&&(r.height=1),typeof r.tiltX>"u"&&(r.tiltX=0),typeof r.tiltY>"u"&&(r.tiltY=0),typeof r.pointerType>"u"&&(r.pointerType="mouse"),typeof r.pointerId>"u"&&(r.pointerId=Og),typeof r.pressure>"u"&&(r.pressure=.5),typeof r.twist>"u"&&(r.twist=0),typeof r.tangentialPressure>"u"&&(r.tangentialPressure=0),r.isNormalized=true,e.push(r);}else e.push(t);return e}normalizeWheelEvent(t){let e=this._rootWheelEvent;return this._transferMouseData(e,t),e.deltaX=t.deltaX,e.deltaY=t.deltaY,e.deltaZ=t.deltaZ,e.deltaMode=t.deltaMode,this.mapPositionToPoint(e.screen,t.clientX,t.clientY),e.global.copyFrom(e.screen),e.offset.copyFrom(e.screen),e.nativeEvent=t,e.type=t.type,e}_bootstrapEvent(t,e){return t.originalEvent=null,t.nativeEvent=e,t.pointerId=e.pointerId,t.width=e.width,t.height=e.height,t.isPrimary=e.isPrimary,t.pointerType=e.pointerType,t.pressure=e.pressure,t.tangentialPressure=e.tangentialPressure,t.tiltX=e.tiltX,t.tiltY=e.tiltY,t.twist=e.twist,this._transferMouseData(t,e),this.mapPositionToPoint(t.screen,e.clientX,e.clientY),t.global.copyFrom(t.screen),t.offset.copyFrom(t.screen),t.isTrusted=e.isTrusted,t.type==="pointerleave"&&(t.type="pointerout"),t.type.startsWith("mouse")&&(t.type=t.type.replace("mouse","pointer")),t.type.startsWith("touch")&&(t.type=zg[t.type]||t.type),t}_transferMouseData(t,e){t.isTrusted=e.isTrusted,t.srcElement=e.srcElement,t.timeStamp=performance.now(),t.type=e.type,t.altKey=e.altKey,t.button=e.button,t.buttons=e.buttons,t.client.x=e.clientX,t.client.y=e.clientY,t.ctrlKey=e.ctrlKey,t.metaKey=e.metaKey,t.movement.x=e.movementX,t.movement.y=e.movementY,t.page.x=e.pageX,t.page.y=e.pageY,t.relatedTarget=null,t.shiftKey=e.shiftKey;}};Tn.extension={name:"events",type:[S.WebGLSystem,S.CanvasSystem,S.WebGPUSystem],priority:-1};Tn.defaultEventFeatures={move:true,globalMove:true,click:true,wheel:true};vs=Tn;});var yu,bu=p(()=>{wn();ms();yu={onclick:null,onmousedown:null,onmouseenter:null,onmouseleave:null,onmousemove:null,onglobalmousemove:null,onmouseout:null,onmouseover:null,onmouseup:null,onmouseupoutside:null,onpointercancel:null,onpointerdown:null,onpointerenter:null,onpointerleave:null,onpointermove:null,onglobalpointermove:null,onpointerout:null,onpointerover:null,onpointertap:null,onpointerup:null,onpointerupoutside:null,onrightclick:null,onrightdown:null,onrightup:null,onrightupoutside:null,ontap:null,ontouchcancel:null,ontouchend:null,ontouchendoutside:null,ontouchmove:null,onglobaltouchmove:null,ontouchstart:null,onwheel:null,get interactive(){return this.eventMode==="dynamic"||this.eventMode==="static"},set interactive(i){this.eventMode=i?"static":"passive";},_internalEventMode:void 0,get eventMode(){return this._internalEventMode??vs.defaultEventMode},set eventMode(i){this._internalEventMode=i;},isInteractive(){return this.eventMode==="static"||this.eventMode==="dynamic"},interactiveChildren:true,hitArea:null,addEventListener(i,t,e){let r=typeof e=="boolean"&&e||typeof e=="object"&&e.capture,s=typeof e=="object"?e.signal:void 0,o=typeof e=="object"?e.once===true:false,n=typeof t=="function"?void 0:t;i=r?`${i}capture`:i;let a=typeof t=="function"?t:t.handleEvent,l=this;s&&s.addEventListener("abort",()=>{l.off(i,a,n);}),o?l.once(i,a,n):l.on(i,a,n);},removeEventListener(i,t,e){let r=typeof e=="boolean"&&e||typeof e=="object"&&e.capture,s=typeof t=="function"?void 0:t;i=r?`${i}capture`:i,t=typeof t=="function"?t:t.handleEvent,this.off(i,t,s);},dispatchEvent(i){if(!(i instanceof xe))throw new Error("Container cannot propagate events outside of the Federated Events API");return i.defaultPrevented=false,i.path=null,i.target=this,i.manager.dispatchEvent(i),!i.defaultPrevented}};});var vu=p(()=>{k();Nr();wn();bu();I.add(vs);I.mixin(Yt,yu);});var Kr,Su=p(()=>{k();Kr=class{constructor(t){this._attachedDomElements=[],this._renderer=t,this._renderer.runners.postrender.add(this),this._domElement=document.createElement("div"),this._domElement.style.position="absolute",this._domElement.style.top="0",this._domElement.style.left="0",this._domElement.style.pointerEvents="none",this._domElement.style.zIndex="1000";}addRenderable(t,e){this._attachedDomElements.includes(t)||this._attachedDomElements.push(t);}updateRenderable(t){}validateRenderable(t){return true}postrender(){let t=this._attachedDomElements;if(t.length===0){this._domElement.remove();return}let e=this._renderer.view.canvas;this._domElement.parentNode!==e.parentNode&&e.parentNode?.appendChild(this._domElement);let r=parseFloat(e.style.width)/e.width*this._renderer.resolution,s=parseFloat(e.style.height)/e.height*this._renderer.resolution;this._domElement.style.transform=`translate(${e.offsetLeft}px, ${e.offsetTop}px) scale(${r}, ${s})`;for(let o=0;o<t.length;o++){let n=t[o],a=n.element;if(!n.parent||n.globalDisplayStatus<7)a?.remove(),t.splice(o,1),o--;else {this._domElement.contains(a)||(a.style.position="absolute",a.style.pointerEvents="auto",this._domElement.appendChild(a));let l=n.worldTransform,h=n._anchor,u=n.width*h.x,c=n.height*h.y;a.style.transformOrigin=`${u}px ${c}px`,a.style.transform=`matrix(${l.a}, ${l.b}, ${l.c}, ${l.d}, ${l.tx-u}, ${l.ty-c})`,a.style.opacity=n.groupAlpha.toString();}}}destroy(){this._renderer.runners.postrender.remove(this);for(let t=0;t<this._attachedDomElements.length;t++)this._attachedDomElements[t].element?.remove();this._attachedDomElements.length=0,this._domElement.remove(),this._renderer=null;}};Kr.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"dom"};});var ir,Pn=p(()=>{$t();Nr();ir=class extends Yt{constructor(t){super(t),this.canBundle=true,this.allowChildren=false,this._roundPixels=0,this._lastUsed=-1,this._gpuData=Object.create(null),this._bounds=new ot(0,1,0,0),this._boundsDirty=true;}get bounds(){return this._boundsDirty?(this.updateBounds(),this._boundsDirty=false,this._bounds):this._bounds}get roundPixels(){return !!this._roundPixels}set roundPixels(t){this._roundPixels=t?1:0;}containsPoint(t){let e=this.bounds,{x:r,y:s}=t;return r>=e.minX&&r<=e.maxX&&s>=e.minY&&s<=e.maxY}onViewUpdate(){if(this._didViewChangeTick++,this._boundsDirty=true,this.didViewUpdate)return;this.didViewUpdate=true;let t=this.renderGroup||this.parentRenderGroup;t&&t.onChildViewUpdate(this);}destroy(t){super.destroy(t),this._bounds=null;for(let e in this._gpuData)this._gpuData[e].destroy?.();this._gpuData=null;}collectRenderablesSimple(t,e,r){let{renderPipes:s}=e;s.blendMode.setBlendMode(this,this.groupBlendMode,t),s[this.renderPipeId].addRenderable(this,t),this.didViewUpdate=false;let n=this.children,a=n.length;for(let l=0;l<a;l++)n[l].collectRenderables(t,e,r);}};});var Tu=p(()=>{k();Su();I.add(Kr);});var sr,Mn=p(()=>{sr=(i=>(i[i.Low=0]="Low",i[i.Normal=1]="Normal",i[i.High=2]="High",i))(sr||{});});var wu,Pu=p(()=>{wu={createCanvas:(i,t)=>{let e=document.createElement("canvas");return e.width=i,e.height=t,e},getCanvasRenderingContext2D:()=>CanvasRenderingContext2D,getWebGLRenderingContext:()=>WebGLRenderingContext,getNavigator:()=>navigator,getBaseUrl:()=>document.baseURI??window.location.href,getFontFaceSet:()=>document.fonts,fetch:(i,t)=>fetch(i,t),parseXML:i=>new DOMParser().parseFromString(i,"text/xml")};});var Mu,nt,Xt=p(()=>{Pu();Mu=wu,nt={get(){return Mu},set(i){Mu=i;}};});function jt(i){if(typeof i!="string")throw new TypeError(`Path must be a string. Received ${JSON.stringify(i)}`)}function Zr(i){return i.split("?")[0].split("#")[0]}function Wg(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Vg(i,t,e){return i.replace(new RegExp(Wg(t),"g"),e)}function Hg(i,t){let e="",r=0,s=-1,o=0,n=-1;for(let a=0;a<=i.length;++a){if(a<i.length)n=i.charCodeAt(a);else {if(n===47)break;n=47;}if(n===47){if(!(s===a-1||o===1))if(s!==a-1&&o===2){if(e.length<2||r!==2||e.charCodeAt(e.length-1)!==46||e.charCodeAt(e.length-2)!==46){if(e.length>2){let l=e.lastIndexOf("/");if(l!==e.length-1){l===-1?(e="",r=0):(e=e.slice(0,l),r=e.length-1-e.lastIndexOf("/")),s=a,o=0;continue}}else if(e.length===2||e.length===1){e="",r=0,s=a,o=0;continue}}}else e.length>0?e+=`/${i.slice(s+1,a)}`:e=i.slice(s+1,a),r=a-s-1;s=a,o=0;}else n===46&&o!==-1?++o:o=-1;}return e}var kt,Ss=p(()=>{Xt();kt={toPosix(i){return Vg(i,"\\","/")},isUrl(i){return /^https?:/.test(this.toPosix(i))},isDataUrl(i){return /^data:([a-z]+\/[a-z0-9-+.]+(;[a-z0-9-.!#$%*+.{}|~`]+=[a-z0-9-.!#$%*+.{}()_|~`]+)*)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s<>]*?)$/i.test(i)},isBlobUrl(i){return i.startsWith("blob:")},hasProtocol(i){return /^[^/:]+:/.test(this.toPosix(i))},getProtocol(i){jt(i),i=this.toPosix(i);let t=/^file:\/\/\//.exec(i);if(t)return t[0];let e=/^[^/:]+:\/{0,2}/.exec(i);return e?e[0]:""},toAbsolute(i,t,e){if(jt(i),this.isDataUrl(i)||this.isBlobUrl(i))return i;let r=Zr(this.toPosix(t??nt.get().getBaseUrl())),s=Zr(this.toPosix(e??this.rootname(r)));return i=this.toPosix(i),i.startsWith("/")?kt.join(s,i.slice(1)):this.isAbsolute(i)?i:this.join(r,i)},normalize(i){if(jt(i),i.length===0)return ".";if(this.isDataUrl(i)||this.isBlobUrl(i))return i;i=this.toPosix(i);let t="",e=i.startsWith("/");this.hasProtocol(i)&&(t=this.rootname(i),i=i.slice(t.length));let r=i.endsWith("/");return i=Hg(i),i.length>0&&r&&(i+="/"),e?`/${i}`:t+i},isAbsolute(i){return jt(i),i=this.toPosix(i),this.hasProtocol(i)?true:i.startsWith("/")},join(...i){if(i.length===0)return ".";let t;for(let e=0;e<i.length;++e){let r=i[e];if(jt(r),r.length>0)if(t===void 0)t=r;else {let s=i[e-1]??"";this.joinExtensions.includes(this.extname(s).toLowerCase())?t+=`/../${r}`:t+=`/${r}`;}}return t===void 0?".":this.normalize(t)},dirname(i){if(jt(i),i.length===0)return ".";i=this.toPosix(i);let t=i.charCodeAt(0),e=t===47,r=-1,s=true,o=this.getProtocol(i),n=i;i=i.slice(o.length);for(let a=i.length-1;a>=1;--a)if(t=i.charCodeAt(a),t===47){if(!s){r=a;break}}else s=false;return r===-1?e?"/":this.isUrl(n)?o+i:o:e&&r===1?"//":o+i.slice(0,r)},rootname(i){jt(i),i=this.toPosix(i);let t="";if(i.startsWith("/")?t="/":t=this.getProtocol(i),this.isUrl(i)){let e=i.indexOf("/",t.length);e!==-1?t=i.slice(0,e):t=i,t.endsWith("/")||(t+="/");}return t},basename(i,t){jt(i),t&&jt(t),i=Zr(this.toPosix(i));let e=0,r=-1,s=true,o;if(t!==void 0&&t.length>0&&t.length<=i.length){if(t.length===i.length&&t===i)return "";let n=t.length-1,a=-1;for(o=i.length-1;o>=0;--o){let l=i.charCodeAt(o);if(l===47){if(!s){e=o+1;break}}else a===-1&&(s=false,a=o+1),n>=0&&(l===t.charCodeAt(n)?--n===-1&&(r=o):(n=-1,r=a));}return e===r?r=a:r===-1&&(r=i.length),i.slice(e,r)}for(o=i.length-1;o>=0;--o)if(i.charCodeAt(o)===47){if(!s){e=o+1;break}}else r===-1&&(s=false,r=o+1);return r===-1?"":i.slice(e,r)},extname(i){jt(i),i=Zr(this.toPosix(i));let t=-1,e=0,r=-1,s=true,o=0;for(let n=i.length-1;n>=0;--n){let a=i.charCodeAt(n);if(a===47){if(!s){e=n+1;break}continue}r===-1&&(s=false,r=n+1),a===46?t===-1?t=n:o!==1&&(o=1):t!==-1&&(o=-1);}return t===-1||r===-1||o===0||o===1&&t===r-1&&t===e+1?"":i.slice(t,r)},parse(i){jt(i);let t={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return t;i=Zr(this.toPosix(i));let e=i.charCodeAt(0),r=this.isAbsolute(i),s;t.root=this.rootname(i),r||this.hasProtocol(i)?s=1:s=0;let n=-1,a=0,l=-1,h=true,u=i.length-1,c=0;for(;u>=s;--u){if(e=i.charCodeAt(u),e===47){if(!h){a=u+1;break}continue}l===-1&&(h=false,l=u+1),e===46?n===-1?n=u:c!==1&&(c=1):n!==-1&&(c=-1);}return n===-1||l===-1||c===0||c===1&&n===l-1&&n===a+1?l!==-1&&(a===0&&r?t.base=t.name=i.slice(1,l):t.base=t.name=i.slice(a,l)):(a===0&&r?(t.name=i.slice(1,n),t.base=i.slice(1,l)):(t.name=i.slice(a,n),t.base=i.slice(a,l)),t.ext=i.slice(n,l)),t.dir=this.dirname(i),t},sep:"/",delimiter:":",joinExtensions:[".html"]};});var ye,An=p(()=>{ye=(i,t,e=false)=>(Array.isArray(i)||(i=[i]),t?i.map(r=>typeof r=="string"||e?t(r):r):i);});function Au(i,t,e,r,s){let o=t[e];for(let n=0;n<o.length;n++){let a=o[n];e<t.length-1?Au(i.replace(r[e],a),t,e+1,r,s):s.push(i.replace(r[e],a));}}function Cu(i){let t=/\{(.*?)\}/g,e=i.match(t),r=[];if(e){let s=[];e.forEach(o=>{let n=o.substring(1,o.length-1).split(",");s.push(n);}),Au(i,s,0,e,r);}else r.push(i);return r}var Eu=p(()=>{});var Cn,Fu=p(()=>{Cn=i=>!Array.isArray(i);});function Ng(i){return i.split(".").pop().split("?").shift().split("#").shift()}var Qr,Bu=p(()=>{Tt();Ss();An();Eu();Fu();Qr=class{constructor(){this._defaultBundleIdentifierOptions={connector:"-",createBundleAssetId:(t,e)=>`${t}${this._bundleIdConnector}${e}`,extractAssetIdFromBundle:(t,e)=>e.replace(`${t}${this._bundleIdConnector}`,"")},this._bundleIdConnector=this._defaultBundleIdentifierOptions.connector,this._createBundleAssetId=this._defaultBundleIdentifierOptions.createBundleAssetId,this._extractAssetIdFromBundle=this._defaultBundleIdentifierOptions.extractAssetIdFromBundle,this._assetMap={},this._preferredOrder=[],this._parsers=[],this._resolverHash={},this._bundles={};}setBundleIdentifier(t){if(this._bundleIdConnector=t.connector??this._bundleIdConnector,this._createBundleAssetId=t.createBundleAssetId??this._createBundleAssetId,this._extractAssetIdFromBundle=t.extractAssetIdFromBundle??this._extractAssetIdFromBundle,this._extractAssetIdFromBundle("foo",this._createBundleAssetId("foo","bar"))!=="bar")throw new Error("[Resolver] GenerateBundleAssetId are not working correctly")}prefer(...t){t.forEach(e=>{this._preferredOrder.push(e),e.priority||(e.priority=Object.keys(e.params));}),this._resolverHash={};}set basePath(t){this._basePath=t;}get basePath(){return this._basePath}set rootPath(t){this._rootPath=t;}get rootPath(){return this._rootPath}get parsers(){return this._parsers}reset(){this.setBundleIdentifier(this._defaultBundleIdentifierOptions),this._assetMap={},this._preferredOrder=[],this._resolverHash={},this._rootPath=null,this._basePath=null,this._manifest=null,this._bundles={},this._defaultSearchParams=null;}setDefaultSearchParams(t){if(typeof t=="string")this._defaultSearchParams=t;else {let e=t;this._defaultSearchParams=Object.keys(e).map(r=>`${encodeURIComponent(r)}=${encodeURIComponent(e[r])}`).join("&");}}getAlias(t){let{alias:e,src:r}=t;return ye(e||r,o=>typeof o=="string"?o:Array.isArray(o)?o.map(n=>n?.src??n):o?.src?o.src:o,true)}addManifest(t){this._manifest&&z("[Resolver] Manifest already exists, this will be overwritten"),this._manifest=t,t.bundles.forEach(e=>{this.addBundle(e.name,e.assets);});}addBundle(t,e){let r=[],s=e;Array.isArray(e)||(s=Object.entries(e).map(([o,n])=>typeof n=="string"||Array.isArray(n)?{alias:o,src:n}:{alias:o,...n})),s.forEach(o=>{let n=o.src,a=o.alias,l;if(typeof a=="string"){let h=this._createBundleAssetId(t,a);r.push(h),l=[a,h];}else {let h=a.map(u=>this._createBundleAssetId(t,u));r.push(...h),l=[...a,...h];}this.add({...o,alias:l,src:n});}),this._bundles[t]=r;}add(t){let e=[];Array.isArray(t)?e.push(...t):e.push(t);let r;r=o=>{this.hasKey(o)&&z(`[Resolver] already has key: ${o} overwriting`);},ye(e).forEach(o=>{let{src:n}=o,{data:a,format:l,loadParser:h}=o,u=ye(n).map(d=>typeof d=="string"?Cu(d):Array.isArray(d)?d:[d]),c=this.getAlias(o);Array.isArray(c)?c.forEach(r):r(c);let f=[];u.forEach(d=>{d.forEach(g=>{let x={};if(typeof g!="object"){x.src=g;for(let m=0;m<this._parsers.length;m++){let _=this._parsers[m];if(_.test(g)){x=_.parse(g);break}}}else a=g.data??a,l=g.format??l,h=g.loadParser??h,x={...x,...g};if(!c)throw new Error(`[Resolver] alias is undefined for this asset: ${x.src}`);x=this._buildResolvedAsset(x,{aliases:c,data:a,format:l,loadParser:h}),f.push(x);});}),c.forEach(d=>{this._assetMap[d]=f;});});}resolveBundle(t){let e=Cn(t);t=ye(t);let r={};return t.forEach(s=>{let o=this._bundles[s];if(o){let n=this.resolve(o),a={};for(let l in n){let h=n[l];a[this._extractAssetIdFromBundle(s,l)]=h;}r[s]=a;}}),e?r[t[0]]:r}resolveUrl(t){let e=this.resolve(t);if(typeof t!="string"){let r={};for(let s in e)r[s]=e[s].src;return r}return e.src}resolve(t){let e=Cn(t);t=ye(t);let r={};return t.forEach(s=>{if(!this._resolverHash[s])if(this._assetMap[s]){let o=this._assetMap[s],n=this._getPreferredOrder(o);n?.priority.forEach(a=>{n.params[a].forEach(l=>{let h=o.filter(u=>u[a]?u[a]===l:false);h.length&&(o=h);});}),this._resolverHash[s]=o[0];}else this._resolverHash[s]=this._buildResolvedAsset({alias:[s],src:s},{});r[s]=this._resolverHash[s];}),e?r[t[0]]:r}hasKey(t){return !!this._assetMap[t]}hasBundle(t){return !!this._bundles[t]}_getPreferredOrder(t){for(let e=0;e<t.length;e++){let r=t[e],s=this._preferredOrder.find(o=>o.params.format.includes(r.format));if(s)return s}return this._preferredOrder[0]}_appendDefaultSearchParams(t){if(!this._defaultSearchParams)return t;let e=/\?/.test(t)?"&":"?";return `${t}${e}${this._defaultSearchParams}`}_buildResolvedAsset(t,e){let{aliases:r,data:s,loadParser:o,format:n}=e;return (this._basePath||this._rootPath)&&(t.src=kt.toAbsolute(t.src,this._basePath,this._rootPath)),t.alias=r??t.alias??[t.src],t.src=this._appendDefaultSearchParams(t.src),t.data={...s||{},...t.data},t.loadParser=o??t.loadParser,t.format=n??t.format??Ng(t.src),t}};Qr.RETINA_PREFIX=/@([0-9\.]+)x/;});var En,ku=p(()=>{En=(i,t)=>{let e=t.split("?")[1];return e&&(i+=`?${e}`),i};});var Gu,Fn,Iu=p(()=>{Bt();he();bt();Gu=class Jr{constructor(t,e){this.linkedSheets=[];let r=t;t?.source instanceof mt&&(r={texture:t,data:e});let{texture:s,data:o,cachePrefix:n=""}=r;this.cachePrefix=n,this._texture=s instanceof B?s:null,this.textureSource=s.source,this.textures={},this.animations={},this.data=o;let a=parseFloat(o.meta.scale);a?(this.resolution=a,s.source.resolution=this.resolution):this.resolution=s.source._resolution,this._frames=this.data.frames,this._frameKeys=Object.keys(this._frames),this._batchIndex=0,this._callback=null;}parse(){return new Promise(t=>{this._callback=t,this._batchIndex=0,this._frameKeys.length<=Jr.BATCH_SIZE?(this._processFrames(0),this._processAnimations(),this._parseComplete()):this._nextBatch();})}_processFrames(t){let e=t,r=Jr.BATCH_SIZE;for(;e-t<r&&e<this._frameKeys.length;){let s=this._frameKeys[e],o=this._frames[s],n=o.frame;if(n){let a=null,l=null,h=o.trimmed!==false&&o.sourceSize?o.sourceSize:o.frame,u=new j(0,0,Math.floor(h.w)/this.resolution,Math.floor(h.h)/this.resolution);o.rotated?a=new j(Math.floor(n.x)/this.resolution,Math.floor(n.y)/this.resolution,Math.floor(n.h)/this.resolution,Math.floor(n.w)/this.resolution):a=new j(Math.floor(n.x)/this.resolution,Math.floor(n.y)/this.resolution,Math.floor(n.w)/this.resolution,Math.floor(n.h)/this.resolution),o.trimmed!==false&&o.spriteSourceSize&&(l=new j(Math.floor(o.spriteSourceSize.x)/this.resolution,Math.floor(o.spriteSourceSize.y)/this.resolution,Math.floor(n.w)/this.resolution,Math.floor(n.h)/this.resolution)),this.textures[s]=new B({source:this.textureSource,frame:a,orig:u,trim:l,rotate:o.rotated?2:0,defaultAnchor:o.anchor,defaultBorders:o.borders,label:s.toString()});}e++;}}_processAnimations(){let t=this.data.animations||{};for(let e in t){this.animations[e]=[];for(let r=0;r<t[e].length;r++){let s=t[e][r];this.animations[e].push(this.textures[s]);}}}_parseComplete(){let t=this._callback;this._callback=null,this._batchIndex=0,t.call(this,this.textures);}_nextBatch(){this._processFrames(this._batchIndex*Jr.BATCH_SIZE),this._batchIndex++,setTimeout(()=>{this._batchIndex*Jr.BATCH_SIZE<this._frameKeys.length?this._nextBatch():(this._processAnimations(),this._parseComplete());},0);}destroy(t=false){for(let e in this.textures)this.textures[e].destroy();this._frames=null,this._frameKeys=null,this.data=null,this.textures=null,t&&(this._texture?.destroy(),this.textureSource.destroy()),this._texture=null,this.textureSource=null,this.linkedSheets=[];}};Gu.BATCH_SIZE=1e3;Fn=Gu;});function Ru(i,t,e){let r={};if(i.forEach(s=>{r[s]=t;}),Object.keys(t.textures).forEach(s=>{r[`${t.cachePrefix}${s}`]=t.textures[s];}),!e){let s=kt.dirname(i[0]);t.linkedSheets.forEach((o,n)=>{let a=Ru([`${s}/${t.data.meta.related_multi_packs[n]}`],o,true);Object.assign(r,a);});}return r}var $g,Du,Lu=p(()=>{Mn();Bu();ku();k();bt();Ss();Iu();$g=["jpg","png","jpeg","avif","webp","basis","etc2","bc7","bc6h","bc5","bc4","bc3","bc2","bc1","eac","astc"];Du={extension:S.Asset,cache:{test:i=>i instanceof Fn,getCacheableAssets:(i,t)=>Ru(i,t,false)},resolver:{extension:{type:S.ResolveParser,name:"resolveSpritesheet"},test:i=>{let e=i.split("?")[0].split("."),r=e.pop(),s=e.pop();return r==="json"&&$g.includes(s)},parse:i=>{let t=i.split(".");return {resolution:parseFloat(Qr.RETINA_PREFIX.exec(i)?.[1]??"1"),format:t[t.length-2],src:i}}},loader:{name:"spritesheetLoader",extension:{type:S.LoadParser,priority:sr.Normal,name:"spritesheetLoader"},async testParse(i,t){return kt.extname(t.src).toLowerCase()===".json"&&!!i.frames},async parse(i,t,e){let{texture:r,imageFilename:s,textureOptions:o,cachePrefix:n}=t?.data??{},a=kt.dirname(t.src);a&&a.lastIndexOf("/")!==a.length-1&&(a+="/");let l;if(r instanceof B)l=r;else {let c=En(a+(s??i.meta.image),t.src);l=(await e.load([{src:c,data:o}]))[c];}let h=new Fn({texture:l.source,data:i,cachePrefix:n});await h.parse();let u=i?.meta?.related_multi_packs;if(Array.isArray(u)){let c=[];for(let d of u){if(typeof d!="string")continue;let g=a+d;t.data?.ignoreMultiPack||(g=En(g,t.src),c.push(e.load({src:g,data:{textureOptions:o,ignoreMultiPack:true}})));}let f=await Promise.all(c);h.linkedSheets=f,f.forEach(d=>{d.linkedSheets=[h].concat(h.linkedSheets.filter(g=>g!==d));});}return h},async unload(i,t,e){await e.unload(i.textureSource._sourceOrigin),i.destroy(false);}}};});var Ts=p(()=>{k();Lu();I.add(Du);});function ws(i,t,e){let{width:r,height:s}=e.orig,o=e.trim;if(o){let n=o.width,a=o.height;i.minX=o.x-t._x*r,i.maxX=i.minX+n,i.minY=o.y-t._y*s,i.maxY=i.minY+a;}else i.minX=-t._x*r,i.maxX=i.minX+r,i.minY=-t._y*s,i.maxY=i.minY+s;}var Bn=p(()=>{});var ti,Uu=p(()=>{$o();bt();Bn();lt();Pn();ti=class i extends ir{constructor(t=B.EMPTY){t instanceof B&&(t={texture:t});let{texture:e=B.EMPTY,anchor:r,roundPixels:s,width:o,height:n,...a}=t;super({label:"Sprite",...a}),this.renderPipeId="sprite",this.batched=true,this._visualBounds={minX:0,maxX:1,minY:0,maxY:0},this._anchor=new _t({_onUpdate:()=>{this.onViewUpdate();}}),r?this.anchor=r:e.defaultAnchor&&(this.anchor=e.defaultAnchor),this.texture=e,this.allowChildren=false,this.roundPixels=s??false,o!==void 0&&(this.width=o),n!==void 0&&(this.height=n);}static from(t,e=false){return t instanceof B?new i(t):new i(B.from(t,e))}set texture(t){t||(t=B.EMPTY);let e=this._texture;e!==t&&(e&&e.dynamic&&e.off("update",this.onViewUpdate,this),t.dynamic&&t.on("update",this.onViewUpdate,this),this._texture=t,this._width&&this._setWidth(this._width,this._texture.orig.width),this._height&&this._setHeight(this._height,this._texture.orig.height),this.onViewUpdate());}get texture(){return this._texture}get visualBounds(){return ws(this._visualBounds,this._anchor,this._texture),this._visualBounds}get sourceBounds(){return F("8.6.1","Sprite.sourceBounds is deprecated, use visualBounds instead."),this.visualBounds}updateBounds(){let t=this._anchor,e=this._texture,r=this._bounds,{width:s,height:o}=e.orig;r.minX=-t._x*s,r.maxX=r.minX+s,r.minY=-t._y*o,r.maxY=r.minY+o;}destroy(t=false){if(super.destroy(t),typeof t=="boolean"?t:t?.texture){let r=typeof t=="boolean"?t:t?.textureSource;this._texture.destroy(r);}this._texture=null,this._visualBounds=null,this._bounds=null,this._anchor=null,this._gpuData=null;}get anchor(){return this._anchor}set anchor(t){typeof t=="number"?this._anchor.set(t):this._anchor.copyFrom(t);}get width(){return Math.abs(this.scale.x)*this._texture.orig.width}set width(t){this._setWidth(t,this._texture.orig.width),this._width=t;}get height(){return Math.abs(this.scale.y)*this._texture.orig.height}set height(t){this._setHeight(t,this._texture.orig.height),this._height=t;}getSize(t){return t||(t={}),t.width=Math.abs(this.scale.x)*this._texture.orig.width,t.height=Math.abs(this.scale.y)*this._texture.orig.height,t}setSize(t,e){typeof t=="object"?(e=t.height??t.width,t=t.width):e??(e=t),t!==void 0&&this._setWidth(t,this._texture.orig.width),e!==void 0&&this._setHeight(e,this._texture.orig.height);}};});function Ps(i,t,e){let r=Yg;i.measurable=true,ss(i,e,r),t.addBoundsMask(r),i.measurable=false;}var Yg,kn=p(()=>{$t();ns();Yg=new ot;});function Ms(i,t,e){let r=Rt.get();i.measurable=true;let s=ut.get().identity(),o=Ou(i,e,s);ls(i,r,o),i.measurable=false,t.addBoundsMask(r),ut.return(s),Rt.return(r);}function Ou(i,t,e){return i?(i!==t&&(Ou(i.parent,t,e),i.updateLocalTransform(),e.append(i.localTransform)),e):(z("Mask bounds, renderable is not inside the root container"),e)}var Gn=p(()=>{tn();ke();Tt();});var ei,zu=p(()=>{k();Uu();kn();Gn();ei=class{constructor(t){this.priority=0,this.inverse=false,this.pipe="alphaMask",t?.mask&&this.init(t.mask);}init(t){this.mask=t,this.renderMaskToTexture=!(t instanceof ti),this.mask.renderable=this.renderMaskToTexture,this.mask.includeInBuild=!this.renderMaskToTexture,this.mask.measurable=false;}reset(){this.mask.measurable=true,this.mask=null;}addBounds(t,e){this.inverse||Ps(this.mask,t,e);}addLocalBounds(t,e){Ms(this.mask,t,e);}containsPoint(t,e){let r=this.mask;return e(r,t)}destroy(){this.reset();}static test(t){return t instanceof ti}};ei.extension=S.MaskEffect;});var ri,Wu=p(()=>{k();ri=class{constructor(t){this.priority=0,this.pipe="colorMask",t?.mask&&this.init(t.mask);}init(t){this.mask=t;}destroy(){}static test(t){return typeof t=="number"}};ri.extension=S.MaskEffect;});var ii,Vu=p(()=>{k();Nr();kn();Gn();ii=class{constructor(t){this.priority=0,this.pipe="stencilMask",t?.mask&&this.init(t.mask);}init(t){this.mask=t,this.mask.includeInBuild=false,this.mask.measurable=false;}reset(){this.mask.measurable=true,this.mask.includeInBuild=true,this.mask=null;}addBounds(t,e){Ps(this.mask,t,e);}addLocalBounds(t,e){Ms(this.mask,t,e);}containsPoint(t,e){let r=this.mask;return e(r,t)}destroy(){this.reset();}static test(t){return t instanceof Yt}};ii.extension=S.MaskEffect;});var or,Hu=p(()=>{Xt();k();he();or=class extends mt{constructor(t){t.resource||(t.resource=nt.get().createCanvas()),t.width||(t.width=t.resource.width,t.autoDensity||(t.width/=t.resolution)),t.height||(t.height=t.resource.height,t.autoDensity||(t.height/=t.resolution)),super(t),this.uploadMethodId="image",this.autoDensity=t.autoDensity,this.resizeCanvas(),this.transparent=!!t.transparent;}resizeCanvas(){this.autoDensity&&"style"in this.resource&&(this.resource.style.width=`${this.width}px`,this.resource.style.height=`${this.height}px`),(this.resource.width!==this.pixelWidth||this.resource.height!==this.pixelHeight)&&(this.resource.width=this.pixelWidth,this.resource.height=this.pixelHeight);}resize(t=this.width,e=this.height,r=this._resolution){let s=super.resize(t,e,r);return s&&this.resizeCanvas(),s}static test(t){return globalThis.HTMLCanvasElement&&t instanceof HTMLCanvasElement||globalThis.OffscreenCanvas&&t instanceof OffscreenCanvas}get context2D(){return this._context2D||(this._context2D=this.resource.getContext("2d"))}};or.extension=S.TextureSource;});var Qt,As=p(()=>{k();he();Qt=class extends mt{constructor(t){super(t),this.uploadMethodId="image",this.autoGarbageCollect=true;}static test(t){return globalThis.HTMLImageElement&&t instanceof HTMLImageElement||typeof ImageBitmap<"u"&&t instanceof ImageBitmap||globalThis.VideoFrame&&t instanceof VideoFrame}};Qt.extension=S.TextureSource;});async function Nu(){return In??(In=(async()=>{let t=document.createElement("canvas").getContext("webgl");if(!t)return "premultiply-alpha-on-upload";let e=await new Promise(n=>{let a=document.createElement("video");a.onloadeddata=()=>n(a),a.onerror=()=>n(null),a.autoplay=false,a.crossOrigin="anonymous",a.preload="auto",a.src="data:video/webm;base64,GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQJChYECGFOAZwEAAAAAAAHTEU2bdLpNu4tTq4QVSalmU6yBoU27i1OrhBZUrmtTrIHGTbuMU6uEElTDZ1OsggEXTbuMU6uEHFO7a1OsggG97AEAAAAAAABZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmoCrXsYMPQkBNgIRMYXZmV0GETGF2ZkSJiEBEAAAAAAAAFlSua8yuAQAAAAAAAEPXgQFzxYgAAAAAAAAAAZyBACK1nIN1bmSIgQCGhVZfVlA5g4EBI+ODhAJiWgDglLCBArqBApqBAlPAgQFVsIRVuYEBElTDZ9Vzc9JjwItjxYgAAAAAAAAAAWfInEWjh0VOQ09ERVJEh49MYXZjIGxpYnZweC12cDlnyKJFo4hEVVJBVElPTkSHlDAwOjAwOjAwLjA0MDAwMDAwMAAAH0O2dcfngQCgwqGggQAAAIJJg0IAABAAFgA4JBwYSgAAICAAEb///4r+AAB1oZ2mm+6BAaWWgkmDQgAAEAAWADgkHBhKAAAgIABIQBxTu2uRu4+zgQC3iveBAfGCAXHwgQM=",a.load();});if(!e)return "premultiply-alpha-on-upload";let r=t.createTexture();t.bindTexture(t.TEXTURE_2D,r);let s=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,s),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,false),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,t.NONE),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e);let o=new Uint8Array(4);return t.readPixels(0,0,1,1,t.RGBA,t.UNSIGNED_BYTE,o),t.deleteFramebuffer(s),t.deleteTexture(r),t.getExtension("WEBGL_lose_context")?.loseContext(),o[0]<=o[3]?"premultiplied-alpha":"premultiply-alpha-on-upload"})()),In}var In,$u=p(()=>{});var Cs,Xu,ju=p(()=>{k();Xr();$u();he();Cs=class Yu extends mt{constructor(t){super(t),this.isReady=false,this.uploadMethodId="video",t={...Yu.defaultOptions,...t},this._autoUpdate=true,this._isConnectedToTicker=false,this._updateFPS=t.updateFPS||0,this._msToNextUpdate=0,this.autoPlay=t.autoPlay!==false,this.alphaMode=t.alphaMode??"premultiply-alpha-on-upload",this._videoFrameRequestCallback=this._videoFrameRequestCallback.bind(this),this._videoFrameRequestCallbackHandle=null,this._load=null,this._resolve=null,this._reject=null,this._onCanPlay=this._onCanPlay.bind(this),this._onCanPlayThrough=this._onCanPlayThrough.bind(this),this._onError=this._onError.bind(this),this._onPlayStart=this._onPlayStart.bind(this),this._onPlayStop=this._onPlayStop.bind(this),this._onSeeked=this._onSeeked.bind(this),t.autoLoad!==false&&this.load();}updateFrame(){if(!this.destroyed){if(this._updateFPS){let t=gt.shared.elapsedMS*this.resource.playbackRate;this._msToNextUpdate=Math.floor(this._msToNextUpdate-t);}(!this._updateFPS||this._msToNextUpdate<=0)&&(this._msToNextUpdate=this._updateFPS?Math.floor(1e3/this._updateFPS):0),this.isValid&&this.update();}}_videoFrameRequestCallback(){this.updateFrame(),this.destroyed?this._videoFrameRequestCallbackHandle=null:this._videoFrameRequestCallbackHandle=this.resource.requestVideoFrameCallback(this._videoFrameRequestCallback);}get isValid(){return !!this.resource.videoWidth&&!!this.resource.videoHeight}async load(){if(this._load)return this._load;let t=this.resource,e=this.options;return (t.readyState===t.HAVE_ENOUGH_DATA||t.readyState===t.HAVE_FUTURE_DATA)&&t.width&&t.height&&(t.complete=true),t.addEventListener("play",this._onPlayStart),t.addEventListener("pause",this._onPlayStop),t.addEventListener("seeked",this._onSeeked),this._isSourceReady()?this._mediaReady():(e.preload||t.addEventListener("canplay",this._onCanPlay),t.addEventListener("canplaythrough",this._onCanPlayThrough),t.addEventListener("error",this._onError,true)),this.alphaMode=await Nu(),this._load=new Promise((r,s)=>{this.isValid?r(this):(this._resolve=r,this._reject=s,e.preloadTimeoutMs!==void 0&&(this._preloadTimeout=setTimeout(()=>{this._onError(new ErrorEvent(`Preload exceeded timeout of ${e.preloadTimeoutMs}ms`));})),t.load());}),this._load}_onError(t){this.resource.removeEventListener("error",this._onError,true),this.emit("error",t),this._reject&&(this._reject(t),this._reject=null,this._resolve=null);}_isSourcePlaying(){let t=this.resource;return !t.paused&&!t.ended}_isSourceReady(){return this.resource.readyState>2}_onPlayStart(){this.isValid||this._mediaReady(),this._configureAutoUpdate();}_onPlayStop(){this._configureAutoUpdate();}_onSeeked(){this._autoUpdate&&!this._isSourcePlaying()&&(this._msToNextUpdate=0,this.updateFrame(),this._msToNextUpdate=0);}_onCanPlay(){this.resource.removeEventListener("canplay",this._onCanPlay),this._mediaReady();}_onCanPlayThrough(){this.resource.removeEventListener("canplaythrough",this._onCanPlay),this._preloadTimeout&&(clearTimeout(this._preloadTimeout),this._preloadTimeout=void 0),this._mediaReady();}_mediaReady(){let t=this.resource;this.isValid&&(this.isReady=true,this.resize(t.videoWidth,t.videoHeight)),this._msToNextUpdate=0,this.updateFrame(),this._msToNextUpdate=0,this._resolve&&(this._resolve(this),this._resolve=null,this._reject=null),this._isSourcePlaying()?this._onPlayStart():this.autoPlay&&this.resource.play();}destroy(){this._configureAutoUpdate();let t=this.resource;t&&(t.removeEventListener("play",this._onPlayStart),t.removeEventListener("pause",this._onPlayStop),t.removeEventListener("seeked",this._onSeeked),t.removeEventListener("canplay",this._onCanPlay),t.removeEventListener("canplaythrough",this._onCanPlayThrough),t.removeEventListener("error",this._onError,true),t.pause(),t.src="",t.load()),super.destroy();}get autoUpdate(){return this._autoUpdate}set autoUpdate(t){t!==this._autoUpdate&&(this._autoUpdate=t,this._configureAutoUpdate());}get updateFPS(){return this._updateFPS}set updateFPS(t){t!==this._updateFPS&&(this._updateFPS=t,this._configureAutoUpdate());}_configureAutoUpdate(){this._autoUpdate&&this._isSourcePlaying()?!this._updateFPS&&this.resource.requestVideoFrameCallback?(this._isConnectedToTicker&&(gt.shared.remove(this.updateFrame,this),this._isConnectedToTicker=false,this._msToNextUpdate=0),this._videoFrameRequestCallbackHandle===null&&(this._videoFrameRequestCallbackHandle=this.resource.requestVideoFrameCallback(this._videoFrameRequestCallback))):(this._videoFrameRequestCallbackHandle!==null&&(this.resource.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker||(gt.shared.add(this.updateFrame,this),this._isConnectedToTicker=true,this._msToNextUpdate=0)):(this._videoFrameRequestCallbackHandle!==null&&(this.resource.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker&&(gt.shared.remove(this.updateFrame,this),this._isConnectedToTicker=false,this._msToNextUpdate=0));}static test(t){return globalThis.HTMLVideoElement&&t instanceof HTMLVideoElement}};Cs.extension=S.TextureSource;Cs.defaultOptions={...mt.defaultOptions,autoLoad:true,autoPlay:true,updateFPS:0,crossorigin:true,loop:false,muted:true,playsinline:true,preload:false};Cs.MIME_TYPES={ogv:"video/ogg",mov:"video/quicktime",m4v:"video/mp4"};Xu=Cs;});var Rn,ct,si=p(()=>{Tt();An();Rn=class{constructor(){this._parsers=[],this._cache=new Map,this._cacheMap=new Map;}reset(){this._cacheMap.clear(),this._cache.clear();}has(t){return this._cache.has(t)}get(t){let e=this._cache.get(t);return e||z(`[Assets] Asset id ${t} was not found in the Cache`),e}set(t,e){let r=ye(t),s;for(let l=0;l<this.parsers.length;l++){let h=this.parsers[l];if(h.test(e)){s=h.getCacheableAssets(r,e);break}}let o=new Map(Object.entries(s||{}));s||r.forEach(l=>{o.set(l,e);});let n=[...o.keys()],a={cacheKeys:n,keys:r};r.forEach(l=>{this._cacheMap.set(l,a);}),n.forEach(l=>{let h=s?s[l]:e;this._cache.has(l)&&this._cache.get(l)!==h&&z("[Cache] already has key:",l),this._cache.set(l,o.get(l));});}remove(t){if(!this._cacheMap.has(t)){z(`[Assets] Asset id ${t} was not found in the Cache`);return}let e=this._cacheMap.get(t);e.cacheKeys.forEach(s=>{this._cache.delete(s);}),e.keys.forEach(s=>{this._cacheMap.delete(s);});}get parsers(){return this._parsers}},ct=new Rn;});function qu(i={}){let t=i&&i.resource,e=t?i.resource:i,r=t?i:{resource:i};for(let s=0;s<Dn.length;s++){let o=Dn[s];if(o.test(e))return new o(r)}throw new Error(`Could not find a source type for resource: ${r.resource}`)}function Ku(i={},t=false){let e=i&&i.resource,r=e?i.resource:i,s=e?i:{resource:i};if(!t&&ct.has(r))return ct.get(r);let o=new B({source:qu(s)});return o.on("destroy",()=>{ct.has(r)&&ct.remove(r);}),t||ct.set(r,o),o}function Zu(i,t=false){return typeof i=="string"?ct.get(i):i instanceof mt?new B({source:i}):Ku(i,t)}var Dn,Ln=p(()=>{si();k();he();bt();Dn=[];I.handleByList(S.TextureSource,Dn);B.from=Zu;mt.from=qu;});var Es=p(()=>{k();zu();Wu();Vu();ln();Hu();As();ju();Ln();I.add(ei,ri,ii,Xu,Qt,or,Le);});var Vt,oi=p(()=>{Vt=class{constructor(t){this.resources=Object.create(null),this._dirty=true;let e=0;for(let r in t){let s=t[r];this.setResource(s,e++);}this._updateKey();}_updateKey(){if(!this._dirty)return;this._dirty=false;let t=[],e=0;for(let r in this.resources)t[e++]=this.resources[r]._resourceId;this._key=t.join("|");}setResource(t,e){let r=this.resources[e];t!==r&&(r&&t.off?.("change",this.onResourceChange,this),t.on?.("change",this.onResourceChange,this),this.resources[e]=t,this._dirty=true);}getResource(t){return this.resources[t]}_touch(t){let e=this.resources;for(let r in e)e[r]._touched=t;}destroy(){let t=this.resources;for(let e in t)t[e].off?.("change",this.onResourceChange,this);this.resources=null;}onResourceChange(t){if(this._dirty=true,t.destroyed){let e=this.resources;for(let r in e)e[r]===t&&(e[r]=null);}else this._updateKey();}};});function Ju(i,t,e){let r=2166136261;for(let s=0;s<t;s++)r^=i[s].uid,r=Math.imul(r,16777619),r>>>=0;return Qu[r]||Xg(i,t,r,e)}function Xg(i,t,e,r){let s={},o=0;for(let a=0;a<r;a++){let l=a<t?i[a]:B.EMPTY.source;s[o++]=l.source,s[o++]=l.style;}let n=new Vt(s);return Qu[e]=n,n}var Qu,tc=p(()=>{oi();bt();Qu={};});var Jt,Un=p(()=>{Jt=class{constructor(t){typeof t=="number"?this.rawBinaryData=new ArrayBuffer(t):t instanceof Uint8Array?this.rawBinaryData=t.buffer:this.rawBinaryData=t,this.uint32View=new Uint32Array(this.rawBinaryData),this.float32View=new Float32Array(this.rawBinaryData),this.size=this.rawBinaryData.byteLength;}get int8View(){return this._int8View||(this._int8View=new Int8Array(this.rawBinaryData)),this._int8View}get uint8View(){return this._uint8View||(this._uint8View=new Uint8Array(this.rawBinaryData)),this._uint8View}get int16View(){return this._int16View||(this._int16View=new Int16Array(this.rawBinaryData)),this._int16View}get int32View(){return this._int32View||(this._int32View=new Int32Array(this.rawBinaryData)),this._int32View}get float64View(){return this._float64Array||(this._float64Array=new Float64Array(this.rawBinaryData)),this._float64Array}get bigUint64View(){return this._bigUint64Array||(this._bigUint64Array=new BigUint64Array(this.rawBinaryData)),this._bigUint64Array}view(t){return this[`${t}View`]}destroy(){this.rawBinaryData=null,this._int8View=null,this._uint8View=null,this._int16View=null,this.uint16View=null,this._int32View=null,this.uint32View=null,this.float32View=null;}static sizeOf(t){switch(t){case "int8":case "uint8":return 1;case "int16":case "uint16":return 2;case "int32":case "uint32":case "float32":return 4;default:throw new Error(`${t} isn't a valid view type`)}}};});function On(i,t){let e=i.byteLength/8|0,r=new Float64Array(i,0,e);new Float64Array(t,0,e).set(r);let o=i.byteLength-e*8;if(o>0){let n=new Uint8Array(i,e*8,o);new Uint8Array(t,e*8,o).set(n);}}var ec=p(()=>{});var rc,ic=p(()=>{rc={normal:"normal-npm",add:"add-npm",screen:"screen-npm"};});function de(i,t){return t.alphaMode==="no-premultiply-alpha"&&rc[i]||i}var ni=p(()=>{ic();});function Bs(){return (!Fs||Fs?.isContextLost())&&(Fs=nt.get().createCanvas().getContext("webgl",{})),Fs}var Fs,zn=p(()=>{Xt();});function qg(i){let t="";for(let e=0;e<i;++e)e>0&&(t+=`
20
+ else `),e<i-1&&(t+=`if(test == ${e}.0){}`);return t}function sc(i,t){if(i===0)throw new Error("Invalid value of `0` passed to `checkMaxIfStatementsInShader`");let e=t.createShader(t.FRAGMENT_SHADER);try{for(;;){let r=jg.replace(/%forloop%/gi,qg(i));if(t.shaderSource(e,r),t.compileShader(e),!t.getShaderParameter(e,t.COMPILE_STATUS))i=i/2|0;else break}}finally{t.deleteShader(e);}return i}var jg,oc=p(()=>{jg=["precision mediump float;","void main(void){","float test = 0.1;","%forloop%","gl_FragColor = vec4(0.0);","}"].join(`
21
+ `);});function nc(){if(nr)return nr;let i=Bs();return nr=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),nr=sc(nr,i),i.getExtension("WEBGL_lose_context")?.loseContext(),nr}var nr,ac=p(()=>{zn();oc();nr=null;});var ks,lc=p(()=>{ks=class{constructor(){this.ids=Object.create(null),this.textures=[],this.count=0;}clear(){for(let t=0;t<this.count;t++){let e=this.textures[t];this.textures[t]=null,this.ids[e.uid]=null;}this.count=0;}};});function hc(){return Vn>0?cc[--Vn]:new Wn}function uc(i){cc[Vn++]=i;}var Wn,cc,Vn,ai,dc,pc,mc=p(()=>{Mt();Un();lt();ec();ni();ac();lc();Wn=class{constructor(){this.renderPipeId="batch",this.action="startBatch",this.start=0,this.size=0,this.textures=new ks,this.blendMode="normal",this.topology="triangle-strip",this.canBundle=true;}destroy(){this.textures=null,this.gpuBindGroup=null,this.bindGroup=null,this.batcher=null;}},cc=[],Vn=0;ai=0,dc=class fc{constructor(t){this.uid=Y("batcher"),this.dirty=true,this.batchIndex=0,this.batches=[],this._elements=[],t={...fc.defaultOptions,...t},t.maxTextures||(F("v8.8.0","maxTextures is a required option for Batcher now, please pass it in the options"),t.maxTextures=nc());let{maxTextures:e,attributesInitialSize:r,indicesInitialSize:s}=t;this.attributeBuffer=new Jt(r*4),this.indexBuffer=new Uint16Array(s),this.maxTextures=e;}begin(){this.elementSize=0,this.elementStart=0,this.indexSize=0,this.attributeSize=0;for(let t=0;t<this.batchIndex;t++)uc(this.batches[t]);this.batchIndex=0,this._batchIndexStart=0,this._batchIndexSize=0,this.dirty=true;}add(t){this._elements[this.elementSize++]=t,t._indexStart=this.indexSize,t._attributeStart=this.attributeSize,t._batcher=this,this.indexSize+=t.indexSize,this.attributeSize+=t.attributeSize*this.vertexSize;}checkAndUpdateTexture(t,e){let r=t._batch.textures.ids[e._source.uid];return !r&&r!==0?false:(t._textureId=r,t.texture=e,true)}updateElement(t){this.dirty=true;let e=this.attributeBuffer;t.packAsQuad?this.packQuadAttributes(t,e.float32View,e.uint32View,t._attributeStart,t._textureId):this.packAttributes(t,e.float32View,e.uint32View,t._attributeStart,t._textureId);}break(t){let e=this._elements;if(!e[this.elementStart])return;let r=hc(),s=r.textures;s.clear();let o=e[this.elementStart],n=de(o.blendMode,o.texture._source),a=o.topology;this.attributeSize*4>this.attributeBuffer.size&&this._resizeAttributeBuffer(this.attributeSize*4),this.indexSize>this.indexBuffer.length&&this._resizeIndexBuffer(this.indexSize);let l=this.attributeBuffer.float32View,h=this.attributeBuffer.uint32View,u=this.indexBuffer,c=this._batchIndexSize,f=this._batchIndexStart,d="startBatch",g=this.maxTextures;for(let x=this.elementStart;x<this.elementSize;++x){let m=e[x];e[x]=null;let y=m.texture._source,b=de(m.blendMode,y),v=n!==b||a!==m.topology;if(y._batchTick===ai&&!v){m._textureId=y._textureBindLocation,c+=m.indexSize,m.packAsQuad?(this.packQuadAttributes(m,l,h,m._attributeStart,m._textureId),this.packQuadIndex(u,m._indexStart,m._attributeStart/this.vertexSize)):(this.packAttributes(m,l,h,m._attributeStart,m._textureId),this.packIndex(m,u,m._indexStart,m._attributeStart/this.vertexSize)),m._batch=r;continue}y._batchTick=ai,(s.count>=g||v)&&(this._finishBatch(r,f,c-f,s,n,a,t,d),d="renderBatch",f=c,n=b,a=m.topology,r=hc(),s=r.textures,s.clear(),++ai),m._textureId=y._textureBindLocation=s.count,s.ids[y.uid]=s.count,s.textures[s.count++]=y,m._batch=r,c+=m.indexSize,m.packAsQuad?(this.packQuadAttributes(m,l,h,m._attributeStart,m._textureId),this.packQuadIndex(u,m._indexStart,m._attributeStart/this.vertexSize)):(this.packAttributes(m,l,h,m._attributeStart,m._textureId),this.packIndex(m,u,m._indexStart,m._attributeStart/this.vertexSize));}s.count>0&&(this._finishBatch(r,f,c-f,s,n,a,t,d),f=c,++ai),this.elementStart=this.elementSize,this._batchIndexStart=f,this._batchIndexSize=c;}_finishBatch(t,e,r,s,o,n,a,l){t.gpuBindGroup=null,t.bindGroup=null,t.action=l,t.batcher=this,t.textures=s,t.blendMode=o,t.topology=n,t.start=e,t.size=r,++ai,this.batches[this.batchIndex++]=t,a.add(t);}finish(t){this.break(t);}ensureAttributeBuffer(t){t*4<=this.attributeBuffer.size||this._resizeAttributeBuffer(t*4);}ensureIndexBuffer(t){t<=this.indexBuffer.length||this._resizeIndexBuffer(t);}_resizeAttributeBuffer(t){let e=Math.max(t,this.attributeBuffer.size*2),r=new Jt(e);On(this.attributeBuffer.rawBinaryData,r.rawBinaryData),this.attributeBuffer=r;}_resizeIndexBuffer(t){let e=this.indexBuffer,r=Math.max(t,e.length*1.5);r+=r%2;let s=r>65535?new Uint32Array(r):new Uint16Array(r);if(s.BYTES_PER_ELEMENT!==e.BYTES_PER_ELEMENT)for(let o=0;o<e.length;o++)s[o]=e[o];else On(e.buffer,s.buffer);this.indexBuffer=s;}packQuadIndex(t,e,r){t[e]=r+0,t[e+1]=r+1,t[e+2]=r+2,t[e+3]=r+0,t[e+4]=r+2,t[e+5]=r+3;}packIndex(t,e,r,s){let o=t.indices,n=t.indexSize,a=t.indexOffset,l=t.attributeOffset;for(let h=0;h<n;h++)e[r++]=s+o[h+a]-l;}destroy(){for(let t=0;t<this.batches.length;t++)uc(this.batches[t]);this.batches=null;for(let t=0;t<this._elements.length;t++)this._elements[t]._batch=null;this._elements=null,this.indexBuffer=null,this.attributeBuffer.destroy(),this.attributeBuffer=null;}};dc.defaultOptions={maxTextures:null,attributesInitialSize:4,indicesInitialSize:6};pc=dc;});var Q,ar=p(()=>{Q=(i=>(i[i.MAP_READ=1]="MAP_READ",i[i.MAP_WRITE=2]="MAP_WRITE",i[i.COPY_SRC=4]="COPY_SRC",i[i.COPY_DST=8]="COPY_DST",i[i.INDEX=16]="INDEX",i[i.VERTEX=32]="VERTEX",i[i.UNIFORM=64]="UNIFORM",i[i.STORAGE=128]="STORAGE",i[i.INDIRECT=256]="INDIRECT",i[i.QUERY_RESOLVE=512]="QUERY_RESOLVE",i[i.STATIC=1024]="STATIC",i))(Q||{});});var vt,lr=p(()=>{Et();Mt();ar();vt=class extends N{constructor(t){let{data:e,size:r}=t,{usage:s,label:o,shrinkToFit:n}=t;super(),this.uid=Y("buffer"),this._resourceType="buffer",this._resourceId=Y("resource"),this._touched=0,this._updateID=1,this._dataInt32=null,this.shrinkToFit=true,this.destroyed=false,e instanceof Array&&(e=new Float32Array(e)),this._data=e,r??(r=e?.byteLength);let a=!!e;this.descriptor={size:r,usage:s,mappedAtCreation:a,label:o},this.shrinkToFit=n??true;}get data(){return this._data}set data(t){this.setDataWithSize(t,t.length,true);}get dataInt32(){return this._dataInt32||(this._dataInt32=new Int32Array(this.data.buffer)),this._dataInt32}get static(){return !!(this.descriptor.usage&Q.STATIC)}set static(t){t?this.descriptor.usage|=Q.STATIC:this.descriptor.usage&=~Q.STATIC;}setDataWithSize(t,e,r){if(this._updateID++,this._updateSize=e*t.BYTES_PER_ELEMENT,this._data===t){r&&this.emit("update",this);return}let s=this._data;if(this._data=t,this._dataInt32=null,!s||s.length!==t.length){!this.shrinkToFit&&s&&t.byteLength<s.byteLength?r&&this.emit("update",this):(this.descriptor.size=t.byteLength,this._resourceId=Y("resource"),this.emit("change",this));return}r&&this.emit("update",this);}update(t){this._updateSize=t??this._updateSize,this._updateID++,this.emit("update",this);}destroy(){this.destroyed=true,this.emit("destroy",this),this.emit("change",this),this._data=null,this.descriptor=null,this.removeAllListeners();}};});function Hn(i,t){if(!(i instanceof vt)){let e=t?Q.INDEX:Q.VERTEX;i instanceof Array&&(t?(i=new Uint32Array(i),e=Q.INDEX|Q.COPY_DST):(i=new Float32Array(i),e=Q.VERTEX|Q.COPY_DST)),i=new vt({data:i,label:t?"index-mesh-buffer":"vertex-mesh-buffer",usage:e});}return i}var gc=p(()=>{lr();ar();});function xc(i,t,e){let r=i.getAttribute(t);if(!r)return e.minX=0,e.minY=0,e.maxX=0,e.maxY=0,e;let s=r.buffer.data,o=1/0,n=1/0,a=-1/0,l=-1/0,h=s.BYTES_PER_ELEMENT,u=(r.offset||0)/h,c=(r.stride||2*4)/h;for(let f=u;f<s.length;f+=c){let d=s[f],g=s[f+1];d>a&&(a=d),g>l&&(l=g),d<o&&(o=d),g<n&&(n=g);}return e.minX=o,e.minY=n,e.maxX=a,e.maxY=l,e}var _c=p(()=>{});function Kg(i){return (i instanceof vt||Array.isArray(i)||i.BYTES_PER_ELEMENT)&&(i={buffer:i}),i.buffer=Hn(i.buffer,false),i}var te,li=p(()=>{Et();$t();Mt();lr();gc();_c();te=class extends N{constructor(t={}){super(),this.uid=Y("geometry"),this._layoutKey=0,this.instanceCount=1,this._bounds=new ot,this._boundsDirty=true;let{attributes:e,indexBuffer:r,topology:s}=t;if(this.buffers=[],this.attributes={},e)for(let o in e)this.addAttribute(o,e[o]);this.instanceCount=t.instanceCount??1,r&&this.addIndex(r),this.topology=s||"triangle-list";}onBufferUpdate(){this._boundsDirty=true,this.emit("update",this);}getAttribute(t){return this.attributes[t]}getIndex(){return this.indexBuffer}getBuffer(t){return this.getAttribute(t).buffer}getSize(){for(let t in this.attributes){let e=this.attributes[t];return e.buffer.data.length/(e.stride/4||e.size)}return 0}addAttribute(t,e){let r=Kg(e);this.buffers.indexOf(r.buffer)===-1&&(this.buffers.push(r.buffer),r.buffer.on("update",this.onBufferUpdate,this),r.buffer.on("change",this.onBufferUpdate,this)),this.attributes[t]=r;}addIndex(t){this.indexBuffer=Hn(t,true),this.buffers.push(this.indexBuffer);}get bounds(){return this._boundsDirty?(this._boundsDirty=false,xc(this,"aPosition",this._bounds)):this._bounds}destroy(t=false){this.emit("destroy",this),this.removeAllListeners(),t&&this.buffers.forEach(e=>e.destroy()),this.attributes=null,this.buffers=null,this.indexBuffer=null,this._bounds=null;}};});var Zg,Qg,Gs,yc=p(()=>{lr();ar();li();Zg=new Float32Array(1),Qg=new Uint32Array(1),Gs=class extends te{constructor(){let e=new vt({data:Zg,label:"attribute-batch-buffer",usage:Q.VERTEX|Q.COPY_DST,shrinkToFit:false}),r=new vt({data:Qg,label:"index-batch-buffer",usage:Q.INDEX|Q.COPY_DST,shrinkToFit:false}),s=6*4;super({attributes:{aPosition:{buffer:e,format:"float32x2",stride:s,offset:0},aUV:{buffer:e,format:"float32x2",stride:s,offset:2*4},aColor:{buffer:e,format:"unorm8x4",stride:s,offset:4*4},aTextureIdAndRound:{buffer:e,format:"uint16x2",stride:s,offset:5*4}},indexBuffer:r});}};});function hr(i,t){let e=bc[i];return e===void 0&&(Nn[t]===void 0&&(Nn[t]=1),bc[i]=e=Nn[t]++),e}var Nn,bc,Is=p(()=>{Nn=Object.create(null),bc=Object.create(null);});function vc(){if(!Rs){Rs="mediump";let i=Bs();i&&i.getShaderPrecisionFormat&&(Rs=i.getShaderPrecisionFormat(i.FRAGMENT_SHADER,i.HIGH_FLOAT).precision?"highp":"mediump");}return Rs}var Rs,Sc=p(()=>{zn();});function Tc(i,t,e){return t?i:e?(i=i.replace("out vec4 finalColor;",""),`
22
22
 
23
23
  #ifdef GL_ES // This checks if it is WebGL1
24
24
  #define in varying
@@ -33,27 +33,27 @@ else `),e<i-1&&(t+=`if(test == ${e}.0){}`);return t}function ic(i,t){if(i===0)th
33
33
  #define out varying
34
34
  #endif
35
35
  ${i}
36
- `}var Tc=p(()=>{});function wc(i,t,e){let r=e?t.maxSupportedFragmentPrecision:t.maxSupportedVertexPrecision;if(i.substring(0,9)!=="precision"){let s=e?t.requestedFragmentPrecision:t.requestedVertexPrecision;return s==="highp"&&r!=="highp"&&(s="mediump"),`precision ${s} float;
37
- ${i}`}else if(r!=="highp"&&i.substring(0,15)==="precision highp")return i.replace("precision highp","precision mediump");return i}var Pc=p(()=>{});function Mc(i,t){return t?`#version 300 es
38
- ${i}`:i}var Ac=p(()=>{});function Cc(i,{name:t="pixi-program"},e=true){t=t.replace(/\s+/g,"-"),t+=e?"-fragment":"-vertex";let r=e?Qx:Jx;return r[t]?(r[t]++,t+=`-${r[t]}`):r[t]=1,i.indexOf("#define SHADER_NAME")!==-1?i:`${`#define SHADER_NAME ${t}`}
39
- ${i}`}var Qx,Jx,Ec=p(()=>{Qx={},Jx={};});function Fc(i,t){return t?i.replace("#version 300 es",""):i}var Bc=p(()=>{});var Nn,$n,kc,ur,Is=p(()=>{ks();vc();Tc();Pc();Ac();Ec();Bc();Nn={stripVersion:Fc,ensurePrecision:wc,addProgramDefines:Sc,setProgramName:Cc,insertVersion:Mc},$n=Object.create(null),kc=class Yn{constructor(t){t={...Yn.defaultOptions,...t};let e=t.fragment.indexOf("#version 300 es")!==-1,r={stripVersion:e,ensurePrecision:{requestedFragmentPrecision:t.preferredFragmentPrecision,requestedVertexPrecision:t.preferredVertexPrecision,maxSupportedVertexPrecision:"highp",maxSupportedFragmentPrecision:bc()},setProgramName:{name:t.name},addProgramDefines:e,insertVersion:e},s=t.fragment,o=t.vertex;Object.keys(Nn).forEach(n=>{let a=r[n];s=Nn[n](s,a,true),o=Nn[n](o,a,false);}),this.fragment=s,this.vertex=o,this.transformFeedbackVaryings=t.transformFeedbackVaryings,this._key=hr(`${this.vertex}:${this.fragment}`,"gl-program");}destroy(){this.fragment=null,this.vertex=null,this._attributeData=null,this._uniformData=null,this._uniformBlockData=null,this.transformFeedbackVaryings=null;}static from(t){let e=`${t.vertex}:${t.fragment}`;return $n[e]||($n[e]=new Yn(t)),$n[e]}};kc.defaultOptions={preferredVertexPrecision:"highp",preferredFragmentPrecision:"mediump"};ur=kc;});function Le(i){return Gc[i]??Gc.float32}var Gc,Rs=p(()=>{Gc={uint8x2:{size:2,stride:2,normalised:false},uint8x4:{size:4,stride:4,normalised:false},sint8x2:{size:2,stride:2,normalised:false},sint8x4:{size:4,stride:4,normalised:false},unorm8x2:{size:2,stride:2,normalised:true},unorm8x4:{size:4,stride:4,normalised:true},snorm8x2:{size:2,stride:2,normalised:true},snorm8x4:{size:4,stride:4,normalised:true},uint16x2:{size:2,stride:4,normalised:false},uint16x4:{size:4,stride:8,normalised:false},sint16x2:{size:2,stride:4,normalised:false},sint16x4:{size:4,stride:8,normalised:false},unorm16x2:{size:2,stride:4,normalised:true},unorm16x4:{size:4,stride:8,normalised:true},snorm16x2:{size:2,stride:4,normalised:true},snorm16x4:{size:4,stride:8,normalised:true},float16x2:{size:2,stride:4,normalised:false},float16x4:{size:4,stride:8,normalised:false},float32:{size:1,stride:4,normalised:false},float32x2:{size:2,stride:8,normalised:false},float32x3:{size:3,stride:12,normalised:false},float32x4:{size:4,stride:16,normalised:false},uint32:{size:1,stride:4,normalised:false},uint32x2:{size:2,stride:8,normalised:false},uint32x3:{size:3,stride:12,normalised:false},uint32x4:{size:4,stride:16,normalised:false},sint32:{size:1,stride:4,normalised:false},sint32x2:{size:2,stride:8,normalised:false},sint32x3:{size:3,stride:12,normalised:false},sint32x4:{size:4,stride:16,normalised:false}};});function Ic({source:i,entryPoint:t}){let e={},r=i.indexOf(`fn ${t}`);if(r!==-1){let s=i.indexOf("->",r);if(s!==-1){let o=i.substring(r,s),n=/@location\((\d+)\)\s+([a-zA-Z0-9_]+)\s*:\s*([a-zA-Z0-9_<>]+)(?:,|\s|$)/g,a;for(;(a=n.exec(o))!==null;){let l=tg[a[3]]??"float32";e[a[2]]={location:parseInt(a[1],10),format:l,stride:Le(l).stride,offset:0,instance:false,start:0};}}}return e}var tg,Rc=p(()=>{Rs();tg={f32:"float32","vec2<f32>":"float32x2","vec3<f32>":"float32x3","vec4<f32>":"float32x4",vec2f:"float32x2",vec3f:"float32x3",vec4f:"float32x4",i32:"sint32","vec2<i32>":"sint32x2","vec3<i32>":"sint32x3","vec4<i32>":"sint32x4",u32:"uint32","vec2<u32>":"uint32x2","vec3<u32>":"uint32x3","vec4<u32>":"uint32x4",bool:"uint32","vec2<bool>":"uint32x2","vec3<bool>":"uint32x3","vec4<bool>":"uint32x4"};});function Ds(i){let t=/(^|[^/])@(group|binding)\(\d+\)[^;]+;/g,e=/@group\((\d+)\)/,r=/@binding\((\d+)\)/,s=/var(<[^>]+>)? (\w+)/,o=/:\s*(\w+)/,n=/struct\s+(\w+)\s*{([^}]+)}/g,a=/(\w+)\s*:\s*([\w\<\>]+)/g,l=/struct\s+(\w+)/,h=i.match(t)?.map(c=>({group:parseInt(c.match(e)[1],10),binding:parseInt(c.match(r)[1],10),name:c.match(s)[2],isUniform:c.match(s)[1]==="<uniform>",type:c.match(o)[1]}));if(!h)return {groups:[],structs:[]};let u=i.match(n)?.map(c=>{let f=c.match(l)[1],d=c.match(a).reduce((m,g)=>{let[x,_]=g.split(":");return m[x.trim()]=_.trim(),m},{});return d?{name:f,members:d}:null}).filter(({name:c})=>h.some(f=>f.type===c))??[];return {groups:h,structs:u}}var Dc=p(()=>{});var cr,Uc=p(()=>{cr=(i=>(i[i.VERTEX=1]="VERTEX",i[i.FRAGMENT=2]="FRAGMENT",i[i.COMPUTE=4]="COMPUTE",i))(cr||{});});function Lc({groups:i}){let t=[];for(let e=0;e<i.length;e++){let r=i[e];t[r.group]||(t[r.group]=[]),r.isUniform?t[r.group].push({binding:r.binding,visibility:cr.VERTEX|cr.FRAGMENT,buffer:{type:"uniform"}}):r.type==="sampler"?t[r.group].push({binding:r.binding,visibility:cr.FRAGMENT,sampler:{type:"filtering"}}):r.type==="texture_2d"&&t[r.group].push({binding:r.binding,visibility:cr.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d",multisampled:false}});}return t}var Oc=p(()=>{Uc();});function zc({groups:i}){let t=[];for(let e=0;e<i.length;e++){let r=i[e];t[r.group]||(t[r.group]={}),t[r.group][r.name]=r.binding;}return t}var Wc=p(()=>{});function Vc(i,t){let e=new Set,r=new Set,s=[...i.structs,...t.structs].filter(n=>e.has(n.name)?false:(e.add(n.name),true)),o=[...i.groups,...t.groups].filter(n=>{let a=`${n.name}-${n.binding}`;return r.has(a)?false:(r.add(a),true)});return {structs:s,groups:o}}var Hc=p(()=>{});var Xn,be,Us=p(()=>{ks();Rc();Dc();Oc();Wc();Hc();Xn=Object.create(null),be=class i{constructor(t){this._layoutKey=0,this._attributeLocationsKey=0;let{fragment:e,vertex:r,layout:s,gpuLayout:o,name:n}=t;if(this.name=n,this.fragment=e,this.vertex=r,e.source===r.source){let a=Ds(e.source);this.structsAndGroups=a;}else {let a=Ds(r.source),l=Ds(e.source);this.structsAndGroups=Vc(a,l);}this.layout=s??zc(this.structsAndGroups),this.gpuLayout=o??Lc(this.structsAndGroups),this.autoAssignGlobalUniforms=this.layout[0]?.globalUniforms!==void 0,this.autoAssignLocalUniforms=this.layout[1]?.localUniforms!==void 0,this._generateProgramKey();}_generateProgramKey(){let{vertex:t,fragment:e}=this,r=t.source+e.source+t.entryPoint+e.entryPoint;this._layoutKey=hr(r,"program");}get attributeData(){return this._attributeData??(this._attributeData=Ic(this.vertex)),this._attributeData}destroy(){this.gpuLayout=null,this.layout=null,this.structsAndGroups=null,this.fragment=null,this.vertex=null;}static from(t){let e=`${t.vertex.source}:${t.fragment.source}:${t.fragment.entryPoint}:${t.vertex.entryPoint}`;return Xn[e]||(Xn[e]=new i(t)),Xn[e]}};});function jn(i,t,e){if(i)for(let r in i){let s=r.toLocaleLowerCase(),o=t[s];if(o){let n=i[r];r==="header"&&(n=n.replace(/@in\s+[^;]+;\s*/g,"").replace(/@out\s+[^;]+;\s*/g,"")),e&&o.push(`//----${e}----//`),o.push(n);}else V(`${r} placement hook does not exist in shader`);}}var Nc=p(()=>{Mt();});function qn(i){let t={};return (i.match(eg)?.map(r=>r.replace(/[{()}]/g,""))??[]).forEach(r=>{t[r]=[];}),t}var eg,$c=p(()=>{eg=/\{\{(.*?)\}\}/g;});function Yc(i,t){let e,r=/@in\s+([^;]+);/g;for(;(e=r.exec(i))!==null;)t.push(e[1]);}function Kn(i,t,e=false){let r=[];Yc(t,r),i.forEach(a=>{a.header&&Yc(a.header,r);});let s=r;e&&s.sort();let o=s.map((a,l)=>` @location(${l}) ${a},`).join(`
36
+ `}var wc=p(()=>{});function Pc(i,t,e){let r=e?t.maxSupportedFragmentPrecision:t.maxSupportedVertexPrecision;if(i.substring(0,9)!=="precision"){let s=e?t.requestedFragmentPrecision:t.requestedVertexPrecision;return s==="highp"&&r!=="highp"&&(s="mediump"),`precision ${s} float;
37
+ ${i}`}else if(r!=="highp"&&i.substring(0,15)==="precision highp")return i.replace("precision highp","precision mediump");return i}var Mc=p(()=>{});function Ac(i,t){return t?`#version 300 es
38
+ ${i}`:i}var Cc=p(()=>{});function Ec(i,{name:t="pixi-program"},e=true){t=t.replace(/\s+/g,"-"),t+=e?"-fragment":"-vertex";let r=e?Jg:tx;return r[t]?(r[t]++,t+=`-${r[t]}`):r[t]=1,i.indexOf("#define SHADER_NAME")!==-1?i:`${`#define SHADER_NAME ${t}`}
39
+ ${i}`}var Jg,tx,Fc=p(()=>{Jg={},tx={};});function Bc(i,t){return t?i.replace("#version 300 es",""):i}var kc=p(()=>{});var $n,Yn,Gc,ur,Ds=p(()=>{Is();Sc();wc();Mc();Cc();Fc();kc();$n={stripVersion:Bc,ensurePrecision:Pc,addProgramDefines:Tc,setProgramName:Ec,insertVersion:Ac},Yn=Object.create(null),Gc=class Xn{constructor(t){t={...Xn.defaultOptions,...t};let e=t.fragment.indexOf("#version 300 es")!==-1,r={stripVersion:e,ensurePrecision:{requestedFragmentPrecision:t.preferredFragmentPrecision,requestedVertexPrecision:t.preferredVertexPrecision,maxSupportedVertexPrecision:"highp",maxSupportedFragmentPrecision:vc()},setProgramName:{name:t.name},addProgramDefines:e,insertVersion:e},s=t.fragment,o=t.vertex;Object.keys($n).forEach(n=>{let a=r[n];s=$n[n](s,a,true),o=$n[n](o,a,false);}),this.fragment=s,this.vertex=o,this.transformFeedbackVaryings=t.transformFeedbackVaryings,this._key=hr(`${this.vertex}:${this.fragment}`,"gl-program");}destroy(){this.fragment=null,this.vertex=null,this._attributeData=null,this._uniformData=null,this._uniformBlockData=null,this.transformFeedbackVaryings=null;}static from(t){let e=`${t.vertex}:${t.fragment}`;return Yn[e]||(Yn[e]=new Xn(t)),Yn[e]}};Gc.defaultOptions={preferredVertexPrecision:"highp",preferredFragmentPrecision:"mediump"};ur=Gc;});function Ue(i){return Ic[i]??Ic.float32}var Ic,Ls=p(()=>{Ic={uint8x2:{size:2,stride:2,normalised:false},uint8x4:{size:4,stride:4,normalised:false},sint8x2:{size:2,stride:2,normalised:false},sint8x4:{size:4,stride:4,normalised:false},unorm8x2:{size:2,stride:2,normalised:true},unorm8x4:{size:4,stride:4,normalised:true},snorm8x2:{size:2,stride:2,normalised:true},snorm8x4:{size:4,stride:4,normalised:true},uint16x2:{size:2,stride:4,normalised:false},uint16x4:{size:4,stride:8,normalised:false},sint16x2:{size:2,stride:4,normalised:false},sint16x4:{size:4,stride:8,normalised:false},unorm16x2:{size:2,stride:4,normalised:true},unorm16x4:{size:4,stride:8,normalised:true},snorm16x2:{size:2,stride:4,normalised:true},snorm16x4:{size:4,stride:8,normalised:true},float16x2:{size:2,stride:4,normalised:false},float16x4:{size:4,stride:8,normalised:false},float32:{size:1,stride:4,normalised:false},float32x2:{size:2,stride:8,normalised:false},float32x3:{size:3,stride:12,normalised:false},float32x4:{size:4,stride:16,normalised:false},uint32:{size:1,stride:4,normalised:false},uint32x2:{size:2,stride:8,normalised:false},uint32x3:{size:3,stride:12,normalised:false},uint32x4:{size:4,stride:16,normalised:false},sint32:{size:1,stride:4,normalised:false},sint32x2:{size:2,stride:8,normalised:false},sint32x3:{size:3,stride:12,normalised:false},sint32x4:{size:4,stride:16,normalised:false}};});function Rc({source:i,entryPoint:t}){let e={},r=i.indexOf(`fn ${t}`);if(r!==-1){let s=i.indexOf("->",r);if(s!==-1){let o=i.substring(r,s),n=/@location\((\d+)\)\s+([a-zA-Z0-9_]+)\s*:\s*([a-zA-Z0-9_<>]+)(?:,|\s|$)/g,a;for(;(a=n.exec(o))!==null;){let l=ex[a[3]]??"float32";e[a[2]]={location:parseInt(a[1],10),format:l,stride:Ue(l).stride,offset:0,instance:false,start:0};}}}return e}var ex,Dc=p(()=>{Ls();ex={f32:"float32","vec2<f32>":"float32x2","vec3<f32>":"float32x3","vec4<f32>":"float32x4",vec2f:"float32x2",vec3f:"float32x3",vec4f:"float32x4",i32:"sint32","vec2<i32>":"sint32x2","vec3<i32>":"sint32x3","vec4<i32>":"sint32x4",u32:"uint32","vec2<u32>":"uint32x2","vec3<u32>":"uint32x3","vec4<u32>":"uint32x4",bool:"uint32","vec2<bool>":"uint32x2","vec3<bool>":"uint32x3","vec4<bool>":"uint32x4"};});function Us(i){let t=/(^|[^/])@(group|binding)\(\d+\)[^;]+;/g,e=/@group\((\d+)\)/,r=/@binding\((\d+)\)/,s=/var(<[^>]+>)? (\w+)/,o=/:\s*(\w+)/,n=/struct\s+(\w+)\s*{([^}]+)}/g,a=/(\w+)\s*:\s*([\w\<\>]+)/g,l=/struct\s+(\w+)/,h=i.match(t)?.map(c=>({group:parseInt(c.match(e)[1],10),binding:parseInt(c.match(r)[1],10),name:c.match(s)[2],isUniform:c.match(s)[1]==="<uniform>",type:c.match(o)[1]}));if(!h)return {groups:[],structs:[]};let u=i.match(n)?.map(c=>{let f=c.match(l)[1],d=c.match(a).reduce((g,x)=>{let[m,_]=x.split(":");return g[m.trim()]=_.trim(),g},{});return d?{name:f,members:d}:null}).filter(({name:c})=>h.some(f=>f.type===c))??[];return {groups:h,structs:u}}var Lc=p(()=>{});var cr,Uc=p(()=>{cr=(i=>(i[i.VERTEX=1]="VERTEX",i[i.FRAGMENT=2]="FRAGMENT",i[i.COMPUTE=4]="COMPUTE",i))(cr||{});});function Oc({groups:i}){let t=[];for(let e=0;e<i.length;e++){let r=i[e];t[r.group]||(t[r.group]=[]),r.isUniform?t[r.group].push({binding:r.binding,visibility:cr.VERTEX|cr.FRAGMENT,buffer:{type:"uniform"}}):r.type==="sampler"?t[r.group].push({binding:r.binding,visibility:cr.FRAGMENT,sampler:{type:"filtering"}}):r.type==="texture_2d"&&t[r.group].push({binding:r.binding,visibility:cr.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d",multisampled:false}});}return t}var zc=p(()=>{Uc();});function Wc({groups:i}){let t=[];for(let e=0;e<i.length;e++){let r=i[e];t[r.group]||(t[r.group]={}),t[r.group][r.name]=r.binding;}return t}var Vc=p(()=>{});function Hc(i,t){let e=new Set,r=new Set,s=[...i.structs,...t.structs].filter(n=>e.has(n.name)?false:(e.add(n.name),true)),o=[...i.groups,...t.groups].filter(n=>{let a=`${n.name}-${n.binding}`;return r.has(a)?false:(r.add(a),true)});return {structs:s,groups:o}}var Nc=p(()=>{});var jn,be,Os=p(()=>{Is();Dc();Lc();zc();Vc();Nc();jn=Object.create(null),be=class i{constructor(t){this._layoutKey=0,this._attributeLocationsKey=0;let{fragment:e,vertex:r,layout:s,gpuLayout:o,name:n}=t;if(this.name=n,this.fragment=e,this.vertex=r,e.source===r.source){let a=Us(e.source);this.structsAndGroups=a;}else {let a=Us(r.source),l=Us(e.source);this.structsAndGroups=Hc(a,l);}this.layout=s??Wc(this.structsAndGroups),this.gpuLayout=o??Oc(this.structsAndGroups),this.autoAssignGlobalUniforms=this.layout[0]?.globalUniforms!==void 0,this.autoAssignLocalUniforms=this.layout[1]?.localUniforms!==void 0,this._generateProgramKey();}_generateProgramKey(){let{vertex:t,fragment:e}=this,r=t.source+e.source+t.entryPoint+e.entryPoint;this._layoutKey=hr(r,"program");}get attributeData(){return this._attributeData??(this._attributeData=Rc(this.vertex)),this._attributeData}destroy(){this.gpuLayout=null,this.layout=null,this.structsAndGroups=null,this.fragment=null,this.vertex=null;}static from(t){let e=`${t.vertex.source}:${t.fragment.source}:${t.fragment.entryPoint}:${t.vertex.entryPoint}`;return jn[e]||(jn[e]=new i(t)),jn[e]}};});function qn(i,t,e){if(i)for(let r in i){let s=r.toLocaleLowerCase(),o=t[s];if(o){let n=i[r];r==="header"&&(n=n.replace(/@in\s+[^;]+;\s*/g,"").replace(/@out\s+[^;]+;\s*/g,"")),e&&o.push(`//----${e}----//`),o.push(n);}else z(`${r} placement hook does not exist in shader`);}}var $c=p(()=>{Tt();});function Kn(i){let t={};return (i.match(rx)?.map(r=>r.replace(/[{()}]/g,""))??[]).forEach(r=>{t[r]=[];}),t}var rx,Yc=p(()=>{rx=/\{\{(.*?)\}\}/g;});function Xc(i,t){let e,r=/@in\s+([^;]+);/g;for(;(e=r.exec(i))!==null;)t.push(e[1]);}function Zn(i,t,e=false){let r=[];Xc(t,r),i.forEach(a=>{a.header&&Xc(a.header,r);});let s=r;e&&s.sort();let o=s.map((a,l)=>` @location(${l}) ${a},`).join(`
40
40
  `),n=t.replace(/@in\s+[^;]+;\s*/g,"");return n=n.replace("{{in}}",`
41
41
  ${o}
42
- `),n}var Xc=p(()=>{});function jc(i,t){let e,r=/@out\s+([^;]+);/g;for(;(e=r.exec(i))!==null;)t.push(e[1]);}function rg(i){let e=/\b(\w+)\s*:/g.exec(i);return e?e[1]:""}function ig(i){let t=/@.*?\s+/g;return i.replace(t,"")}function qc(i,t){let e=[];jc(t,e),i.forEach(l=>{l.header&&jc(l.header,e);});let r=0,s=e.sort().map(l=>l.indexOf("builtin")>-1?l:`@location(${r++}) ${l}`).join(`,
43
- `),o=e.sort().map(l=>` var ${ig(l)};`).join(`
42
+ `),n}var jc=p(()=>{});function qc(i,t){let e,r=/@out\s+([^;]+);/g;for(;(e=r.exec(i))!==null;)t.push(e[1]);}function ix(i){let e=/\b(\w+)\s*:/g.exec(i);return e?e[1]:""}function sx(i){let t=/@.*?\s+/g;return i.replace(t,"")}function Kc(i,t){let e=[];qc(t,e),i.forEach(l=>{l.header&&qc(l.header,e);});let r=0,s=e.sort().map(l=>l.indexOf("builtin")>-1?l:`@location(${r++}) ${l}`).join(`,
43
+ `),o=e.sort().map(l=>` var ${sx(l)};`).join(`
44
44
  `),n=`return VSOutput(
45
- ${e.sort().map(l=>` ${rg(l)}`).join(`,
45
+ ${e.sort().map(l=>` ${ix(l)}`).join(`,
46
46
  `)});`,a=t.replace(/@out\s+[^;]+;\s*/g,"");return a=a.replace("{{struct}}",`
47
47
  ${s}
48
48
  `),a=a.replace("{{start}}",`
49
49
  ${o}
50
50
  `),a=a.replace("{{return}}",`
51
51
  ${n}
52
- `),a}var Kc=p(()=>{});function Zn(i,t){let e=i;for(let r in t){let s=t[r];s.join(`
52
+ `),a}var Zc=p(()=>{});function Qn(i,t){let e=i;for(let r in t){let s=t[r];s.join(`
53
53
  `).length?e=e.replace(`{{${r}}}`,`//-----${r} START-----//
54
54
  ${s.join(`
55
55
  `)}
56
- //----${r} FINISH----//`):e=e.replace(`{{${r}}}`,"");}return e}var Zc=p(()=>{});function Qc({template:i,bits:t}){let e=td(i,t);if(ve[e])return ve[e];let{vertex:r,fragment:s}=og(i,t);return ve[e]=ed(r,s,t),ve[e]}function Jc({template:i,bits:t}){let e=td(i,t);return ve[e]||(ve[e]=ed(i.vertex,i.fragment,t)),ve[e]}function og(i,t){let e=t.map(n=>n.vertex).filter(n=>!!n),r=t.map(n=>n.fragment).filter(n=>!!n),s=Kn(e,i.vertex,true);s=qc(e,s);let o=Kn(r,i.fragment,true);return {vertex:s,fragment:o}}function td(i,t){return t.map(e=>(Qn.has(e)||Qn.set(e,sg++),Qn.get(e))).sort((e,r)=>e-r).join("-")+i.vertex+i.fragment}function ed(i,t,e){let r=qn(i),s=qn(t);return e.forEach(o=>{jn(o.vertex,r,o.name),jn(o.fragment,s,o.name);}),{vertex:Zn(i,r),fragment:Zn(t,s)}}var ve,Qn,sg,rd=p(()=>{Nc();$c();Xc();Kc();Zc();ve=Object.create(null),Qn=new Map,sg=0;});var id,sd,od,nd,ad=p(()=>{id=`
56
+ //----${r} FINISH----//`):e=e.replace(`{{${r}}}`,"");}return e}var Qc=p(()=>{});function Jc({template:i,bits:t}){let e=ed(i,t);if(ve[e])return ve[e];let{vertex:r,fragment:s}=nx(i,t);return ve[e]=rd(r,s,t),ve[e]}function td({template:i,bits:t}){let e=ed(i,t);return ve[e]||(ve[e]=rd(i.vertex,i.fragment,t)),ve[e]}function nx(i,t){let e=t.map(n=>n.vertex).filter(n=>!!n),r=t.map(n=>n.fragment).filter(n=>!!n),s=Zn(e,i.vertex,true);s=Kc(e,s);let o=Zn(r,i.fragment,true);return {vertex:s,fragment:o}}function ed(i,t){return t.map(e=>(Jn.has(e)||Jn.set(e,ox++),Jn.get(e))).sort((e,r)=>e-r).join("-")+i.vertex+i.fragment}function rd(i,t,e){let r=Kn(i),s=Kn(t);return e.forEach(o=>{qn(o.vertex,r,o.name),qn(o.fragment,s,o.name);}),{vertex:Qn(i,r),fragment:Qn(t,s)}}var ve,Jn,ox,id=p(()=>{$c();Yc();jc();Zc();Qc();ve=Object.create(null),Jn=new Map,ox=0;});var sd,od,nd,ad,ld=p(()=>{sd=`
57
57
  @in aPosition: vec2<f32>;
58
58
  @in aUV: vec2<f32>;
59
59
 
@@ -97,7 +97,7 @@ ${s.join(`
97
97
 
98
98
  {{return}}
99
99
  };
100
- `,sd=`
100
+ `,od=`
101
101
  @in vUV : vec2<f32>;
102
102
  @in vColor : vec4<f32>;
103
103
 
@@ -120,7 +120,7 @@ ${s.join(`
120
120
 
121
121
  return finalColor;
122
122
  };
123
- `,od=`
123
+ `,nd=`
124
124
  in vec2 aPosition;
125
125
  in vec2 aUV;
126
126
 
@@ -156,7 +156,7 @@ ${s.join(`
156
156
 
157
157
  {{end}}
158
158
  }
159
- `,nd=`
159
+ `,ad=`
160
160
 
161
161
  in vec4 vColor;
162
162
  in vec2 vUV;
@@ -177,7 +177,7 @@ ${s.join(`
177
177
 
178
178
  {{end}}
179
179
  }
180
- `;});var ld,hd,ud=p(()=>{ld={name:"global-uniforms-bit",vertex:{header:`
180
+ `;});var hd,ud,cd=p(()=>{hd={name:"global-uniforms-bit",vertex:{header:`
181
181
  struct GlobalUniforms {
182
182
  uProjectionMatrix:mat3x3<f32>,
183
183
  uWorldTransformMatrix:mat3x3<f32>,
@@ -186,22 +186,22 @@ ${s.join(`
186
186
  }
187
187
 
188
188
  @group(0) @binding(0) var<uniform> globalUniforms : GlobalUniforms;
189
- `}},hd={name:"global-uniforms-bit",vertex:{header:`
189
+ `}},ud={name:"global-uniforms-bit",vertex:{header:`
190
190
  uniform mat3 uProjectionMatrix;
191
191
  uniform mat3 uWorldTransformMatrix;
192
192
  uniform vec4 uWorldColorAlpha;
193
193
  uniform vec2 uResolution;
194
- `}};});function dr({bits:i,name:t}){let e=Qc({template:{fragment:sd,vertex:id},bits:[ld,...i]});return be.from({name:t,vertex:{source:e.vertex,entryPoint:"main"},fragment:{source:e.fragment,entryPoint:"main"}})}function fr({bits:i,name:t}){return new ur({name:t,...Jc({template:{vertex:od,fragment:nd},bits:[hd,...i]})})}var Ls=p(()=>{Is();Us();rd();ad();ud();});var Os,zs,Jn=p(()=>{Os={name:"color-bit",vertex:{header:`
194
+ `}};});function dr({bits:i,name:t}){let e=Jc({template:{fragment:od,vertex:sd},bits:[hd,...i]});return be.from({name:t,vertex:{source:e.vertex,entryPoint:"main"},fragment:{source:e.fragment,entryPoint:"main"}})}function fr({bits:i,name:t}){return new ur({name:t,...td({template:{vertex:nd,fragment:ad},bits:[ud,...i]})})}var zs=p(()=>{Ds();Os();id();ld();cd();});var Ws,Vs,ta=p(()=>{Ws={name:"color-bit",vertex:{header:`
195
195
  @in aColor: vec4<f32>;
196
196
  `,main:`
197
197
  vColor *= vec4<f32>(aColor.rgb * aColor.a, aColor.a);
198
- `}},zs={name:"color-bit",vertex:{header:`
198
+ `}},Vs={name:"color-bit",vertex:{header:`
199
199
  in vec4 aColor;
200
200
  `,main:`
201
201
  vColor *= vec4(aColor.rgb * aColor.a, aColor.a);
202
- `}};});function ng(i){let t=[];if(i===1)t.push("@group(1) @binding(0) var textureSource1: texture_2d<f32>;"),t.push("@group(1) @binding(1) var textureSampler1: sampler;");else {let e=0;for(let r=0;r<i;r++)t.push(`@group(1) @binding(${e++}) var textureSource${r+1}: texture_2d<f32>;`),t.push(`@group(1) @binding(${e++}) var textureSampler${r+1}: sampler;`);}return t.join(`
203
- `)}function ag(i){let t=[];if(i===1)t.push("outColor = textureSampleGrad(textureSource1, textureSampler1, vUV, uvDx, uvDy);");else {t.push("switch vTextureId {");for(let e=0;e<i;e++)e===i-1?t.push(" default:{"):t.push(` case ${e}:{`),t.push(` outColor = textureSampleGrad(textureSource${e+1}, textureSampler${e+1}, vUV, uvDx, uvDy);`),t.push(" break;}");t.push("}");}return t.join(`
204
- `)}function Ws(i){return ta[i]||(ta[i]={name:"texture-batch-bit",vertex:{header:`
202
+ `}};});function ax(i){let t=[];if(i===1)t.push("@group(1) @binding(0) var textureSource1: texture_2d<f32>;"),t.push("@group(1) @binding(1) var textureSampler1: sampler;");else {let e=0;for(let r=0;r<i;r++)t.push(`@group(1) @binding(${e++}) var textureSource${r+1}: texture_2d<f32>;`),t.push(`@group(1) @binding(${e++}) var textureSampler${r+1}: sampler;`);}return t.join(`
203
+ `)}function lx(i){let t=[];if(i===1)t.push("outColor = textureSampleGrad(textureSource1, textureSampler1, vUV, uvDx, uvDy);");else {t.push("switch vTextureId {");for(let e=0;e<i;e++)e===i-1?t.push(" default:{"):t.push(` case ${e}:{`),t.push(` outColor = textureSampleGrad(textureSource${e+1}, textureSampler${e+1}, vUV, uvDx, uvDy);`),t.push(" break;}");t.push("}");}return t.join(`
204
+ `)}function Hs(i){return ea[i]||(ea[i]={name:"texture-batch-bit",vertex:{header:`
205
205
  @in aTextureIdAndRound: vec2<u32>;
206
206
  @out @interpolate(flat) vTextureId : u32;
207
207
  `,main:`
@@ -214,14 +214,14 @@ ${s.join(`
214
214
  `},fragment:{header:`
215
215
  @in @interpolate(flat) vTextureId: u32;
216
216
 
217
- ${ng(i)}
217
+ ${ax(i)}
218
218
  `,main:`
219
219
  var uvDx = dpdx(vUV);
220
220
  var uvDy = dpdy(vUV);
221
221
 
222
- ${ag(i)}
223
- `}}),ta[i]}function lg(i){let t=[];for(let e=0;e<i;e++)e>0&&t.push("else"),e<i-1&&t.push(`if(vTextureId < ${e}.5)`),t.push("{"),t.push(` outColor = texture(uTextures[${e}], vUV);`),t.push("}");return t.join(`
224
- `)}function Vs(i){return ea[i]||(ea[i]={name:"texture-batch-bit",vertex:{header:`
222
+ ${lx(i)}
223
+ `}}),ea[i]}function hx(i){let t=[];for(let e=0;e<i;e++)e>0&&t.push("else"),e<i-1&&t.push(`if(vTextureId < ${e}.5)`),t.push("{"),t.push(` outColor = texture(uTextures[${e}], vUV);`),t.push("}");return t.join(`
224
+ `)}function Ns(i){return ra[i]||(ra[i]={name:"texture-batch-bit",vertex:{header:`
225
225
  in vec2 aTextureIdAndRound;
226
226
  out float vTextureId;
227
227
 
@@ -239,8 +239,8 @@ ${s.join(`
239
239
 
240
240
  `,main:`
241
241
 
242
- ${lg(i)}
243
- `}}),ea[i]}var ta,ea,ra=p(()=>{ta={};ea={};});var pr,mr,Hs=p(()=>{pr={name:"round-pixels-bit",vertex:{header:`
242
+ ${hx(i)}
243
+ `}}),ra[i]}var ea,ra,ia=p(()=>{ea={};ra={};});var pr,mr,$s=p(()=>{pr={name:"round-pixels-bit",vertex:{header:`
244
244
  fn roundPixels(position: vec2<f32>, targetSize: vec2<f32>) -> vec2<f32>
245
245
  {
246
246
  return (floor(((position * 0.5 + 0.5) * targetSize) + 0.5) / targetSize) * 2.0 - 1.0;
@@ -250,7 +250,7 @@ ${s.join(`
250
250
  {
251
251
  return (floor(((position * 0.5 + 0.5) * targetSize) + 0.5) / targetSize) * 2.0 - 1.0;
252
252
  }
253
- `}};});var ia,cd,dd=p(()=>{ia=["f32","i32","vec2<f32>","vec3<f32>","vec4<f32>","mat2x2<f32>","mat3x3<f32>","mat4x4<f32>","mat3x2<f32>","mat4x2<f32>","mat2x3<f32>","mat4x3<f32>","mat2x4<f32>","mat3x4<f32>","vec2<i32>","vec3<i32>","vec4<i32>"],cd=ia.reduce((i,t)=>(i[t]=true,i),{});});function fd(i,t){switch(i){case "f32":return 0;case "vec2<f32>":return new Float32Array(2*t);case "vec3<f32>":return new Float32Array(3*t);case "vec4<f32>":return new Float32Array(4*t);case "mat2x2<f32>":return new Float32Array([1,0,0,1]);case "mat3x3<f32>":return new Float32Array([1,0,0,0,1,0,0,0,1]);case "mat4x4<f32>":return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}return null}var pd=p(()=>{});var md,Ct,Se=p(()=>{Pt();ks();dd();pd();md=class xd{constructor(t,e){this._touched=0,this.uid=Y("uniform"),this._resourceType="uniformGroup",this._resourceId=Y("resource"),this.isUniformGroup=true,this._dirtyId=0,this.destroyed=false,e={...xd.defaultOptions,...e},this.uniformStructures=t;let r={};for(let s in t){let o=t[s];if(o.name=s,o.size=o.size??1,!cd[o.type])throw new Error(`Uniform type ${o.type} is not supported. Supported uniform types are: ${ia.join(", ")}`);o.value??(o.value=fd(o.type,o.size)),r[s]=o.value;}this.uniforms=r,this._dirtyId=1,this.ubo=e.ubo,this.isStatic=e.isStatic,this._signature=hr(Object.keys(r).map(s=>`${s}-${t[s].type}`).join("-"),"uniform-group");}update(){this._dirtyId++;}};md.defaultOptions={ubo:false,isStatic:false};Ct=md;});function Ns(i){let t=gd[i];if(t)return t;let e=new Int32Array(i);for(let r=0;r<i;r++)e[r]=r;return t=gd[i]=new Ct({uTextures:{value:e,type:"i32",size:i}},{isStatic:true}),t}var gd,sa=p(()=>{Se();gd={};});var ee,hi=p(()=>{ee=(i=>(i[i.WEBGL=1]="WEBGL",i[i.WEBGPU=2]="WEBGPU",i[i.BOTH=3]="BOTH",i))(ee||{});});var re,ui=p(()=>{Et();Pt();Is();oi();Us();hi();Se();re=class i extends N{constructor(t){super(),this.uid=Y("shader"),this._uniformBindMap=Object.create(null),this._ownedBindGroups=[];let{gpuProgram:e,glProgram:r,groups:s,resources:o,compatibleRenderers:n,groupMap:a}=t;this.gpuProgram=e,this.glProgram=r,n===void 0&&(n=0,e&&(n|=ee.WEBGPU),r&&(n|=ee.WEBGL)),this.compatibleRenderers=n;let l={};if(!o&&!s&&(o={}),o&&s)throw new Error("[Shader] Cannot have both resources and groups");if(!e&&s&&!a)throw new Error("[Shader] No group map or WebGPU shader provided - consider using resources instead.");if(!e&&s&&a)for(let h in a)for(let u in a[h]){let c=a[h][u];l[c]={group:h,binding:u,name:c};}else if(e&&s&&!a){let h=e.structsAndGroups.groups;a={},h.forEach(u=>{a[u.group]=a[u.group]||{},a[u.group][u.binding]=u.name,l[u.name]=u;});}else if(o){s={},a={},e&&e.structsAndGroups.groups.forEach(c=>{a[c.group]=a[c.group]||{},a[c.group][c.binding]=c.name,l[c.name]=c;});let h=0;for(let u in o)l[u]||(s[99]||(s[99]=new Vt,this._ownedBindGroups.push(s[99])),l[u]={group:99,binding:h,name:u},a[99]=a[99]||{},a[99][h]=u,h++);for(let u in o){let c=u,f=o[u];!f.source&&!f._resourceType&&(f=new Ct(f));let d=l[c];d&&(s[d.group]||(s[d.group]=new Vt,this._ownedBindGroups.push(s[d.group])),s[d.group].setResource(f,d.binding));}}this.groups=s,this._uniformBindMap=a,this.resources=this._buildResourceAccessor(s,l);}addResource(t,e,r){var s,o;(s=this._uniformBindMap)[e]||(s[e]={}),(o=this._uniformBindMap[e])[r]||(o[r]=t),this.groups[e]||(this.groups[e]=new Vt,this._ownedBindGroups.push(this.groups[e]));}_buildResourceAccessor(t,e){let r={};for(let s in e){let o=e[s];Object.defineProperty(r,o.name,{get(){return t[o.group].getResource(o.binding)},set(n){t[o.group].setResource(n,o.binding);}});}return r}destroy(t=false){this.emit("destroy",this),t&&(this.gpuProgram?.destroy(),this.glProgram?.destroy()),this.gpuProgram=null,this.glProgram=null,this.removeAllListeners(),this._uniformBindMap=null,this._ownedBindGroups.forEach(e=>{e.destroy();}),this._ownedBindGroups=null,this.resources=null,this.groups=null;}static from(t){let{gpu:e,gl:r,...s}=t,o,n;return e&&(o=be.from(e)),r&&(n=ur.from(r)),new i({gpuProgram:o,glProgram:n,...s})}};});var $s,_d=p(()=>{Ls();Jn();ra();Hs();sa();ui();$s=class extends re{constructor(t){let e=fr({name:"batch",bits:[zs,Vs(t),mr]}),r=dr({name:"batch",bits:[Os,Ws(t),pr]});super({glProgram:e,gpuProgram:r,resources:{batchSamplers:Ns(t)}});}};});var oa,yd,vd,Sd=p(()=>{B();pc();_c();_d();oa=null,yd=class bd extends fc{constructor(t){super(t),this.geometry=new Bs,this.name=bd.extension.name,this.vertexSize=6,oa??(oa=new $s(t.maxTextures)),this.shader=oa;}packAttributes(t,e,r,s,o){let n=o<<16|t.roundPixels&65535,a=t.transform,l=a.a,h=a.b,u=a.c,c=a.d,f=a.tx,d=a.ty,{positions:m,uvs:g}=t,x=t.color,_=t.attributeOffset,y=_+t.attributeSize;for(let b=_;b<y;b++){let v=b*2,P=m[v],T=m[v+1];e[s++]=l*P+u*T+f,e[s++]=c*T+h*P+d,e[s++]=g[v],e[s++]=g[v+1],r[s++]=x,r[s++]=n;}}packQuadAttributes(t,e,r,s,o){let n=t.texture,a=t.transform,l=a.a,h=a.b,u=a.c,c=a.d,f=a.tx,d=a.ty,m=t.bounds,g=m.maxX,x=m.minX,_=m.maxY,y=m.minY,b=n.uvs,v=t.color,P=o<<16|t.roundPixels&65535;e[s+0]=l*x+u*y+f,e[s+1]=c*y+h*x+d,e[s+2]=b.x0,e[s+3]=b.y0,r[s+4]=v,r[s+5]=P,e[s+6]=l*g+u*y+f,e[s+7]=c*y+h*g+d,e[s+8]=b.x1,e[s+9]=b.y1,r[s+10]=v,r[s+11]=P,e[s+12]=l*g+u*_+f,e[s+13]=c*_+h*g+d,e[s+14]=b.x2,e[s+15]=b.y2,r[s+16]=v,r[s+17]=P,e[s+18]=l*x+u*_+f,e[s+19]=c*_+h*x+d,e[s+20]=b.x3,e[s+21]=b.y3,r[s+22]=v,r[s+23]=P;}};yd.extension={type:[S.Batcher],name:"default"};vd=yd;});function Td(i,t,e,r,s,o,n,a=null){let l=0;e*=t,s*=o;let h=a.a,u=a.b,c=a.c,f=a.d,d=a.tx,m=a.ty;for(;l<n;){let g=i[e],x=i[e+1];r[s]=h*g+c*x+d,r[s+1]=u*g+f*x+m,s+=o,e+=t,l++;}}function wd(i,t,e,r){let s=0;for(t*=e;s<r;)i[t]=0,i[t+1]=0,t+=e,s++;}var Pd=p(()=>{});function na(i,t,e,r,s){let o=t.a,n=t.b,a=t.c,l=t.d,h=t.tx,u=t.ty;e||(e=0),r||(r=2),s||(s=i.length/r-e);let c=e*r;for(let f=0;f<s;f++){let d=i[c],m=i[c+1];i[c]=o*d+a*m+h,i[c+1]=n*d+l*m+u,c+=r;}}var Md=p(()=>{});var hg,Oe,aa=p(()=>{tt();qo();hg=new M,Oe=class{constructor(){this.packAsQuad=false,this.batcherName="default",this.topology="triangle-list",this.applyTransform=true,this.roundPixels=0,this._batcher=null,this._batch=null;}get uvs(){return this.geometryData.uvs}get positions(){return this.geometryData.vertices}get indices(){return this.geometryData.indices}get blendMode(){return this.renderable&&this.applyTransform?this.renderable.groupBlendMode:"normal"}get color(){let t=this.baseColor,e=t>>16|t&65280|(t&255)<<16,r=this.renderable;return r?as(e,r.groupColor)+(this.alpha*r.groupAlpha*255<<24):e+(this.alpha*255<<24)}get transform(){return this.renderable?.groupTransform||hg}copyTo(t){t.indexOffset=this.indexOffset,t.indexSize=this.indexSize,t.attributeOffset=this.attributeOffset,t.attributeSize=this.attributeSize,t.baseColor=this.baseColor,t.alpha=this.alpha,t.texture=this.texture,t.geometryData=this.geometryData,t.topology=this.topology;}reset(){this.applyTransform=true,this.renderable=null,this.topology="triangle-list";}};});var xr,Ad,Cd,Ed=p(()=>{B();xr={extension:{type:S.ShapeBuilder,name:"circle"},build(i,t){let e,r,s,o,n,a;if(i.type==="circle"){let v=i;if(n=a=v.radius,n<=0)return false;e=v.x,r=v.y,s=o=0;}else if(i.type==="ellipse"){let v=i;if(n=v.halfWidth,a=v.halfHeight,n<=0||a<=0)return false;e=v.x,r=v.y,s=o=0;}else {let v=i,P=v.width/2,T=v.height/2;e=v.x+P,r=v.y+T,n=a=Math.max(0,Math.min(v.radius,Math.min(P,T))),s=P-n,o=T-a;}if(s<0||o<0)return false;let l=Math.ceil(2.3*Math.sqrt(n+a)),h=l*8+(s?4:0)+(o?4:0);if(h===0)return false;if(l===0)return t[0]=t[6]=e+s,t[1]=t[3]=r+o,t[2]=t[4]=e-s,t[5]=t[7]=r-o,true;let u=0,c=l*4+(s?2:0)+2,f=c,d=h,m=s+n,g=o,x=e+m,_=e-m,y=r+g;if(t[u++]=x,t[u++]=y,t[--c]=y,t[--c]=_,o){let v=r-g;t[f++]=_,t[f++]=v,t[--d]=v,t[--d]=x;}for(let v=1;v<l;v++){let P=Math.PI/2*(v/l),T=s+Math.cos(P)*n,w=o+Math.sin(P)*a,O=e+T,A=e-T,E=r+w,C=r-w;t[u++]=O,t[u++]=E,t[--c]=E,t[--c]=A,t[f++]=A,t[f++]=C,t[--d]=C,t[--d]=O;}m=s,g=o+a,x=e+m,_=e-m,y=r+g;let b=r-g;return t[u++]=x,t[u++]=y,t[--d]=b,t[--d]=x,s&&(t[u++]=_,t[u++]=y,t[--d]=b,t[--d]=_),true},triangulate(i,t,e,r,s,o){if(i.length===0)return;let n=0,a=0;for(let u=0;u<i.length;u+=2)n+=i[u],a+=i[u+1];n/=i.length/2,a/=i.length/2;let l=r;t[l*e]=n,t[l*e+1]=a;let h=l++;for(let u=0;u<i.length;u+=2)t[l*e]=i[u],t[l*e+1]=i[u+1],u>0&&(s[o++]=l,s[o++]=h,s[o++]=l-1),l++;s[o++]=h+1,s[o++]=h,s[o++]=l-1;}},Ad={...xr,extension:{...xr.extension,name:"ellipse"}},Cd={...xr,extension:{...xr.extension,name:"roundedRectangle"}};});function Fd(i){let t=i.length;if(t<6)return 1;let e=0;for(let r=0,s=i[t-2],o=i[t-1];r<t;r+=2){let n=i[r],a=i[r+1];e+=(n-s)*(a+o),s=n,o=a;}return e<0?-1:1}var Bd=p(()=>{});function kd(i,t,e,r,s,o,n,a){let l=i-e*s,h=t-r*s,u=i+e*o,c=t+r*o,f,d;n?(f=r,d=-e):(f=-r,d=e);let m=l+f,g=h+d,x=u+f,_=c+d;return a.push(m,g),a.push(x,_),2}function ze(i,t,e,r,s,o,n,a){let l=e-i,h=r-t,u=Math.atan2(l,h),c=Math.atan2(s-i,o-t);a&&u<c?u+=Math.PI*2:!a&&u>c&&(c+=Math.PI*2);let f=u,d=c-u,m=Math.abs(d),g=Math.sqrt(l*l+h*h),x=(15*m*Math.sqrt(g)/Math.PI>>0)+1,_=d/x;if(f+=_,a){n.push(i,t),n.push(e,r);for(let y=1,b=f;y<x;y++,b+=_)n.push(i,t),n.push(i+Math.sin(b)*g,t+Math.cos(b)*g);n.push(i,t),n.push(s,o);}else {n.push(e,r),n.push(i,t);for(let y=1,b=f;y<x;y++,b+=_)n.push(i+Math.sin(b)*g,t+Math.cos(b)*g),n.push(i,t);n.push(s,o),n.push(i,t);}return x*2}function Gd(i,t,e,r,s,o){let n=1e-4;if(i.length===0)return;let a=t,l=a.alignment;if(t.alignment!==.5){let J=Fd(i);l=(l-.5)*J+.5;}let h=new $(i[0],i[1]),u=new $(i[i.length-2],i[i.length-1]),c=r,f=Math.abs(h.x-u.x)<n&&Math.abs(h.y-u.y)<n;if(c){i=i.slice(),f&&(i.pop(),i.pop(),u.set(i[i.length-2],i[i.length-1]));let J=(h.x+u.x)*.5,xe=(u.y+h.y)*.5;i.unshift(J,xe),i.push(J,xe);}let d=s,m=i.length/2,g=i.length,x=d.length/2,_=a.width/2,y=_*_,b=a.miterLimit*a.miterLimit,v=i[0],P=i[1],T=i[2],w=i[3],O=0,A=0,E=-(P-w),C=v-T,L=0,q=0,_t=Math.sqrt(E*E+C*C);E/=_t,C/=_t,E*=_,C*=_;let kr=l,U=(1-kr)*2,z=kr*2;c||(a.cap==="round"?g+=ze(v-E*(U-z)*.5,P-C*(U-z)*.5,v-E*U,P-C*U,v+E*z,P+C*z,d,true)+2:a.cap==="square"&&(g+=kd(v,P,E,C,U,z,true,d))),d.push(v-E*U,P-C*U),d.push(v+E*z,P+C*z);for(let J=1;J<m-1;++J){v=i[(J-1)*2],P=i[(J-1)*2+1],T=i[J*2],w=i[J*2+1],O=i[(J+1)*2],A=i[(J+1)*2+1],E=-(P-w),C=v-T,_t=Math.sqrt(E*E+C*C),E/=_t,C/=_t,E*=_,C*=_,L=-(w-A),q=T-O,_t=Math.sqrt(L*L+q*q),L/=_t,q/=_t,L*=_,q*=_;let xe=T-v,Gr=P-w,Ir=T-O,Rr=A-w,Sl=xe*Ir+Gr*Rr,Hi=Gr*Ir-Rr*xe,Dr=Hi<0;if(Math.abs(Hi)<.001*Math.abs(Sl)){d.push(T-E*U,w-C*U),d.push(T+E*z,w+C*z),Sl>=0&&(a.join==="round"?g+=ze(T,w,T-E*U,w-C*U,T-L*U,w-q*U,d,false)+4:g+=2,d.push(T-L*z,w-q*z),d.push(T+L*U,w+q*U));continue}let Tl=(-E+v)*(-C+w)-(-E+T)*(-C+P),wl=(-L+O)*(-q+w)-(-L+T)*(-q+A),Ni=(xe*wl-Ir*Tl)/Hi,$i=(Rr*Tl-Gr*wl)/Hi,Go=(Ni-T)*(Ni-T)+($i-w)*($i-w),Me=T+(Ni-T)*U,Ae=w+($i-w)*U,Ce=T-(Ni-T)*z,Ee=w-($i-w)*z,tx=Math.min(xe*xe+Gr*Gr,Ir*Ir+Rr*Rr),Pl=Dr?U:z,ex=tx+Pl*Pl*y;Go<=ex?a.join==="bevel"||Go/y>b?(Dr?(d.push(Me,Ae),d.push(T+E*z,w+C*z),d.push(Me,Ae),d.push(T+L*z,w+q*z)):(d.push(T-E*U,w-C*U),d.push(Ce,Ee),d.push(T-L*U,w-q*U),d.push(Ce,Ee)),g+=2):a.join==="round"?Dr?(d.push(Me,Ae),d.push(T+E*z,w+C*z),g+=ze(T,w,T+E*z,w+C*z,T+L*z,w+q*z,d,true)+4,d.push(Me,Ae),d.push(T+L*z,w+q*z)):(d.push(T-E*U,w-C*U),d.push(Ce,Ee),g+=ze(T,w,T-E*U,w-C*U,T-L*U,w-q*U,d,false)+4,d.push(T-L*U,w-q*U),d.push(Ce,Ee)):(d.push(Me,Ae),d.push(Ce,Ee)):(d.push(T-E*U,w-C*U),d.push(T+E*z,w+C*z),a.join==="round"?Dr?g+=ze(T,w,T+E*z,w+C*z,T+L*z,w+q*z,d,true)+2:g+=ze(T,w,T-E*U,w-C*U,T-L*U,w-q*U,d,false)+2:a.join==="miter"&&Go/y<=b&&(Dr?(d.push(Ce,Ee),d.push(Ce,Ee)):(d.push(Me,Ae),d.push(Me,Ae)),g+=2),d.push(T-L*U,w-q*U),d.push(T+L*z,w+q*z),g+=2);}v=i[(m-2)*2],P=i[(m-2)*2+1],T=i[(m-1)*2],w=i[(m-1)*2+1],E=-(P-w),C=v-T,_t=Math.sqrt(E*E+C*C),E/=_t,C/=_t,E*=_,C*=_,d.push(T-E*U,w-C*U),d.push(T+E*z,w+C*z),c||(a.cap==="round"?g+=ze(T-E*(U-z)*.5,w-C*(U-z)*.5,T-E*U,w-C*U,T+E*z,w+C*z,d,false)+2:a.cap==="square"&&(g+=kd(T,w,E,C,U,z,false,d)));let Jm=1e-4*1e-4;for(let J=x;J<g+x-2;++J)v=d[J*2],P=d[J*2+1],T=d[(J+1)*2],w=d[(J+1)*2+1],O=d[(J+2)*2],A=d[(J+2)*2+1],!(Math.abs(v*(w-A)+T*(A-P)+O*(P-w))<Jm)&&o.push(J,J+1,J+2);}var Id=p(()=>{qt();Bd();});function Rd(i,t,e,r){let s=1e-4;if(i.length===0)return;let o=i[0],n=i[1],a=i[i.length-2],l=i[i.length-1],h=t||Math.abs(o-a)<s&&Math.abs(n-l)<s,u=e,c=i.length/2,f=u.length/2;for(let d=0;d<c;d++)u.push(i[d*2]),u.push(i[d*2+1]);for(let d=0;d<c-1;d++)r.push(f+d,f+d+1);h&&r.push(f+c-1,f);}var Dd=p(()=>{});function js(i,t,e=2){let r=t&&t.length,s=r?t[0]*e:i.length,o=Ld(i,0,s,e,true),n=[];if(!o||o.next===o.prev)return n;let a,l,h;if(r&&(o=xg(i,t,o,e)),i.length>80*e){a=1/0,l=1/0;let u=-1/0,c=-1/0;for(let f=e;f<s;f+=e){let d=i[f],m=i[f+1];d<a&&(a=d),m<l&&(l=m),d>u&&(u=d),m>c&&(c=m);}h=Math.max(u-a,c-l),h=h!==0?32767/h:0;}return di(o,n,e,a,l,h,0),n}function Ld(i,t,e,r,s){let o;if(s===Ag(i,t,e,r)>0)for(let n=t;n<e;n+=r)o=Ud(n/r|0,i[n],i[n+1],o);else for(let n=e-r;n>=t;n-=r)o=Ud(n/r|0,i[n],i[n+1],o);return o&&gr(o,o.next)&&(pi(o),o=o.next),o}function We(i,t){if(!i)return i;t||(t=i);let e=i,r;do if(r=false,!e.steiner&&(gr(e,e.next)||at(e.prev,e,e.next)===0)){if(pi(e),e=t=e.prev,e===e.next)break;r=true;}else e=e.next;while(r||e!==t);return t}function di(i,t,e,r,s,o,n){if(!i)return;!n&&o&&vg(i,r,s,o);let a=i;for(;i.prev!==i.next;){let l=i.prev,h=i.next;if(o?fg(i,r,s,o):dg(i)){t.push(l.i,i.i,h.i),pi(i),i=h.next,a=h.next;continue}if(i=h,i===a){n?n===1?(i=pg(We(i),t),di(i,t,e,r,s,o,2)):n===2&&mg(i,t,e,r,s,o):di(We(i),t,e,r,s,o,1);break}}}function dg(i){let t=i.prev,e=i,r=i.next;if(at(t,e,r)>=0)return false;let s=t.x,o=e.x,n=r.x,a=t.y,l=e.y,h=r.y,u=Math.min(s,o,n),c=Math.min(a,l,h),f=Math.max(s,o,n),d=Math.max(a,l,h),m=r.next;for(;m!==t;){if(m.x>=u&&m.x<=f&&m.y>=c&&m.y<=d&&ci(s,a,o,l,n,h,m.x,m.y)&&at(m.prev,m,m.next)>=0)return false;m=m.next;}return true}function fg(i,t,e,r){let s=i.prev,o=i,n=i.next;if(at(s,o,n)>=0)return false;let a=s.x,l=o.x,h=n.x,u=s.y,c=o.y,f=n.y,d=Math.min(a,l,h),m=Math.min(u,c,f),g=Math.max(a,l,h),x=Math.max(u,c,f),_=la(d,m,t,e,r),y=la(g,x,t,e,r),b=i.prevZ,v=i.nextZ;for(;b&&b.z>=_&&v&&v.z<=y;){if(b.x>=d&&b.x<=g&&b.y>=m&&b.y<=x&&b!==s&&b!==n&&ci(a,u,l,c,h,f,b.x,b.y)&&at(b.prev,b,b.next)>=0||(b=b.prevZ,v.x>=d&&v.x<=g&&v.y>=m&&v.y<=x&&v!==s&&v!==n&&ci(a,u,l,c,h,f,v.x,v.y)&&at(v.prev,v,v.next)>=0))return false;v=v.nextZ;}for(;b&&b.z>=_;){if(b.x>=d&&b.x<=g&&b.y>=m&&b.y<=x&&b!==s&&b!==n&&ci(a,u,l,c,h,f,b.x,b.y)&&at(b.prev,b,b.next)>=0)return false;b=b.prevZ;}for(;v&&v.z<=y;){if(v.x>=d&&v.x<=g&&v.y>=m&&v.y<=x&&v!==s&&v!==n&&ci(a,u,l,c,h,f,v.x,v.y)&&at(v.prev,v,v.next)>=0)return false;v=v.nextZ;}return true}function pg(i,t){let e=i;do{let r=e.prev,s=e.next.next;!gr(r,s)&&zd(r,e,e.next,s)&&fi(r,s)&&fi(s,r)&&(t.push(r.i,e.i,s.i),pi(e),pi(e.next),e=i=s),e=e.next;}while(e!==i);return We(e)}function mg(i,t,e,r,s,o){let n=i;do{let a=n.next.next;for(;a!==n.prev;){if(n.i!==a.i&&wg(n,a)){let l=Wd(n,a);n=We(n,n.next),l=We(l,l.next),di(n,t,e,r,s,o,0),di(l,t,e,r,s,o,0);return}a=a.next;}n=n.next;}while(n!==i)}function xg(i,t,e,r){let s=[];for(let o=0,n=t.length;o<n;o++){let a=t[o]*r,l=o<n-1?t[o+1]*r:i.length,h=Ld(i,a,l,r,false);h===h.next&&(h.steiner=true),s.push(Tg(h));}s.sort(gg);for(let o=0;o<s.length;o++)e=_g(s[o],e);return e}function gg(i,t){let e=i.x-t.x;if(e===0&&(e=i.y-t.y,e===0)){let r=(i.next.y-i.y)/(i.next.x-i.x),s=(t.next.y-t.y)/(t.next.x-t.x);e=r-s;}return e}function _g(i,t){let e=yg(i,t);if(!e)return t;let r=Wd(e,i);return We(r,r.next),We(e,e.next)}function yg(i,t){let e=t,r=i.x,s=i.y,o=-1/0,n;if(gr(i,e))return e;do{if(gr(i,e.next))return e.next;if(s<=e.y&&s>=e.next.y&&e.next.y!==e.y){let c=e.x+(s-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(c<=r&&c>o&&(o=c,n=e.x<e.next.x?e:e.next,c===r))return n}e=e.next;}while(e!==t);if(!n)return null;let a=n,l=n.x,h=n.y,u=1/0;e=n;do{if(r>=e.x&&e.x>=l&&r!==e.x&&Od(s<h?r:o,s,l,h,s<h?o:r,s,e.x,e.y)){let c=Math.abs(s-e.y)/(r-e.x);fi(e,i)&&(c<u||c===u&&(e.x>n.x||e.x===n.x&&bg(n,e)))&&(n=e,u=c);}e=e.next;}while(e!==a);return n}function bg(i,t){return at(i.prev,i,t.prev)<0&&at(t.next,i,i.next)<0}function vg(i,t,e,r){let s=i;do s.z===0&&(s.z=la(s.x,s.y,t,e,r)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==i);s.prevZ.nextZ=null,s.prevZ=null,Sg(s);}function Sg(i){let t,e=1;do{let r=i,s;i=null;let o=null;for(t=0;r;){t++;let n=r,a=0;for(let h=0;h<e&&(a++,n=n.nextZ,!!n);h++);let l=e;for(;a>0||l>0&&n;)a!==0&&(l===0||!n||r.z<=n.z)?(s=r,r=r.nextZ,a--):(s=n,n=n.nextZ,l--),o?o.nextZ=s:i=s,s.prevZ=o,o=s;r=n;}o.nextZ=null,e*=2;}while(t>1);return i}function la(i,t,e,r,s){return i=(i-e)*s|0,t=(t-r)*s|0,i=(i|i<<8)&16711935,i=(i|i<<4)&252645135,i=(i|i<<2)&858993459,i=(i|i<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,i|t<<1}function Tg(i){let t=i,e=i;do(t.x<e.x||t.x===e.x&&t.y<e.y)&&(e=t),t=t.next;while(t!==i);return e}function Od(i,t,e,r,s,o,n,a){return (s-n)*(t-a)>=(i-n)*(o-a)&&(i-n)*(r-a)>=(e-n)*(t-a)&&(e-n)*(o-a)>=(s-n)*(r-a)}function ci(i,t,e,r,s,o,n,a){return !(i===n&&t===a)&&Od(i,t,e,r,s,o,n,a)}function wg(i,t){return i.next.i!==t.i&&i.prev.i!==t.i&&!Pg(i,t)&&(fi(i,t)&&fi(t,i)&&Mg(i,t)&&(at(i.prev,i,t.prev)||at(i,t.prev,t))||gr(i,t)&&at(i.prev,i,i.next)>0&&at(t.prev,t,t.next)>0)}function at(i,t,e){return (t.y-i.y)*(e.x-t.x)-(t.x-i.x)*(e.y-t.y)}function gr(i,t){return i.x===t.x&&i.y===t.y}function zd(i,t,e,r){let s=Xs(at(i,t,e)),o=Xs(at(i,t,r)),n=Xs(at(e,r,i)),a=Xs(at(e,r,t));return !!(s!==o&&n!==a||s===0&&Ys(i,e,t)||o===0&&Ys(i,r,t)||n===0&&Ys(e,i,r)||a===0&&Ys(e,t,r))}function Ys(i,t,e){return t.x<=Math.max(i.x,e.x)&&t.x>=Math.min(i.x,e.x)&&t.y<=Math.max(i.y,e.y)&&t.y>=Math.min(i.y,e.y)}function Xs(i){return i>0?1:i<0?-1:0}function Pg(i,t){let e=i;do{if(e.i!==i.i&&e.next.i!==i.i&&e.i!==t.i&&e.next.i!==t.i&&zd(e,e.next,i,t))return true;e=e.next;}while(e!==i);return false}function fi(i,t){return at(i.prev,i,i.next)<0?at(i,t,i.next)>=0&&at(i,i.prev,t)>=0:at(i,t,i.prev)<0||at(i,i.next,t)<0}function Mg(i,t){let e=i,r=false,s=(i.x+t.x)/2,o=(i.y+t.y)/2;do e.y>o!=e.next.y>o&&e.next.y!==e.y&&s<(e.next.x-e.x)*(o-e.y)/(e.next.y-e.y)+e.x&&(r=!r),e=e.next;while(e!==i);return r}function Wd(i,t){let e=ha(i.i,i.x,i.y),r=ha(t.i,t.x,t.y),s=i.next,o=t.prev;return i.next=t,t.prev=i,e.next=s,s.prev=e,r.next=e,e.prev=r,o.next=r,r.prev=o,r}function Ud(i,t,e,r){let s=ha(i,t,e);return r?(s.next=r.next,s.prev=r,r.next.prev=s,r.next=s):(s.prev=s,s.next=s),s}function pi(i){i.next.prev=i.prev,i.prev.next=i.next,i.prevZ&&(i.prevZ.nextZ=i.nextZ),i.nextZ&&(i.nextZ.prevZ=i.prevZ);}function ha(i,t,e){return {i,x:t,y:e,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:false}}function Ag(i,t,e,r){let s=0;for(let o=t,n=e-r;o<e;o+=r)s+=(i[n]-i[o])*(i[o+1]+i[n+1]),n=o;return s}var Vd=p(()=>{});var Hd,Nd=p(()=>{Vd();Et();Hd=js.default||js;});function qs(i,t,e,r,s,o,n){let a=Hd(i,t,2);if(!a)return;for(let h=0;h<a.length;h+=3)o[n++]=a[h]+s,o[n++]=a[h+1]+s,o[n++]=a[h+2]+s;let l=s*r;for(let h=0;h<i.length;h+=2)e[l]=i[h],e[l+1]=i[h+1],l+=r;}var ua=p(()=>{Nd();});var Cg,$d,Yd=p(()=>{B();ua();Cg=[],$d={extension:{type:S.ShapeBuilder,name:"polygon"},build(i,t){for(let e=0;e<i.points.length;e++)t[e]=i.points[e];return true},triangulate(i,t,e,r,s,o){qs(i,Cg,t,e,r,s,o);}};});var Xd,jd=p(()=>{B();Xd={extension:{type:S.ShapeBuilder,name:"rectangle"},build(i,t){let e=i,r=e.x,s=e.y,o=e.width,n=e.height;return o>0&&n>0?(t[0]=r,t[1]=s,t[2]=r+o,t[3]=s,t[4]=r+o,t[5]=s+n,t[6]=r,t[7]=s+n,true):false},triangulate(i,t,e,r,s,o){let n=0;r*=e,t[r+n]=i[0],t[r+n+1]=i[1],n+=e,t[r+n]=i[2],t[r+n+1]=i[3],n+=e,t[r+n]=i[6],t[r+n+1]=i[7],n+=e,t[r+n]=i[4],t[r+n+1]=i[5],n+=e;let a=r/e;s[o++]=a,s[o++]=a+1,s[o++]=a+2,s[o++]=a+1,s[o++]=a+3,s[o++]=a+2;}};});var qd,Kd=p(()=>{B();qd={extension:{type:S.ShapeBuilder,name:"triangle"},build(i,t){return t[0]=i.x,t[1]=i.y,t[2]=i.x2,t[3]=i.y2,t[4]=i.x3,t[5]=i.y3,true},triangulate(i,t,e,r,s,o){let n=0;r*=e,t[r+n]=i[0],t[r+n+1]=i[1],n+=e,t[r+n]=i[2],t[r+n+1]=i[3],n+=e,t[r+n]=i[4],t[r+n+1]=i[5];let a=r/e;s[o++]=a,s[o++]=a+1,s[o++]=a+2;}};});function Qd(i,t){for(let e=0;e<t.length;e++){let r=t[e];i.addColorStop(r.offset,r.color);}}function Jd(i,t){let e=nt.get().createCanvas(i,t),r=e.getContext("2d");return {canvas:e,context:r}}function Eg(i){let t=i[0]??{};return (typeof t=="number"||i[1])&&(G("8.5.2","use options object instead"),t={type:"linear",start:{x:i[0],y:i[1]},end:{x:i[2],y:i[3]},textureSpace:i[4],textureSize:i[5]??Gt.defaultLinearOptions.textureSize}),t}var Zd,da,Gt,_r=p(()=>{Ft();Xt();tt();Ps();yt();Pt();ht();en();Zd=[{offset:0,color:"white"},{offset:1,color:"black"}],da=class ca{constructor(...t){this.uid=Y("fillGradient"),this.type="linear",this.colorStops=[];let e=Eg(t);e={...e.type==="radial"?ca.defaultRadialOptions:ca.defaultLinearOptions,...hs(e)},this._textureSize=e.textureSize,this._wrapMode=e.wrapMode,e.type==="radial"?(this.center=e.center,this.outerCenter=e.outerCenter??this.center,this.innerRadius=e.innerRadius,this.outerRadius=e.outerRadius,this.scale=e.scale,this.rotation=e.rotation):(this.start=e.start,this.end=e.end),this.textureSpace=e.textureSpace,this.type=e.type,e.colorStops.forEach(s=>{this.addColorStop(s.offset,s.color);});}addColorStop(t,e){return this.colorStops.push({offset:t,color:H.shared.setValue(e).toHexa()}),this}buildLinearGradient(){if(this.texture)return;let{x:t,y:e}=this.start,{x:r,y:s}=this.end,o=r-t,n=s-e,a=o<0||n<0;if(this._wrapMode==="clamp-to-edge"){if(o<0){let x=t;t=r,r=x,o*=-1;}if(n<0){let x=e;e=s,s=x,n*=-1;}}let l=this.colorStops.length?this.colorStops:Zd,h=this._textureSize,{canvas:u,context:c}=Jd(h,1),f=a?c.createLinearGradient(this._textureSize,0,0,0):c.createLinearGradient(0,0,this._textureSize,0);Qd(f,l),c.fillStyle=f,c.fillRect(0,0,h,1),this.texture=new F({source:new Qt({resource:u,addressMode:this._wrapMode})});let d=Math.sqrt(o*o+n*n),m=Math.atan2(n,o),g=new M;g.scale(d/h,1),g.rotate(m),g.translate(t,e),this.textureSpace==="local"&&g.scale(h,h),this.transform=g;}buildGradient(){this.type==="linear"?this.buildLinearGradient():this.buildRadialGradient();}buildRadialGradient(){if(this.texture)return;let t=this.colorStops.length?this.colorStops:Zd,e=this._textureSize,{canvas:r,context:s}=Jd(e,e),{x:o,y:n}=this.center,{x:a,y:l}=this.outerCenter,h=this.innerRadius,u=this.outerRadius,c=a-u,f=l-u,d=e/(u*2),m=(o-c)*d,g=(n-f)*d,x=s.createRadialGradient(m,g,h*d,(a-c)*d,(l-f)*d,u*d);Qd(x,t),s.fillStyle=t[t.length-1].color,s.fillRect(0,0,e,e),s.fillStyle=x,s.translate(m,g),s.rotate(this.rotation),s.scale(1,this.scale),s.translate(-m,-g),s.fillRect(0,0,e,e),this.texture=new F({source:new Qt({resource:r,addressMode:this._wrapMode})});let _=new M;_.scale(1/d,1/d),_.translate(c,f),this.textureSpace==="local"&&_.scale(e,e),this.transform=_;}get styleKey(){return this.uid}destroy(){this.texture?.destroy(true),this.texture=null;}};da.defaultLinearOptions={start:{x:0,y:0},end:{x:0,y:1},colorStops:[],textureSpace:"local",type:"linear",textureSize:256,wrapMode:"clamp-to-edge"};da.defaultRadialOptions={center:{x:.5,y:.5},innerRadius:0,outerRadius:.5,colorStops:[],scale:1,textureSpace:"local",type:"radial",textureSize:256,wrapMode:"clamp-to-edge"};Gt=da;});function tf(i,t,e,r){let s=t.matrix?i.copyFrom(t.matrix).invert():i.identity();if(t.textureSpace==="local"){let n=e.getBounds(Bg);t.width&&n.pad(t.width);let{x:a,y:l}=n,h=1/n.width,u=1/n.height,c=-a*h,f=-l*u,d=s.a,m=s.b,g=s.c,x=s.d;s.a*=h,s.b*=h,s.c*=u,s.d*=u,s.tx=c*d+f*g+s.tx,s.ty=c*m+f*x+s.ty;}else s.translate(t.texture.frame.x,t.texture.frame.y),s.scale(1/t.texture.source.width,1/t.texture.source.height);let o=t.texture.source.style;return !(t.fill instanceof Gt)&&o.addressMode==="clamp-to-edge"&&(o.addressMode="repeat",o.update()),r&&s.append(Fg.copyFrom(r).invert()),s}var Fg,Bg,ef=p(()=>{tt();Bt();_r();Fg=new M,Bg=new j;});function sf(i,t){let{geometryData:e,batches:r}=t;r.length=0,e.indices.length=0,e.vertices.length=0,e.uvs.length=0;for(let s=0;s<i.instructions.length;s++){let o=i.instructions[s];if(o.action==="texture")Ig(o.data,r,e);else if(o.action==="fill"||o.action==="stroke"){let n=o.action==="stroke",a=o.data.path.shapePath,l=o.data.style,h=o.data.hole;n&&h&&rf(h.shapePath,l,true,r,e),h&&(a.shapePrimitives[a.shapePrimitives.length-1].holes=h.shapePath.shapePrimitives),rf(a,l,n,r,e);}}}function Ig(i,t,e){let r=[],s=Ks.rectangle,o=kg;o.x=i.dx,o.y=i.dy,o.width=i.dw,o.height=i.dh;let n=i.transform;if(!s.build(o,r))return;let{vertices:a,uvs:l,indices:h}=e,u=h.length,c=a.length/2;n&&na(r,n),s.triangulate(r,a,2,c,h,u);let f=i.image,d=f.uvs;l.push(d.x0,d.y0,d.x1,d.y1,d.x3,d.y3,d.x2,d.y2);let m=pt.get(Oe);m.indexOffset=u,m.indexSize=h.length-u,m.attributeOffset=c,m.attributeSize=a.length/2-c,m.baseColor=i.style,m.alpha=i.alpha,m.texture=f,m.geometryData=e,t.push(m);}function rf(i,t,e,r,s){let{vertices:o,uvs:n,indices:a}=s;i.shapePrimitives.forEach(({shape:l,transform:h,holes:u})=>{let c=[],f=Ks[l.type];if(!f.build(l,c))return;let d=a.length,m=o.length/2,g="triangle-list";if(h&&na(c,h),e){let b=l.closePath??true,v=t;v.pixelLine?(Rd(c,b,o,a),g="line-list"):Gd(c,v,false,b,o,a);}else if(u){let b=[],v=c.slice();Rg(u).forEach(T=>{b.push(v.length/2),v.push(...T);}),qs(v,b,o,2,m,a,d);}else f.triangulate(c,o,2,m,a,d);let x=n.length/2,_=t.texture;if(_!==F.WHITE){let b=tf(Gg,t,l,h);Td(o,2,m,n,x,2,o.length/2-m,b);}else wd(n,x,2,o.length/2-m);let y=pt.get(Oe);y.indexOffset=d,y.indexSize=a.length-d,y.attributeOffset=m,y.attributeSize=o.length/2-m,y.baseColor=t.color,y.alpha=t.alpha,y.texture=_,y.geometryData=s,y.topology=g,r.push(y);});}function Rg(i){let t=[];for(let e=0;e<i.length;e++){let r=i[e].shape,s=[];Ks[r.type].build(r,s)&&t.push(s);}return t}var Ks,kg,Gg,of=p(()=>{B();tt();Bt();Pd();Md();yt();Be();aa();Ed();Id();Dd();Yd();jd();Kd();ef();ua();Ks={};I.handleByMap(S.ShapeBuilder,Ks);I.add(Xd,$d,qd,xr,Ad,Cd);kg=new j,Gg=new M;});var fa,pa,xa,yr,Zs=p(()=>{B();Ju();Sd();Jo();ht();Be();of();fa=class{constructor(){this.batches=[],this.geometryData={vertices:[],uvs:[],indices:[]};}},pa=class{constructor(){this.instructions=new Qe;}init(t){this.batcher=new vd({maxTextures:t}),this.instructions.reset();}get geometry(){return G(Jl,"GraphicsContextRenderData#geometry is deprecated, please use batcher.geometry instead."),this.batcher.geometry}},xa=class ma{constructor(t){this._gpuContextHash={},this._graphicsDataContextHash=Object.create(null),this._renderer=t,t.renderableGC.addManagedHash(this,"_gpuContextHash"),t.renderableGC.addManagedHash(this,"_graphicsDataContextHash");}init(t){ma.defaultOptions.bezierSmoothness=t?.bezierSmoothness??ma.defaultOptions.bezierSmoothness;}getContextRenderData(t){return this._graphicsDataContextHash[t.uid]||this._initContextRenderData(t)}updateGpuContext(t){let e=this._gpuContextHash[t.uid]||this._initContext(t);if(t.dirty){e?this._cleanGraphicsContextData(t):e=this._initContext(t),sf(t,e);let r=t.batchMode;t.customShader||r==="no-batch"?e.isBatchable=false:r==="auto"?e.isBatchable=e.geometryData.vertices.length<400:e.isBatchable=true,t.dirty=false;}return e}getGpuContext(t){return this._gpuContextHash[t.uid]||this._initContext(t)}_initContextRenderData(t){let e=pt.get(pa,{maxTextures:this._renderer.limits.maxBatchableTextures}),{batches:r,geometryData:s}=this._gpuContextHash[t.uid],o=s.vertices.length,n=s.indices.length;for(let u=0;u<r.length;u++)r[u].applyTransform=false;let a=e.batcher;a.ensureAttributeBuffer(o),a.ensureIndexBuffer(n),a.begin();for(let u=0;u<r.length;u++){let c=r[u];a.add(c);}a.finish(e.instructions);let l=a.geometry;l.indexBuffer.setDataWithSize(a.indexBuffer,a.indexSize,true),l.buffers[0].setDataWithSize(a.attributeBuffer.float32View,a.attributeSize,true);let h=a.batches;for(let u=0;u<h.length;u++){let c=h[u];c.bindGroup=Qu(c.textures.textures,c.textures.count,this._renderer.limits.maxBatchableTextures);}return this._graphicsDataContextHash[t.uid]=e,e}_initContext(t){let e=new fa;return e.context=t,this._gpuContextHash[t.uid]=e,t.on("destroy",this.onGraphicsContextDestroy,this),this._gpuContextHash[t.uid]}onGraphicsContextDestroy(t){this._cleanGraphicsContextData(t),t.off("destroy",this.onGraphicsContextDestroy,this),this._gpuContextHash[t.uid]=null;}_cleanGraphicsContextData(t){let e=this._gpuContextHash[t.uid];e.isBatchable||this._graphicsDataContextHash[t.uid]&&(pt.return(this.getContextRenderData(t)),this._graphicsDataContextHash[t.uid]=null),e.batches&&e.batches.forEach(r=>{pt.return(r);});}destroy(){for(let t in this._gpuContextHash)this._gpuContextHash[t]&&this.onGraphicsContextDestroy(this._gpuContextHash[t].context);}};xa.extension={type:[S.WebGLSystem,S.WebGPUSystem,S.CanvasSystem],name:"graphicsContext"};xa.defaultOptions={bezierSmoothness:.5};yr=xa;});var Dg,ga,_a,ya,ba,va,Sa,Ta,Ve,Qs=p(()=>{Dg={normal:0,add:1,multiply:2,screen:3,overlay:4,erase:5,"normal-npm":6,"add-npm":7,"screen-npm":8,min:9,max:10},ga=0,_a=1,ya=2,ba=3,va=4,Sa=5,Ta=class nf{constructor(){this.data=0,this.blendMode="normal",this.polygonOffset=0,this.blend=true,this.depthMask=true;}get blend(){return !!(this.data&1<<ga)}set blend(t){!!(this.data&1<<ga)!==t&&(this.data^=1<<ga);}get offsets(){return !!(this.data&1<<_a)}set offsets(t){!!(this.data&1<<_a)!==t&&(this.data^=1<<_a);}set cullMode(t){if(t==="none"){this.culling=false;return}this.culling=true,this.clockwiseFrontFace=t==="front";}get cullMode(){return this.culling?this.clockwiseFrontFace?"front":"back":"none"}get culling(){return !!(this.data&1<<ya)}set culling(t){!!(this.data&1<<ya)!==t&&(this.data^=1<<ya);}get depthTest(){return !!(this.data&1<<ba)}set depthTest(t){!!(this.data&1<<ba)!==t&&(this.data^=1<<ba);}get depthMask(){return !!(this.data&1<<Sa)}set depthMask(t){!!(this.data&1<<Sa)!==t&&(this.data^=1<<Sa);}get clockwiseFrontFace(){return !!(this.data&1<<va)}set clockwiseFrontFace(t){!!(this.data&1<<va)!==t&&(this.data^=1<<va);}get blendMode(){return this._blendMode}set blendMode(t){this.blend=t!=="none",this._blendMode=t,this._blendModeId=Dg[t]||0;}get polygonOffset(){return this._polygonOffset}set polygonOffset(t){this.offsets=!!t,this._polygonOffset=t;}toString(){return `[pixi.js/core:State blendMode=${this.blendMode} clockwiseFrontFace=${this.clockwiseFrontFace} culling=${this.culling} depthMask=${this.depthMask} polygonOffset=${this.polygonOffset}]`}static for2d(){let t=new nf;return t.depthTest=false,t.blend=true,t}};Ta.default2d=Ta.for2d();Ve=Ta;});function Te(i,t,e){let r=(i>>24&255)/255;t[e++]=(i&255)/255*r,t[e++]=(i>>8&255)/255*r,t[e++]=(i>>16&255)/255*r,t[e++]=r;}var mi=p(()=>{});var wa,xi,af=p(()=>{B();Qs();Be();mi();aa();wa=class{constructor(){this.batches=[],this.batched=false;}destroy(){this.batches.forEach(t=>{pt.return(t);}),this.batches.length=0;}},xi=class{constructor(t,e){this.state=Ve.for2d(),this.renderer=t,this._adaptor=e,this.renderer.runners.contextChange.add(this);}contextChange(){this._adaptor.contextChange(this.renderer);}validateRenderable(t){let e=t.context,r=!!t._gpuData,s=this.renderer.graphicsContext.updateGpuContext(e);return !!(s.isBatchable||r!==s.isBatchable)}addRenderable(t,e){let r=this.renderer.graphicsContext.updateGpuContext(t.context);t.didViewUpdate&&this._rebuild(t),r.isBatchable?this._addToBatcher(t,e):(this.renderer.renderPipes.batch.break(e),e.add(t));}updateRenderable(t){let r=this._getGpuDataForRenderable(t).batches;for(let s=0;s<r.length;s++){let o=r[s];o._batcher.updateElement(o);}}execute(t){if(!t.isRenderable)return;let e=this.renderer,r=t.context;if(!e.graphicsContext.getGpuContext(r).batches.length)return;let o=r.customShader||this._adaptor.shader;this.state.blendMode=t.groupBlendMode;let n=o.resources.localUniforms.uniforms;n.uTransformMatrix=t.groupTransform,n.uRound=e._roundPixels|t._roundPixels,Te(t.groupColorAlpha,n.uColor,0),this._adaptor.execute(this,t);}_rebuild(t){let e=this._getGpuDataForRenderable(t),r=this.renderer.graphicsContext.updateGpuContext(t.context);e.destroy(),r.isBatchable&&this._updateBatchesForRenderable(t,e);}_addToBatcher(t,e){let r=this.renderer.renderPipes.batch,s=this._getGpuDataForRenderable(t).batches;for(let o=0;o<s.length;o++){let n=s[o];r.addToBatch(n,e);}}_getGpuDataForRenderable(t){return t._gpuData[this.renderer.uid]||this._initGpuDataForRenderable(t)}_initGpuDataForRenderable(t){let e=new wa;return t._gpuData[this.renderer.uid]=e,e}_updateBatchesForRenderable(t,e){let r=t.context,s=this.renderer.graphicsContext.getGpuContext(r),o=this.renderer._roundPixels|t._roundPixels;e.batches=s.batches.map(n=>{let a=pt.get(Oe);return n.copyTo(a),a.renderable=t,a.roundPixels=o,a});}destroy(){this.renderer=null,this._adaptor.destroy(),this._adaptor=null,this.state=null;}};xi.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"graphics"};});var Pa=p(()=>{B();Zs();af();I.add(xi);I.add(yr);});var we,Js=p(()=>{we=class{constructor(){this.batcherName="default",this.packAsQuad=false,this.indexOffset=0,this.attributeOffset=0,this.roundPixels=0,this._batcher=null,this._batch=null,this._textureMatrixUpdateId=-1,this._uvUpdateId=-1;}get blendMode(){return this.renderable.groupBlendMode}get topology(){return this._topology||this.geometry.topology}set topology(t){this._topology=t;}reset(){this.renderable=null,this.texture=null,this._batcher=null,this._batch=null,this.geometry=null,this._uvUpdateId=-1,this._textureMatrixUpdateId=-1;}setTexture(t){this.texture!==t&&(this.texture=t,this._textureMatrixUpdateId=-1);}get uvs(){let e=this.geometry.getBuffer("aUV"),r=e.data,s=r,o=this.texture.textureMatrix;return o.isSimple||(s=this._transformedUvs,(this._textureMatrixUpdateId!==o._updateID||this._uvUpdateId!==e._updateID)&&((!s||s.length<r.length)&&(s=this._transformedUvs=new Float32Array(r.length)),this._textureMatrixUpdateId=o._updateID,this._uvUpdateId=e._updateID,o.multiplyUvs(r,s))),s}get positions(){return this.geometry.positions}get indices(){return this.geometry.indices}get color(){return this.renderable.groupColorAlpha}get groupTransform(){return this.renderable.groupTransform}get attributeSize(){return this.geometry.positions.length/2}get indexSize(){return this.geometry.indices.length}};});var to,gi,lf=p(()=>{B();tt();oi();Se();ni();mi();Js();to=class{destroy(){}},gi=class{constructor(t,e){this.localUniforms=new Ct({uTransformMatrix:{value:new M,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),this.localUniformsBindGroup=new Vt({0:this.localUniforms}),this.renderer=t,this._adaptor=e,this._adaptor.init();}validateRenderable(t){let e=this._getMeshData(t),r=e.batched,s=t.batched;if(e.batched=s,r!==s)return true;if(s){let o=t._geometry;if(o.indices.length!==e.indexSize||o.positions.length!==e.vertexSize)return e.indexSize=o.indices.length,e.vertexSize=o.positions.length,true;let n=this._getBatchableMesh(t);return n.texture.uid!==t._texture.uid&&(n._textureMatrixUpdateId=-1),!n._batcher.checkAndUpdateTexture(n,t._texture)}return false}addRenderable(t,e){let r=this.renderer.renderPipes.batch,{batched:s}=this._getMeshData(t);if(s){let o=this._getBatchableMesh(t);o.setTexture(t._texture),o.geometry=t._geometry,r.addToBatch(o,e);}else r.break(e),e.add(t);}updateRenderable(t){if(t.batched){let e=this._getBatchableMesh(t);e.setTexture(t._texture),e.geometry=t._geometry,e._batcher.updateElement(e);}}execute(t){if(!t.isRenderable)return;t.state.blendMode=de(t.groupBlendMode,t.texture._source);let e=this.localUniforms;e.uniforms.uTransformMatrix=t.groupTransform,e.uniforms.uRound=this.renderer._roundPixels|t._roundPixels,e.update(),Te(t.groupColorAlpha,e.uniforms.uColor,0),this._adaptor.execute(this,t);}_getMeshData(t){var e,r;return (e=t._gpuData)[r=this.renderer.uid]||(e[r]=new to),t._gpuData[this.renderer.uid].meshData||this._initMeshData(t)}_initMeshData(t){return t._gpuData[this.renderer.uid].meshData={batched:t.batched,indexSize:t._geometry.indices?.length,vertexSize:t._geometry.positions?.length},t._gpuData[this.renderer.uid].meshData}_getBatchableMesh(t){var e,r;return (e=t._gpuData)[r=this.renderer.uid]||(e[r]=new to),t._gpuData[this.renderer.uid].batchableMesh||this._initBatchableMesh(t)}_initBatchableMesh(t){let e=new we;return e.renderable=t,e.setTexture(t._texture),e.transform=t.groupTransform,e.roundPixels=this.renderer._roundPixels|t._roundPixels,t._gpuData[this.renderer.uid].batchableMesh=e,e}destroy(){this.localUniforms=null,this.localUniformsBindGroup=null,this._adaptor.destroy(),this._adaptor=null,this.renderer=null;}};gi.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"mesh"};});var Ma=p(()=>{B();lf();I.add(gi);});var eo,hf=p(()=>{eo=class{execute(t,e){let r=t.state,s=t.renderer,o=e.shader||t.defaultShader;o.resources.uTexture=e.texture._source,o.resources.uniforms=t.localUniforms;let n=s.gl,a=t.getBuffers(e);s.shader.bind(o),s.state.set(r),s.geometry.bind(a.geometry,o.glProgram);let h=a.geometry.indexBuffer.data.BYTES_PER_ELEMENT===2?n.UNSIGNED_SHORT:n.UNSIGNED_INT;n.drawElements(n.TRIANGLES,e.particleChildren.length*6,h,0);}};});function Aa(i,t=null){let e=i*6;if(e>65535?t||(t=new Uint32Array(e)):t||(t=new Uint16Array(e)),t.length!==e)throw new Error(`Out buffer length is incorrect, got ${t.length} and expected ${e}`);for(let r=0,s=0;r<e;r+=6,s+=4)t[r+0]=s+0,t[r+1]=s+1,t[r+2]=s+2,t[r+3]=s+0,t[r+4]=s+2,t[r+5]=s+3;return t}var uf=p(()=>{});function df(i){return {dynamicUpdate:cf(i,true),staticUpdate:cf(i,false)}}function cf(i,t){let e=[];e.push(`
253
+ `}};});var sa,dd,fd=p(()=>{sa=["f32","i32","vec2<f32>","vec3<f32>","vec4<f32>","mat2x2<f32>","mat3x3<f32>","mat4x4<f32>","mat3x2<f32>","mat4x2<f32>","mat2x3<f32>","mat4x3<f32>","mat2x4<f32>","mat3x4<f32>","vec2<i32>","vec3<i32>","vec4<i32>"],dd=sa.reduce((i,t)=>(i[t]=true,i),{});});function pd(i,t){switch(i){case "f32":return 0;case "vec2<f32>":return new Float32Array(2*t);case "vec3<f32>":return new Float32Array(3*t);case "vec4<f32>":return new Float32Array(4*t);case "mat2x2<f32>":return new Float32Array([1,0,0,1]);case "mat3x3<f32>":return new Float32Array([1,0,0,0,1,0,0,0,1]);case "mat4x4<f32>":return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}return null}var md=p(()=>{});var gd,Ct,Se=p(()=>{Mt();Is();fd();md();gd=class xd{constructor(t,e){this._touched=0,this.uid=Y("uniform"),this._resourceType="uniformGroup",this._resourceId=Y("resource"),this.isUniformGroup=true,this._dirtyId=0,this.destroyed=false,e={...xd.defaultOptions,...e},this.uniformStructures=t;let r={};for(let s in t){let o=t[s];if(o.name=s,o.size=o.size??1,!dd[o.type])throw new Error(`Uniform type ${o.type} is not supported. Supported uniform types are: ${sa.join(", ")}`);o.value??(o.value=pd(o.type,o.size)),r[s]=o.value;}this.uniforms=r,this._dirtyId=1,this.ubo=e.ubo,this.isStatic=e.isStatic,this._signature=hr(Object.keys(r).map(s=>`${s}-${t[s].type}`).join("-"),"uniform-group");}update(){this._dirtyId++;}};gd.defaultOptions={ubo:false,isStatic:false};Ct=gd;});function Ys(i){let t=_d[i];if(t)return t;let e=new Int32Array(i);for(let r=0;r<i;r++)e[r]=r;return t=_d[i]=new Ct({uTextures:{value:e,type:"i32",size:i}},{isStatic:true}),t}var _d,oa=p(()=>{Se();_d={};});var ee,hi=p(()=>{ee=(i=>(i[i.WEBGL=1]="WEBGL",i[i.WEBGPU=2]="WEBGPU",i[i.BOTH=3]="BOTH",i))(ee||{});});var re,ui=p(()=>{Et();Mt();Ds();oi();Os();hi();Se();re=class i extends N{constructor(t){super(),this.uid=Y("shader"),this._uniformBindMap=Object.create(null),this._ownedBindGroups=[];let{gpuProgram:e,glProgram:r,groups:s,resources:o,compatibleRenderers:n,groupMap:a}=t;this.gpuProgram=e,this.glProgram=r,n===void 0&&(n=0,e&&(n|=ee.WEBGPU),r&&(n|=ee.WEBGL)),this.compatibleRenderers=n;let l={};if(!o&&!s&&(o={}),o&&s)throw new Error("[Shader] Cannot have both resources and groups");if(!e&&s&&!a)throw new Error("[Shader] No group map or WebGPU shader provided - consider using resources instead.");if(!e&&s&&a)for(let h in a)for(let u in a[h]){let c=a[h][u];l[c]={group:h,binding:u,name:c};}else if(e&&s&&!a){let h=e.structsAndGroups.groups;a={},h.forEach(u=>{a[u.group]=a[u.group]||{},a[u.group][u.binding]=u.name,l[u.name]=u;});}else if(o){s={},a={},e&&e.structsAndGroups.groups.forEach(c=>{a[c.group]=a[c.group]||{},a[c.group][c.binding]=c.name,l[c.name]=c;});let h=0;for(let u in o)l[u]||(s[99]||(s[99]=new Vt,this._ownedBindGroups.push(s[99])),l[u]={group:99,binding:h,name:u},a[99]=a[99]||{},a[99][h]=u,h++);for(let u in o){let c=u,f=o[u];!f.source&&!f._resourceType&&(f=new Ct(f));let d=l[c];d&&(s[d.group]||(s[d.group]=new Vt,this._ownedBindGroups.push(s[d.group])),s[d.group].setResource(f,d.binding));}}this.groups=s,this._uniformBindMap=a,this.resources=this._buildResourceAccessor(s,l);}addResource(t,e,r){var s,o;(s=this._uniformBindMap)[e]||(s[e]={}),(o=this._uniformBindMap[e])[r]||(o[r]=t),this.groups[e]||(this.groups[e]=new Vt,this._ownedBindGroups.push(this.groups[e]));}_buildResourceAccessor(t,e){let r={};for(let s in e){let o=e[s];Object.defineProperty(r,o.name,{get(){return t[o.group].getResource(o.binding)},set(n){t[o.group].setResource(n,o.binding);}});}return r}destroy(t=false){this.emit("destroy",this),t&&(this.gpuProgram?.destroy(),this.glProgram?.destroy()),this.gpuProgram=null,this.glProgram=null,this.removeAllListeners(),this._uniformBindMap=null,this._ownedBindGroups.forEach(e=>{e.destroy();}),this._ownedBindGroups=null,this.resources=null,this.groups=null;}static from(t){let{gpu:e,gl:r,...s}=t,o,n;return e&&(o=be.from(e)),r&&(n=ur.from(r)),new i({gpuProgram:o,glProgram:n,...s})}};});var Xs,yd=p(()=>{zs();ta();ia();$s();oa();ui();Xs=class extends re{constructor(t){let e=fr({name:"batch",bits:[Vs,Ns(t),mr]}),r=dr({name:"batch",bits:[Ws,Hs(t),pr]});super({glProgram:e,gpuProgram:r,resources:{batchSamplers:Ys(t)}});}};});var na,bd,Sd,Td=p(()=>{k();mc();yc();yd();na=null,bd=class vd extends pc{constructor(t){super(t),this.geometry=new Gs,this.name=vd.extension.name,this.vertexSize=6,na??(na=new Xs(t.maxTextures)),this.shader=na;}packAttributes(t,e,r,s,o){let n=o<<16|t.roundPixels&65535,a=t.transform,l=a.a,h=a.b,u=a.c,c=a.d,f=a.tx,d=a.ty,{positions:g,uvs:x}=t,m=t.color,_=t.attributeOffset,y=_+t.attributeSize;for(let b=_;b<y;b++){let v=b*2,A=g[v],T=g[v+1];e[s++]=l*A+u*T+f,e[s++]=c*T+h*A+d,e[s++]=x[v],e[s++]=x[v+1],r[s++]=m,r[s++]=n;}}packQuadAttributes(t,e,r,s,o){let n=t.texture,a=t.transform,l=a.a,h=a.b,u=a.c,c=a.d,f=a.tx,d=a.ty,g=t.bounds,x=g.maxX,m=g.minX,_=g.maxY,y=g.minY,b=n.uvs,v=t.color,A=o<<16|t.roundPixels&65535;e[s+0]=l*m+u*y+f,e[s+1]=c*y+h*m+d,e[s+2]=b.x0,e[s+3]=b.y0,r[s+4]=v,r[s+5]=A,e[s+6]=l*x+u*y+f,e[s+7]=c*y+h*x+d,e[s+8]=b.x1,e[s+9]=b.y1,r[s+10]=v,r[s+11]=A,e[s+12]=l*x+u*_+f,e[s+13]=c*_+h*x+d,e[s+14]=b.x2,e[s+15]=b.y2,r[s+16]=v,r[s+17]=A,e[s+18]=l*m+u*_+f,e[s+19]=c*_+h*m+d,e[s+20]=b.x3,e[s+21]=b.y3,r[s+22]=v,r[s+23]=A;}};bd.extension={type:[S.Batcher],name:"default"};Sd=bd;});function wd(i,t,e,r,s,o,n,a=null){let l=0;e*=t,s*=o;let h=a.a,u=a.b,c=a.c,f=a.d,d=a.tx,g=a.ty;for(;l<n;){let x=i[e],m=i[e+1];r[s]=h*x+c*m+d,r[s+1]=u*x+f*m+g,s+=o,e+=t,l++;}}function Pd(i,t,e,r){let s=0;for(t*=e;s<r;)i[t]=0,i[t+1]=0,t+=e,s++;}var Md=p(()=>{});function aa(i,t,e,r,s){let o=t.a,n=t.b,a=t.c,l=t.d,h=t.tx,u=t.ty;e||(e=0),r||(r=2),s||(s=i.length/r-e);let c=e*r;for(let f=0;f<s;f++){let d=i[c],g=i[c+1];i[c]=o*d+a*g+h,i[c+1]=n*d+l*g+u,c+=r;}}var Ad=p(()=>{});var ux,Oe,la=p(()=>{tt();Qo();ux=new P,Oe=class{constructor(){this.packAsQuad=false,this.batcherName="default",this.topology="triangle-list",this.applyTransform=true,this.roundPixels=0,this._batcher=null,this._batch=null;}get uvs(){return this.geometryData.uvs}get positions(){return this.geometryData.vertices}get indices(){return this.geometryData.indices}get blendMode(){return this.renderable&&this.applyTransform?this.renderable.groupBlendMode:"normal"}get color(){let t=this.baseColor,e=t>>16|t&65280|(t&255)<<16,r=this.renderable;return r?as(e,r.groupColor)+(this.alpha*r.groupAlpha*255<<24):e+(this.alpha*255<<24)}get transform(){return this.renderable?.groupTransform||ux}copyTo(t){t.indexOffset=this.indexOffset,t.indexSize=this.indexSize,t.attributeOffset=this.attributeOffset,t.attributeSize=this.attributeSize,t.baseColor=this.baseColor,t.alpha=this.alpha,t.texture=this.texture,t.geometryData=this.geometryData,t.topology=this.topology;}reset(){this.applyTransform=true,this.renderable=null,this.topology="triangle-list";}};});var gr,Cd,Ed,Fd=p(()=>{k();gr={extension:{type:S.ShapeBuilder,name:"circle"},build(i,t){let e,r,s,o,n,a;if(i.type==="circle"){let v=i;if(n=a=v.radius,n<=0)return false;e=v.x,r=v.y,s=o=0;}else if(i.type==="ellipse"){let v=i;if(n=v.halfWidth,a=v.halfHeight,n<=0||a<=0)return false;e=v.x,r=v.y,s=o=0;}else {let v=i,A=v.width/2,T=v.height/2;e=v.x+A,r=v.y+T,n=a=Math.max(0,Math.min(v.radius,Math.min(A,T))),s=A-n,o=T-a;}if(s<0||o<0)return false;let l=Math.ceil(2.3*Math.sqrt(n+a)),h=l*8+(s?4:0)+(o?4:0);if(h===0)return false;if(l===0)return t[0]=t[6]=e+s,t[1]=t[3]=r+o,t[2]=t[4]=e-s,t[5]=t[7]=r-o,true;let u=0,c=l*4+(s?2:0)+2,f=c,d=h,g=s+n,x=o,m=e+g,_=e-g,y=r+x;if(t[u++]=m,t[u++]=y,t[--c]=y,t[--c]=_,o){let v=r-x;t[f++]=_,t[f++]=v,t[--d]=v,t[--d]=m;}for(let v=1;v<l;v++){let A=Math.PI/2*(v/l),T=s+Math.cos(A)*n,w=o+Math.sin(A)*a,U=e+T,M=e-T,E=r+w,C=r-w;t[u++]=U,t[u++]=E,t[--c]=E,t[--c]=M,t[f++]=M,t[f++]=C,t[--d]=C,t[--d]=U;}g=s,x=o+a,m=e+g,_=e-g,y=r+x;let b=r-x;return t[u++]=m,t[u++]=y,t[--d]=b,t[--d]=m,s&&(t[u++]=_,t[u++]=y,t[--d]=b,t[--d]=_),true},triangulate(i,t,e,r,s,o){if(i.length===0)return;let n=0,a=0;for(let u=0;u<i.length;u+=2)n+=i[u],a+=i[u+1];n/=i.length/2,a/=i.length/2;let l=r;t[l*e]=n,t[l*e+1]=a;let h=l++;for(let u=0;u<i.length;u+=2)t[l*e]=i[u],t[l*e+1]=i[u+1],u>0&&(s[o++]=l,s[o++]=h,s[o++]=l-1),l++;s[o++]=h+1,s[o++]=h,s[o++]=l-1;}},Cd={...gr,extension:{...gr.extension,name:"ellipse"}},Ed={...gr,extension:{...gr.extension,name:"roundedRectangle"}};});function Bd(i){let t=i.length;if(t<6)return 1;let e=0;for(let r=0,s=i[t-2],o=i[t-1];r<t;r+=2){let n=i[r],a=i[r+1];e+=(n-s)*(a+o),s=n,o=a;}return e<0?-1:1}var kd=p(()=>{});function Gd(i,t,e,r,s,o,n,a){let l=i-e*s,h=t-r*s,u=i+e*o,c=t+r*o,f,d;n?(f=r,d=-e):(f=-r,d=e);let g=l+f,x=h+d,m=u+f,_=c+d;return a.push(g,x),a.push(m,_),2}function ze(i,t,e,r,s,o,n,a){let l=e-i,h=r-t,u=Math.atan2(l,h),c=Math.atan2(s-i,o-t);a&&u<c?u+=Math.PI*2:!a&&u>c&&(c+=Math.PI*2);let f=u,d=c-u,g=Math.abs(d),x=Math.sqrt(l*l+h*h),m=(15*g*Math.sqrt(x)/Math.PI>>0)+1,_=d/m;if(f+=_,a){n.push(i,t),n.push(e,r);for(let y=1,b=f;y<m;y++,b+=_)n.push(i,t),n.push(i+Math.sin(b)*x,t+Math.cos(b)*x);n.push(i,t),n.push(s,o);}else {n.push(e,r),n.push(i,t);for(let y=1,b=f;y<m;y++,b+=_)n.push(i+Math.sin(b)*x,t+Math.cos(b)*x),n.push(i,t);n.push(s,o),n.push(i,t);}return m*2}function Id(i,t,e,r,s,o){let n=1e-4;if(i.length===0)return;let a=t,l=a.alignment;if(t.alignment!==.5){let J=Bd(i);l=(l-.5)*J+.5;}let h=new $(i[0],i[1]),u=new $(i[i.length-2],i[i.length-1]),c=r,f=Math.abs(h.x-u.x)<n&&Math.abs(h.y-u.y)<n;if(c){i=i.slice(),f&&(i.pop(),i.pop(),u.set(i[i.length-2],i[i.length-1]));let J=(h.x+u.x)*.5,ge=(u.y+h.y)*.5;i.unshift(J,ge),i.push(J,ge);}let d=s,g=i.length/2,x=i.length,m=d.length/2,_=a.width/2,y=_*_,b=a.miterLimit*a.miterLimit,v=i[0],A=i[1],T=i[2],w=i[3],U=0,M=0,E=-(A-w),C=v-T,O=0,q=0,yt=Math.sqrt(E*E+C*C);E/=yt,C/=yt,E*=_,C*=_;let kr=l,L=(1-kr)*2,W=kr*2;c||(a.cap==="round"?x+=ze(v-E*(L-W)*.5,A-C*(L-W)*.5,v-E*L,A-C*L,v+E*W,A+C*W,d,true)+2:a.cap==="square"&&(x+=Gd(v,A,E,C,L,W,true,d))),d.push(v-E*L,A-C*L),d.push(v+E*W,A+C*W);for(let J=1;J<g-1;++J){v=i[(J-1)*2],A=i[(J-1)*2+1],T=i[J*2],w=i[J*2+1],U=i[(J+1)*2],M=i[(J+1)*2+1],E=-(A-w),C=v-T,yt=Math.sqrt(E*E+C*C),E/=yt,C/=yt,E*=_,C*=_,O=-(w-M),q=T-U,yt=Math.sqrt(O*O+q*q),O/=yt,q/=yt,O*=_,q*=_;let ge=T-v,Gr=A-w,Ir=T-U,Rr=M-w,Tl=ge*Ir+Gr*Rr,Hi=Gr*Ir-Rr*ge,Dr=Hi<0;if(Math.abs(Hi)<.001*Math.abs(Tl)){d.push(T-E*L,w-C*L),d.push(T+E*W,w+C*W),Tl>=0&&(a.join==="round"?x+=ze(T,w,T-E*L,w-C*L,T-O*L,w-q*L,d,false)+4:x+=2,d.push(T-O*W,w-q*W),d.push(T+O*L,w+q*L));continue}let wl=(-E+v)*(-C+w)-(-E+T)*(-C+A),Pl=(-O+U)*(-q+w)-(-O+T)*(-q+M),Ni=(ge*Pl-Ir*wl)/Hi,$i=(Rr*wl-Gr*Pl)/Hi,Ro=(Ni-T)*(Ni-T)+($i-w)*($i-w),Me=T+(Ni-T)*L,Ae=w+($i-w)*L,Ce=T-(Ni-T)*W,Ee=w-($i-w)*W,eg=Math.min(ge*ge+Gr*Gr,Ir*Ir+Rr*Rr),Ml=Dr?L:W,rg=eg+Ml*Ml*y;Ro<=rg?a.join==="bevel"||Ro/y>b?(Dr?(d.push(Me,Ae),d.push(T+E*W,w+C*W),d.push(Me,Ae),d.push(T+O*W,w+q*W)):(d.push(T-E*L,w-C*L),d.push(Ce,Ee),d.push(T-O*L,w-q*L),d.push(Ce,Ee)),x+=2):a.join==="round"?Dr?(d.push(Me,Ae),d.push(T+E*W,w+C*W),x+=ze(T,w,T+E*W,w+C*W,T+O*W,w+q*W,d,true)+4,d.push(Me,Ae),d.push(T+O*W,w+q*W)):(d.push(T-E*L,w-C*L),d.push(Ce,Ee),x+=ze(T,w,T-E*L,w-C*L,T-O*L,w-q*L,d,false)+4,d.push(T-O*L,w-q*L),d.push(Ce,Ee)):(d.push(Me,Ae),d.push(Ce,Ee)):(d.push(T-E*L,w-C*L),d.push(T+E*W,w+C*W),a.join==="round"?Dr?x+=ze(T,w,T+E*W,w+C*W,T+O*W,w+q*W,d,true)+2:x+=ze(T,w,T-E*L,w-C*L,T-O*L,w-q*L,d,false)+2:a.join==="miter"&&Ro/y<=b&&(Dr?(d.push(Ce,Ee),d.push(Ce,Ee)):(d.push(Me,Ae),d.push(Me,Ae)),x+=2),d.push(T-O*L,w-q*L),d.push(T+O*W,w+q*W),x+=2);}v=i[(g-2)*2],A=i[(g-2)*2+1],T=i[(g-1)*2],w=i[(g-1)*2+1],E=-(A-w),C=v-T,yt=Math.sqrt(E*E+C*C),E/=yt,C/=yt,E*=_,C*=_,d.push(T-E*L,w-C*L),d.push(T+E*W,w+C*W),c||(a.cap==="round"?x+=ze(T-E*(L-W)*.5,w-C*(L-W)*.5,T-E*L,w-C*L,T+E*W,w+C*W,d,false)+2:a.cap==="square"&&(x+=Gd(T,w,E,C,L,W,false,d)));let tg=1e-4*1e-4;for(let J=m;J<x+m-2;++J)v=d[J*2],A=d[J*2+1],T=d[(J+1)*2],w=d[(J+1)*2+1],U=d[(J+2)*2],M=d[(J+2)*2+1],!(Math.abs(v*(w-M)+T*(M-A)+U*(A-w))<tg)&&o.push(J,J+1,J+2);}var Rd=p(()=>{qt();kd();});function Dd(i,t,e,r){let s=1e-4;if(i.length===0)return;let o=i[0],n=i[1],a=i[i.length-2],l=i[i.length-1],h=t||Math.abs(o-a)<s&&Math.abs(n-l)<s,u=e,c=i.length/2,f=u.length/2;for(let d=0;d<c;d++)u.push(i[d*2]),u.push(i[d*2+1]);for(let d=0;d<c-1;d++)r.push(f+d,f+d+1);h&&r.push(f+c-1,f);}var Ld=p(()=>{});function Ks(i,t,e=2){let r=t&&t.length,s=r?t[0]*e:i.length,o=Od(i,0,s,e,true),n=[];if(!o||o.next===o.prev)return n;let a,l,h;if(r&&(o=xx(i,t,o,e)),i.length>80*e){a=1/0,l=1/0;let u=-1/0,c=-1/0;for(let f=e;f<s;f+=e){let d=i[f],g=i[f+1];d<a&&(a=d),g<l&&(l=g),d>u&&(u=d),g>c&&(c=g);}h=Math.max(u-a,c-l),h=h!==0?32767/h:0;}return di(o,n,e,a,l,h,0),n}function Od(i,t,e,r,s){let o;if(s===Cx(i,t,e,r)>0)for(let n=t;n<e;n+=r)o=Ud(n/r|0,i[n],i[n+1],o);else for(let n=e-r;n>=t;n-=r)o=Ud(n/r|0,i[n],i[n+1],o);return o&&xr(o,o.next)&&(pi(o),o=o.next),o}function We(i,t){if(!i)return i;t||(t=i);let e=i,r;do if(r=false,!e.steiner&&(xr(e,e.next)||at(e.prev,e,e.next)===0)){if(pi(e),e=t=e.prev,e===e.next)break;r=true;}else e=e.next;while(r||e!==t);return t}function di(i,t,e,r,s,o,n){if(!i)return;!n&&o&&Sx(i,r,s,o);let a=i;for(;i.prev!==i.next;){let l=i.prev,h=i.next;if(o?px(i,r,s,o):fx(i)){t.push(l.i,i.i,h.i),pi(i),i=h.next,a=h.next;continue}if(i=h,i===a){n?n===1?(i=mx(We(i),t),di(i,t,e,r,s,o,2)):n===2&&gx(i,t,e,r,s,o):di(We(i),t,e,r,s,o,1);break}}}function fx(i){let t=i.prev,e=i,r=i.next;if(at(t,e,r)>=0)return false;let s=t.x,o=e.x,n=r.x,a=t.y,l=e.y,h=r.y,u=Math.min(s,o,n),c=Math.min(a,l,h),f=Math.max(s,o,n),d=Math.max(a,l,h),g=r.next;for(;g!==t;){if(g.x>=u&&g.x<=f&&g.y>=c&&g.y<=d&&ci(s,a,o,l,n,h,g.x,g.y)&&at(g.prev,g,g.next)>=0)return false;g=g.next;}return true}function px(i,t,e,r){let s=i.prev,o=i,n=i.next;if(at(s,o,n)>=0)return false;let a=s.x,l=o.x,h=n.x,u=s.y,c=o.y,f=n.y,d=Math.min(a,l,h),g=Math.min(u,c,f),x=Math.max(a,l,h),m=Math.max(u,c,f),_=ha(d,g,t,e,r),y=ha(x,m,t,e,r),b=i.prevZ,v=i.nextZ;for(;b&&b.z>=_&&v&&v.z<=y;){if(b.x>=d&&b.x<=x&&b.y>=g&&b.y<=m&&b!==s&&b!==n&&ci(a,u,l,c,h,f,b.x,b.y)&&at(b.prev,b,b.next)>=0||(b=b.prevZ,v.x>=d&&v.x<=x&&v.y>=g&&v.y<=m&&v!==s&&v!==n&&ci(a,u,l,c,h,f,v.x,v.y)&&at(v.prev,v,v.next)>=0))return false;v=v.nextZ;}for(;b&&b.z>=_;){if(b.x>=d&&b.x<=x&&b.y>=g&&b.y<=m&&b!==s&&b!==n&&ci(a,u,l,c,h,f,b.x,b.y)&&at(b.prev,b,b.next)>=0)return false;b=b.prevZ;}for(;v&&v.z<=y;){if(v.x>=d&&v.x<=x&&v.y>=g&&v.y<=m&&v!==s&&v!==n&&ci(a,u,l,c,h,f,v.x,v.y)&&at(v.prev,v,v.next)>=0)return false;v=v.nextZ;}return true}function mx(i,t){let e=i;do{let r=e.prev,s=e.next.next;!xr(r,s)&&Wd(r,e,e.next,s)&&fi(r,s)&&fi(s,r)&&(t.push(r.i,e.i,s.i),pi(e),pi(e.next),e=i=s),e=e.next;}while(e!==i);return We(e)}function gx(i,t,e,r,s,o){let n=i;do{let a=n.next.next;for(;a!==n.prev;){if(n.i!==a.i&&Px(n,a)){let l=Vd(n,a);n=We(n,n.next),l=We(l,l.next),di(n,t,e,r,s,o,0),di(l,t,e,r,s,o,0);return}a=a.next;}n=n.next;}while(n!==i)}function xx(i,t,e,r){let s=[];for(let o=0,n=t.length;o<n;o++){let a=t[o]*r,l=o<n-1?t[o+1]*r:i.length,h=Od(i,a,l,r,false);h===h.next&&(h.steiner=true),s.push(wx(h));}s.sort(_x);for(let o=0;o<s.length;o++)e=yx(s[o],e);return e}function _x(i,t){let e=i.x-t.x;if(e===0&&(e=i.y-t.y,e===0)){let r=(i.next.y-i.y)/(i.next.x-i.x),s=(t.next.y-t.y)/(t.next.x-t.x);e=r-s;}return e}function yx(i,t){let e=bx(i,t);if(!e)return t;let r=Vd(e,i);return We(r,r.next),We(e,e.next)}function bx(i,t){let e=t,r=i.x,s=i.y,o=-1/0,n;if(xr(i,e))return e;do{if(xr(i,e.next))return e.next;if(s<=e.y&&s>=e.next.y&&e.next.y!==e.y){let c=e.x+(s-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(c<=r&&c>o&&(o=c,n=e.x<e.next.x?e:e.next,c===r))return n}e=e.next;}while(e!==t);if(!n)return null;let a=n,l=n.x,h=n.y,u=1/0;e=n;do{if(r>=e.x&&e.x>=l&&r!==e.x&&zd(s<h?r:o,s,l,h,s<h?o:r,s,e.x,e.y)){let c=Math.abs(s-e.y)/(r-e.x);fi(e,i)&&(c<u||c===u&&(e.x>n.x||e.x===n.x&&vx(n,e)))&&(n=e,u=c);}e=e.next;}while(e!==a);return n}function vx(i,t){return at(i.prev,i,t.prev)<0&&at(t.next,i,i.next)<0}function Sx(i,t,e,r){let s=i;do s.z===0&&(s.z=ha(s.x,s.y,t,e,r)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==i);s.prevZ.nextZ=null,s.prevZ=null,Tx(s);}function Tx(i){let t,e=1;do{let r=i,s;i=null;let o=null;for(t=0;r;){t++;let n=r,a=0;for(let h=0;h<e&&(a++,n=n.nextZ,!!n);h++);let l=e;for(;a>0||l>0&&n;)a!==0&&(l===0||!n||r.z<=n.z)?(s=r,r=r.nextZ,a--):(s=n,n=n.nextZ,l--),o?o.nextZ=s:i=s,s.prevZ=o,o=s;r=n;}o.nextZ=null,e*=2;}while(t>1);return i}function ha(i,t,e,r,s){return i=(i-e)*s|0,t=(t-r)*s|0,i=(i|i<<8)&16711935,i=(i|i<<4)&252645135,i=(i|i<<2)&858993459,i=(i|i<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,i|t<<1}function wx(i){let t=i,e=i;do(t.x<e.x||t.x===e.x&&t.y<e.y)&&(e=t),t=t.next;while(t!==i);return e}function zd(i,t,e,r,s,o,n,a){return (s-n)*(t-a)>=(i-n)*(o-a)&&(i-n)*(r-a)>=(e-n)*(t-a)&&(e-n)*(o-a)>=(s-n)*(r-a)}function ci(i,t,e,r,s,o,n,a){return !(i===n&&t===a)&&zd(i,t,e,r,s,o,n,a)}function Px(i,t){return i.next.i!==t.i&&i.prev.i!==t.i&&!Mx(i,t)&&(fi(i,t)&&fi(t,i)&&Ax(i,t)&&(at(i.prev,i,t.prev)||at(i,t.prev,t))||xr(i,t)&&at(i.prev,i,i.next)>0&&at(t.prev,t,t.next)>0)}function at(i,t,e){return (t.y-i.y)*(e.x-t.x)-(t.x-i.x)*(e.y-t.y)}function xr(i,t){return i.x===t.x&&i.y===t.y}function Wd(i,t,e,r){let s=qs(at(i,t,e)),o=qs(at(i,t,r)),n=qs(at(e,r,i)),a=qs(at(e,r,t));return !!(s!==o&&n!==a||s===0&&js(i,e,t)||o===0&&js(i,r,t)||n===0&&js(e,i,r)||a===0&&js(e,t,r))}function js(i,t,e){return t.x<=Math.max(i.x,e.x)&&t.x>=Math.min(i.x,e.x)&&t.y<=Math.max(i.y,e.y)&&t.y>=Math.min(i.y,e.y)}function qs(i){return i>0?1:i<0?-1:0}function Mx(i,t){let e=i;do{if(e.i!==i.i&&e.next.i!==i.i&&e.i!==t.i&&e.next.i!==t.i&&Wd(e,e.next,i,t))return true;e=e.next;}while(e!==i);return false}function fi(i,t){return at(i.prev,i,i.next)<0?at(i,t,i.next)>=0&&at(i,i.prev,t)>=0:at(i,t,i.prev)<0||at(i,i.next,t)<0}function Ax(i,t){let e=i,r=false,s=(i.x+t.x)/2,o=(i.y+t.y)/2;do e.y>o!=e.next.y>o&&e.next.y!==e.y&&s<(e.next.x-e.x)*(o-e.y)/(e.next.y-e.y)+e.x&&(r=!r),e=e.next;while(e!==i);return r}function Vd(i,t){let e=ua(i.i,i.x,i.y),r=ua(t.i,t.x,t.y),s=i.next,o=t.prev;return i.next=t,t.prev=i,e.next=s,s.prev=e,r.next=e,e.prev=r,o.next=r,r.prev=o,r}function Ud(i,t,e,r){let s=ua(i,t,e);return r?(s.next=r.next,s.prev=r,r.next.prev=s,r.next=s):(s.prev=s,s.next=s),s}function pi(i){i.next.prev=i.prev,i.prev.next=i.next,i.prevZ&&(i.prevZ.nextZ=i.nextZ),i.nextZ&&(i.nextZ.prevZ=i.prevZ);}function ua(i,t,e){return {i,x:t,y:e,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:false}}function Cx(i,t,e,r){let s=0;for(let o=t,n=e-r;o<e;o+=r)s+=(i[n]-i[o])*(i[o+1]+i[n+1]),n=o;return s}var Hd=p(()=>{});var Nd,$d=p(()=>{Hd();Et();Nd=Ks.default||Ks;});function Zs(i,t,e,r,s,o,n){let a=Nd(i,t,2);if(!a)return;for(let h=0;h<a.length;h+=3)o[n++]=a[h]+s,o[n++]=a[h+1]+s,o[n++]=a[h+2]+s;let l=s*r;for(let h=0;h<i.length;h+=2)e[l]=i[h],e[l+1]=i[h+1],l+=r;}var ca=p(()=>{$d();});var Ex,Yd,Xd=p(()=>{k();ca();Ex=[],Yd={extension:{type:S.ShapeBuilder,name:"polygon"},build(i,t){for(let e=0;e<i.points.length;e++)t[e]=i.points[e];return true},triangulate(i,t,e,r,s,o){Zs(i,Ex,t,e,r,s,o);}};});var jd,qd=p(()=>{k();jd={extension:{type:S.ShapeBuilder,name:"rectangle"},build(i,t){let e=i,r=e.x,s=e.y,o=e.width,n=e.height;return o>0&&n>0?(t[0]=r,t[1]=s,t[2]=r+o,t[3]=s,t[4]=r+o,t[5]=s+n,t[6]=r,t[7]=s+n,true):false},triangulate(i,t,e,r,s,o){let n=0;r*=e,t[r+n]=i[0],t[r+n+1]=i[1],n+=e,t[r+n]=i[2],t[r+n+1]=i[3],n+=e,t[r+n]=i[6],t[r+n+1]=i[7],n+=e,t[r+n]=i[4],t[r+n+1]=i[5],n+=e;let a=r/e;s[o++]=a,s[o++]=a+1,s[o++]=a+2,s[o++]=a+1,s[o++]=a+3,s[o++]=a+2;}};});var Kd,Zd=p(()=>{k();Kd={extension:{type:S.ShapeBuilder,name:"triangle"},build(i,t){return t[0]=i.x,t[1]=i.y,t[2]=i.x2,t[3]=i.y2,t[4]=i.x3,t[5]=i.y3,true},triangulate(i,t,e,r,s,o){let n=0;r*=e,t[r+n]=i[0],t[r+n+1]=i[1],n+=e,t[r+n]=i[2],t[r+n+1]=i[3],n+=e,t[r+n]=i[4],t[r+n+1]=i[5];let a=r/e;s[o++]=a,s[o++]=a+1,s[o++]=a+2;}};});function Jd(i,t){for(let e=0;e<t.length;e++){let r=t[e];i.addColorStop(r.offset,r.color);}}function tf(i,t){let e=nt.get().createCanvas(i,t),r=e.getContext("2d");return {canvas:e,context:r}}function Fx(i){let t=i[0]??{};return (typeof t=="number"||i[1])&&(F("8.5.2","use options object instead"),t={type:"linear",start:{x:i[0],y:i[1]},end:{x:i[2],y:i[3]},textureSpace:i[4],textureSize:i[5]??Gt.defaultLinearOptions.textureSize}),t}var Qd,fa,Gt,_r=p(()=>{Ft();Xt();tt();As();bt();Mt();lt();on();Qd=[{offset:0,color:"white"},{offset:1,color:"black"}],fa=class da{constructor(...t){this.uid=Y("fillGradient"),this.type="linear",this.colorStops=[];let e=Fx(t);e={...e.type==="radial"?da.defaultRadialOptions:da.defaultLinearOptions,...hs(e)},this._textureSize=e.textureSize,this._wrapMode=e.wrapMode,e.type==="radial"?(this.center=e.center,this.outerCenter=e.outerCenter??this.center,this.innerRadius=e.innerRadius,this.outerRadius=e.outerRadius,this.scale=e.scale,this.rotation=e.rotation):(this.start=e.start,this.end=e.end),this.textureSpace=e.textureSpace,this.type=e.type,e.colorStops.forEach(s=>{this.addColorStop(s.offset,s.color);});}addColorStop(t,e){return this.colorStops.push({offset:t,color:H.shared.setValue(e).toHexa()}),this}buildLinearGradient(){if(this.texture)return;let{x:t,y:e}=this.start,{x:r,y:s}=this.end,o=r-t,n=s-e,a=o<0||n<0;if(this._wrapMode==="clamp-to-edge"){if(o<0){let m=t;t=r,r=m,o*=-1;}if(n<0){let m=e;e=s,s=m,n*=-1;}}let l=this.colorStops.length?this.colorStops:Qd,h=this._textureSize,{canvas:u,context:c}=tf(h,1),f=a?c.createLinearGradient(this._textureSize,0,0,0):c.createLinearGradient(0,0,this._textureSize,0);Jd(f,l),c.fillStyle=f,c.fillRect(0,0,h,1),this.texture=new B({source:new Qt({resource:u,addressMode:this._wrapMode})});let d=Math.sqrt(o*o+n*n),g=Math.atan2(n,o),x=new P;x.scale(d/h,1),x.rotate(g),x.translate(t,e),this.textureSpace==="local"&&x.scale(h,h),this.transform=x;}buildGradient(){this.type==="linear"?this.buildLinearGradient():this.buildRadialGradient();}buildRadialGradient(){if(this.texture)return;let t=this.colorStops.length?this.colorStops:Qd,e=this._textureSize,{canvas:r,context:s}=tf(e,e),{x:o,y:n}=this.center,{x:a,y:l}=this.outerCenter,h=this.innerRadius,u=this.outerRadius,c=a-u,f=l-u,d=e/(u*2),g=(o-c)*d,x=(n-f)*d,m=s.createRadialGradient(g,x,h*d,(a-c)*d,(l-f)*d,u*d);Jd(m,t),s.fillStyle=t[t.length-1].color,s.fillRect(0,0,e,e),s.fillStyle=m,s.translate(g,x),s.rotate(this.rotation),s.scale(1,this.scale),s.translate(-g,-x),s.fillRect(0,0,e,e),this.texture=new B({source:new Qt({resource:r,addressMode:this._wrapMode})});let _=new P;_.scale(1/d,1/d),_.translate(c,f),this.textureSpace==="local"&&_.scale(e,e),this.transform=_;}get styleKey(){return this.uid}destroy(){this.texture?.destroy(true),this.texture=null;}};fa.defaultLinearOptions={start:{x:0,y:0},end:{x:0,y:1},colorStops:[],textureSpace:"local",type:"linear",textureSize:256,wrapMode:"clamp-to-edge"};fa.defaultRadialOptions={center:{x:.5,y:.5},innerRadius:0,outerRadius:.5,colorStops:[],scale:1,textureSpace:"local",type:"radial",textureSize:256,wrapMode:"clamp-to-edge"};Gt=fa;});function ef(i,t,e,r){let s=t.matrix?i.copyFrom(t.matrix).invert():i.identity();if(t.textureSpace==="local"){let n=e.getBounds(kx);t.width&&n.pad(t.width);let{x:a,y:l}=n,h=1/n.width,u=1/n.height,c=-a*h,f=-l*u,d=s.a,g=s.b,x=s.c,m=s.d;s.a*=h,s.b*=h,s.c*=u,s.d*=u,s.tx=c*d+f*x+s.tx,s.ty=c*g+f*m+s.ty;}else s.translate(t.texture.frame.x,t.texture.frame.y),s.scale(1/t.texture.source.width,1/t.texture.source.height);let o=t.texture.source.style;return !(t.fill instanceof Gt)&&o.addressMode==="clamp-to-edge"&&(o.addressMode="repeat",o.update()),r&&s.append(Bx.copyFrom(r).invert()),s}var Bx,kx,rf=p(()=>{tt();Bt();_r();Bx=new P,kx=new j;});function of(i,t){let{geometryData:e,batches:r}=t;r.length=0,e.indices.length=0,e.vertices.length=0,e.uvs.length=0;for(let s=0;s<i.instructions.length;s++){let o=i.instructions[s];if(o.action==="texture")Rx(o.data,r,e);else if(o.action==="fill"||o.action==="stroke"){let n=o.action==="stroke",a=o.data.path.shapePath,l=o.data.style,h=o.data.hole;n&&h&&sf(h.shapePath,l,true,r,e),h&&(a.shapePrimitives[a.shapePrimitives.length-1].holes=h.shapePath.shapePrimitives),sf(a,l,n,r,e);}}}function Rx(i,t,e){let r=[],s=Qs.rectangle,o=Gx;o.x=i.dx,o.y=i.dy,o.width=i.dw,o.height=i.dh;let n=i.transform;if(!s.build(o,r))return;let{vertices:a,uvs:l,indices:h}=e,u=h.length,c=a.length/2;n&&aa(r,n),s.triangulate(r,a,2,c,h,u);let f=i.image,d=f.uvs;l.push(d.x0,d.y0,d.x1,d.y1,d.x3,d.y3,d.x2,d.y2);let g=pt.get(Oe);g.indexOffset=u,g.indexSize=h.length-u,g.attributeOffset=c,g.attributeSize=a.length/2-c,g.baseColor=i.style,g.alpha=i.alpha,g.texture=f,g.geometryData=e,t.push(g);}function sf(i,t,e,r,s){let{vertices:o,uvs:n,indices:a}=s;i.shapePrimitives.forEach(({shape:l,transform:h,holes:u})=>{let c=[],f=Qs[l.type];if(!f.build(l,c))return;let d=a.length,g=o.length/2,x="triangle-list";if(h&&aa(c,h),e){let b=l.closePath??true,v=t;v.pixelLine?(Dd(c,b,o,a),x="line-list"):Id(c,v,false,b,o,a);}else if(u){let b=[],v=c.slice();Dx(u).forEach(T=>{b.push(v.length/2),v.push(...T);}),Zs(v,b,o,2,g,a,d);}else f.triangulate(c,o,2,g,a,d);let m=n.length/2,_=t.texture;if(_!==B.WHITE){let b=ef(Ix,t,l,h);wd(o,2,g,n,m,2,o.length/2-g,b);}else Pd(n,m,2,o.length/2-g);let y=pt.get(Oe);y.indexOffset=d,y.indexSize=a.length-d,y.attributeOffset=g,y.attributeSize=o.length/2-g,y.baseColor=t.color,y.alpha=t.alpha,y.texture=_,y.geometryData=s,y.topology=x,r.push(y);});}function Dx(i){let t=[];for(let e=0;e<i.length;e++){let r=i[e].shape,s=[];Qs[r.type].build(r,s)&&t.push(s);}return t}var Qs,Gx,Ix,nf=p(()=>{k();tt();Bt();Md();Ad();bt();Be();la();Fd();Rd();Ld();Xd();qd();Zd();rf();ca();Qs={};I.handleByMap(S.ShapeBuilder,Qs);I.add(jd,Yd,Kd,gr,Cd,Ed);Gx=new j,Ix=new P;});var pa,ma,xa,yr,Js=p(()=>{k();tc();Td();rn();lt();Be();nf();pa=class{constructor(){this.batches=[],this.geometryData={vertices:[],uvs:[],indices:[]};}},ma=class{constructor(){this.instructions=new Qe;}init(t){this.batcher=new Sd({maxTextures:t}),this.instructions.reset();}get geometry(){return F(th,"GraphicsContextRenderData#geometry is deprecated, please use batcher.geometry instead."),this.batcher.geometry}},xa=class ga{constructor(t){this._gpuContextHash={},this._graphicsDataContextHash=Object.create(null),this._renderer=t,t.renderableGC.addManagedHash(this,"_gpuContextHash"),t.renderableGC.addManagedHash(this,"_graphicsDataContextHash");}init(t){ga.defaultOptions.bezierSmoothness=t?.bezierSmoothness??ga.defaultOptions.bezierSmoothness;}getContextRenderData(t){return this._graphicsDataContextHash[t.uid]||this._initContextRenderData(t)}updateGpuContext(t){let e=this._gpuContextHash[t.uid]||this._initContext(t);if(t.dirty){e?this._cleanGraphicsContextData(t):e=this._initContext(t),of(t,e);let r=t.batchMode;t.customShader||r==="no-batch"?e.isBatchable=false:r==="auto"?e.isBatchable=e.geometryData.vertices.length<400:e.isBatchable=true,t.dirty=false;}return e}getGpuContext(t){return this._gpuContextHash[t.uid]||this._initContext(t)}_initContextRenderData(t){let e=pt.get(ma,{maxTextures:this._renderer.limits.maxBatchableTextures}),{batches:r,geometryData:s}=this._gpuContextHash[t.uid],o=s.vertices.length,n=s.indices.length;for(let u=0;u<r.length;u++)r[u].applyTransform=false;let a=e.batcher;a.ensureAttributeBuffer(o),a.ensureIndexBuffer(n),a.begin();for(let u=0;u<r.length;u++){let c=r[u];a.add(c);}a.finish(e.instructions);let l=a.geometry;l.indexBuffer.setDataWithSize(a.indexBuffer,a.indexSize,true),l.buffers[0].setDataWithSize(a.attributeBuffer.float32View,a.attributeSize,true);let h=a.batches;for(let u=0;u<h.length;u++){let c=h[u];c.bindGroup=Ju(c.textures.textures,c.textures.count,this._renderer.limits.maxBatchableTextures);}return this._graphicsDataContextHash[t.uid]=e,e}_initContext(t){let e=new pa;return e.context=t,this._gpuContextHash[t.uid]=e,t.on("destroy",this.onGraphicsContextDestroy,this),this._gpuContextHash[t.uid]}onGraphicsContextDestroy(t){this._cleanGraphicsContextData(t),t.off("destroy",this.onGraphicsContextDestroy,this),this._gpuContextHash[t.uid]=null;}_cleanGraphicsContextData(t){let e=this._gpuContextHash[t.uid];e.isBatchable||this._graphicsDataContextHash[t.uid]&&(pt.return(this.getContextRenderData(t)),this._graphicsDataContextHash[t.uid]=null),e.batches&&e.batches.forEach(r=>{pt.return(r);});}destroy(){for(let t in this._gpuContextHash)this._gpuContextHash[t]&&this.onGraphicsContextDestroy(this._gpuContextHash[t].context);}};xa.extension={type:[S.WebGLSystem,S.WebGPUSystem,S.CanvasSystem],name:"graphicsContext"};xa.defaultOptions={bezierSmoothness:.5};yr=xa;});var Lx,_a,ya,ba,va,Sa,Ta,wa,Ve,to=p(()=>{Lx={normal:0,add:1,multiply:2,screen:3,overlay:4,erase:5,"normal-npm":6,"add-npm":7,"screen-npm":8,min:9,max:10},_a=0,ya=1,ba=2,va=3,Sa=4,Ta=5,wa=class af{constructor(){this.data=0,this.blendMode="normal",this.polygonOffset=0,this.blend=true,this.depthMask=true;}get blend(){return !!(this.data&1<<_a)}set blend(t){!!(this.data&1<<_a)!==t&&(this.data^=1<<_a);}get offsets(){return !!(this.data&1<<ya)}set offsets(t){!!(this.data&1<<ya)!==t&&(this.data^=1<<ya);}set cullMode(t){if(t==="none"){this.culling=false;return}this.culling=true,this.clockwiseFrontFace=t==="front";}get cullMode(){return this.culling?this.clockwiseFrontFace?"front":"back":"none"}get culling(){return !!(this.data&1<<ba)}set culling(t){!!(this.data&1<<ba)!==t&&(this.data^=1<<ba);}get depthTest(){return !!(this.data&1<<va)}set depthTest(t){!!(this.data&1<<va)!==t&&(this.data^=1<<va);}get depthMask(){return !!(this.data&1<<Ta)}set depthMask(t){!!(this.data&1<<Ta)!==t&&(this.data^=1<<Ta);}get clockwiseFrontFace(){return !!(this.data&1<<Sa)}set clockwiseFrontFace(t){!!(this.data&1<<Sa)!==t&&(this.data^=1<<Sa);}get blendMode(){return this._blendMode}set blendMode(t){this.blend=t!=="none",this._blendMode=t,this._blendModeId=Lx[t]||0;}get polygonOffset(){return this._polygonOffset}set polygonOffset(t){this.offsets=!!t,this._polygonOffset=t;}toString(){return `[pixi.js/core:State blendMode=${this.blendMode} clockwiseFrontFace=${this.clockwiseFrontFace} culling=${this.culling} depthMask=${this.depthMask} polygonOffset=${this.polygonOffset}]`}static for2d(){let t=new af;return t.depthTest=false,t.blend=true,t}};wa.default2d=wa.for2d();Ve=wa;});function Te(i,t,e){let r=(i>>24&255)/255;t[e++]=(i&255)/255*r,t[e++]=(i>>8&255)/255*r,t[e++]=(i>>16&255)/255*r,t[e++]=r;}var mi=p(()=>{});var Pa,gi,lf=p(()=>{k();to();Be();mi();la();Pa=class{constructor(){this.batches=[],this.batched=false;}destroy(){this.batches.forEach(t=>{pt.return(t);}),this.batches.length=0;}},gi=class{constructor(t,e){this.state=Ve.for2d(),this.renderer=t,this._adaptor=e,this.renderer.runners.contextChange.add(this);}contextChange(){this._adaptor.contextChange(this.renderer);}validateRenderable(t){let e=t.context,r=!!t._gpuData,s=this.renderer.graphicsContext.updateGpuContext(e);return !!(s.isBatchable||r!==s.isBatchable)}addRenderable(t,e){let r=this.renderer.graphicsContext.updateGpuContext(t.context);t.didViewUpdate&&this._rebuild(t),r.isBatchable?this._addToBatcher(t,e):(this.renderer.renderPipes.batch.break(e),e.add(t));}updateRenderable(t){let r=this._getGpuDataForRenderable(t).batches;for(let s=0;s<r.length;s++){let o=r[s];o._batcher.updateElement(o);}}execute(t){if(!t.isRenderable)return;let e=this.renderer,r=t.context;if(!e.graphicsContext.getGpuContext(r).batches.length)return;let o=r.customShader||this._adaptor.shader;this.state.blendMode=t.groupBlendMode;let n=o.resources.localUniforms.uniforms;n.uTransformMatrix=t.groupTransform,n.uRound=e._roundPixels|t._roundPixels,Te(t.groupColorAlpha,n.uColor,0),this._adaptor.execute(this,t);}_rebuild(t){let e=this._getGpuDataForRenderable(t),r=this.renderer.graphicsContext.updateGpuContext(t.context);e.destroy(),r.isBatchable&&this._updateBatchesForRenderable(t,e);}_addToBatcher(t,e){let r=this.renderer.renderPipes.batch,s=this._getGpuDataForRenderable(t).batches;for(let o=0;o<s.length;o++){let n=s[o];r.addToBatch(n,e);}}_getGpuDataForRenderable(t){return t._gpuData[this.renderer.uid]||this._initGpuDataForRenderable(t)}_initGpuDataForRenderable(t){let e=new Pa;return t._gpuData[this.renderer.uid]=e,e}_updateBatchesForRenderable(t,e){let r=t.context,s=this.renderer.graphicsContext.getGpuContext(r),o=this.renderer._roundPixels|t._roundPixels;e.batches=s.batches.map(n=>{let a=pt.get(Oe);return n.copyTo(a),a.renderable=t,a.roundPixels=o,a});}destroy(){this.renderer=null,this._adaptor.destroy(),this._adaptor=null,this.state=null;}};gi.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"graphics"};});var Ma=p(()=>{k();Js();lf();I.add(gi);I.add(yr);});var we,eo=p(()=>{we=class{constructor(){this.batcherName="default",this.packAsQuad=false,this.indexOffset=0,this.attributeOffset=0,this.roundPixels=0,this._batcher=null,this._batch=null,this._textureMatrixUpdateId=-1,this._uvUpdateId=-1;}get blendMode(){return this.renderable.groupBlendMode}get topology(){return this._topology||this.geometry.topology}set topology(t){this._topology=t;}reset(){this.renderable=null,this.texture=null,this._batcher=null,this._batch=null,this.geometry=null,this._uvUpdateId=-1,this._textureMatrixUpdateId=-1;}setTexture(t){this.texture!==t&&(this.texture=t,this._textureMatrixUpdateId=-1);}get uvs(){let e=this.geometry.getBuffer("aUV"),r=e.data,s=r,o=this.texture.textureMatrix;return o.isSimple||(s=this._transformedUvs,(this._textureMatrixUpdateId!==o._updateID||this._uvUpdateId!==e._updateID)&&((!s||s.length<r.length)&&(s=this._transformedUvs=new Float32Array(r.length)),this._textureMatrixUpdateId=o._updateID,this._uvUpdateId=e._updateID,o.multiplyUvs(r,s))),s}get positions(){return this.geometry.positions}get indices(){return this.geometry.indices}get color(){return this.renderable.groupColorAlpha}get groupTransform(){return this.renderable.groupTransform}get attributeSize(){return this.geometry.positions.length/2}get indexSize(){return this.geometry.indices.length}};});var ro,xi,hf=p(()=>{k();tt();oi();Se();ni();mi();eo();ro=class{destroy(){}},xi=class{constructor(t,e){this.localUniforms=new Ct({uTransformMatrix:{value:new P,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),this.localUniformsBindGroup=new Vt({0:this.localUniforms}),this.renderer=t,this._adaptor=e,this._adaptor.init();}validateRenderable(t){let e=this._getMeshData(t),r=e.batched,s=t.batched;if(e.batched=s,r!==s)return true;if(s){let o=t._geometry;if(o.indices.length!==e.indexSize||o.positions.length!==e.vertexSize)return e.indexSize=o.indices.length,e.vertexSize=o.positions.length,true;let n=this._getBatchableMesh(t);return n.texture.uid!==t._texture.uid&&(n._textureMatrixUpdateId=-1),!n._batcher.checkAndUpdateTexture(n,t._texture)}return false}addRenderable(t,e){let r=this.renderer.renderPipes.batch,{batched:s}=this._getMeshData(t);if(s){let o=this._getBatchableMesh(t);o.setTexture(t._texture),o.geometry=t._geometry,r.addToBatch(o,e);}else r.break(e),e.add(t);}updateRenderable(t){if(t.batched){let e=this._getBatchableMesh(t);e.setTexture(t._texture),e.geometry=t._geometry,e._batcher.updateElement(e);}}execute(t){if(!t.isRenderable)return;t.state.blendMode=de(t.groupBlendMode,t.texture._source);let e=this.localUniforms;e.uniforms.uTransformMatrix=t.groupTransform,e.uniforms.uRound=this.renderer._roundPixels|t._roundPixels,e.update(),Te(t.groupColorAlpha,e.uniforms.uColor,0),this._adaptor.execute(this,t);}_getMeshData(t){var e,r;return (e=t._gpuData)[r=this.renderer.uid]||(e[r]=new ro),t._gpuData[this.renderer.uid].meshData||this._initMeshData(t)}_initMeshData(t){return t._gpuData[this.renderer.uid].meshData={batched:t.batched,indexSize:t._geometry.indices?.length,vertexSize:t._geometry.positions?.length},t._gpuData[this.renderer.uid].meshData}_getBatchableMesh(t){var e,r;return (e=t._gpuData)[r=this.renderer.uid]||(e[r]=new ro),t._gpuData[this.renderer.uid].batchableMesh||this._initBatchableMesh(t)}_initBatchableMesh(t){let e=new we;return e.renderable=t,e.setTexture(t._texture),e.transform=t.groupTransform,e.roundPixels=this.renderer._roundPixels|t._roundPixels,t._gpuData[this.renderer.uid].batchableMesh=e,e}destroy(){this.localUniforms=null,this.localUniformsBindGroup=null,this._adaptor.destroy(),this._adaptor=null,this.renderer=null;}};xi.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"mesh"};});var Aa=p(()=>{k();hf();I.add(xi);});var io,uf=p(()=>{io=class{execute(t,e){let r=t.state,s=t.renderer,o=e.shader||t.defaultShader;o.resources.uTexture=e.texture._source,o.resources.uniforms=t.localUniforms;let n=s.gl,a=t.getBuffers(e);s.shader.bind(o),s.state.set(r),s.geometry.bind(a.geometry,o.glProgram);let h=a.geometry.indexBuffer.data.BYTES_PER_ELEMENT===2?n.UNSIGNED_SHORT:n.UNSIGNED_INT;n.drawElements(n.TRIANGLES,e.particleChildren.length*6,h,0);}};});function Ca(i,t=null){let e=i*6;if(e>65535?t||(t=new Uint32Array(e)):t||(t=new Uint16Array(e)),t.length!==e)throw new Error(`Out buffer length is incorrect, got ${t.length} and expected ${e}`);for(let r=0,s=0;r<e;r+=6,s+=4)t[r+0]=s+0,t[r+1]=s+1,t[r+2]=s+2,t[r+3]=s+0,t[r+4]=s+2,t[r+5]=s+3;return t}var cf=p(()=>{});function ff(i){return {dynamicUpdate:df(i,true),staticUpdate:df(i,false)}}function df(i,t){let e=[];e.push(`
254
254
 
255
255
  var index = 0;
256
256
 
@@ -258,13 +258,13 @@ ${s.join(`
258
258
  {
259
259
  const p = ps[i];
260
260
 
261
- `);let r=0;for(let o in i){let n=i[o];if(t!==n.dynamic)continue;e.push(`offset = index + ${r}`),e.push(n.code);let a=Le(n.format);r+=a.stride/4;}e.push(`
261
+ `);let r=0;for(let o in i){let n=i[o];if(t!==n.dynamic)continue;e.push(`offset = index + ${r}`),e.push(n.code);let a=Ue(n.format);r+=a.stride/4;}e.push(`
262
262
  index += stride * 4;
263
263
  }
264
264
  `),e.unshift(`
265
265
  var stride = ${r};
266
266
  `);let s=e.join(`
267
- `);return new Function("ps","f32v","u32v",s)}var ff=p(()=>{Rs();});function Ug(i){let t=[];for(let e in i){let r=i[e];t.push(e,r.code,r.dynamic?"d":"s");}return t.join("_")}var ro,pf=p(()=>{lr();ar();li();Rs();Un();uf();ff();ro=class{constructor(t){this._size=0,this._generateParticleUpdateCache={};let e=this._size=t.size??1e3,r=t.properties,s=0,o=0;for(let u in r){let c=r[u],f=Le(c.format);c.dynamic?o+=f.stride:s+=f.stride;}this._dynamicStride=o/4,this._staticStride=s/4,this.staticAttributeBuffer=new Jt(e*4*s),this.dynamicAttributeBuffer=new Jt(e*4*o),this.indexBuffer=Aa(e);let n=new te,a=0,l=0;this._staticBuffer=new bt({data:new Float32Array(1),label:"static-particle-buffer",shrinkToFit:false,usage:Q.VERTEX|Q.COPY_DST}),this._dynamicBuffer=new bt({data:new Float32Array(1),label:"dynamic-particle-buffer",shrinkToFit:false,usage:Q.VERTEX|Q.COPY_DST});for(let u in r){let c=r[u],f=Le(c.format);c.dynamic?(n.addAttribute(c.attributeName,{buffer:this._dynamicBuffer,stride:this._dynamicStride*4,offset:a*4,format:c.format}),a+=f.size):(n.addAttribute(c.attributeName,{buffer:this._staticBuffer,stride:this._staticStride*4,offset:l*4,format:c.format}),l+=f.size);}n.addIndex(this.indexBuffer);let h=this.getParticleUpdate(r);this._dynamicUpload=h.dynamicUpdate,this._staticUpload=h.staticUpdate,this.geometry=n;}getParticleUpdate(t){let e=Ug(t);return this._generateParticleUpdateCache[e]?this._generateParticleUpdateCache[e]:(this._generateParticleUpdateCache[e]=this.generateParticleUpdate(t),this._generateParticleUpdateCache[e])}generateParticleUpdate(t){return df(t)}update(t,e){t.length>this._size&&(e=true,this._size=Math.max(t.length,this._size*1.5|0),this.staticAttributeBuffer=new Jt(this._size*this._staticStride*4*4),this.dynamicAttributeBuffer=new Jt(this._size*this._dynamicStride*4*4),this.indexBuffer=Aa(this._size),this.geometry.indexBuffer.setDataWithSize(this.indexBuffer,this.indexBuffer.byteLength,true));let r=this.dynamicAttributeBuffer;if(this._dynamicUpload(t,r.float32View,r.uint32View),this._dynamicBuffer.setDataWithSize(this.dynamicAttributeBuffer.float32View,t.length*this._dynamicStride*4,true),e){let s=this.staticAttributeBuffer;this._staticUpload(t,s.float32View,s.uint32View),this._staticBuffer.setDataWithSize(s.float32View,t.length*this._staticStride*4,true);}}destroy(){this._staticBuffer.destroy(),this._dynamicBuffer.destroy(),this.geometry.destroy();}};});var mf,xf=p(()=>{mf=`varying vec2 vUV;
267
+ `);return new Function("ps","f32v","u32v",s)}var pf=p(()=>{Ls();});function Ux(i){let t=[];for(let e in i){let r=i[e];t.push(e,r.code,r.dynamic?"d":"s");}return t.join("_")}var so,mf=p(()=>{lr();ar();li();Ls();Un();cf();pf();so=class{constructor(t){this._size=0,this._generateParticleUpdateCache={};let e=this._size=t.size??1e3,r=t.properties,s=0,o=0;for(let u in r){let c=r[u],f=Ue(c.format);c.dynamic?o+=f.stride:s+=f.stride;}this._dynamicStride=o/4,this._staticStride=s/4,this.staticAttributeBuffer=new Jt(e*4*s),this.dynamicAttributeBuffer=new Jt(e*4*o),this.indexBuffer=Ca(e);let n=new te,a=0,l=0;this._staticBuffer=new vt({data:new Float32Array(1),label:"static-particle-buffer",shrinkToFit:false,usage:Q.VERTEX|Q.COPY_DST}),this._dynamicBuffer=new vt({data:new Float32Array(1),label:"dynamic-particle-buffer",shrinkToFit:false,usage:Q.VERTEX|Q.COPY_DST});for(let u in r){let c=r[u],f=Ue(c.format);c.dynamic?(n.addAttribute(c.attributeName,{buffer:this._dynamicBuffer,stride:this._dynamicStride*4,offset:a*4,format:c.format}),a+=f.size):(n.addAttribute(c.attributeName,{buffer:this._staticBuffer,stride:this._staticStride*4,offset:l*4,format:c.format}),l+=f.size);}n.addIndex(this.indexBuffer);let h=this.getParticleUpdate(r);this._dynamicUpload=h.dynamicUpdate,this._staticUpload=h.staticUpdate,this.geometry=n;}getParticleUpdate(t){let e=Ux(t);return this._generateParticleUpdateCache[e]?this._generateParticleUpdateCache[e]:(this._generateParticleUpdateCache[e]=this.generateParticleUpdate(t),this._generateParticleUpdateCache[e])}generateParticleUpdate(t){return ff(t)}update(t,e){t.length>this._size&&(e=true,this._size=Math.max(t.length,this._size*1.5|0),this.staticAttributeBuffer=new Jt(this._size*this._staticStride*4*4),this.dynamicAttributeBuffer=new Jt(this._size*this._dynamicStride*4*4),this.indexBuffer=Ca(this._size),this.geometry.indexBuffer.setDataWithSize(this.indexBuffer,this.indexBuffer.byteLength,true));let r=this.dynamicAttributeBuffer;if(this._dynamicUpload(t,r.float32View,r.uint32View),this._dynamicBuffer.setDataWithSize(this.dynamicAttributeBuffer.float32View,t.length*this._dynamicStride*4,true),e){let s=this.staticAttributeBuffer;this._staticUpload(t,s.float32View,s.uint32View),this._staticBuffer.setDataWithSize(s.float32View,t.length*this._staticStride*4,true);}}destroy(){this._staticBuffer.destroy(),this._dynamicBuffer.destroy(),this.geometry.destroy();}};});var gf,xf=p(()=>{gf=`varying vec2 vUV;
268
268
  varying vec4 vColor;
269
269
 
270
270
  uniform sampler2D uTexture;
@@ -272,7 +272,7 @@ uniform sampler2D uTexture;
272
272
  void main(void){
273
273
  vec4 color = texture2D(uTexture, vUV) * vColor;
274
274
  gl_FragColor = color;
275
- }`;});var gf,_f=p(()=>{gf=`attribute vec2 aVertex;
275
+ }`;});var _f,yf=p(()=>{_f=`attribute vec2 aVertex;
276
276
  attribute vec2 aUV;
277
277
  attribute vec4 aColor;
278
278
 
@@ -311,7 +311,7 @@ void main(void){
311
311
  vUV = aUV;
312
312
  vColor = vec4(aColor.rgb * aColor.a, aColor.a) * uColor;
313
313
  }
314
- `;});var Ca,yf=p(()=>{Ca=`
314
+ `;});var Ea,bf=p(()=>{Ea=`
315
315
  struct ParticleUniforms {
316
316
  uProjectionMatrix:mat3x3<f32>,
317
317
  uColor:vec4<f32>,
@@ -364,8 +364,10 @@ fn mainFragment(
364
364
  var sample = textureSample(uTexture, uSampler, uv) * color;
365
365
 
366
366
  return sample;
367
- }`;});var io,bf=p(()=>{Ft();tt();Is();Us();ui();yt();Je();xf();_f();yf();io=class extends re{constructor(){let t=ur.from({vertex:gf,fragment:mf}),e=be.from({fragment:{source:Ca,entryPoint:"mainFragment"},vertex:{source:Ca,entryPoint:"mainVertex"}});super({glProgram:t,gpuProgram:e,resources:{uTexture:F.WHITE.source,uSampler:new Wt({}),uniforms:{uTranslationMatrix:{value:new M,type:"mat3x3<f32>"},uColor:{value:new H(16777215),type:"vec4<f32>"},uRound:{value:1,type:"f32"},uResolution:{value:[0,0],type:"vec2<f32>"}}}});}};});var br,Ea=p(()=>{tt();Se();ni();Qs();mi();pf();bf();br=class{constructor(t,e){this.state=Ve.for2d(),this.localUniforms=new Ct({uTranslationMatrix:{value:new M,type:"mat3x3<f32>"},uColor:{value:new Float32Array(4),type:"vec4<f32>"},uRound:{value:1,type:"f32"},uResolution:{value:[0,0],type:"vec2<f32>"}}),this.renderer=t,this.adaptor=e,this.defaultShader=new io,this.state=Ve.for2d();}validateRenderable(t){return false}addRenderable(t,e){this.renderer.renderPipes.batch.break(e),e.add(t);}getBuffers(t){return t._gpuData[this.renderer.uid]||this._initBuffer(t)}_initBuffer(t){return t._gpuData[this.renderer.uid]=new ro({size:t.particleChildren.length,properties:t._properties}),t._gpuData[this.renderer.uid]}updateRenderable(t){}execute(t){let e=t.particleChildren;if(e.length===0)return;let r=this.renderer,s=this.getBuffers(t);t.texture||(t.texture=e[0].texture);let o=this.state;s.update(e,t._childrenDirty),t._childrenDirty=false,o.blendMode=de(t.blendMode,t.texture._source);let n=this.localUniforms.uniforms,a=n.uTranslationMatrix;t.worldTransform.copyTo(a),a.prepend(r.globalUniforms.globalUniformData.projectionMatrix),n.uResolution=r.globalUniforms.globalUniformData.resolution,n.uRound=r._roundPixels|t._roundPixels,Te(t.groupColorAlpha,n.uColor,0),this.adaptor.execute(this,t);}destroy(){this.defaultShader&&(this.defaultShader.destroy(),this.defaultShader=null);}};});var _i,vf=p(()=>{B();hf();Ea();_i=class extends br{constructor(t){super(t,new eo);}};_i.extension={type:[S.WebGLPipes],name:"particle"};});var so,Sf=p(()=>{so=class{execute(t,e){let r=t.renderer,s=e.shader||t.defaultShader;s.groups[0]=r.renderPipes.uniformBatch.getUniformBindGroup(t.localUniforms,true),s.groups[1]=r.texture.getTextureBindGroup(e.texture);let o=t.state,n=t.getBuffers(e);r.encoder.draw({geometry:n.geometry,shader:e.shader||t.defaultShader,state:o,size:e.particleChildren.length*6});}};});var yi,Tf=p(()=>{B();Sf();Ea();yi=class extends br{constructor(t){super(t,new so);}};yi.extension={type:[S.WebGPUPipes],name:"particle"};});var Fa=p(()=>{B();vf();Tf();I.add(_i);I.add(yi);});function bi(i,t){let{texture:e,bounds:r}=i;Ss(r,t._anchor,e);let s=t._style._getFinalPadding();r.minX-=s,r.minY-=s,r.maxX-=s,r.maxY-=s;}var Ba=p(()=>{Fn();});var vr,ka=p(()=>{vr=class{constructor(){this.batcherName="default",this.topology="triangle-list",this.attributeSize=4,this.indexSize=6,this.packAsQuad=true,this.roundPixels=0,this._attributeStart=0,this._batcher=null,this._batch=null;}get blendMode(){return this.renderable.groupBlendMode}get color(){return this.renderable.groupColorAlpha}reset(){this.renderable=null,this.texture=null,this._batcher=null,this._batch=null,this.bounds=null;}destroy(){}};});var oo,wf=p(()=>{ka();oo=class extends vr{constructor(t){super(),this._renderer=t,t.runners.resolutionChange.add(this);}resolutionChange(){let t=this.renderable;t._autoResolution&&t.onViewUpdate();}destroy(){this._renderer.canvasText.returnTexture(this.texture),this._renderer=null;}};});var vi,Pf=p(()=>{B();Ba();wf();vi=class{constructor(t){this._renderer=t;}validateRenderable(t){return t._didTextUpdate}addRenderable(t,e){let r=this._getGpuText(t);t._didTextUpdate&&(this._updateGpuText(t),t._didTextUpdate=false),this._renderer.renderPipes.batch.addToBatch(r,e);}updateRenderable(t){let e=this._getGpuText(t);e._batcher.updateElement(e);}_updateGpuText(t){let e=this._getGpuText(t);e.texture&&this._renderer.canvasText.returnTexture(e.texture),t._resolution=t._autoResolution?this._renderer.resolution:t.resolution,e.texture=e.texture=this._renderer.canvasText.getTexture(t),bi(e,t);}_getGpuText(t){return t._gpuData[this._renderer.uid]||this.initGpuText(t)}initGpuText(t){let e=new oo(this._renderer);return e.renderable=t,e.transform=t.groupTransform,e.bounds={minX:0,maxX:1,minY:0,maxY:0},e.roundPixels=this._renderer._roundPixels|t._roundPixels,t._gpuData[this._renderer.uid]=e,e}destroy(){this._renderer=null;}};vi.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"text"};});var Mf,fe,no=p(()=>{tt();Pt();Mf={repeat:{addressModeU:"repeat",addressModeV:"repeat"},"repeat-x":{addressModeU:"repeat",addressModeV:"clamp-to-edge"},"repeat-y":{addressModeU:"clamp-to-edge",addressModeV:"repeat"},"no-repeat":{addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"}},fe=class{constructor(t,e){this.uid=Y("fillPattern"),this.transform=new M,this._styleKey=null,this.texture=t,this.transform.scale(1/t.frame.width,1/t.frame.height),e&&(t.source.style.addressModeU=Mf[e].addressModeU,t.source.style.addressModeV=Mf[e].addressModeV);}setTransform(t){let e=this.texture;this.transform.copyFrom(t),this.transform.invert(),this.transform.scale(1/e.frame.width,1/e.frame.height),this._styleKey=null;}get styleKey(){return this._styleKey?this._styleKey:(this._styleKey=`fill-pattern-${this.uid}-${this.texture.uid}-${this.transform.toArray().join("-")}`,this._styleKey)}};});var Cf=Ml((HA,Af)=>{Af.exports=Og;var Ga={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},Lg=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function Og(i){var t=[];return i.replace(Lg,function(e,r,s){var o=r.toLowerCase();for(s=Wg(s),o=="m"&&s.length>2&&(t.push([r].concat(s.splice(0,2))),o="l",r=r=="m"?"l":"L");;){if(s.length==Ga[o])return s.unshift(r),t.push(s);if(s.length<Ga[o])throw new Error("malformed path data");t.push([r].concat(s.splice(0,Ga[o])));}}),t}var zg=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/ig;function Wg(i){var t=i.match(zg);return t?t.map(Number):[]}});function Ff(i,t){let e=(0, Ef.default)(i),r=[],s=null,o=0,n=0;for(let a=0;a<e.length;a++){let l=e[a],h=l[0],u=l;switch(h){case "M":o=u[1],n=u[2],t.moveTo(o,n);break;case "m":o+=u[1],n+=u[2],t.moveTo(o,n);break;case "H":o=u[1],t.lineTo(o,n);break;case "h":o+=u[1],t.lineTo(o,n);break;case "V":n=u[1],t.lineTo(o,n);break;case "v":n+=u[1],t.lineTo(o,n);break;case "L":o=u[1],n=u[2],t.lineTo(o,n);break;case "l":o+=u[1],n+=u[2],t.lineTo(o,n);break;case "C":o=u[5],n=u[6],t.bezierCurveTo(u[1],u[2],u[3],u[4],o,n);break;case "c":t.bezierCurveTo(o+u[1],n+u[2],o+u[3],n+u[4],o+u[5],n+u[6]),o+=u[5],n+=u[6];break;case "S":o=u[3],n=u[4],t.bezierCurveToShort(u[1],u[2],o,n);break;case "s":t.bezierCurveToShort(o+u[1],n+u[2],o+u[3],n+u[4]),o+=u[3],n+=u[4];break;case "Q":o=u[3],n=u[4],t.quadraticCurveTo(u[1],u[2],o,n);break;case "q":t.quadraticCurveTo(o+u[1],n+u[2],o+u[3],n+u[4]),o+=u[3],n+=u[4];break;case "T":o=u[1],n=u[2],t.quadraticCurveToShort(o,n);break;case "t":o+=u[1],n+=u[2],t.quadraticCurveToShort(o,n);break;case "A":o=u[6],n=u[7],t.arcToSvg(u[1],u[2],u[3],u[4],u[5],o,n);break;case "a":o+=u[6],n+=u[7],t.arcToSvg(u[1],u[2],u[3],u[4],u[5],o,n);break;case "Z":case "z":t.closePath(),r.length>0&&(s=r.pop(),s?(o=s.startX,n=s.startY):(o=0,n=0)),s=null;break;default:V(`Unknown SVG path command: ${h}`);}h!=="Z"&&h!=="z"&&s===null&&(s={startX:o,startY:n},r.push(s));}return t}var Ef,Bf=p(()=>{Ef=Al(Cf());Mt();});var ao,kf=p(()=>{Bt();ao=class i{constructor(t=0,e=0,r=0){this.type="circle",this.x=t,this.y=e,this.radius=r;}clone(){return new i(this.x,this.y,this.radius)}contains(t,e){if(this.radius<=0)return false;let r=this.radius*this.radius,s=this.x-t,o=this.y-e;return s*=s,o*=o,s+o<=r}strokeContains(t,e,r,s=.5){if(this.radius===0)return false;let o=this.x-t,n=this.y-e,a=this.radius,l=(1-s)*r,h=Math.sqrt(o*o+n*n);return h<=a+l&&h>a-(r-l)}getBounds(t){return t||(t=new j),t.x=this.x-this.radius,t.y=this.y-this.radius,t.width=this.radius*2,t.height=this.radius*2,t}copyFrom(t){return this.x=t.x,this.y=t.y,this.radius=t.radius,this}copyTo(t){return t.copyFrom(this),t}toString(){return `[pixi.js/math:Circle x=${this.x} y=${this.y} radius=${this.radius}]`}};});var lo,Gf=p(()=>{Bt();lo=class i{constructor(t=0,e=0,r=0,s=0){this.type="ellipse",this.x=t,this.y=e,this.halfWidth=r,this.halfHeight=s;}clone(){return new i(this.x,this.y,this.halfWidth,this.halfHeight)}contains(t,e){if(this.halfWidth<=0||this.halfHeight<=0)return false;let r=(t-this.x)/this.halfWidth,s=(e-this.y)/this.halfHeight;return r*=r,s*=s,r+s<=1}strokeContains(t,e,r,s=.5){let{halfWidth:o,halfHeight:n}=this;if(o<=0||n<=0)return false;let a=r*(1-s),l=r-a,h=o-l,u=n-l,c=o+a,f=n+a,d=t-this.x,m=e-this.y,g=d*d/(h*h)+m*m/(u*u),x=d*d/(c*c)+m*m/(f*f);return g>1&&x<=1}getBounds(t){return t||(t=new j),t.x=this.x-this.halfWidth,t.y=this.y-this.halfHeight,t.width=this.halfWidth*2,t.height=this.halfHeight*2,t}copyFrom(t){return this.x=t.x,this.y=t.y,this.halfWidth=t.halfWidth,this.halfHeight=t.halfHeight,this}copyTo(t){return t.copyFrom(this),t}toString(){return `[pixi.js/math:Ellipse x=${this.x} y=${this.y} halfWidth=${this.halfWidth} halfHeight=${this.halfHeight}]`}};});function If(i,t,e,r,s,o){let n=i-e,a=t-r,l=s-e,h=o-r,u=n*l+a*h,c=l*l+h*h,f=-1;c!==0&&(f=u/c);let d,m;f<0?(d=e,m=r):f>1?(d=s,m=o):(d=e+f*l,m=r+f*h);let g=i-d,x=t-m;return g*g+x*x}var Rf=p(()=>{});var Vg,Hg,Sr,Df=p(()=>{Rf();Bt();Sr=class i{constructor(...t){this.type="polygon";let e=Array.isArray(t[0])?t[0]:t;if(typeof e[0]!="number"){let r=[];for(let s=0,o=e.length;s<o;s++)r.push(e[s].x,e[s].y);e=r;}this.points=e,this.closePath=true;}isClockwise(){let t=0,e=this.points,r=e.length;for(let s=0;s<r;s+=2){let o=e[s],n=e[s+1],a=e[(s+2)%r],l=e[(s+3)%r];t+=(a-o)*(l+n);}return t<0}containsPolygon(t){let e=this.getBounds(Vg),r=t.getBounds(Hg);if(!e.containsRect(r))return false;let s=t.points;for(let o=0;o<s.length;o+=2){let n=s[o],a=s[o+1];if(!this.contains(n,a))return false}return true}clone(){let t=this.points.slice(),e=new i(t);return e.closePath=this.closePath,e}contains(t,e){let r=false,s=this.points.length/2;for(let o=0,n=s-1;o<s;n=o++){let a=this.points[o*2],l=this.points[o*2+1],h=this.points[n*2],u=this.points[n*2+1];l>e!=u>e&&t<(h-a)*((e-l)/(u-l))+a&&(r=!r);}return r}strokeContains(t,e,r,s=.5){let o=r*r,n=o*(1-s),a=o-n,{points:l}=this,h=l.length-(this.closePath?0:2);for(let u=0;u<h;u+=2){let c=l[u],f=l[u+1],d=l[(u+2)%l.length],m=l[(u+3)%l.length],g=If(t,e,c,f,d,m),x=Math.sign((d-c)*(e-f)-(m-f)*(t-c));if(g<=(x<0?a:n))return true}return false}getBounds(t){t||(t=new j);let e=this.points,r=1/0,s=-1/0,o=1/0,n=-1/0;for(let a=0,l=e.length;a<l;a+=2){let h=e[a],u=e[a+1];r=h<r?h:r,s=h>s?h:s,o=u<o?u:o,n=u>n?u:n;}return t.x=r,t.width=s-r,t.y=o,t.height=n-o,t}copyFrom(t){return this.points=t.points.slice(),this.closePath=t.closePath,this}copyTo(t){return t.copyFrom(this),t}toString(){return `[pixi.js/math:PolygoncloseStroke=${this.closePath}points=${this.points.reduce((t,e)=>`${t}, ${e}`,"")}]`}get lastX(){return this.points[this.points.length-2]}get lastY(){return this.points[this.points.length-1]}get x(){return this.points[this.points.length-2]}get y(){return this.points[this.points.length-1]}};});var ho,uo,Uf=p(()=>{Bt();ho=(i,t,e,r,s,o,n)=>{let a=i-e,l=t-r,h=Math.sqrt(a*a+l*l);return h>=s-o&&h<=s+n},uo=class i{constructor(t=0,e=0,r=0,s=0,o=20){this.type="roundedRectangle",this.x=t,this.y=e,this.width=r,this.height=s,this.radius=o;}getBounds(t){return t||(t=new j),t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t}clone(){return new i(this.x,this.y,this.width,this.height,this.radius)}copyFrom(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this}copyTo(t){return t.copyFrom(this),t}contains(t,e){if(this.width<=0||this.height<=0)return false;if(t>=this.x&&t<=this.x+this.width&&e>=this.y&&e<=this.y+this.height){let r=Math.max(0,Math.min(this.radius,Math.min(this.width,this.height)/2));if(e>=this.y+r&&e<=this.y+this.height-r||t>=this.x+r&&t<=this.x+this.width-r)return true;let s=t-(this.x+r),o=e-(this.y+r),n=r*r;if(s*s+o*o<=n||(s=t-(this.x+this.width-r),s*s+o*o<=n)||(o=e-(this.y+this.height-r),s*s+o*o<=n)||(s=t-(this.x+r),s*s+o*o<=n))return true}return false}strokeContains(t,e,r,s=.5){let{x:o,y:n,width:a,height:l,radius:h}=this,u=r*(1-s),c=r-u,f=o+h,d=n+h,m=a-h*2,g=l-h*2,x=o+a,_=n+l;return (t>=o-u&&t<=o+c||t>=x-c&&t<=x+u)&&e>=d&&e<=d+g||(e>=n-u&&e<=n+c||e>=_-c&&e<=_+u)&&t>=f&&t<=f+m?true:t<f&&e<d&&ho(t,e,f,d,h,c,u)||t>x-h&&e<d&&ho(t,e,x-h,d,h,c,u)||t>x-h&&e>_-h&&ho(t,e,x-h,_-h,h,c,u)||t<f&&e>_-h&&ho(t,e,f,_-h,h,c,u)}toString(){return `[pixi.js/math:RoundedRectangle x=${this.x} y=${this.y}width=${this.width} height=${this.height} radius=${this.radius}]`}};});function fo(i,t,e,r,s,o,n,a,l,h){let c=Math.min(.99,Math.max(0,h??yr.defaultOptions.bezierSmoothness)),f=($g-c)/1;return f*=f,Yg(t,e,r,s,o,n,a,l,i,f),i}function Yg(i,t,e,r,s,o,n,a,l,h){Ra(i,t,e,r,s,o,n,a,l,h,0),l.push(n,a);}function Ra(i,t,e,r,s,o,n,a,l,h,u){if(u>Ng)return;let c=Math.PI,f=(i+e)/2,d=(t+r)/2,m=(e+s)/2,g=(r+o)/2,x=(s+n)/2,_=(o+a)/2,y=(f+m)/2,b=(d+g)/2,v=(m+x)/2,P=(g+_)/2,T=(y+v)/2,w=(b+P)/2;if(u>0){let O=n-i,A=a-t,E=Math.abs((e-n)*A-(r-a)*O),C=Math.abs((s-n)*A-(o-a)*O),L,q;if(E>co&&C>co){if((E+C)*(E+C)<=h*(O*O+A*A)){if(Tr<Ia){l.push(T,w);return}let _t=Math.atan2(o-r,s-e);if(L=Math.abs(_t-Math.atan2(r-t,e-i)),q=Math.abs(Math.atan2(a-o,n-s)-_t),L>=c&&(L=2*c-L),q>=c&&(q=2*c-q),L+q<Tr){l.push(T,w);return}if(He!==0){if(L>He){l.push(e,r);return}if(q>He){l.push(s,o);return}}}}else if(E>co){if(E*E<=h*(O*O+A*A)){if(Tr<Ia){l.push(T,w);return}if(L=Math.abs(Math.atan2(o-r,s-e)-Math.atan2(r-t,e-i)),L>=c&&(L=2*c-L),L<Tr){l.push(e,r),l.push(s,o);return}if(He!==0&&L>He){l.push(e,r);return}}}else if(C>co){if(C*C<=h*(O*O+A*A)){if(Tr<Ia){l.push(T,w);return}if(L=Math.abs(Math.atan2(a-o,n-s)-Math.atan2(o-r,s-e)),L>=c&&(L=2*c-L),L<Tr){l.push(e,r),l.push(s,o);return}if(He!==0&&L>He){l.push(s,o);return}}}else if(O=T-(i+n)/2,A=w-(t+a)/2,O*O+A*A<=h){l.push(T,w);return}}Ra(i,t,f,d,y,b,T,w,l,h,u+1),Ra(T,w,v,P,x,_,n,a,l,h,u+1);}var Ng,co,$g,Ia,Tr,He,Da=p(()=>{Zs();Ng=8,co=11920929e-14,$g=1,Ia=.01,Tr=0,He=0;});function Of(i,t,e,r,s,o,n,a){let h=Math.min(.99,Math.max(0,a??yr.defaultOptions.bezierSmoothness)),u=(qg-h)/1;return u*=u,Zg(t,e,r,s,o,n,i,u),i}function Zg(i,t,e,r,s,o,n,a){Ua(n,i,t,e,r,s,o,a,0),n.push(s,o);}function Ua(i,t,e,r,s,o,n,a,l){if(l>Xg)return;let h=Math.PI,u=(t+r)/2,c=(e+s)/2,f=(r+o)/2,d=(s+n)/2,m=(u+f)/2,g=(c+d)/2,x=o-t,_=n-e,y=Math.abs((r-o)*_-(s-n)*x);if(y>jg){if(y*y<=a*(x*x+_*_)){if(Lf<Kg){i.push(m,g);return}let b=Math.abs(Math.atan2(n-s,o-r)-Math.atan2(s-e,r-t));if(b>=h&&(b=2*h-b),b<Lf){i.push(m,g);return}}}else if(x=m-(t+o)/2,_=g-(e+n)/2,x*x+_*_<=a){i.push(m,g);return}Ua(i,t,e,u,c,m,g,a,l+1),Ua(i,m,g,f,d,o,n,a,l+1);}var Xg,jg,qg,Kg,Lf,zf=p(()=>{Zs();Xg=8,jg=11920929e-14,qg=1,Kg=.01,Lf=0;});function po(i,t,e,r,s,o,n,a){let l=Math.abs(s-o);(!n&&s>o||n&&o>s)&&(l=2*Math.PI-l),a||(a=Math.max(6,Math.floor(6*Math.pow(r,1/3)*(l/Math.PI)))),a=Math.max(a,3);let h=l/a,u=s;h*=n?-1:1;for(let c=0;c<a+1;c++){let f=Math.cos(u),d=Math.sin(u),m=t+f*r,g=e+d*r;i.push(m,g),u+=h;}}var La=p(()=>{});function Wf(i,t,e,r,s,o){let n=i[i.length-2],l=i[i.length-1]-e,h=n-t,u=s-e,c=r-t,f=Math.abs(l*c-h*u);if(f<1e-8||o===0){(i[i.length-2]!==t||i[i.length-1]!==e)&&i.push(t,e);return}let d=l*l+h*h,m=u*u+c*c,g=l*u+h*c,x=o*Math.sqrt(d)/f,_=o*Math.sqrt(m)/f,y=x*g/d,b=_*g/m,v=x*c+_*h,P=x*u+_*l,T=h*(_+y),w=l*(_+y),O=c*(x+b),A=u*(x+b),E=Math.atan2(w-P,T-v),C=Math.atan2(A-P,O-v);po(i,v+t,P+e,o,E,C,h*u>c*l);}var Vf=p(()=>{La();});function Qg(i,t){let e=t===-1.5707963267948966?-0.551915024494:1.3333333333333333*Math.tan(t/4),r=t===1.5707963267948966?.551915024494:e,s=Math.cos(i),o=Math.sin(i),n=Math.cos(i+t),a=Math.sin(i+t);return [{x:s-o*r,y:o+s*r},{x:n+a*r,y:a-n*r},{x:n,y:a}]}function Nf(i,t,e,r,s,o,n,a=0,l=0,h=0){if(o===0||n===0)return;let u=Math.sin(a*Si/360),c=Math.cos(a*Si/360),f=c*(t-r)/2+u*(e-s)/2,d=-u*(t-r)/2+c*(e-s)/2;if(f===0&&d===0)return;o=Math.abs(o),n=Math.abs(n);let m=Math.pow(f,2)/Math.pow(o,2)+Math.pow(d,2)/Math.pow(n,2);m>1&&(o*=Math.sqrt(m),n*=Math.sqrt(m)),Jg(t,e,r,s,o,n,l,h,u,c,f,d,Oa);let{ang1:g,ang2:x}=Oa,{centerX:_,centerY:y}=Oa,b=Math.abs(x)/(Si/4);Math.abs(1-b)<1e-7&&(b=1);let v=Math.max(Math.ceil(b),1);x/=v;let P=i[i.length-2],T=i[i.length-1],w={x:0,y:0};for(let O=0;O<v;O++){let A=Qg(g,x),{x:E,y:C}=za(A[0],o,n,c,u,_,y,w),{x:L,y:q}=za(A[1],o,n,c,u,_,y,w),{x:_t,y:kr}=za(A[2],o,n,c,u,_,y,w);fo(i,P,T,E,C,L,q,_t,kr),P=_t,T=kr,g+=x;}}var Si,Oa,za,Hf,Jg,$f=p(()=>{Da();Si=Math.PI*2,Oa={centerX:0,centerY:0,ang1:0,ang2:0},za=({x:i,y:t},e,r,s,o,n,a,l)=>{i*=e,t*=r;let h=s*i-o*t,u=o*i+s*t;return l.x=h+n,l.y=u+a,l};Hf=(i,t,e,r)=>{let s=i*r-t*e<0?-1:1,o=i*e+t*r;return o>1&&(o=1),o<-1&&(o=-1),s*Math.acos(o)},Jg=(i,t,e,r,s,o,n,a,l,h,u,c,f)=>{let d=Math.pow(s,2),m=Math.pow(o,2),g=Math.pow(u,2),x=Math.pow(c,2),_=d*m-d*x-m*g;_<0&&(_=0),_/=d*x+m*g,_=Math.sqrt(_)*(n===a?-1:1);let y=_*s/o*c,b=_*-o/s*u,v=h*y-l*b+(i+e)/2,P=l*y+h*b+(t+r)/2,T=(u-y)/s,w=(c-b)/o,O=(-u-y)/s,A=(-c-b)/o,E=Hf(1,0,T,w),C=Hf(T,w,O,A);a===0&&C>0&&(C-=Si),a===1&&C<0&&(C+=Si),f.centerX=v,f.centerY=P,f.ang1=E,f.ang2=C;};});function Yf(i,t,e){let r=(n,a)=>{let l=a.x-n.x,h=a.y-n.y,u=Math.sqrt(l*l+h*h),c=l/u,f=h/u;return {len:u,nx:c,ny:f}},s=(n,a)=>{n===0?i.moveTo(a.x,a.y):i.lineTo(a.x,a.y);},o=t[t.length-1];for(let n=0;n<t.length;n++){let a=t[n%t.length],l=a.radius??e;if(l<=0){s(n,a),o=a;continue}let h=t[(n+1)%t.length],u=r(a,o),c=r(a,h);if(u.len<1e-4||c.len<1e-4){s(n,a),o=a;continue}let f=Math.asin(u.nx*c.ny-u.ny*c.nx),d=1,m=false;u.nx*c.nx-u.ny*-c.ny<0?f<0?f=Math.PI+f:(f=Math.PI-f,d=-1,m=true):f>0&&(d=-1,m=true);let g=f/2,x,_=Math.abs(Math.cos(g)*l/Math.sin(g));_>Math.min(u.len/2,c.len/2)?(_=Math.min(u.len/2,c.len/2),x=Math.abs(_*Math.sin(g)/Math.cos(g))):x=l;let y=a.x+c.nx*_+-c.ny*x*d,b=a.y+c.ny*_+c.nx*x*d,v=Math.atan2(u.ny,u.nx)+Math.PI/2*d,P=Math.atan2(c.ny,c.nx)-Math.PI/2*d;n===0&&i.moveTo(y+Math.cos(v)*x,b+Math.sin(v)*x),i.arc(y,b,x,v,P,m),o=a;}}function Xf(i,t,e,r){let s=(a,l)=>Math.sqrt((a.x-l.x)**2+(a.y-l.y)**2),o=(a,l,h)=>({x:a.x+(l.x-a.x)*h,y:a.y+(l.y-a.y)*h}),n=t.length;for(let a=0;a<n;a++){let l=t[(a+1)%n],h=l.radius??e;if(h<=0){a===0?i.moveTo(l.x,l.y):i.lineTo(l.x,l.y);continue}let u=t[a],c=t[(a+2)%n],f=s(u,l),d;if(f<1e-4)d=l;else {let x=Math.min(f/2,h);d=o(l,u,x/f);}let m=s(c,l),g;if(m<1e-4)g=l;else {let x=Math.min(m/2,h);g=o(l,c,x/m);}a===0?i.moveTo(d.x,d.y):i.lineTo(d.x,d.y),i.quadraticCurveTo(l.x,l.y,g.x,g.y,r);}}var jf=p(()=>{});var t_,mo,qf=p(()=>{kf();Gf();Df();Bt();Uf();$t();Da();zf();La();Vf();$f();jf();t_=new j,mo=class{constructor(t){this.shapePrimitives=[],this._currentPoly=null,this._bounds=new ot,this._graphicsPath2D=t,this.signed=t.checkForHoles;}moveTo(t,e){return this.startPoly(t,e),this}lineTo(t,e){this._ensurePoly();let r=this._currentPoly.points,s=r[r.length-2],o=r[r.length-1];return (s!==t||o!==e)&&r.push(t,e),this}arc(t,e,r,s,o,n){this._ensurePoly(false);let a=this._currentPoly.points;return po(a,t,e,r,s,o,n),this}arcTo(t,e,r,s,o){this._ensurePoly();let n=this._currentPoly.points;return Wf(n,t,e,r,s,o),this}arcToSvg(t,e,r,s,o,n,a){let l=this._currentPoly.points;return Nf(l,this._currentPoly.lastX,this._currentPoly.lastY,n,a,t,e,r,s,o),this}bezierCurveTo(t,e,r,s,o,n,a){this._ensurePoly();let l=this._currentPoly;return fo(this._currentPoly.points,l.lastX,l.lastY,t,e,r,s,o,n,a),this}quadraticCurveTo(t,e,r,s,o){this._ensurePoly();let n=this._currentPoly;return Of(this._currentPoly.points,n.lastX,n.lastY,t,e,r,s,o),this}closePath(){return this.endPoly(true),this}addPath(t,e){this.endPoly(),e&&!e.isIdentity()&&(t=t.clone(true),t.transform(e));let r=this.shapePrimitives,s=r.length;for(let o=0;o<t.instructions.length;o++){let n=t.instructions[o];this[n.action](...n.data);}if(t.checkForHoles&&r.length-s>1){let o=null;for(let n=s;n<r.length;n++){let a=r[n];if(a.shape.type==="polygon"){let l=a.shape,h=o?.shape;h&&h.containsPolygon(l)?(o.holes||(o.holes=[]),o.holes.push(a),r.copyWithin(n,n+1),r.length--,n--):o=a;}}}return this}finish(t=false){this.endPoly(t);}rect(t,e,r,s,o){return this.drawShape(new j(t,e,r,s),o),this}circle(t,e,r,s){return this.drawShape(new ao(t,e,r),s),this}poly(t,e,r){let s=new Sr(t);return s.closePath=e,this.drawShape(s,r),this}regularPoly(t,e,r,s,o=0,n){s=Math.max(s|0,3);let a=-1*Math.PI/2+o,l=Math.PI*2/s,h=[];for(let u=0;u<s;u++){let c=a-u*l;h.push(t+r*Math.cos(c),e+r*Math.sin(c));}return this.poly(h,true,n),this}roundPoly(t,e,r,s,o,n=0,a){if(s=Math.max(s|0,3),o<=0)return this.regularPoly(t,e,r,s,n);let l=r*Math.sin(Math.PI/s)-.001;o=Math.min(o,l);let h=-1*Math.PI/2+n,u=Math.PI*2/s,c=(s-2)*Math.PI/s/2;for(let f=0;f<s;f++){let d=f*u+h,m=t+r*Math.cos(d),g=e+r*Math.sin(d),x=d+Math.PI+c,_=d-Math.PI-c,y=m+o*Math.cos(x),b=g+o*Math.sin(x),v=m+o*Math.cos(_),P=g+o*Math.sin(_);f===0?this.moveTo(y,b):this.lineTo(y,b),this.quadraticCurveTo(m,g,v,P,a);}return this.closePath()}roundShape(t,e,r=false,s){return t.length<3?this:(r?Xf(this,t,e,s):Yf(this,t,e),this.closePath())}filletRect(t,e,r,s,o){if(o===0)return this.rect(t,e,r,s);let n=Math.min(r,s)/2,a=Math.min(n,Math.max(-n,o)),l=t+r,h=e+s,u=a<0?-a:0,c=Math.abs(a);return this.moveTo(t,e+c).arcTo(t+u,e+u,t+c,e,c).lineTo(l-c,e).arcTo(l-u,e+u,l,e+c,c).lineTo(l,h-c).arcTo(l-u,h-u,t+r-c,h,c).lineTo(t+c,h).arcTo(t+u,h-u,t,h-c,c).closePath()}chamferRect(t,e,r,s,o,n){if(o<=0)return this.rect(t,e,r,s);let a=Math.min(o,Math.min(r,s)/2),l=t+r,h=e+s,u=[t+a,e,l-a,e,l,e+a,l,h-a,l-a,h,t+a,h,t,h-a,t,e+a];for(let c=u.length-1;c>=2;c-=2)u[c]===u[c-2]&&u[c-1]===u[c-3]&&u.splice(c-1,2);return this.poly(u,true,n)}ellipse(t,e,r,s,o){return this.drawShape(new lo(t,e,r,s),o),this}roundRect(t,e,r,s,o,n){return this.drawShape(new uo(t,e,r,s,o),n),this}drawShape(t,e){return this.endPoly(),this.shapePrimitives.push({shape:t,transform:e}),this}startPoly(t,e){let r=this._currentPoly;return r&&this.endPoly(),r=new Sr,r.points.push(t,e),this._currentPoly=r,this}endPoly(t=false){let e=this._currentPoly;return e&&e.points.length>2&&(e.closePath=t,this.shapePrimitives.push({shape:e})),this._currentPoly=null,this}_ensurePoly(t=true){if(!this._currentPoly&&(this._currentPoly=new Sr,t)){let e=this.shapePrimitives[this.shapePrimitives.length-1];if(e){let r=e.shape.x,s=e.shape.y;if(e.transform&&!e.transform.isIdentity()){let o=e.transform,n=r;r=o.a*r+o.c*s+o.tx,s=o.b*n+o.d*s+o.ty;}this._currentPoly.points.push(r,s);}else this._currentPoly.points.push(0,0);}}buildPath(){let t=this._graphicsPath2D;this.shapePrimitives.length=0,this._currentPoly=null;for(let e=0;e<t.instructions.length;e++){let r=t.instructions[e];this[r.action](...r.data);}this.finish();}get bounds(){let t=this._bounds;t.clear();let e=this.shapePrimitives;for(let r=0;r<e.length;r++){let s=e[r],o=s.shape.getBounds(t_);s.transform?t.addRect(o,s.transform):t.addRect(o);}return t}};});function Ti(i,t){return i?i.prepend(t):t.clone()}var Pe,Wa=p(()=>{qt();Pt();Mt();Bf();qf();Pe=class i{constructor(t,e=false){this.instructions=[],this.uid=Y("graphicsPath"),this._dirty=true,this.checkForHoles=e,typeof t=="string"?Ff(t,this):this.instructions=t?.slice()??[];}get shapePath(){return this._shapePath||(this._shapePath=new mo(this)),this._dirty&&(this._dirty=false,this._shapePath.buildPath()),this._shapePath}addPath(t,e){return t=t.clone(),this.instructions.push({action:"addPath",data:[t,e]}),this._dirty=true,this}arc(...t){return this.instructions.push({action:"arc",data:t}),this._dirty=true,this}arcTo(...t){return this.instructions.push({action:"arcTo",data:t}),this._dirty=true,this}arcToSvg(...t){return this.instructions.push({action:"arcToSvg",data:t}),this._dirty=true,this}bezierCurveTo(...t){return this.instructions.push({action:"bezierCurveTo",data:t}),this._dirty=true,this}bezierCurveToShort(t,e,r,s,o){let n=this.instructions[this.instructions.length-1],a=this.getLastPoint($.shared),l=0,h=0;if(!n||n.action!=="bezierCurveTo")l=a.x,h=a.y;else {l=n.data[2],h=n.data[3];let u=a.x,c=a.y;l=u+(u-l),h=c+(c-h);}return this.instructions.push({action:"bezierCurveTo",data:[l,h,t,e,r,s,o]}),this._dirty=true,this}closePath(){return this.instructions.push({action:"closePath",data:[]}),this._dirty=true,this}ellipse(...t){return this.instructions.push({action:"ellipse",data:t}),this._dirty=true,this}lineTo(...t){return this.instructions.push({action:"lineTo",data:t}),this._dirty=true,this}moveTo(...t){return this.instructions.push({action:"moveTo",data:t}),this}quadraticCurveTo(...t){return this.instructions.push({action:"quadraticCurveTo",data:t}),this._dirty=true,this}quadraticCurveToShort(t,e,r){let s=this.instructions[this.instructions.length-1],o=this.getLastPoint($.shared),n=0,a=0;if(!s||s.action!=="quadraticCurveTo")n=o.x,a=o.y;else {n=s.data[0],a=s.data[1];let l=o.x,h=o.y;n=l+(l-n),a=h+(h-a);}return this.instructions.push({action:"quadraticCurveTo",data:[n,a,t,e,r]}),this._dirty=true,this}rect(t,e,r,s,o){return this.instructions.push({action:"rect",data:[t,e,r,s,o]}),this._dirty=true,this}circle(t,e,r,s){return this.instructions.push({action:"circle",data:[t,e,r,s]}),this._dirty=true,this}roundRect(...t){return this.instructions.push({action:"roundRect",data:t}),this._dirty=true,this}poly(...t){return this.instructions.push({action:"poly",data:t}),this._dirty=true,this}regularPoly(...t){return this.instructions.push({action:"regularPoly",data:t}),this._dirty=true,this}roundPoly(...t){return this.instructions.push({action:"roundPoly",data:t}),this._dirty=true,this}roundShape(...t){return this.instructions.push({action:"roundShape",data:t}),this._dirty=true,this}filletRect(...t){return this.instructions.push({action:"filletRect",data:t}),this._dirty=true,this}chamferRect(...t){return this.instructions.push({action:"chamferRect",data:t}),this._dirty=true,this}star(t,e,r,s,o,n,a){o||(o=s/2);let l=-1*Math.PI/2+n,h=r*2,u=Math.PI*2/h,c=[];for(let f=0;f<h;f++){let d=f%2?o:s,m=f*u+l;c.push(t+d*Math.cos(m),e+d*Math.sin(m));}return this.poly(c,true,a),this}clone(t=false){let e=new i;if(e.checkForHoles=this.checkForHoles,!t)e.instructions=this.instructions.slice();else for(let r=0;r<this.instructions.length;r++){let s=this.instructions[r];e.instructions.push({action:s.action,data:s.data.slice()});}return e}clear(){return this.instructions.length=0,this._dirty=true,this}transform(t){if(t.isIdentity())return this;let e=t.a,r=t.b,s=t.c,o=t.d,n=t.tx,a=t.ty,l=0,h=0,u=0,c=0,f=0,d=0,m=0,g=0;for(let x=0;x<this.instructions.length;x++){let _=this.instructions[x],y=_.data;switch(_.action){case "moveTo":case "lineTo":l=y[0],h=y[1],y[0]=e*l+s*h+n,y[1]=r*l+o*h+a;break;case "bezierCurveTo":u=y[0],c=y[1],f=y[2],d=y[3],l=y[4],h=y[5],y[0]=e*u+s*c+n,y[1]=r*u+o*c+a,y[2]=e*f+s*d+n,y[3]=r*f+o*d+a,y[4]=e*l+s*h+n,y[5]=r*l+o*h+a;break;case "quadraticCurveTo":u=y[0],c=y[1],l=y[2],h=y[3],y[0]=e*u+s*c+n,y[1]=r*u+o*c+a,y[2]=e*l+s*h+n,y[3]=r*l+o*h+a;break;case "arcToSvg":l=y[5],h=y[6],m=y[0],g=y[1],y[0]=e*m+s*g,y[1]=r*m+o*g,y[5]=e*l+s*h+n,y[6]=r*l+o*h+a;break;case "circle":y[4]=Ti(y[3],t);break;case "rect":y[4]=Ti(y[4],t);break;case "ellipse":y[8]=Ti(y[8],t);break;case "roundRect":y[5]=Ti(y[5],t);break;case "addPath":y[0].transform(t);break;case "poly":y[2]=Ti(y[2],t);break;default:V("unknown transform action",_.action);break}}return this._dirty=true,this}get bounds(){return this.shapePath.bounds}getLastPoint(t){let e=this.instructions.length-1,r=this.instructions[e];if(!r)return t.x=0,t.y=0,t;for(;r.action==="closePath";){if(e--,e<0)return t.x=0,t.y=0,t;r=this.instructions[e];}switch(r.action){case "moveTo":case "lineTo":t.x=r.data[0],t.y=r.data[1];break;case "quadraticCurveTo":t.x=r.data[2],t.y=r.data[3];break;case "bezierCurveTo":t.x=r.data[4],t.y=r.data[5];break;case "arc":case "arcToSvg":t.x=r.data[5],t.y=r.data[6];break;case "addPath":r.data[0].getLastPoint(t);break}return t}};});function st(i,t,e){let r=i.getAttribute(t);return r?Number(r):e}var Va=p(()=>{});function Kf(i,t){let e=i.querySelectorAll("defs");for(let r=0;r<e.length;r++){let s=e[r];for(let o=0;o<s.children.length;o++){let n=s.children[o];switch(n.nodeName.toLowerCase()){case "lineargradient":t.defs[n.id]=e_(n);break;case "radialgradient":t.defs[n.id]=r_();break;}}}}function e_(i){let t=st(i,"x1",0),e=st(i,"y1",0),r=st(i,"x2",1),s=st(i,"y2",0),o=i.getAttribute("gradientUnits")||"objectBoundingBox",n=new Gt(t,e,r,s,o==="objectBoundingBox"?"local":"global");for(let a=0;a<i.children.length;a++){let l=i.children[a],h=st(l,"offset",0),u=H.shared.setValue(l.getAttribute("stop-color")).toNumber();n.addColorStop(h,u);}return n}function r_(i){return V("[SVG Parser] Radial gradients are not yet supported"),new Gt(0,0,1,0)}var Zf=p(()=>{Ft();Mt();_r();Va();});function Ha(i){let t=i.match(/url\s*\(\s*['"]?\s*#([^'"\s)]+)\s*['"]?\s*\)/i);return t?t[1]:""}var Qf=p(()=>{});function Na(i,t){let e=i.getAttribute("style"),r={},s={},o={strokeStyle:r,fillStyle:s,useFill:false,useStroke:false};for(let n in Jf){let a=i.getAttribute(n);a&&tp(t,o,n,a.trim());}if(e){let n=e.split(";");for(let a=0;a<n.length;a++){let l=n[a].trim(),[h,u]=l.split(":");Jf[h]&&tp(t,o,h,u.trim());}}return {strokeStyle:o.useStroke?r:null,fillStyle:o.useFill?s:null,useFill:o.useFill,useStroke:o.useStroke}}function tp(i,t,e,r){switch(e){case "stroke":if(r!=="none"){if(r.startsWith("url(")){let s=Ha(r);t.strokeStyle.fill=i.defs[s];}else t.strokeStyle.color=H.shared.setValue(r).toNumber();t.useStroke=true;}break;case "stroke-width":t.strokeStyle.width=Number(r);break;case "fill":if(r!=="none"){if(r.startsWith("url(")){let s=Ha(r);t.fillStyle.fill=i.defs[s];}else t.fillStyle.color=H.shared.setValue(r).toNumber();t.useFill=true;}break;case "fill-opacity":t.fillStyle.alpha=Number(r);break;case "stroke-opacity":t.strokeStyle.alpha=Number(r);break;case "opacity":t.fillStyle.alpha=Number(r),t.strokeStyle.alpha=Number(r);break}}var Jf,ep=p(()=>{Ft();Qf();Jf={fill:{type:"paint",default:0},"fill-opacity":{type:"number",default:1},stroke:{type:"paint",default:0},"stroke-width":{type:"number",default:1},"stroke-opacity":{type:"number",default:1},"stroke-linecap":{type:"string",default:"butt"},"stroke-linejoin":{type:"string",default:"miter"},"stroke-miterlimit":{type:"number",default:10},"stroke-dasharray":{type:"string",default:"none"},"stroke-dashoffset":{type:"number",default:0},opacity:{type:"number",default:1}};});function rp(i,t){if(typeof i=="string"){let n=document.createElement("div");n.innerHTML=i.trim(),i=n.querySelector("svg");}let e={context:t,defs:{},path:new Pe};Kf(i,e);let r=i.children,{fillStyle:s,strokeStyle:o}=Na(i,e);for(let n=0;n<r.length;n++){let a=r[n];a.nodeName.toLowerCase()!=="defs"&&ip(a,e,s,o);}return t}function ip(i,t,e,r){let s=i.children,{fillStyle:o,strokeStyle:n}=Na(i,t);o&&e?e={...e,...o}:o&&(e=o),n&&r?r={...r,...n}:n&&(r=n);let a=!e&&!r;a&&(e={color:0});let l,h,u,c,f,d,m,g,x,_,y,b,v,P,T,w,O;switch(i.nodeName.toLowerCase()){case "path":P=i.getAttribute("d"),i.getAttribute("fill-rule")==="evenodd"&&V("SVG Evenodd fill rule not supported, your svg may render incorrectly"),T=new Pe(P,true),t.context.path(T),e&&t.context.fill(e),r&&t.context.stroke(r);break;case "circle":m=st(i,"cx",0),g=st(i,"cy",0),x=st(i,"r",0),t.context.ellipse(m,g,x,x),e&&t.context.fill(e),r&&t.context.stroke(r);break;case "rect":l=st(i,"x",0),h=st(i,"y",0),w=st(i,"width",0),O=st(i,"height",0),_=st(i,"rx",0),y=st(i,"ry",0),_||y?t.context.roundRect(l,h,w,O,_||y):t.context.rect(l,h,w,O),e&&t.context.fill(e),r&&t.context.stroke(r);break;case "ellipse":m=st(i,"cx",0),g=st(i,"cy",0),_=st(i,"rx",0),y=st(i,"ry",0),t.context.beginPath(),t.context.ellipse(m,g,_,y),e&&t.context.fill(e),r&&t.context.stroke(r);break;case "line":u=st(i,"x1",0),c=st(i,"y1",0),f=st(i,"x2",0),d=st(i,"y2",0),t.context.beginPath(),t.context.moveTo(u,c),t.context.lineTo(f,d),r&&t.context.stroke(r);break;case "polygon":v=i.getAttribute("points"),b=v.match(/\d+/g).map(A=>parseInt(A,10)),t.context.poly(b,true),e&&t.context.fill(e),r&&t.context.stroke(r);break;case "polyline":v=i.getAttribute("points"),b=v.match(/\d+/g).map(A=>parseInt(A,10)),t.context.poly(b,false),r&&t.context.stroke(r);break;case "g":case "svg":break;default:{V(`[SVG parser] <${i.nodeName}> elements unsupported`);break}}a&&(e=null);for(let A=0;A<s.length;A++)ip(s[A],t,e,r);}var sp=p(()=>{Mt();Wa();Zf();Va();ep();});function i_(i){return H.isColorLike(i)}function op(i){return i instanceof fe}function np(i){return i instanceof Gt}function s_(i){return i instanceof F}function o_(i,t,e){let r=H.shared.setValue(t??0);return i.color=r.toNumber(),i.alpha=r.alpha===1?e.alpha:r.alpha,i.texture=F.WHITE,{...e,...i}}function n_(i,t,e){return i.texture=t,{...e,...i}}function ap(i,t,e){return i.fill=t,i.color=16777215,i.texture=t.texture,i.matrix=t.transform,{...e,...i}}function lp(i,t,e){return t.buildGradient(),i.fill=t,i.color=16777215,i.texture=t.texture,i.matrix=t.transform,i.textureSpace=t.textureSpace,{...e,...i}}function a_(i,t){let e={...t,...i},r=H.shared.setValue(e.color);return e.alpha*=r.alpha,e.color=r.toNumber(),e}function pe(i,t){if(i==null)return null;let e={},r=i;return i_(i)?o_(e,i,t):s_(i)?n_(e,i,t):op(i)?ap(e,i,t):np(i)?lp(e,i,t):r.fill&&op(r.fill)?ap(r,r.fill,t):r.fill&&np(r.fill)?lp(r,r.fill,t):a_(r,t)}function wr(i,t){let{width:e,alignment:r,miterLimit:s,cap:o,join:n,pixelLine:a,...l}=t,h=pe(i,l);return h?{width:e,alignment:r,miterLimit:s,cap:o,join:n,pixelLine:a,...h}:null}var $a=p(()=>{Ft();yt();_r();no();});var l_,hp,Ya,Ut,Xa=p(()=>{Et();Ft();tt();qt();yt();Pt();ht();$t();Wa();sp();$a();l_=new $,hp=new M,Ya=class ie extends N{constructor(){super(...arguments),this.uid=Y("graphicsContext"),this.dirty=true,this.batchMode="auto",this.instructions=[],this._activePath=new Pe,this._transform=new M,this._fillStyle={...ie.defaultFillStyle},this._strokeStyle={...ie.defaultStrokeStyle},this._stateStack=[],this._tick=0,this._bounds=new ot,this._boundsDirty=true;}clone(){let t=new ie;return t.batchMode=this.batchMode,t.instructions=this.instructions.slice(),t._activePath=this._activePath.clone(),t._transform=this._transform.clone(),t._fillStyle={...this._fillStyle},t._strokeStyle={...this._strokeStyle},t._stateStack=this._stateStack.slice(),t._bounds=this._bounds.clone(),t._boundsDirty=true,t}get fillStyle(){return this._fillStyle}set fillStyle(t){this._fillStyle=pe(t,ie.defaultFillStyle);}get strokeStyle(){return this._strokeStyle}set strokeStyle(t){this._strokeStyle=wr(t,ie.defaultStrokeStyle);}setFillStyle(t){return this._fillStyle=pe(t,ie.defaultFillStyle),this}setStrokeStyle(t){return this._strokeStyle=pe(t,ie.defaultStrokeStyle),this}texture(t,e,r,s,o,n){return this.instructions.push({action:"texture",data:{image:t,dx:r||0,dy:s||0,dw:o||t.frame.width,dh:n||t.frame.height,transform:this._transform.clone(),alpha:this._fillStyle.alpha,style:e?H.shared.setValue(e).toNumber():16777215}}),this.onUpdate(),this}beginPath(){return this._activePath=new Pe,this}fill(t,e){let r,s=this.instructions[this.instructions.length-1];return this._tick===0&&s&&s.action==="stroke"?r=s.data.path:r=this._activePath.clone(),r?(t!=null&&(e!==void 0&&typeof t=="number"&&(G(W,"GraphicsContext.fill(color, alpha) is deprecated, use GraphicsContext.fill({ color, alpha }) instead"),t={color:t,alpha:e}),this._fillStyle=pe(t,ie.defaultFillStyle)),this.instructions.push({action:"fill",data:{style:this.fillStyle,path:r}}),this.onUpdate(),this._initNextPathLocation(),this._tick=0,this):this}_initNextPathLocation(){let{x:t,y:e}=this._activePath.getLastPoint($.shared);this._activePath.clear(),this._activePath.moveTo(t,e);}stroke(t){let e,r=this.instructions[this.instructions.length-1];return this._tick===0&&r&&r.action==="fill"?e=r.data.path:e=this._activePath.clone(),e?(t!=null&&(this._strokeStyle=wr(t,ie.defaultStrokeStyle)),this.instructions.push({action:"stroke",data:{style:this.strokeStyle,path:e}}),this.onUpdate(),this._initNextPathLocation(),this._tick=0,this):this}cut(){for(let t=0;t<2;t++){let e=this.instructions[this.instructions.length-1-t],r=this._activePath.clone();if(e&&(e.action==="stroke"||e.action==="fill"))if(e.data.hole)e.data.hole.addPath(r);else {e.data.hole=r;break}}return this._initNextPathLocation(),this}arc(t,e,r,s,o,n){this._tick++;let a=this._transform;return this._activePath.arc(a.a*t+a.c*e+a.tx,a.b*t+a.d*e+a.ty,r,s,o,n),this}arcTo(t,e,r,s,o){this._tick++;let n=this._transform;return this._activePath.arcTo(n.a*t+n.c*e+n.tx,n.b*t+n.d*e+n.ty,n.a*r+n.c*s+n.tx,n.b*r+n.d*s+n.ty,o),this}arcToSvg(t,e,r,s,o,n,a){this._tick++;let l=this._transform;return this._activePath.arcToSvg(t,e,r,s,o,l.a*n+l.c*a+l.tx,l.b*n+l.d*a+l.ty),this}bezierCurveTo(t,e,r,s,o,n,a){this._tick++;let l=this._transform;return this._activePath.bezierCurveTo(l.a*t+l.c*e+l.tx,l.b*t+l.d*e+l.ty,l.a*r+l.c*s+l.tx,l.b*r+l.d*s+l.ty,l.a*o+l.c*n+l.tx,l.b*o+l.d*n+l.ty,a),this}closePath(){return this._tick++,this._activePath?.closePath(),this}ellipse(t,e,r,s){return this._tick++,this._activePath.ellipse(t,e,r,s,this._transform.clone()),this}circle(t,e,r){return this._tick++,this._activePath.circle(t,e,r,this._transform.clone()),this}path(t){return this._tick++,this._activePath.addPath(t,this._transform.clone()),this}lineTo(t,e){this._tick++;let r=this._transform;return this._activePath.lineTo(r.a*t+r.c*e+r.tx,r.b*t+r.d*e+r.ty),this}moveTo(t,e){this._tick++;let r=this._transform,s=this._activePath.instructions,o=r.a*t+r.c*e+r.tx,n=r.b*t+r.d*e+r.ty;return s.length===1&&s[0].action==="moveTo"?(s[0].data[0]=o,s[0].data[1]=n,this):(this._activePath.moveTo(o,n),this)}quadraticCurveTo(t,e,r,s,o){this._tick++;let n=this._transform;return this._activePath.quadraticCurveTo(n.a*t+n.c*e+n.tx,n.b*t+n.d*e+n.ty,n.a*r+n.c*s+n.tx,n.b*r+n.d*s+n.ty,o),this}rect(t,e,r,s){return this._tick++,this._activePath.rect(t,e,r,s,this._transform.clone()),this}roundRect(t,e,r,s,o){return this._tick++,this._activePath.roundRect(t,e,r,s,o,this._transform.clone()),this}poly(t,e){return this._tick++,this._activePath.poly(t,e,this._transform.clone()),this}regularPoly(t,e,r,s,o=0,n){return this._tick++,this._activePath.regularPoly(t,e,r,s,o,n),this}roundPoly(t,e,r,s,o,n){return this._tick++,this._activePath.roundPoly(t,e,r,s,o,n),this}roundShape(t,e,r,s){return this._tick++,this._activePath.roundShape(t,e,r,s),this}filletRect(t,e,r,s,o){return this._tick++,this._activePath.filletRect(t,e,r,s,o),this}chamferRect(t,e,r,s,o,n){return this._tick++,this._activePath.chamferRect(t,e,r,s,o,n),this}star(t,e,r,s,o=0,n=0){return this._tick++,this._activePath.star(t,e,r,s,o,n,this._transform.clone()),this}svg(t){return this._tick++,rp(t,this),this}restore(){let t=this._stateStack.pop();return t&&(this._transform=t.transform,this._fillStyle=t.fillStyle,this._strokeStyle=t.strokeStyle),this}save(){return this._stateStack.push({transform:this._transform.clone(),fillStyle:{...this._fillStyle},strokeStyle:{...this._strokeStyle}}),this}getTransform(){return this._transform}resetTransform(){return this._transform.identity(),this}rotate(t){return this._transform.rotate(t),this}scale(t,e=t){return this._transform.scale(t,e),this}setTransform(t,e,r,s,o,n){return t instanceof M?(this._transform.set(t.a,t.b,t.c,t.d,t.tx,t.ty),this):(this._transform.set(t,e,r,s,o,n),this)}transform(t,e,r,s,o,n){return t instanceof M?(this._transform.append(t),this):(hp.set(t,e,r,s,o,n),this._transform.append(hp),this)}translate(t,e=t){return this._transform.translate(t,e),this}clear(){return this._activePath.clear(),this.instructions.length=0,this.resetTransform(),this.onUpdate(),this}onUpdate(){this.dirty||(this.emit("update",this,16),this.dirty=true,this._boundsDirty=true);}get bounds(){if(!this._boundsDirty)return this._bounds;let t=this._bounds;t.clear();for(let e=0;e<this.instructions.length;e++){let r=this.instructions[e],s=r.action;if(s==="fill"){let o=r.data;t.addBounds(o.path.bounds);}else if(s==="texture"){let o=r.data;t.addFrame(o.dx,o.dy,o.dx+o.dw,o.dy+o.dh,o.transform);}if(s==="stroke"){let o=r.data,n=o.style.alignment,a=o.style.width*(1-n),l=o.path.bounds;t.addFrame(l.minX-a,l.minY-a,l.maxX+a,l.maxY+a);}}return t}containsPoint(t){if(!this.bounds.containsPoint(t.x,t.y))return false;let e=this.instructions,r=false;for(let s=0;s<e.length;s++){let o=e[s],n=o.data,a=n.path;if(!o.action||!a)continue;let l=n.style,h=a.shapePath.shapePrimitives;for(let u=0;u<h.length;u++){let c=h[u].shape;if(!l||!c)continue;let f=h[u].transform,d=f?f.applyInverse(t,l_):t;if(o.action==="fill")r=c.contains(d.x,d.y);else {let g=l;r=c.strokeContains(d.x,d.y,g.width,g.alignment);}let m=n.hole;if(m){let g=m.shapePath?.shapePrimitives;if(g)for(let x=0;x<g.length;x++)g[x].shape.contains(d.x,d.y)&&(r=false);}if(r)return true}}return r}destroy(t=false){if(this._stateStack.length=0,this._transform=null,this.emit("destroy",this),this.removeAllListeners(),typeof t=="boolean"?t:t?.texture){let r=typeof t=="boolean"?t:t?.textureSource;this._fillStyle.texture&&this._fillStyle.texture.destroy(r),this._strokeStyle.texture&&this._strokeStyle.texture.destroy(r);}this._fillStyle=null,this._strokeStyle=null,this.instructions=null,this._activePath=null,this._bounds=null,this._stateStack=null,this.customShader=null,this._transform=null;}};Ya.defaultFillStyle={color:16777215,alpha:1,texture:F.WHITE,matrix:null,fill:null,textureSpace:"local"};Ya.defaultStrokeStyle={width:1,color:16777215,alpha:1,alignment:.5,miterLimit:10,cap:"butt",join:"miter",texture:F.WHITE,matrix:null,fill:null,textureSpace:"local",pixelLine:false};Ut=Ya;});function cp(i){let t=[],e=0;for(let r=0;r<up.length;r++){let s=`_${up[r]}`;t[e++]=i[s];}return e=dp(i._fill,t,e),e=u_(i._stroke,t,e),e=c_(i.dropShadow,t,e),e=h_(i.filters,t,e),t.join("-")}function h_(i,t,e){if(!i)return e;for(let r of i)t[e++]=r.uid;return e}function dp(i,t,e){return i&&(t[e++]=i.color,t[e++]=i.alpha,t[e++]=i.fill?.styleKey),e}function u_(i,t,e){return i&&(e=dp(i,t,e),t[e++]=i.width,t[e++]=i.alignment,t[e++]=i.cap,t[e++]=i.join,t[e++]=i.miterLimit),e}function c_(i,t,e){return i&&(t[e++]=i.alpha,t[e++]=i.angle,t[e++]=i.blur,t[e++]=i.distance,t[e++]=H.shared.setValue(i.color).toNumber()),e}var up,fp=p(()=>{Ft();up=["align","breakWords","cssOverrides","fontVariant","fontWeight","leading","letterSpacing","lineHeight","padding","textBaseline","trim","whiteSpace","wordWrap","wordWrapWidth","fontFamily","fontStyle","fontSize"];});function d_(i){let t=i;if(typeof t.dropShadow=="boolean"&&t.dropShadow){let e=Ht.defaultDropShadow;i.dropShadow={alpha:t.dropShadowAlpha??e.alpha,angle:t.dropShadowAngle??e.angle,blur:t.dropShadowBlur??e.blur,color:t.dropShadowColor??e.color,distance:t.dropShadowDistance??e.distance};}if(t.strokeThickness!==void 0){G(W,"strokeThickness is now a part of stroke");let e=t.stroke,r={};if(H.isColorLike(e))r.color=e;else if(e instanceof Gt||e instanceof fe)r.fill=e;else if(Object.hasOwnProperty.call(e,"color")||Object.hasOwnProperty.call(e,"fill"))r=e;else throw new Error("Invalid stroke value.");i.stroke={...r,width:t.strokeThickness};}if(Array.isArray(t.fillGradientStops)){G(W,"gradient fill is now a fill pattern: `new FillGradient(...)`");let e;i.fontSize==null?i.fontSize=Ht.defaultTextStyle.fontSize:typeof i.fontSize=="string"?e=parseInt(i.fontSize,10):e=i.fontSize;let r=new Gt({start:{x:0,y:0},end:{x:0,y:(e||0)*1.7}}),s=t.fillGradientStops.map(o=>H.shared.setValue(o).toNumber());s.forEach((o,n)=>{let a=n/(s.length-1);r.addColorStop(a,o);}),i.fill={fill:r};}}var ja,Ht,wi=p(()=>{Et();Ft();ht();_r();no();Xa();$a();fp();ja=class Pr extends N{constructor(t={}){super(),d_(t);let e={...Pr.defaultTextStyle,...t};for(let r in e){let s=r;this[s]=e[r];}this.update();}get align(){return this._align}set align(t){this._align=t,this.update();}get breakWords(){return this._breakWords}set breakWords(t){this._breakWords=t,this.update();}get dropShadow(){return this._dropShadow}set dropShadow(t){t!==null&&typeof t=="object"?this._dropShadow=this._createProxy({...Pr.defaultDropShadow,...t}):this._dropShadow=t?this._createProxy({...Pr.defaultDropShadow}):null,this.update();}get fontFamily(){return this._fontFamily}set fontFamily(t){this._fontFamily=t,this.update();}get fontSize(){return this._fontSize}set fontSize(t){typeof t=="string"?this._fontSize=parseInt(t,10):this._fontSize=t,this.update();}get fontStyle(){return this._fontStyle}set fontStyle(t){this._fontStyle=t.toLowerCase(),this.update();}get fontVariant(){return this._fontVariant}set fontVariant(t){this._fontVariant=t,this.update();}get fontWeight(){return this._fontWeight}set fontWeight(t){this._fontWeight=t,this.update();}get leading(){return this._leading}set leading(t){this._leading=t,this.update();}get letterSpacing(){return this._letterSpacing}set letterSpacing(t){this._letterSpacing=t,this.update();}get lineHeight(){return this._lineHeight}set lineHeight(t){this._lineHeight=t,this.update();}get padding(){return this._padding}set padding(t){this._padding=t,this.update();}get filters(){return this._filters}set filters(t){this._filters=t,this.update();}get trim(){return this._trim}set trim(t){this._trim=t,this.update();}get textBaseline(){return this._textBaseline}set textBaseline(t){this._textBaseline=t,this.update();}get whiteSpace(){return this._whiteSpace}set whiteSpace(t){this._whiteSpace=t,this.update();}get wordWrap(){return this._wordWrap}set wordWrap(t){this._wordWrap=t,this.update();}get wordWrapWidth(){return this._wordWrapWidth}set wordWrapWidth(t){this._wordWrapWidth=t,this.update();}get fill(){return this._originalFill}set fill(t){t!==this._originalFill&&(this._originalFill=t,this._isFillStyle(t)&&(this._originalFill=this._createProxy({...Ut.defaultFillStyle,...t},()=>{this._fill=pe({...this._originalFill},Ut.defaultFillStyle);})),this._fill=pe(t===0?"black":t,Ut.defaultFillStyle),this.update());}get stroke(){return this._originalStroke}set stroke(t){t!==this._originalStroke&&(this._originalStroke=t,this._isFillStyle(t)&&(this._originalStroke=this._createProxy({...Ut.defaultStrokeStyle,...t},()=>{this._stroke=wr({...this._originalStroke},Ut.defaultStrokeStyle);})),this._stroke=wr(t,Ut.defaultStrokeStyle),this.update());}_generateKey(){return this._styleKey=cp(this),this._styleKey}update(){this._styleKey=null,this.emit("update",this);}reset(){let t=Pr.defaultTextStyle;for(let e in t)this[e]=t[e];}get styleKey(){return this._styleKey||this._generateKey()}clone(){return new Pr({align:this.align,breakWords:this.breakWords,dropShadow:this._dropShadow?{...this._dropShadow}:null,fill:this._fill,fontFamily:this.fontFamily,fontSize:this.fontSize,fontStyle:this.fontStyle,fontVariant:this.fontVariant,fontWeight:this.fontWeight,leading:this.leading,letterSpacing:this.letterSpacing,lineHeight:this.lineHeight,padding:this.padding,stroke:this._stroke,textBaseline:this.textBaseline,whiteSpace:this.whiteSpace,wordWrap:this.wordWrap,wordWrapWidth:this.wordWrapWidth,filters:this._filters?[...this._filters]:void 0})}_getFinalPadding(){let t=0;if(this._filters)for(let e=0;e<this._filters.length;e++)t+=this._filters[e].padding;return Math.max(this._padding,t)}destroy(t=false){if(this.removeAllListeners(),typeof t=="boolean"?t:t?.texture){let r=typeof t=="boolean"?t:t?.textureSource;this._fill?.texture&&this._fill.texture.destroy(r),this._originalFill?.texture&&this._originalFill.texture.destroy(r),this._stroke?.texture&&this._stroke.texture.destroy(r),this._originalStroke?.texture&&this._originalStroke.texture.destroy(r);}this._fill=null,this._stroke=null,this.dropShadow=null,this._originalStroke=null,this._originalFill=null;}_createProxy(t,e){return new Proxy(t,{set:(r,s,o)=>(r[s]=o,e?.(s,o),this.update(),true)})}_isFillStyle(t){return (t??null)!==null&&!(H.isColorLike(t)||t instanceof Gt||t instanceof fe)}};ja.defaultDropShadow={alpha:1,angle:Math.PI/6,blur:0,color:"black",distance:5};ja.defaultTextStyle={align:"left",breakWords:false,dropShadow:null,fill:"black",fontFamily:"Arial",fontSize:26,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",leading:0,letterSpacing:0,lineHeight:0,padding:0,stroke:null,textBaseline:"alphabetic",trim:false,whiteSpace:"pre",wordWrap:false,wordWrapWidth:100};Ht=ja;});function xo(i,t,e,r){let s=f_;s.minX=0,s.minY=0,s.maxX=i.width/r|0,s.maxY=i.height/r|0;let o=St.getOptimalTexture(s.width,s.height,r,false);return o.source.uploadMethodId="image",o.source.resource=i,o.source.alphaMode="premultiply-alpha-on-upload",o.frame.width=t/r,o.frame.height=e/r,o.source.emit("update",o.source),o.updateUvs(),o}var f_,qa=p(()=>{tr();$t();f_=new ot;});var Ka,se,Pi=p(()=>{Xt();Hr();Ka=class{constructor(t){this._canvasPool=Object.create(null),this.canvasOptions=t||{},this.enableFullScreen=false;}_createCanvasAndContext(t,e){let r=nt.get().createCanvas();r.width=t,r.height=e;let s=r.getContext("2d");return {canvas:r,context:s}}getOptimalCanvasAndContext(t,e,r=1){t=Math.ceil(t*r-1e-6),e=Math.ceil(e*r-1e-6),t=le(t),e=le(e);let s=(t<<17)+(e<<1);this._canvasPool[s]||(this._canvasPool[s]=[]);let o=this._canvasPool[s].pop();return o||(o=this._createCanvasAndContext(t,e)),o}returnCanvasAndContext(t){let e=t.canvas,{width:r,height:s}=e,o=(r<<17)+(s<<1);t.context.clearRect(0,0,r,s),this._canvasPool[o].push(t);}clear(){this._canvasPool={};}},se=new Ka;});function p_(i,t){Ne||(Ne=nt.get().createCanvas(256,128),me=Ne.getContext("2d",{willReadFrequently:true}),me.globalCompositeOperation="copy",me.globalAlpha=1),(Ne.width<i||Ne.height<t)&&(Ne.width=le(i),Ne.height=le(t));}function pp(i,t,e){for(let r=0,s=4*e*t;r<t;++r,s+=4)if(i[s+3]!==0)return false;return true}function mp(i,t,e,r,s){let o=4*t;for(let n=r,a=r*o+4*e;n<=s;++n,a+=o)if(i[a+3]!==0)return false;return true}function xp(...i){let t=i[0];t.canvas||(t={canvas:i[0],resolution:i[1]});let{canvas:e}=t,r=Math.min(t.resolution??1,1),s=t.width??e.width,o=t.height??e.height,n=t.output;if(p_(s,o),!me)throw new TypeError("Failed to get canvas 2D context");me.drawImage(e,0,0,s,o,0,0,s*r,o*r);let l=me.getImageData(0,0,s,o).data,h=0,u=0,c=s-1,f=o-1;for(;u<o&&pp(l,s,u);)++u;if(u===o)return j.EMPTY;for(;pp(l,s,f);)--f;for(;mp(l,s,h,u,f);)++h;for(;mp(l,s,c,u,f);)--c;return ++c,++f,me.globalCompositeOperation="source-over",me.strokeRect(h,u,c-h,f-u),me.globalCompositeOperation="copy",n??(n=new j),n.set(h/r,u/r,(c-h)/r,(f-u)/r),n}var Ne,me,gp=p(()=>{Xt();Hr();Bt();Ne=null,me=null;});function $e(i){let t=typeof i.fontSize=="number"?`${i.fontSize}px`:i.fontSize,e=i.fontFamily;Array.isArray(i.fontFamily)||(e=i.fontFamily.split(","));for(let r=e.length-1;r>=0;r--){let s=e[r].trim();!/([\"\'])[^\'\"]+\1/.test(s)&&!m_.includes(s)&&(s=`"${s}"`),e[r]=s;}return `${i.fontStyle} ${i.fontVariant} ${i.fontWeight} ${t} ${e.join(",")}`}var m_,go=p(()=>{m_=["serif","sans-serif","monospace","cursive","fantasy","system-ui"];});var Za,oe,It,Mi=p(()=>{Xt();go();Za={willReadFrequently:true},oe=class k{static get experimentalLetterSpacingSupported(){let t=k._experimentalLetterSpacingSupported;if(t===void 0){let e=nt.get().getCanvasRenderingContext2D().prototype;t=k._experimentalLetterSpacingSupported="letterSpacing"in e||"textLetterSpacing"in e;}return t}constructor(t,e,r,s,o,n,a,l,h){this.text=t,this.style=e,this.width=r,this.height=s,this.lines=o,this.lineWidths=n,this.lineHeight=a,this.maxLineWidth=l,this.fontProperties=h;}static measureText(t=" ",e,r=k._canvas,s=e.wordWrap){let o=$e(e),n=k.measureFont(o);n.fontSize===0&&(n.fontSize=e.fontSize,n.ascent=e.fontSize);let a=k.__context;a.font=o;let h=(s?k._wordWrap(t,e,r):t).split(/(?:\r\n|\r|\n)/),u=new Array(h.length),c=0;for(let _=0;_<h.length;_++){let y=k._measureText(h[_],e.letterSpacing,a);u[_]=y,c=Math.max(c,y);}let f=e._stroke?.width||0,d=c+f;e.dropShadow&&(d+=e.dropShadow.distance);let m=e.lineHeight||n.fontSize,g=Math.max(m,n.fontSize+f)+(h.length-1)*(m+e.leading);return e.dropShadow&&(g+=e.dropShadow.distance),new k(t,e,d,g,h,u,m+e.leading,c,n)}static _measureText(t,e,r){let s=false;k.experimentalLetterSpacingSupported&&(k.experimentalLetterSpacing?(r.letterSpacing=`${e}px`,r.textLetterSpacing=`${e}px`,s=true):(r.letterSpacing="0px",r.textLetterSpacing="0px"));let o=r.measureText(t),n=o.width,a=-o.actualBoundingBoxLeft,h=o.actualBoundingBoxRight-a;if(n>0)if(s)n-=e,h-=e;else {let u=(k.graphemeSegmenter(t).length-1)*e;n+=u,h+=u;}return Math.max(n,h)}static _wordWrap(t,e,r=k._canvas){let s=r.getContext("2d",Za),o=0,n="",a="",l=Object.create(null),{letterSpacing:h,whiteSpace:u}=e,c=k._collapseSpaces(u),f=k._collapseNewlines(u),d=!c,m=e.wordWrapWidth+h,g=k._tokenize(t);for(let x=0;x<g.length;x++){let _=g[x];if(k._isNewline(_)){if(!f){a+=k._addLine(n),d=!c,n="",o=0;continue}_=" ";}if(c){let b=k.isBreakingSpace(_),v=k.isBreakingSpace(n[n.length-1]);if(b&&v)continue}let y=k._getFromCache(_,h,l,s);if(y>m)if(n!==""&&(a+=k._addLine(n),n="",o=0),k.canBreakWords(_,e.breakWords)){let b=k.wordWrapSplit(_);for(let v=0;v<b.length;v++){let P=b[v],T=P,w=1;for(;b[v+w];){let A=b[v+w];if(!k.canBreakChars(T,A,_,v,e.breakWords))P+=A;else break;T=A,w++;}v+=w-1;let O=k._getFromCache(P,h,l,s);O+o>m&&(a+=k._addLine(n),d=false,n="",o=0),n+=P,o+=O;}}else {n.length>0&&(a+=k._addLine(n),n="",o=0);let b=x===g.length-1;a+=k._addLine(_,!b),d=false,n="",o=0;}else y+o>m&&(d=false,a+=k._addLine(n),n="",o=0),(n.length>0||!k.isBreakingSpace(_)||d)&&(n+=_,o+=y);}return a+=k._addLine(n,false),a}static _addLine(t,e=true){return t=k._trimRight(t),t=e?`${t}
368
- `:t,t}static _getFromCache(t,e,r,s){let o=r[t];return typeof o!="number"&&(o=k._measureText(t,e,s)+e,r[t]=o),o}static _collapseSpaces(t){return t==="normal"||t==="pre-line"}static _collapseNewlines(t){return t==="normal"}static _trimRight(t){if(typeof t!="string")return "";for(let e=t.length-1;e>=0;e--){let r=t[e];if(!k.isBreakingSpace(r))break;t=t.slice(0,-1);}return t}static _isNewline(t){return typeof t!="string"?false:k._newlines.includes(t.charCodeAt(0))}static isBreakingSpace(t,e){return typeof t!="string"?false:k._breakingSpaces.includes(t.charCodeAt(0))}static _tokenize(t){let e=[],r="";if(typeof t!="string")return e;for(let s=0;s<t.length;s++){let o=t[s],n=t[s+1];if(k.isBreakingSpace(o,n)||k._isNewline(o)){r!==""&&(e.push(r),r=""),e.push(o);continue}r+=o;}return r!==""&&e.push(r),e}static canBreakWords(t,e){return e}static canBreakChars(t,e,r,s,o){return true}static wordWrapSplit(t){return k.graphemeSegmenter(t)}static measureFont(t){if(k._fonts[t])return k._fonts[t];let e=k._context;e.font=t;let r=e.measureText(k.METRICS_STRING+k.BASELINE_SYMBOL),s={ascent:r.actualBoundingBoxAscent,descent:r.actualBoundingBoxDescent,fontSize:r.actualBoundingBoxAscent+r.actualBoundingBoxDescent};return k._fonts[t]=s,s}static clearMetrics(t=""){t?delete k._fonts[t]:k._fonts={};}static get _canvas(){if(!k.__canvas){let t;try{let e=new OffscreenCanvas(0,0);if(e.getContext("2d",Za)?.measureText)return k.__canvas=e,e;t=nt.get().createCanvas();}catch{t=nt.get().createCanvas();}t.width=t.height=10,k.__canvas=t;}return k.__canvas}static get _context(){return k.__context||(k.__context=k._canvas.getContext("2d",Za)),k.__context}};oe.METRICS_STRING="|\xC9q\xC5";oe.BASELINE_SYMBOL="M";oe.BASELINE_MULTIPLIER=1.4;oe.HEIGHT_MULTIPLIER=2;oe.graphemeSegmenter=(()=>{if(typeof Intl?.Segmenter=="function"){let i=new Intl.Segmenter;return t=>{let e=i.segment(t),r=[],s=0;for(let o of e)r[s++]=o.segment;return r}}return i=>[...i]})();oe.experimentalLetterSpacing=false;oe._fonts={};oe._newlines=[10,13];oe._breakingSpaces=[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288];It=oe;});function Mr(i,t,e,r=0){if(i.texture===F.WHITE&&!i.fill)return H.shared.setValue(i.color).setAlpha(i.alpha??1).toHexa();if(i.fill){if(i.fill instanceof fe){let s=i.fill,o=t.createPattern(s.texture.source.resource,"repeat"),n=s.transform.copyTo(M.shared);return n.scale(s.texture.frame.width,s.texture.frame.height),o.setTransform(n),o}else if(i.fill instanceof Gt){let s=i.fill,o=s.type==="linear",n=s.textureSpace==="local",a=1,l=1;n&&e&&(a=e.width+r,l=e.height+r);let h,u=false;if(o){let{start:c,end:f}=s;h=t.createLinearGradient(c.x*a,c.y*l,f.x*a,f.y*l),u=Math.abs(f.x-c.x)<Math.abs((f.y-c.y)*.1);}else {let{center:c,innerRadius:f,outerCenter:d,outerRadius:m}=s;h=t.createRadialGradient(c.x*a,c.y*l,f*a,d.x*a,d.y*l,m*a);}if(u&&n&&e){let c=e.lineHeight/l;for(let f=0;f<e.lines.length;f++){let d=(f*e.lineHeight+r/2)/l;s.colorStops.forEach(m=>{let g=d+m.offset*c;h.addColorStop(Math.floor(g*_p)/_p,H.shared.setValue(m.color).toHex());});}}else s.colorStops.forEach(c=>{h.addColorStop(c.offset,H.shared.setValue(c.color).toHex());});return h}}else {let s=t.createPattern(i.texture.source.resource,"repeat"),o=i.matrix.copyTo(M.shared);return o.scale(i.texture.frame.width,i.texture.frame.height),s.setTransform(o),s}return V("FillStyle not recognised",i),"red"}var _p,Qa=p(()=>{Ft();tt();yt();Mt();_r();no();_p=1e5;});var yp,Ja,_o,bp=p(()=>{Ft();Bt();Pi();gp();Mi();go();Qa();yp=new j,Ja=class{getCanvasAndContext(t){let{text:e,style:r,resolution:s=1}=t,o=r._getFinalPadding(),n=It.measureText(e||" ",r),a=Math.ceil(Math.ceil(Math.max(1,n.width)+o*2)*s),l=Math.ceil(Math.ceil(Math.max(1,n.height)+o*2)*s),h=se.getOptimalCanvasAndContext(a,l);this._renderTextToCanvas(e,r,o,s,h);let u=r.trim?xp({canvas:h.canvas,width:a,height:l,resolution:1,output:yp}):yp.set(0,0,a,l);return {canvasAndContext:h,frame:u}}returnCanvasAndContext(t){se.returnCanvasAndContext(t);}_renderTextToCanvas(t,e,r,s,o){let{canvas:n,context:a}=o,l=$e(e),h=It.measureText(t||" ",e),u=h.lines,c=h.lineHeight,f=h.lineWidths,d=h.maxLineWidth,m=h.fontProperties,g=n.height;if(a.resetTransform(),a.scale(s,s),a.textBaseline=e.textBaseline,e._stroke?.width){let b=e._stroke;a.lineWidth=b.width,a.miterLimit=b.miterLimit,a.lineJoin=b.join,a.lineCap=b.cap;}a.font=l;let x,_,y=e.dropShadow?2:1;for(let b=0;b<y;++b){let v=e.dropShadow&&b===0,P=v?Math.ceil(Math.max(1,g)+r*2):0,T=P*s;if(v){a.fillStyle="black",a.strokeStyle="black";let A=e.dropShadow,E=A.color,C=A.alpha;a.shadowColor=H.shared.setValue(E).setAlpha(C).toRgbaString();let L=A.blur*s,q=A.distance*s;a.shadowBlur=L,a.shadowOffsetX=Math.cos(A.angle)*q,a.shadowOffsetY=Math.sin(A.angle)*q+T;}else {if(a.fillStyle=e._fill?Mr(e._fill,a,h):null,e._stroke?.width){let A=e._stroke.width*e._stroke.alignment;a.strokeStyle=Mr(e._stroke,a,h,A);}a.shadowColor="black";}let w=(c-m.fontSize)/2;c-m.fontSize<0&&(w=0);let O=e._stroke?.width??0;for(let A=0;A<u.length;A++)x=O/2,_=O/2+A*c+m.ascent+w,e.align==="right"?x+=d-f[A]:e.align==="center"&&(x+=(d-f[A])/2),e._stroke?.width&&this._drawLetterSpacing(u[A],e,o,x+r,_+r-P,true),e._fill!==void 0&&this._drawLetterSpacing(u[A],e,o,x+r,_+r-P);}}_drawLetterSpacing(t,e,r,s,o,n=false){let{context:a}=r,l=e.letterSpacing,h=false;if(It.experimentalLetterSpacingSupported&&(It.experimentalLetterSpacing?(a.letterSpacing=`${l}px`,a.textLetterSpacing=`${l}px`,h=true):(a.letterSpacing="0px",a.textLetterSpacing="0px")),l===0||h){n?a.strokeText(t,s,o):a.fillText(t,s,o);return}let u=s,c=It.graphemeSegmenter(t),f=a.measureText(t).width,d=0;for(let m=0;m<c.length;++m){let g=c[m];n?a.strokeText(g,u,o):a.fillText(g,u,o);let x="";for(let _=m+1;_<c.length;++_)x+=c[_];d=a.measureText(x).width,u+=f-d+l,f=d;}}},_o=new Ja;});var Ai,vp=p(()=>{B();tr();Je();ht();wi();qa();bp();Ai=class{constructor(t){this._renderer=t;}getTexture(t,e,r,s){typeof t=="string"&&(G("8.0.0","CanvasTextSystem.getTexture: Use object TextOptions instead of separate arguments"),t={text:t,style:r,resolution:e}),t.style instanceof Ht||(t.style=new Ht(t.style)),t.textureStyle instanceof Wt||(t.textureStyle=new Wt(t.textureStyle)),typeof t.text!="string"&&(t.text=t.text.toString());let{text:o,style:n,textureStyle:a}=t,l=t.resolution??this._renderer.resolution,{frame:h,canvasAndContext:u}=_o.getCanvasAndContext({text:o,style:n,resolution:l}),c=xo(u.canvas,h.width,h.height,l);if(a&&(c.source.style=a),n.trim&&(h.pad(n.padding),c.frame.copyFrom(h),c.updateUvs()),n.filters){let f=this._applyFilters(c,n.filters);return this.returnTexture(c),_o.returnCanvasAndContext(u),f}return this._renderer.texture.initSource(c._source),_o.returnCanvasAndContext(u),c}returnTexture(t){let e=t.source;e.resource=null,e.uploadMethodId="unknown",e.alphaMode="no-premultiply-alpha",St.returnTexture(t,true);}renderTextToCanvas(){G("8.10.0","CanvasTextSystem.renderTextToCanvas: no longer supported, use CanvasTextSystem.getTexture instead");}_applyFilters(t,e){let r=this._renderer.renderTarget.renderTarget,s=this._renderer.filter.generateFilteredTexture({texture:t,filters:e});return this._renderer.renderTarget.bind(r,false),s}destroy(){this._renderer=null;}};Ai.extension={type:[S.WebGLSystem,S.WebGPUSystem,S.CanvasSystem],name:"canvasText"};});var tl=p(()=>{B();Pf();vp();I.add(Ai);I.add(vi);});var yo,Sp=p(()=>{ht();wn();Xa();yo=class i extends ir{constructor(t){t instanceof Ut&&(t={context:t});let{context:e,roundPixels:r,...s}=t||{};super({label:"Graphics",...s}),this.renderPipeId="graphics",e?this._context=e:this._context=this._ownedContext=new Ut,this._context.on("update",this.onViewUpdate,this),this.didViewUpdate=true,this.allowChildren=false,this.roundPixels=r??false;}set context(t){t!==this._context&&(this._context.off("update",this.onViewUpdate,this),this._context=t,this._context.on("update",this.onViewUpdate,this),this.onViewUpdate());}get context(){return this._context}get bounds(){return this._context.bounds}updateBounds(){}containsPoint(t){return this._context.containsPoint(t)}destroy(t){this._ownedContext&&!t?this._ownedContext.destroy(t):(t===true||t?.context===true)&&this._context.destroy(t),this._ownedContext=null,this._context=null,super.destroy(t);}_callContextMethod(t,e){return this.context[t](...e),this}setFillStyle(...t){return this._callContextMethod("setFillStyle",t)}setStrokeStyle(...t){return this._callContextMethod("setStrokeStyle",t)}fill(...t){return this._callContextMethod("fill",t)}stroke(...t){return this._callContextMethod("stroke",t)}texture(...t){return this._callContextMethod("texture",t)}beginPath(){return this._callContextMethod("beginPath",[])}cut(){return this._callContextMethod("cut",[])}arc(...t){return this._callContextMethod("arc",t)}arcTo(...t){return this._callContextMethod("arcTo",t)}arcToSvg(...t){return this._callContextMethod("arcToSvg",t)}bezierCurveTo(...t){return this._callContextMethod("bezierCurveTo",t)}closePath(){return this._callContextMethod("closePath",[])}ellipse(...t){return this._callContextMethod("ellipse",t)}circle(...t){return this._callContextMethod("circle",t)}path(...t){return this._callContextMethod("path",t)}lineTo(...t){return this._callContextMethod("lineTo",t)}moveTo(...t){return this._callContextMethod("moveTo",t)}quadraticCurveTo(...t){return this._callContextMethod("quadraticCurveTo",t)}rect(...t){return this._callContextMethod("rect",t)}roundRect(...t){return this._callContextMethod("roundRect",t)}poly(...t){return this._callContextMethod("poly",t)}regularPoly(...t){return this._callContextMethod("regularPoly",t)}roundPoly(...t){return this._callContextMethod("roundPoly",t)}roundShape(...t){return this._callContextMethod("roundShape",t)}filletRect(...t){return this._callContextMethod("filletRect",t)}chamferRect(...t){return this._callContextMethod("chamferRect",t)}star(...t){return this._callContextMethod("star",t)}svg(...t){return this._callContextMethod("svg",t)}restore(...t){return this._callContextMethod("restore",t)}save(){return this._callContextMethod("save",[])}getTransform(){return this.context.getTransform()}resetTransform(){return this._callContextMethod("resetTransform",[])}rotateTransform(...t){return this._callContextMethod("rotate",t)}scaleTransform(...t){return this._callContextMethod("scale",t)}setTransform(...t){return this._callContextMethod("setTransform",t)}transform(...t){return this._callContextMethod("transform",t)}translateTransform(...t){return this._callContextMethod("translate",t)}clear(){return this._callContextMethod("clear",[])}get fillStyle(){return this._context.fillStyle}set fillStyle(t){this._context.fillStyle=t;}get strokeStyle(){return this._context.strokeStyle}set strokeStyle(t){this._context.strokeStyle=t;}clone(t=false){return t?new i(this._context.clone()):(this._ownedContext=null,new i(this._context))}lineStyle(t,e,r){G(W,"Graphics#lineStyle is no longer needed. Use Graphics#setStrokeStyle to set the stroke style.");let s={};return t&&(s.width=t),e&&(s.color=e),r&&(s.alpha=r),this.context.strokeStyle=s,this}beginFill(t,e){G(W,"Graphics#beginFill is no longer needed. Use Graphics#fill to fill the shape with the desired style.");let r={};return t!==void 0&&(r.color=t),e!==void 0&&(r.alpha=e),this.context.fillStyle=r,this}endFill(){G(W,"Graphics#endFill is no longer needed. Use Graphics#fill to fill the shape with the desired style."),this.context.fill();let t=this.context.strokeStyle;return (t.width!==Ut.defaultStrokeStyle.width||t.color!==Ut.defaultStrokeStyle.color||t.alpha!==Ut.defaultStrokeStyle.alpha)&&this.context.stroke(),this}drawCircle(...t){return G(W,"Graphics#drawCircle has been renamed to Graphics#circle"),this._callContextMethod("circle",t)}drawEllipse(...t){return G(W,"Graphics#drawEllipse has been renamed to Graphics#ellipse"),this._callContextMethod("ellipse",t)}drawPolygon(...t){return G(W,"Graphics#drawPolygon has been renamed to Graphics#poly"),this._callContextMethod("poly",t)}drawRect(...t){return G(W,"Graphics#drawRect has been renamed to Graphics#rect"),this._callContextMethod("rect",t)}drawRoundedRect(...t){return G(W,"Graphics#drawRoundedRect has been renamed to Graphics#roundRect"),this._callContextMethod("roundRect",t)}drawStar(...t){return G(W,"Graphics#drawStar has been renamed to Graphics#star"),this._callContextMethod("star",t)}};});var Tp,wp,Pp=p(()=>{Tp={name:"local-uniform-msdf-bit",vertex:{header:`
367
+ }`;});var oo,vf=p(()=>{Ft();tt();Ds();Os();ui();bt();Je();xf();yf();bf();oo=class extends re{constructor(){let t=ur.from({vertex:_f,fragment:gf}),e=be.from({fragment:{source:Ea,entryPoint:"mainFragment"},vertex:{source:Ea,entryPoint:"mainVertex"}});super({glProgram:t,gpuProgram:e,resources:{uTexture:B.WHITE.source,uSampler:new Wt({}),uniforms:{uTranslationMatrix:{value:new P,type:"mat3x3<f32>"},uColor:{value:new H(16777215),type:"vec4<f32>"},uRound:{value:1,type:"f32"},uResolution:{value:[0,0],type:"vec2<f32>"}}}});}};});var br,Fa=p(()=>{tt();Se();ni();to();mi();mf();vf();br=class{constructor(t,e){this.state=Ve.for2d(),this.localUniforms=new Ct({uTranslationMatrix:{value:new P,type:"mat3x3<f32>"},uColor:{value:new Float32Array(4),type:"vec4<f32>"},uRound:{value:1,type:"f32"},uResolution:{value:[0,0],type:"vec2<f32>"}}),this.renderer=t,this.adaptor=e,this.defaultShader=new oo,this.state=Ve.for2d();}validateRenderable(t){return false}addRenderable(t,e){this.renderer.renderPipes.batch.break(e),e.add(t);}getBuffers(t){return t._gpuData[this.renderer.uid]||this._initBuffer(t)}_initBuffer(t){return t._gpuData[this.renderer.uid]=new so({size:t.particleChildren.length,properties:t._properties}),t._gpuData[this.renderer.uid]}updateRenderable(t){}execute(t){let e=t.particleChildren;if(e.length===0)return;let r=this.renderer,s=this.getBuffers(t);t.texture||(t.texture=e[0].texture);let o=this.state;s.update(e,t._childrenDirty),t._childrenDirty=false,o.blendMode=de(t.blendMode,t.texture._source);let n=this.localUniforms.uniforms,a=n.uTranslationMatrix;t.worldTransform.copyTo(a),a.prepend(r.globalUniforms.globalUniformData.projectionMatrix),n.uResolution=r.globalUniforms.globalUniformData.resolution,n.uRound=r._roundPixels|t._roundPixels,Te(t.groupColorAlpha,n.uColor,0),this.adaptor.execute(this,t);}destroy(){this.defaultShader&&(this.defaultShader.destroy(),this.defaultShader=null);}};});var _i,Sf=p(()=>{k();uf();Fa();_i=class extends br{constructor(t){super(t,new io);}};_i.extension={type:[S.WebGLPipes],name:"particle"};});var no,Tf=p(()=>{no=class{execute(t,e){let r=t.renderer,s=e.shader||t.defaultShader;s.groups[0]=r.renderPipes.uniformBatch.getUniformBindGroup(t.localUniforms,true),s.groups[1]=r.texture.getTextureBindGroup(e.texture);let o=t.state,n=t.getBuffers(e);r.encoder.draw({geometry:n.geometry,shader:e.shader||t.defaultShader,state:o,size:e.particleChildren.length*6});}};});var yi,wf=p(()=>{k();Tf();Fa();yi=class extends br{constructor(t){super(t,new no);}};yi.extension={type:[S.WebGPUPipes],name:"particle"};});var Ba=p(()=>{k();Sf();wf();I.add(_i);I.add(yi);});function bi(i,t){let{texture:e,bounds:r}=i,s=t._style._getFinalPadding();ws(r,t._anchor,e);let o=t._anchor._x*s*2,n=t._anchor._y*s*2;r.minX-=s-o,r.minY-=s-n,r.maxX-=s-o,r.maxY-=s-n;}var ka=p(()=>{Bn();});var vr,Ga=p(()=>{vr=class{constructor(){this.batcherName="default",this.topology="triangle-list",this.attributeSize=4,this.indexSize=6,this.packAsQuad=true,this.roundPixels=0,this._attributeStart=0,this._batcher=null,this._batch=null;}get blendMode(){return this.renderable.groupBlendMode}get color(){return this.renderable.groupColorAlpha}reset(){this.renderable=null,this.texture=null,this._batcher=null,this._batch=null,this.bounds=null;}destroy(){}};});var ao,Pf=p(()=>{Ga();ao=class extends vr{constructor(t){super(),this._renderer=t,t.runners.resolutionChange.add(this);}resolutionChange(){let t=this.renderable;t._autoResolution&&t.onViewUpdate();}destroy(){this._renderer.canvasText.returnTexture(this.texture),this._renderer=null;}};});var vi,Mf=p(()=>{k();ka();Pf();vi=class{constructor(t){this._renderer=t;}validateRenderable(t){return t._didTextUpdate}addRenderable(t,e){let r=this._getGpuText(t);t._didTextUpdate&&(this._updateGpuText(t),t._didTextUpdate=false),this._renderer.renderPipes.batch.addToBatch(r,e);}updateRenderable(t){let e=this._getGpuText(t);e._batcher.updateElement(e);}_updateGpuText(t){let e=this._getGpuText(t);e.texture&&this._renderer.canvasText.returnTexture(e.texture),t._resolution=t._autoResolution?this._renderer.resolution:t.resolution,e.texture=e.texture=this._renderer.canvasText.getTexture(t),bi(e,t);}_getGpuText(t){return t._gpuData[this._renderer.uid]||this.initGpuText(t)}initGpuText(t){let e=new ao(this._renderer);return e.renderable=t,e.transform=t.groupTransform,e.bounds={minX:0,maxX:1,minY:0,maxY:0},e.roundPixels=this._renderer._roundPixels|t._roundPixels,t._gpuData[this._renderer.uid]=e,e}destroy(){this._renderer=null;}};vi.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"text"};});var Af,fe,lo=p(()=>{tt();Mt();Af={repeat:{addressModeU:"repeat",addressModeV:"repeat"},"repeat-x":{addressModeU:"repeat",addressModeV:"clamp-to-edge"},"repeat-y":{addressModeU:"clamp-to-edge",addressModeV:"repeat"},"no-repeat":{addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"}},fe=class{constructor(t,e){this.uid=Y("fillPattern"),this.transform=new P,this._styleKey=null,this.texture=t,this.transform.scale(1/t.frame.width,1/t.frame.height),e&&(t.source.style.addressModeU=Af[e].addressModeU,t.source.style.addressModeV=Af[e].addressModeV);}setTransform(t){let e=this.texture;this.transform.copyFrom(t),this.transform.invert(),this.transform.scale(1/e.frame.width,1/e.frame.height),this._styleKey=null;}get styleKey(){return this._styleKey?this._styleKey:(this._styleKey=`fill-pattern-${this.uid}-${this.texture.uid}-${this.transform.toArray().join("-")}`,this._styleKey)}};});var Ef=Al(($A,Cf)=>{Cf.exports=zx;var Ia={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},Ox=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function zx(i){var t=[];return i.replace(Ox,function(e,r,s){var o=r.toLowerCase();for(s=Vx(s),o=="m"&&s.length>2&&(t.push([r].concat(s.splice(0,2))),o="l",r=r=="m"?"l":"L");;){if(s.length==Ia[o])return s.unshift(r),t.push(s);if(s.length<Ia[o])throw new Error("malformed path data");t.push([r].concat(s.splice(0,Ia[o])));}}),t}var Wx=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/ig;function Vx(i){var t=i.match(Wx);return t?t.map(Number):[]}});function Bf(i,t){let e=(0, Ff.default)(i),r=[],s=null,o=0,n=0;for(let a=0;a<e.length;a++){let l=e[a],h=l[0],u=l;switch(h){case "M":o=u[1],n=u[2],t.moveTo(o,n);break;case "m":o+=u[1],n+=u[2],t.moveTo(o,n);break;case "H":o=u[1],t.lineTo(o,n);break;case "h":o+=u[1],t.lineTo(o,n);break;case "V":n=u[1],t.lineTo(o,n);break;case "v":n+=u[1],t.lineTo(o,n);break;case "L":o=u[1],n=u[2],t.lineTo(o,n);break;case "l":o+=u[1],n+=u[2],t.lineTo(o,n);break;case "C":o=u[5],n=u[6],t.bezierCurveTo(u[1],u[2],u[3],u[4],o,n);break;case "c":t.bezierCurveTo(o+u[1],n+u[2],o+u[3],n+u[4],o+u[5],n+u[6]),o+=u[5],n+=u[6];break;case "S":o=u[3],n=u[4],t.bezierCurveToShort(u[1],u[2],o,n);break;case "s":t.bezierCurveToShort(o+u[1],n+u[2],o+u[3],n+u[4]),o+=u[3],n+=u[4];break;case "Q":o=u[3],n=u[4],t.quadraticCurveTo(u[1],u[2],o,n);break;case "q":t.quadraticCurveTo(o+u[1],n+u[2],o+u[3],n+u[4]),o+=u[3],n+=u[4];break;case "T":o=u[1],n=u[2],t.quadraticCurveToShort(o,n);break;case "t":o+=u[1],n+=u[2],t.quadraticCurveToShort(o,n);break;case "A":o=u[6],n=u[7],t.arcToSvg(u[1],u[2],u[3],u[4],u[5],o,n);break;case "a":o+=u[6],n+=u[7],t.arcToSvg(u[1],u[2],u[3],u[4],u[5],o,n);break;case "Z":case "z":t.closePath(),r.length>0&&(s=r.pop(),s?(o=s.startX,n=s.startY):(o=0,n=0)),s=null;break;default:z(`Unknown SVG path command: ${h}`);}h!=="Z"&&h!=="z"&&s===null&&(s={startX:o,startY:n},r.push(s));}return t}var Ff,kf=p(()=>{Ff=Cl(Ef());Tt();});var ho,Gf=p(()=>{Bt();ho=class i{constructor(t=0,e=0,r=0){this.type="circle",this.x=t,this.y=e,this.radius=r;}clone(){return new i(this.x,this.y,this.radius)}contains(t,e){if(this.radius<=0)return false;let r=this.radius*this.radius,s=this.x-t,o=this.y-e;return s*=s,o*=o,s+o<=r}strokeContains(t,e,r,s=.5){if(this.radius===0)return false;let o=this.x-t,n=this.y-e,a=this.radius,l=(1-s)*r,h=Math.sqrt(o*o+n*n);return h<=a+l&&h>a-(r-l)}getBounds(t){return t||(t=new j),t.x=this.x-this.radius,t.y=this.y-this.radius,t.width=this.radius*2,t.height=this.radius*2,t}copyFrom(t){return this.x=t.x,this.y=t.y,this.radius=t.radius,this}copyTo(t){return t.copyFrom(this),t}toString(){return `[pixi.js/math:Circle x=${this.x} y=${this.y} radius=${this.radius}]`}};});var uo,If=p(()=>{Bt();uo=class i{constructor(t=0,e=0,r=0,s=0){this.type="ellipse",this.x=t,this.y=e,this.halfWidth=r,this.halfHeight=s;}clone(){return new i(this.x,this.y,this.halfWidth,this.halfHeight)}contains(t,e){if(this.halfWidth<=0||this.halfHeight<=0)return false;let r=(t-this.x)/this.halfWidth,s=(e-this.y)/this.halfHeight;return r*=r,s*=s,r+s<=1}strokeContains(t,e,r,s=.5){let{halfWidth:o,halfHeight:n}=this;if(o<=0||n<=0)return false;let a=r*(1-s),l=r-a,h=o-l,u=n-l,c=o+a,f=n+a,d=t-this.x,g=e-this.y,x=d*d/(h*h)+g*g/(u*u),m=d*d/(c*c)+g*g/(f*f);return x>1&&m<=1}getBounds(t){return t||(t=new j),t.x=this.x-this.halfWidth,t.y=this.y-this.halfHeight,t.width=this.halfWidth*2,t.height=this.halfHeight*2,t}copyFrom(t){return this.x=t.x,this.y=t.y,this.halfWidth=t.halfWidth,this.halfHeight=t.halfHeight,this}copyTo(t){return t.copyFrom(this),t}toString(){return `[pixi.js/math:Ellipse x=${this.x} y=${this.y} halfWidth=${this.halfWidth} halfHeight=${this.halfHeight}]`}};});function Rf(i,t,e,r,s,o){let n=i-e,a=t-r,l=s-e,h=o-r,u=n*l+a*h,c=l*l+h*h,f=-1;c!==0&&(f=u/c);let d,g;f<0?(d=e,g=r):f>1?(d=s,g=o):(d=e+f*l,g=r+f*h);let x=i-d,m=t-g;return x*x+m*m}var Df=p(()=>{});var Hx,Nx,Sr,Lf=p(()=>{lt();Df();Bt();Sr=class i{constructor(...t){this.type="polygon";let e=Array.isArray(t[0])?t[0]:t;if(typeof e[0]!="number"){let r=[];for(let s=0,o=e.length;s<o;s++)r.push(e[s].x,e[s].y);e=r;}this.points=e,this.closePath=true;}isClockwise(){let t=0,e=this.points,r=e.length;for(let s=0;s<r;s+=2){let o=e[s],n=e[s+1],a=e[(s+2)%r],l=e[(s+3)%r];t+=(a-o)*(l+n);}return t<0}containsPolygon(t){let e=this.getBounds(Hx),r=t.getBounds(Nx);if(!e.containsRect(r))return false;let s=t.points;for(let o=0;o<s.length;o+=2){let n=s[o],a=s[o+1];if(!this.contains(n,a))return false}return true}clone(){let t=this.points.slice(),e=new i(t);return e.closePath=this.closePath,e}contains(t,e){let r=false,s=this.points.length/2;for(let o=0,n=s-1;o<s;n=o++){let a=this.points[o*2],l=this.points[o*2+1],h=this.points[n*2],u=this.points[n*2+1];l>e!=u>e&&t<(h-a)*((e-l)/(u-l))+a&&(r=!r);}return r}strokeContains(t,e,r,s=.5){let o=r*r,n=o*(1-s),a=o-n,{points:l}=this,h=l.length-(this.closePath?0:2);for(let u=0;u<h;u+=2){let c=l[u],f=l[u+1],d=l[(u+2)%l.length],g=l[(u+3)%l.length],x=Rf(t,e,c,f,d,g),m=Math.sign((d-c)*(e-f)-(g-f)*(t-c));if(x<=(m<0?a:n))return true}return false}getBounds(t){t||(t=new j);let e=this.points,r=1/0,s=-1/0,o=1/0,n=-1/0;for(let a=0,l=e.length;a<l;a+=2){let h=e[a],u=e[a+1];r=h<r?h:r,s=h>s?h:s,o=u<o?u:o,n=u>n?u:n;}return t.x=r,t.width=s-r,t.y=o,t.height=n-o,t}copyFrom(t){return this.points=t.points.slice(),this.closePath=t.closePath,this}copyTo(t){return t.copyFrom(this),t}toString(){return `[pixi.js/math:PolygoncloseStroke=${this.closePath}points=${this.points.reduce((t,e)=>`${t}, ${e}`,"")}]`}get lastX(){return this.points[this.points.length-2]}get lastY(){return this.points[this.points.length-1]}get x(){return F("8.11.0","Polygon.lastX is deprecated, please use Polygon.lastX instead."),this.points[this.points.length-2]}get y(){return F("8.11.0","Polygon.y is deprecated, please use Polygon.lastY instead."),this.points[this.points.length-1]}get startX(){return this.points[0]}get startY(){return this.points[1]}};});var co,fo,Uf=p(()=>{Bt();co=(i,t,e,r,s,o,n)=>{let a=i-e,l=t-r,h=Math.sqrt(a*a+l*l);return h>=s-o&&h<=s+n},fo=class i{constructor(t=0,e=0,r=0,s=0,o=20){this.type="roundedRectangle",this.x=t,this.y=e,this.width=r,this.height=s,this.radius=o;}getBounds(t){return t||(t=new j),t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t}clone(){return new i(this.x,this.y,this.width,this.height,this.radius)}copyFrom(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this}copyTo(t){return t.copyFrom(this),t}contains(t,e){if(this.width<=0||this.height<=0)return false;if(t>=this.x&&t<=this.x+this.width&&e>=this.y&&e<=this.y+this.height){let r=Math.max(0,Math.min(this.radius,Math.min(this.width,this.height)/2));if(e>=this.y+r&&e<=this.y+this.height-r||t>=this.x+r&&t<=this.x+this.width-r)return true;let s=t-(this.x+r),o=e-(this.y+r),n=r*r;if(s*s+o*o<=n||(s=t-(this.x+this.width-r),s*s+o*o<=n)||(o=e-(this.y+this.height-r),s*s+o*o<=n)||(s=t-(this.x+r),s*s+o*o<=n))return true}return false}strokeContains(t,e,r,s=.5){let{x:o,y:n,width:a,height:l,radius:h}=this,u=r*(1-s),c=r-u,f=o+h,d=n+h,g=a-h*2,x=l-h*2,m=o+a,_=n+l;return (t>=o-u&&t<=o+c||t>=m-c&&t<=m+u)&&e>=d&&e<=d+x||(e>=n-u&&e<=n+c||e>=_-c&&e<=_+u)&&t>=f&&t<=f+g?true:t<f&&e<d&&co(t,e,f,d,h,c,u)||t>m-h&&e<d&&co(t,e,m-h,d,h,c,u)||t>m-h&&e>_-h&&co(t,e,m-h,_-h,h,c,u)||t<f&&e>_-h&&co(t,e,f,_-h,h,c,u)}toString(){return `[pixi.js/math:RoundedRectangle x=${this.x} y=${this.y}width=${this.width} height=${this.height} radius=${this.radius}]`}};});function mo(i,t,e,r,s,o,n,a,l,h){let c=Math.min(.99,Math.max(0,h??yr.defaultOptions.bezierSmoothness)),f=(Yx-c)/1;return f*=f,Xx(t,e,r,s,o,n,a,l,i,f),i}function Xx(i,t,e,r,s,o,n,a,l,h){Da(i,t,e,r,s,o,n,a,l,h,0),l.push(n,a);}function Da(i,t,e,r,s,o,n,a,l,h,u){if(u>$x)return;let c=Math.PI,f=(i+e)/2,d=(t+r)/2,g=(e+s)/2,x=(r+o)/2,m=(s+n)/2,_=(o+a)/2,y=(f+g)/2,b=(d+x)/2,v=(g+m)/2,A=(x+_)/2,T=(y+v)/2,w=(b+A)/2;if(u>0){let U=n-i,M=a-t,E=Math.abs((e-n)*M-(r-a)*U),C=Math.abs((s-n)*M-(o-a)*U),O,q;if(E>po&&C>po){if((E+C)*(E+C)<=h*(U*U+M*M)){if(Tr<Ra){l.push(T,w);return}let yt=Math.atan2(o-r,s-e);if(O=Math.abs(yt-Math.atan2(r-t,e-i)),q=Math.abs(Math.atan2(a-o,n-s)-yt),O>=c&&(O=2*c-O),q>=c&&(q=2*c-q),O+q<Tr){l.push(T,w);return}if(He!==0){if(O>He){l.push(e,r);return}if(q>He){l.push(s,o);return}}}}else if(E>po){if(E*E<=h*(U*U+M*M)){if(Tr<Ra){l.push(T,w);return}if(O=Math.abs(Math.atan2(o-r,s-e)-Math.atan2(r-t,e-i)),O>=c&&(O=2*c-O),O<Tr){l.push(e,r),l.push(s,o);return}if(He!==0&&O>He){l.push(e,r);return}}}else if(C>po){if(C*C<=h*(U*U+M*M)){if(Tr<Ra){l.push(T,w);return}if(O=Math.abs(Math.atan2(a-o,n-s)-Math.atan2(o-r,s-e)),O>=c&&(O=2*c-O),O<Tr){l.push(e,r),l.push(s,o);return}if(He!==0&&O>He){l.push(s,o);return}}}else if(U=T-(i+n)/2,M=w-(t+a)/2,U*U+M*M<=h){l.push(T,w);return}}Da(i,t,f,d,y,b,T,w,l,h,u+1),Da(T,w,v,A,m,_,n,a,l,h,u+1);}var $x,po,Yx,Ra,Tr,He,La=p(()=>{Js();$x=8,po=11920929e-14,Yx=1,Ra=.01,Tr=0,He=0;});function zf(i,t,e,r,s,o,n,a){let h=Math.min(.99,Math.max(0,a??yr.defaultOptions.bezierSmoothness)),u=(Kx-h)/1;return u*=u,Qx(t,e,r,s,o,n,i,u),i}function Qx(i,t,e,r,s,o,n,a){Ua(n,i,t,e,r,s,o,a,0),n.push(s,o);}function Ua(i,t,e,r,s,o,n,a,l){if(l>jx)return;let h=Math.PI,u=(t+r)/2,c=(e+s)/2,f=(r+o)/2,d=(s+n)/2,g=(u+f)/2,x=(c+d)/2,m=o-t,_=n-e,y=Math.abs((r-o)*_-(s-n)*m);if(y>qx){if(y*y<=a*(m*m+_*_)){if(Of<Zx){i.push(g,x);return}let b=Math.abs(Math.atan2(n-s,o-r)-Math.atan2(s-e,r-t));if(b>=h&&(b=2*h-b),b<Of){i.push(g,x);return}}}else if(m=g-(t+o)/2,_=x-(e+n)/2,m*m+_*_<=a){i.push(g,x);return}Ua(i,t,e,u,c,g,x,a,l+1),Ua(i,g,x,f,d,o,n,a,l+1);}var jx,qx,Kx,Zx,Of,Wf=p(()=>{Js();jx=8,qx=11920929e-14,Kx=1,Zx=.01,Of=0;});function go(i,t,e,r,s,o,n,a){let l=Math.abs(s-o);(!n&&s>o||n&&o>s)&&(l=2*Math.PI-l),a||(a=Math.max(6,Math.floor(6*Math.pow(r,1/3)*(l/Math.PI)))),a=Math.max(a,3);let h=l/a,u=s;h*=n?-1:1;for(let c=0;c<a+1;c++){let f=Math.cos(u),d=Math.sin(u),g=t+f*r,x=e+d*r;i.push(g,x),u+=h;}}var Oa=p(()=>{});function Vf(i,t,e,r,s,o){let n=i[i.length-2],l=i[i.length-1]-e,h=n-t,u=s-e,c=r-t,f=Math.abs(l*c-h*u);if(f<1e-8||o===0){(i[i.length-2]!==t||i[i.length-1]!==e)&&i.push(t,e);return}let d=l*l+h*h,g=u*u+c*c,x=l*u+h*c,m=o*Math.sqrt(d)/f,_=o*Math.sqrt(g)/f,y=m*x/d,b=_*x/g,v=m*c+_*h,A=m*u+_*l,T=h*(_+y),w=l*(_+y),U=c*(m+b),M=u*(m+b),E=Math.atan2(w-A,T-v),C=Math.atan2(M-A,U-v);go(i,v+t,A+e,o,E,C,h*u>c*l);}var Hf=p(()=>{Oa();});function Jx(i,t){let e=t===-1.5707963267948966?-0.551915024494:1.3333333333333333*Math.tan(t/4),r=t===1.5707963267948966?.551915024494:e,s=Math.cos(i),o=Math.sin(i),n=Math.cos(i+t),a=Math.sin(i+t);return [{x:s-o*r,y:o+s*r},{x:n+a*r,y:a-n*r},{x:n,y:a}]}function $f(i,t,e,r,s,o,n,a=0,l=0,h=0){if(o===0||n===0)return;let u=Math.sin(a*Si/360),c=Math.cos(a*Si/360),f=c*(t-r)/2+u*(e-s)/2,d=-u*(t-r)/2+c*(e-s)/2;if(f===0&&d===0)return;o=Math.abs(o),n=Math.abs(n);let g=Math.pow(f,2)/Math.pow(o,2)+Math.pow(d,2)/Math.pow(n,2);g>1&&(o*=Math.sqrt(g),n*=Math.sqrt(g)),t_(t,e,r,s,o,n,l,h,u,c,f,d,za);let{ang1:x,ang2:m}=za,{centerX:_,centerY:y}=za,b=Math.abs(m)/(Si/4);Math.abs(1-b)<1e-7&&(b=1);let v=Math.max(Math.ceil(b),1);m/=v;let A=i[i.length-2],T=i[i.length-1],w={x:0,y:0};for(let U=0;U<v;U++){let M=Jx(x,m),{x:E,y:C}=Wa(M[0],o,n,c,u,_,y,w),{x:O,y:q}=Wa(M[1],o,n,c,u,_,y,w),{x:yt,y:kr}=Wa(M[2],o,n,c,u,_,y,w);mo(i,A,T,E,C,O,q,yt,kr),A=yt,T=kr,x+=m;}}var Si,za,Wa,Nf,t_,Yf=p(()=>{La();Si=Math.PI*2,za={centerX:0,centerY:0,ang1:0,ang2:0},Wa=({x:i,y:t},e,r,s,o,n,a,l)=>{i*=e,t*=r;let h=s*i-o*t,u=o*i+s*t;return l.x=h+n,l.y=u+a,l};Nf=(i,t,e,r)=>{let s=i*r-t*e<0?-1:1,o=i*e+t*r;return o>1&&(o=1),o<-1&&(o=-1),s*Math.acos(o)},t_=(i,t,e,r,s,o,n,a,l,h,u,c,f)=>{let d=Math.pow(s,2),g=Math.pow(o,2),x=Math.pow(u,2),m=Math.pow(c,2),_=d*g-d*m-g*x;_<0&&(_=0),_/=d*m+g*x,_=Math.sqrt(_)*(n===a?-1:1);let y=_*s/o*c,b=_*-o/s*u,v=h*y-l*b+(i+e)/2,A=l*y+h*b+(t+r)/2,T=(u-y)/s,w=(c-b)/o,U=(-u-y)/s,M=(-c-b)/o,E=Nf(1,0,T,w),C=Nf(T,w,U,M);a===0&&C>0&&(C-=Si),a===1&&C<0&&(C+=Si),f.centerX=v,f.centerY=A,f.ang1=E,f.ang2=C;};});function Xf(i,t,e){let r=(n,a)=>{let l=a.x-n.x,h=a.y-n.y,u=Math.sqrt(l*l+h*h),c=l/u,f=h/u;return {len:u,nx:c,ny:f}},s=(n,a)=>{n===0?i.moveTo(a.x,a.y):i.lineTo(a.x,a.y);},o=t[t.length-1];for(let n=0;n<t.length;n++){let a=t[n%t.length],l=a.radius??e;if(l<=0){s(n,a),o=a;continue}let h=t[(n+1)%t.length],u=r(a,o),c=r(a,h);if(u.len<1e-4||c.len<1e-4){s(n,a),o=a;continue}let f=Math.asin(u.nx*c.ny-u.ny*c.nx),d=1,g=false;u.nx*c.nx-u.ny*-c.ny<0?f<0?f=Math.PI+f:(f=Math.PI-f,d=-1,g=true):f>0&&(d=-1,g=true);let x=f/2,m,_=Math.abs(Math.cos(x)*l/Math.sin(x));_>Math.min(u.len/2,c.len/2)?(_=Math.min(u.len/2,c.len/2),m=Math.abs(_*Math.sin(x)/Math.cos(x))):m=l;let y=a.x+c.nx*_+-c.ny*m*d,b=a.y+c.ny*_+c.nx*m*d,v=Math.atan2(u.ny,u.nx)+Math.PI/2*d,A=Math.atan2(c.ny,c.nx)-Math.PI/2*d;n===0&&i.moveTo(y+Math.cos(v)*m,b+Math.sin(v)*m),i.arc(y,b,m,v,A,g),o=a;}}function jf(i,t,e,r){let s=(a,l)=>Math.sqrt((a.x-l.x)**2+(a.y-l.y)**2),o=(a,l,h)=>({x:a.x+(l.x-a.x)*h,y:a.y+(l.y-a.y)*h}),n=t.length;for(let a=0;a<n;a++){let l=t[(a+1)%n],h=l.radius??e;if(h<=0){a===0?i.moveTo(l.x,l.y):i.lineTo(l.x,l.y);continue}let u=t[a],c=t[(a+2)%n],f=s(u,l),d;if(f<1e-4)d=l;else {let m=Math.min(f/2,h);d=o(l,u,m/f);}let g=s(c,l),x;if(g<1e-4)x=l;else {let m=Math.min(g/2,h);x=o(l,c,m/g);}a===0?i.moveTo(d.x,d.y):i.lineTo(d.x,d.y),i.quadraticCurveTo(l.x,l.y,x.x,x.y,r);}}var qf=p(()=>{});var e_,xo,Kf=p(()=>{Gf();If();Lf();Bt();Uf();$t();La();Wf();Oa();Hf();Yf();qf();e_=new j,xo=class{constructor(t){this.shapePrimitives=[],this._currentPoly=null,this._bounds=new ot,this._graphicsPath2D=t,this.signed=t.checkForHoles;}moveTo(t,e){return this.startPoly(t,e),this}lineTo(t,e){this._ensurePoly();let r=this._currentPoly.points,s=r[r.length-2],o=r[r.length-1];return (s!==t||o!==e)&&r.push(t,e),this}arc(t,e,r,s,o,n){this._ensurePoly(false);let a=this._currentPoly.points;return go(a,t,e,r,s,o,n),this}arcTo(t,e,r,s,o){this._ensurePoly();let n=this._currentPoly.points;return Vf(n,t,e,r,s,o),this}arcToSvg(t,e,r,s,o,n,a){let l=this._currentPoly.points;return $f(l,this._currentPoly.lastX,this._currentPoly.lastY,n,a,t,e,r,s,o),this}bezierCurveTo(t,e,r,s,o,n,a){this._ensurePoly();let l=this._currentPoly;return mo(this._currentPoly.points,l.lastX,l.lastY,t,e,r,s,o,n,a),this}quadraticCurveTo(t,e,r,s,o){this._ensurePoly();let n=this._currentPoly;return zf(this._currentPoly.points,n.lastX,n.lastY,t,e,r,s,o),this}closePath(){return this.endPoly(true),this}addPath(t,e){this.endPoly(),e&&!e.isIdentity()&&(t=t.clone(true),t.transform(e));let r=this.shapePrimitives,s=r.length;for(let o=0;o<t.instructions.length;o++){let n=t.instructions[o];this[n.action](...n.data);}if(t.checkForHoles&&r.length-s>1){let o=null;for(let n=s;n<r.length;n++){let a=r[n];if(a.shape.type==="polygon"){let l=a.shape,h=o?.shape;h&&h.containsPolygon(l)?(o.holes||(o.holes=[]),o.holes.push(a),r.copyWithin(n,n+1),r.length--,n--):o=a;}}}return this}finish(t=false){this.endPoly(t);}rect(t,e,r,s,o){return this.drawShape(new j(t,e,r,s),o),this}circle(t,e,r,s){return this.drawShape(new ho(t,e,r),s),this}poly(t,e,r){let s=new Sr(t);return s.closePath=e,this.drawShape(s,r),this}regularPoly(t,e,r,s,o=0,n){s=Math.max(s|0,3);let a=-1*Math.PI/2+o,l=Math.PI*2/s,h=[];for(let u=0;u<s;u++){let c=a-u*l;h.push(t+r*Math.cos(c),e+r*Math.sin(c));}return this.poly(h,true,n),this}roundPoly(t,e,r,s,o,n=0,a){if(s=Math.max(s|0,3),o<=0)return this.regularPoly(t,e,r,s,n);let l=r*Math.sin(Math.PI/s)-.001;o=Math.min(o,l);let h=-1*Math.PI/2+n,u=Math.PI*2/s,c=(s-2)*Math.PI/s/2;for(let f=0;f<s;f++){let d=f*u+h,g=t+r*Math.cos(d),x=e+r*Math.sin(d),m=d+Math.PI+c,_=d-Math.PI-c,y=g+o*Math.cos(m),b=x+o*Math.sin(m),v=g+o*Math.cos(_),A=x+o*Math.sin(_);f===0?this.moveTo(y,b):this.lineTo(y,b),this.quadraticCurveTo(g,x,v,A,a);}return this.closePath()}roundShape(t,e,r=false,s){return t.length<3?this:(r?jf(this,t,e,s):Xf(this,t,e),this.closePath())}filletRect(t,e,r,s,o){if(o===0)return this.rect(t,e,r,s);let n=Math.min(r,s)/2,a=Math.min(n,Math.max(-n,o)),l=t+r,h=e+s,u=a<0?-a:0,c=Math.abs(a);return this.moveTo(t,e+c).arcTo(t+u,e+u,t+c,e,c).lineTo(l-c,e).arcTo(l-u,e+u,l,e+c,c).lineTo(l,h-c).arcTo(l-u,h-u,t+r-c,h,c).lineTo(t+c,h).arcTo(t+u,h-u,t,h-c,c).closePath()}chamferRect(t,e,r,s,o,n){if(o<=0)return this.rect(t,e,r,s);let a=Math.min(o,Math.min(r,s)/2),l=t+r,h=e+s,u=[t+a,e,l-a,e,l,e+a,l,h-a,l-a,h,t+a,h,t,h-a,t,e+a];for(let c=u.length-1;c>=2;c-=2)u[c]===u[c-2]&&u[c-1]===u[c-3]&&u.splice(c-1,2);return this.poly(u,true,n)}ellipse(t,e,r,s,o){return this.drawShape(new uo(t,e,r,s),o),this}roundRect(t,e,r,s,o,n){return this.drawShape(new fo(t,e,r,s,o),n),this}drawShape(t,e){return this.endPoly(),this.shapePrimitives.push({shape:t,transform:e}),this}startPoly(t,e){let r=this._currentPoly;return r&&this.endPoly(),r=new Sr,r.points.push(t,e),this._currentPoly=r,this}endPoly(t=false){let e=this._currentPoly;return e&&e.points.length>2&&(e.closePath=t,this.shapePrimitives.push({shape:e})),this._currentPoly=null,this}_ensurePoly(t=true){if(!this._currentPoly&&(this._currentPoly=new Sr,t)){let e=this.shapePrimitives[this.shapePrimitives.length-1];if(e){let r=e.shape.x,s=e.shape.y;if(e.transform&&!e.transform.isIdentity()){let o=e.transform,n=r;r=o.a*r+o.c*s+o.tx,s=o.b*n+o.d*s+o.ty;}this._currentPoly.points.push(r,s);}else this._currentPoly.points.push(0,0);}}buildPath(){let t=this._graphicsPath2D;this.shapePrimitives.length=0,this._currentPoly=null;for(let e=0;e<t.instructions.length;e++){let r=t.instructions[e];this[r.action](...r.data);}this.finish();}get bounds(){let t=this._bounds;t.clear();let e=this.shapePrimitives;for(let r=0;r<e.length;r++){let s=e[r],o=s.shape.getBounds(e_);s.transform?t.addRect(o,s.transform):t.addRect(o);}return t}};});function Ti(i,t){return i?i.prepend(t):t.clone()}var Pe,Va=p(()=>{qt();Mt();Tt();kf();Kf();Pe=class i{constructor(t,e=false){this.instructions=[],this.uid=Y("graphicsPath"),this._dirty=true,this.checkForHoles=e,typeof t=="string"?Bf(t,this):this.instructions=t?.slice()??[];}get shapePath(){return this._shapePath||(this._shapePath=new xo(this)),this._dirty&&(this._dirty=false,this._shapePath.buildPath()),this._shapePath}addPath(t,e){return t=t.clone(),this.instructions.push({action:"addPath",data:[t,e]}),this._dirty=true,this}arc(...t){return this.instructions.push({action:"arc",data:t}),this._dirty=true,this}arcTo(...t){return this.instructions.push({action:"arcTo",data:t}),this._dirty=true,this}arcToSvg(...t){return this.instructions.push({action:"arcToSvg",data:t}),this._dirty=true,this}bezierCurveTo(...t){return this.instructions.push({action:"bezierCurveTo",data:t}),this._dirty=true,this}bezierCurveToShort(t,e,r,s,o){let n=this.instructions[this.instructions.length-1],a=this.getLastPoint($.shared),l=0,h=0;if(!n||n.action!=="bezierCurveTo")l=a.x,h=a.y;else {l=n.data[2],h=n.data[3];let u=a.x,c=a.y;l=u+(u-l),h=c+(c-h);}return this.instructions.push({action:"bezierCurveTo",data:[l,h,t,e,r,s,o]}),this._dirty=true,this}closePath(){return this.instructions.push({action:"closePath",data:[]}),this._dirty=true,this}ellipse(...t){return this.instructions.push({action:"ellipse",data:t}),this._dirty=true,this}lineTo(...t){return this.instructions.push({action:"lineTo",data:t}),this._dirty=true,this}moveTo(...t){return this.instructions.push({action:"moveTo",data:t}),this}quadraticCurveTo(...t){return this.instructions.push({action:"quadraticCurveTo",data:t}),this._dirty=true,this}quadraticCurveToShort(t,e,r){let s=this.instructions[this.instructions.length-1],o=this.getLastPoint($.shared),n=0,a=0;if(!s||s.action!=="quadraticCurveTo")n=o.x,a=o.y;else {n=s.data[0],a=s.data[1];let l=o.x,h=o.y;n=l+(l-n),a=h+(h-a);}return this.instructions.push({action:"quadraticCurveTo",data:[n,a,t,e,r]}),this._dirty=true,this}rect(t,e,r,s,o){return this.instructions.push({action:"rect",data:[t,e,r,s,o]}),this._dirty=true,this}circle(t,e,r,s){return this.instructions.push({action:"circle",data:[t,e,r,s]}),this._dirty=true,this}roundRect(...t){return this.instructions.push({action:"roundRect",data:t}),this._dirty=true,this}poly(...t){return this.instructions.push({action:"poly",data:t}),this._dirty=true,this}regularPoly(...t){return this.instructions.push({action:"regularPoly",data:t}),this._dirty=true,this}roundPoly(...t){return this.instructions.push({action:"roundPoly",data:t}),this._dirty=true,this}roundShape(...t){return this.instructions.push({action:"roundShape",data:t}),this._dirty=true,this}filletRect(...t){return this.instructions.push({action:"filletRect",data:t}),this._dirty=true,this}chamferRect(...t){return this.instructions.push({action:"chamferRect",data:t}),this._dirty=true,this}star(t,e,r,s,o,n,a){o||(o=s/2);let l=-1*Math.PI/2+n,h=r*2,u=Math.PI*2/h,c=[];for(let f=0;f<h;f++){let d=f%2?o:s,g=f*u+l;c.push(t+d*Math.cos(g),e+d*Math.sin(g));}return this.poly(c,true,a),this}clone(t=false){let e=new i;if(e.checkForHoles=this.checkForHoles,!t)e.instructions=this.instructions.slice();else for(let r=0;r<this.instructions.length;r++){let s=this.instructions[r];e.instructions.push({action:s.action,data:s.data.slice()});}return e}clear(){return this.instructions.length=0,this._dirty=true,this}transform(t){if(t.isIdentity())return this;let e=t.a,r=t.b,s=t.c,o=t.d,n=t.tx,a=t.ty,l=0,h=0,u=0,c=0,f=0,d=0,g=0,x=0;for(let m=0;m<this.instructions.length;m++){let _=this.instructions[m],y=_.data;switch(_.action){case "moveTo":case "lineTo":l=y[0],h=y[1],y[0]=e*l+s*h+n,y[1]=r*l+o*h+a;break;case "bezierCurveTo":u=y[0],c=y[1],f=y[2],d=y[3],l=y[4],h=y[5],y[0]=e*u+s*c+n,y[1]=r*u+o*c+a,y[2]=e*f+s*d+n,y[3]=r*f+o*d+a,y[4]=e*l+s*h+n,y[5]=r*l+o*h+a;break;case "quadraticCurveTo":u=y[0],c=y[1],l=y[2],h=y[3],y[0]=e*u+s*c+n,y[1]=r*u+o*c+a,y[2]=e*l+s*h+n,y[3]=r*l+o*h+a;break;case "arcToSvg":l=y[5],h=y[6],g=y[0],x=y[1],y[0]=e*g+s*x,y[1]=r*g+o*x,y[5]=e*l+s*h+n,y[6]=r*l+o*h+a;break;case "circle":y[4]=Ti(y[3],t);break;case "rect":y[4]=Ti(y[4],t);break;case "ellipse":y[8]=Ti(y[8],t);break;case "roundRect":y[5]=Ti(y[5],t);break;case "addPath":y[0].transform(t);break;case "poly":y[2]=Ti(y[2],t);break;default:z("unknown transform action",_.action);break}}return this._dirty=true,this}get bounds(){return this.shapePath.bounds}getLastPoint(t){let e=this.instructions.length-1,r=this.instructions[e];if(!r)return t.x=0,t.y=0,t;for(;r.action==="closePath";){if(e--,e<0)return t.x=0,t.y=0,t;r=this.instructions[e];}switch(r.action){case "moveTo":case "lineTo":t.x=r.data[0],t.y=r.data[1];break;case "quadraticCurveTo":t.x=r.data[2],t.y=r.data[3];break;case "bezierCurveTo":t.x=r.data[4],t.y=r.data[5];break;case "arc":case "arcToSvg":t.x=r.data[5],t.y=r.data[6];break;case "addPath":r.data[0].getLastPoint(t);break}return t}};});function st(i,t,e){let r=i.getAttribute(t);return r?Number(r):e}var Ha=p(()=>{});function Zf(i,t){let e=i.querySelectorAll("defs");for(let r=0;r<e.length;r++){let s=e[r];for(let o=0;o<s.children.length;o++){let n=s.children[o];switch(n.nodeName.toLowerCase()){case "lineargradient":t.defs[n.id]=r_(n);break;case "radialgradient":t.defs[n.id]=i_();break;}}}}function r_(i){let t=st(i,"x1",0),e=st(i,"y1",0),r=st(i,"x2",1),s=st(i,"y2",0),o=i.getAttribute("gradientUnits")||"objectBoundingBox",n=new Gt(t,e,r,s,o==="objectBoundingBox"?"local":"global");for(let a=0;a<i.children.length;a++){let l=i.children[a],h=st(l,"offset",0),u=H.shared.setValue(l.getAttribute("stop-color")).toNumber();n.addColorStop(h,u);}return n}function i_(i){return z("[SVG Parser] Radial gradients are not yet supported"),new Gt(0,0,1,0)}var Qf=p(()=>{Ft();Tt();_r();Ha();});function Na(i){let t=i.match(/url\s*\(\s*['"]?\s*#([^'"\s)]+)\s*['"]?\s*\)/i);return t?t[1]:""}var Jf=p(()=>{});function $a(i,t){let e=i.getAttribute("style"),r={},s={},o={strokeStyle:r,fillStyle:s,useFill:false,useStroke:false};for(let n in tp){let a=i.getAttribute(n);a&&ep(t,o,n,a.trim());}if(e){let n=e.split(";");for(let a=0;a<n.length;a++){let l=n[a].trim(),[h,u]=l.split(":");tp[h]&&ep(t,o,h,u.trim());}}return {strokeStyle:o.useStroke?r:null,fillStyle:o.useFill?s:null,useFill:o.useFill,useStroke:o.useStroke}}function ep(i,t,e,r){switch(e){case "stroke":if(r!=="none"){if(r.startsWith("url(")){let s=Na(r);t.strokeStyle.fill=i.defs[s];}else t.strokeStyle.color=H.shared.setValue(r).toNumber();t.useStroke=true;}break;case "stroke-width":t.strokeStyle.width=Number(r);break;case "fill":if(r!=="none"){if(r.startsWith("url(")){let s=Na(r);t.fillStyle.fill=i.defs[s];}else t.fillStyle.color=H.shared.setValue(r).toNumber();t.useFill=true;}break;case "fill-opacity":t.fillStyle.alpha=Number(r);break;case "stroke-opacity":t.strokeStyle.alpha=Number(r);break;case "opacity":t.fillStyle.alpha=Number(r),t.strokeStyle.alpha=Number(r);break}}var tp,rp=p(()=>{Ft();Jf();tp={fill:{type:"paint",default:0},"fill-opacity":{type:"number",default:1},stroke:{type:"paint",default:0},"stroke-width":{type:"number",default:1},"stroke-opacity":{type:"number",default:1},"stroke-linecap":{type:"string",default:"butt"},"stroke-linejoin":{type:"string",default:"miter"},"stroke-miterlimit":{type:"number",default:10},"stroke-dasharray":{type:"string",default:"none"},"stroke-dashoffset":{type:"number",default:0},opacity:{type:"number",default:1}};});function ip(i,t){if(typeof i=="string"){let n=document.createElement("div");n.innerHTML=i.trim(),i=n.querySelector("svg");}let e={context:t,defs:{},path:new Pe};Zf(i,e);let r=i.children,{fillStyle:s,strokeStyle:o}=$a(i,e);for(let n=0;n<r.length;n++){let a=r[n];a.nodeName.toLowerCase()!=="defs"&&sp(a,e,s,o);}return t}function sp(i,t,e,r){let s=i.children,{fillStyle:o,strokeStyle:n}=$a(i,t);o&&e?e={...e,...o}:o&&(e=o),n&&r?r={...r,...n}:n&&(r=n);let a=!e&&!r;a&&(e={color:0});let l,h,u,c,f,d,g,x,m,_,y,b,v,A,T,w,U;switch(i.nodeName.toLowerCase()){case "path":A=i.getAttribute("d"),i.getAttribute("fill-rule")==="evenodd"&&z("SVG Evenodd fill rule not supported, your svg may render incorrectly"),T=new Pe(A,true),t.context.path(T),e&&t.context.fill(e),r&&t.context.stroke(r);break;case "circle":g=st(i,"cx",0),x=st(i,"cy",0),m=st(i,"r",0),t.context.ellipse(g,x,m,m),e&&t.context.fill(e),r&&t.context.stroke(r);break;case "rect":l=st(i,"x",0),h=st(i,"y",0),w=st(i,"width",0),U=st(i,"height",0),_=st(i,"rx",0),y=st(i,"ry",0),_||y?t.context.roundRect(l,h,w,U,_||y):t.context.rect(l,h,w,U),e&&t.context.fill(e),r&&t.context.stroke(r);break;case "ellipse":g=st(i,"cx",0),x=st(i,"cy",0),_=st(i,"rx",0),y=st(i,"ry",0),t.context.beginPath(),t.context.ellipse(g,x,_,y),e&&t.context.fill(e),r&&t.context.stroke(r);break;case "line":u=st(i,"x1",0),c=st(i,"y1",0),f=st(i,"x2",0),d=st(i,"y2",0),t.context.beginPath(),t.context.moveTo(u,c),t.context.lineTo(f,d),r&&t.context.stroke(r);break;case "polygon":v=i.getAttribute("points"),b=v.match(/\d+/g).map(M=>parseInt(M,10)),t.context.poly(b,true),e&&t.context.fill(e),r&&t.context.stroke(r);break;case "polyline":v=i.getAttribute("points"),b=v.match(/\d+/g).map(M=>parseInt(M,10)),t.context.poly(b,false),r&&t.context.stroke(r);break;case "g":case "svg":break;default:{z(`[SVG parser] <${i.nodeName}> elements unsupported`);break}}a&&(e=null);for(let M=0;M<s.length;M++)sp(s[M],t,e,r);}var op=p(()=>{Tt();Va();Qf();Ha();rp();});function s_(i){return H.isColorLike(i)}function np(i){return i instanceof fe}function ap(i){return i instanceof Gt}function o_(i){return i instanceof B}function n_(i,t,e){let r=H.shared.setValue(t??0);return i.color=r.toNumber(),i.alpha=r.alpha===1?e.alpha:r.alpha,i.texture=B.WHITE,{...e,...i}}function a_(i,t,e){return i.texture=t,{...e,...i}}function lp(i,t,e){return i.fill=t,i.color=16777215,i.texture=t.texture,i.matrix=t.transform,{...e,...i}}function hp(i,t,e){return t.buildGradient(),i.fill=t,i.color=16777215,i.texture=t.texture,i.matrix=t.transform,i.textureSpace=t.textureSpace,{...e,...i}}function l_(i,t){let e={...t,...i},r=H.shared.setValue(e.color);return e.alpha*=r.alpha,e.color=r.toNumber(),e}function pe(i,t){if(i==null)return null;let e={},r=i;return s_(i)?n_(e,i,t):o_(i)?a_(e,i,t):np(i)?lp(e,i,t):ap(i)?hp(e,i,t):r.fill&&np(r.fill)?lp(r,r.fill,t):r.fill&&ap(r.fill)?hp(r,r.fill,t):l_(r,t)}function wr(i,t){let{width:e,alignment:r,miterLimit:s,cap:o,join:n,pixelLine:a,...l}=t,h=pe(i,l);return h?{width:e,alignment:r,miterLimit:s,cap:o,join:n,pixelLine:a,...h}:null}var Ya=p(()=>{Ft();bt();_r();lo();});var h_,up,Xa,Lt,ja=p(()=>{Et();Ft();tt();qt();bt();Mt();lt();$t();Va();op();Ya();h_=new $,up=new P,Xa=class ie extends N{constructor(){super(...arguments),this.uid=Y("graphicsContext"),this.dirty=true,this.batchMode="auto",this.instructions=[],this._activePath=new Pe,this._transform=new P,this._fillStyle={...ie.defaultFillStyle},this._strokeStyle={...ie.defaultStrokeStyle},this._stateStack=[],this._tick=0,this._bounds=new ot,this._boundsDirty=true;}clone(){let t=new ie;return t.batchMode=this.batchMode,t.instructions=this.instructions.slice(),t._activePath=this._activePath.clone(),t._transform=this._transform.clone(),t._fillStyle={...this._fillStyle},t._strokeStyle={...this._strokeStyle},t._stateStack=this._stateStack.slice(),t._bounds=this._bounds.clone(),t._boundsDirty=true,t}get fillStyle(){return this._fillStyle}set fillStyle(t){this._fillStyle=pe(t,ie.defaultFillStyle);}get strokeStyle(){return this._strokeStyle}set strokeStyle(t){this._strokeStyle=wr(t,ie.defaultStrokeStyle);}setFillStyle(t){return this._fillStyle=pe(t,ie.defaultFillStyle),this}setStrokeStyle(t){return this._strokeStyle=pe(t,ie.defaultStrokeStyle),this}texture(t,e,r,s,o,n){return this.instructions.push({action:"texture",data:{image:t,dx:r||0,dy:s||0,dw:o||t.frame.width,dh:n||t.frame.height,transform:this._transform.clone(),alpha:this._fillStyle.alpha,style:e?H.shared.setValue(e).toNumber():16777215}}),this.onUpdate(),this}beginPath(){return this._activePath=new Pe,this}fill(t,e){let r,s=this.instructions[this.instructions.length-1];return this._tick===0&&s&&s.action==="stroke"?r=s.data.path:r=this._activePath.clone(),r?(t!=null&&(e!==void 0&&typeof t=="number"&&(F(V,"GraphicsContext.fill(color, alpha) is deprecated, use GraphicsContext.fill({ color, alpha }) instead"),t={color:t,alpha:e}),this._fillStyle=pe(t,ie.defaultFillStyle)),this.instructions.push({action:"fill",data:{style:this.fillStyle,path:r}}),this.onUpdate(),this._initNextPathLocation(),this._tick=0,this):this}_initNextPathLocation(){let{x:t,y:e}=this._activePath.getLastPoint($.shared);this._activePath.clear(),this._activePath.moveTo(t,e);}stroke(t){let e,r=this.instructions[this.instructions.length-1];return this._tick===0&&r&&r.action==="fill"?e=r.data.path:e=this._activePath.clone(),e?(t!=null&&(this._strokeStyle=wr(t,ie.defaultStrokeStyle)),this.instructions.push({action:"stroke",data:{style:this.strokeStyle,path:e}}),this.onUpdate(),this._initNextPathLocation(),this._tick=0,this):this}cut(){for(let t=0;t<2;t++){let e=this.instructions[this.instructions.length-1-t],r=this._activePath.clone();if(e&&(e.action==="stroke"||e.action==="fill"))if(e.data.hole)e.data.hole.addPath(r);else {e.data.hole=r;break}}return this._initNextPathLocation(),this}arc(t,e,r,s,o,n){this._tick++;let a=this._transform;return this._activePath.arc(a.a*t+a.c*e+a.tx,a.b*t+a.d*e+a.ty,r,s,o,n),this}arcTo(t,e,r,s,o){this._tick++;let n=this._transform;return this._activePath.arcTo(n.a*t+n.c*e+n.tx,n.b*t+n.d*e+n.ty,n.a*r+n.c*s+n.tx,n.b*r+n.d*s+n.ty,o),this}arcToSvg(t,e,r,s,o,n,a){this._tick++;let l=this._transform;return this._activePath.arcToSvg(t,e,r,s,o,l.a*n+l.c*a+l.tx,l.b*n+l.d*a+l.ty),this}bezierCurveTo(t,e,r,s,o,n,a){this._tick++;let l=this._transform;return this._activePath.bezierCurveTo(l.a*t+l.c*e+l.tx,l.b*t+l.d*e+l.ty,l.a*r+l.c*s+l.tx,l.b*r+l.d*s+l.ty,l.a*o+l.c*n+l.tx,l.b*o+l.d*n+l.ty,a),this}closePath(){return this._tick++,this._activePath?.closePath(),this}ellipse(t,e,r,s){return this._tick++,this._activePath.ellipse(t,e,r,s,this._transform.clone()),this}circle(t,e,r){return this._tick++,this._activePath.circle(t,e,r,this._transform.clone()),this}path(t){return this._tick++,this._activePath.addPath(t,this._transform.clone()),this}lineTo(t,e){this._tick++;let r=this._transform;return this._activePath.lineTo(r.a*t+r.c*e+r.tx,r.b*t+r.d*e+r.ty),this}moveTo(t,e){this._tick++;let r=this._transform,s=this._activePath.instructions,o=r.a*t+r.c*e+r.tx,n=r.b*t+r.d*e+r.ty;return s.length===1&&s[0].action==="moveTo"?(s[0].data[0]=o,s[0].data[1]=n,this):(this._activePath.moveTo(o,n),this)}quadraticCurveTo(t,e,r,s,o){this._tick++;let n=this._transform;return this._activePath.quadraticCurveTo(n.a*t+n.c*e+n.tx,n.b*t+n.d*e+n.ty,n.a*r+n.c*s+n.tx,n.b*r+n.d*s+n.ty,o),this}rect(t,e,r,s){return this._tick++,this._activePath.rect(t,e,r,s,this._transform.clone()),this}roundRect(t,e,r,s,o){return this._tick++,this._activePath.roundRect(t,e,r,s,o,this._transform.clone()),this}poly(t,e){return this._tick++,this._activePath.poly(t,e,this._transform.clone()),this}regularPoly(t,e,r,s,o=0,n){return this._tick++,this._activePath.regularPoly(t,e,r,s,o,n),this}roundPoly(t,e,r,s,o,n){return this._tick++,this._activePath.roundPoly(t,e,r,s,o,n),this}roundShape(t,e,r,s){return this._tick++,this._activePath.roundShape(t,e,r,s),this}filletRect(t,e,r,s,o){return this._tick++,this._activePath.filletRect(t,e,r,s,o),this}chamferRect(t,e,r,s,o,n){return this._tick++,this._activePath.chamferRect(t,e,r,s,o,n),this}star(t,e,r,s,o=0,n=0){return this._tick++,this._activePath.star(t,e,r,s,o,n,this._transform.clone()),this}svg(t){return this._tick++,ip(t,this),this}restore(){let t=this._stateStack.pop();return t&&(this._transform=t.transform,this._fillStyle=t.fillStyle,this._strokeStyle=t.strokeStyle),this}save(){return this._stateStack.push({transform:this._transform.clone(),fillStyle:{...this._fillStyle},strokeStyle:{...this._strokeStyle}}),this}getTransform(){return this._transform}resetTransform(){return this._transform.identity(),this}rotate(t){return this._transform.rotate(t),this}scale(t,e=t){return this._transform.scale(t,e),this}setTransform(t,e,r,s,o,n){return t instanceof P?(this._transform.set(t.a,t.b,t.c,t.d,t.tx,t.ty),this):(this._transform.set(t,e,r,s,o,n),this)}transform(t,e,r,s,o,n){return t instanceof P?(this._transform.append(t),this):(up.set(t,e,r,s,o,n),this._transform.append(up),this)}translate(t,e=t){return this._transform.translate(t,e),this}clear(){return this._activePath.clear(),this.instructions.length=0,this.resetTransform(),this.onUpdate(),this}onUpdate(){this.dirty||(this.emit("update",this,16),this.dirty=true,this._boundsDirty=true);}get bounds(){if(!this._boundsDirty)return this._bounds;let t=this._bounds;t.clear();for(let e=0;e<this.instructions.length;e++){let r=this.instructions[e],s=r.action;if(s==="fill"){let o=r.data;t.addBounds(o.path.bounds);}else if(s==="texture"){let o=r.data;t.addFrame(o.dx,o.dy,o.dx+o.dw,o.dy+o.dh,o.transform);}if(s==="stroke"){let o=r.data,n=o.style.alignment,a=o.style.width*(1-n),l=o.path.bounds;t.addFrame(l.minX-a,l.minY-a,l.maxX+a,l.maxY+a);}}return t}containsPoint(t){if(!this.bounds.containsPoint(t.x,t.y))return false;let e=this.instructions,r=false;for(let s=0;s<e.length;s++){let o=e[s],n=o.data,a=n.path;if(!o.action||!a)continue;let l=n.style,h=a.shapePath.shapePrimitives;for(let u=0;u<h.length;u++){let c=h[u].shape;if(!l||!c)continue;let f=h[u].transform,d=f?f.applyInverse(t,h_):t;if(o.action==="fill")r=c.contains(d.x,d.y);else {let x=l;r=c.strokeContains(d.x,d.y,x.width,x.alignment);}let g=n.hole;if(g){let x=g.shapePath?.shapePrimitives;if(x)for(let m=0;m<x.length;m++)x[m].shape.contains(d.x,d.y)&&(r=false);}if(r)return true}}return r}destroy(t=false){if(this._stateStack.length=0,this._transform=null,this.emit("destroy",this),this.removeAllListeners(),typeof t=="boolean"?t:t?.texture){let r=typeof t=="boolean"?t:t?.textureSource;this._fillStyle.texture&&this._fillStyle.texture.destroy(r),this._strokeStyle.texture&&this._strokeStyle.texture.destroy(r);}this._fillStyle=null,this._strokeStyle=null,this.instructions=null,this._activePath=null,this._bounds=null,this._stateStack=null,this.customShader=null,this._transform=null;}};Xa.defaultFillStyle={color:16777215,alpha:1,texture:B.WHITE,matrix:null,fill:null,textureSpace:"local"};Xa.defaultStrokeStyle={width:1,color:16777215,alpha:1,alignment:.5,miterLimit:10,cap:"butt",join:"miter",texture:B.WHITE,matrix:null,fill:null,textureSpace:"local",pixelLine:false};Lt=Xa;});function dp(i){let t=[],e=0;for(let r=0;r<cp.length;r++){let s=`_${cp[r]}`;t[e++]=i[s];}return e=fp(i._fill,t,e),e=c_(i._stroke,t,e),e=d_(i.dropShadow,t,e),e=u_(i.filters,t,e),t.join("-")}function u_(i,t,e){if(!i)return e;for(let r of i)t[e++]=r.uid;return e}function fp(i,t,e){return i&&(t[e++]=i.color,t[e++]=i.alpha,t[e++]=i.fill?.styleKey),e}function c_(i,t,e){return i&&(e=fp(i,t,e),t[e++]=i.width,t[e++]=i.alignment,t[e++]=i.cap,t[e++]=i.join,t[e++]=i.miterLimit),e}function d_(i,t,e){return i&&(t[e++]=i.alpha,t[e++]=i.angle,t[e++]=i.blur,t[e++]=i.distance,t[e++]=H.shared.setValue(i.color).toNumber()),e}var cp,pp=p(()=>{Ft();cp=["align","breakWords","cssOverrides","fontVariant","fontWeight","leading","letterSpacing","lineHeight","padding","textBaseline","trim","whiteSpace","wordWrap","wordWrapWidth","fontFamily","fontStyle","fontSize"];});function f_(i){let t=i;if(typeof t.dropShadow=="boolean"&&t.dropShadow){let e=Ht.defaultDropShadow;i.dropShadow={alpha:t.dropShadowAlpha??e.alpha,angle:t.dropShadowAngle??e.angle,blur:t.dropShadowBlur??e.blur,color:t.dropShadowColor??e.color,distance:t.dropShadowDistance??e.distance};}if(t.strokeThickness!==void 0){F(V,"strokeThickness is now a part of stroke");let e=t.stroke,r={};if(H.isColorLike(e))r.color=e;else if(e instanceof Gt||e instanceof fe)r.fill=e;else if(Object.hasOwnProperty.call(e,"color")||Object.hasOwnProperty.call(e,"fill"))r=e;else throw new Error("Invalid stroke value.");i.stroke={...r,width:t.strokeThickness};}if(Array.isArray(t.fillGradientStops)){F(V,"gradient fill is now a fill pattern: `new FillGradient(...)`");let e;i.fontSize==null?i.fontSize=Ht.defaultTextStyle.fontSize:typeof i.fontSize=="string"?e=parseInt(i.fontSize,10):e=i.fontSize;let r=new Gt({start:{x:0,y:0},end:{x:0,y:(e||0)*1.7}}),s=t.fillGradientStops.map(o=>H.shared.setValue(o).toNumber());s.forEach((o,n)=>{let a=n/(s.length-1);r.addColorStop(a,o);}),i.fill={fill:r};}}var qa,Ht,wi=p(()=>{Et();Ft();lt();_r();lo();ja();Ya();pp();qa=class Pr extends N{constructor(t={}){super(),f_(t);let e={...Pr.defaultTextStyle,...t};for(let r in e){let s=r;this[s]=e[r];}this.update();}get align(){return this._align}set align(t){this._align=t,this.update();}get breakWords(){return this._breakWords}set breakWords(t){this._breakWords=t,this.update();}get dropShadow(){return this._dropShadow}set dropShadow(t){t!==null&&typeof t=="object"?this._dropShadow=this._createProxy({...Pr.defaultDropShadow,...t}):this._dropShadow=t?this._createProxy({...Pr.defaultDropShadow}):null,this.update();}get fontFamily(){return this._fontFamily}set fontFamily(t){this._fontFamily=t,this.update();}get fontSize(){return this._fontSize}set fontSize(t){typeof t=="string"?this._fontSize=parseInt(t,10):this._fontSize=t,this.update();}get fontStyle(){return this._fontStyle}set fontStyle(t){this._fontStyle=t.toLowerCase(),this.update();}get fontVariant(){return this._fontVariant}set fontVariant(t){this._fontVariant=t,this.update();}get fontWeight(){return this._fontWeight}set fontWeight(t){this._fontWeight=t,this.update();}get leading(){return this._leading}set leading(t){this._leading=t,this.update();}get letterSpacing(){return this._letterSpacing}set letterSpacing(t){this._letterSpacing=t,this.update();}get lineHeight(){return this._lineHeight}set lineHeight(t){this._lineHeight=t,this.update();}get padding(){return this._padding}set padding(t){this._padding=t,this.update();}get filters(){return this._filters}set filters(t){this._filters=t,this.update();}get trim(){return this._trim}set trim(t){this._trim=t,this.update();}get textBaseline(){return this._textBaseline}set textBaseline(t){this._textBaseline=t,this.update();}get whiteSpace(){return this._whiteSpace}set whiteSpace(t){this._whiteSpace=t,this.update();}get wordWrap(){return this._wordWrap}set wordWrap(t){this._wordWrap=t,this.update();}get wordWrapWidth(){return this._wordWrapWidth}set wordWrapWidth(t){this._wordWrapWidth=t,this.update();}get fill(){return this._originalFill}set fill(t){t!==this._originalFill&&(this._originalFill=t,this._isFillStyle(t)&&(this._originalFill=this._createProxy({...Lt.defaultFillStyle,...t},()=>{this._fill=pe({...this._originalFill},Lt.defaultFillStyle);})),this._fill=pe(t===0?"black":t,Lt.defaultFillStyle),this.update());}get stroke(){return this._originalStroke}set stroke(t){t!==this._originalStroke&&(this._originalStroke=t,this._isFillStyle(t)&&(this._originalStroke=this._createProxy({...Lt.defaultStrokeStyle,...t},()=>{this._stroke=wr({...this._originalStroke},Lt.defaultStrokeStyle);})),this._stroke=wr(t,Lt.defaultStrokeStyle),this.update());}_generateKey(){return this._styleKey=dp(this),this._styleKey}update(){this._styleKey=null,this.emit("update",this);}reset(){let t=Pr.defaultTextStyle;for(let e in t)this[e]=t[e];}get styleKey(){return this._styleKey||this._generateKey()}clone(){return new Pr({align:this.align,breakWords:this.breakWords,dropShadow:this._dropShadow?{...this._dropShadow}:null,fill:this._fill,fontFamily:this.fontFamily,fontSize:this.fontSize,fontStyle:this.fontStyle,fontVariant:this.fontVariant,fontWeight:this.fontWeight,leading:this.leading,letterSpacing:this.letterSpacing,lineHeight:this.lineHeight,padding:this.padding,stroke:this._stroke,textBaseline:this.textBaseline,whiteSpace:this.whiteSpace,wordWrap:this.wordWrap,wordWrapWidth:this.wordWrapWidth,filters:this._filters?[...this._filters]:void 0})}_getFinalPadding(){let t=0;if(this._filters)for(let e=0;e<this._filters.length;e++)t+=this._filters[e].padding;return Math.max(this._padding,t)}destroy(t=false){if(this.removeAllListeners(),typeof t=="boolean"?t:t?.texture){let r=typeof t=="boolean"?t:t?.textureSource;this._fill?.texture&&this._fill.texture.destroy(r),this._originalFill?.texture&&this._originalFill.texture.destroy(r),this._stroke?.texture&&this._stroke.texture.destroy(r),this._originalStroke?.texture&&this._originalStroke.texture.destroy(r);}this._fill=null,this._stroke=null,this.dropShadow=null,this._originalStroke=null,this._originalFill=null;}_createProxy(t,e){return new Proxy(t,{set:(r,s,o)=>(r[s]=o,e?.(s,o),this.update(),true)})}_isFillStyle(t){return (t??null)!==null&&!(H.isColorLike(t)||t instanceof Gt||t instanceof fe)}};qa.defaultDropShadow={alpha:1,angle:Math.PI/6,blur:0,color:"black",distance:5};qa.defaultTextStyle={align:"left",breakWords:false,dropShadow:null,fill:"black",fontFamily:"Arial",fontSize:26,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",leading:0,letterSpacing:0,lineHeight:0,padding:0,stroke:null,textBaseline:"alphabetic",trim:false,whiteSpace:"pre",wordWrap:false,wordWrapWidth:100};Ht=qa;});function _o(i,t,e,r){let s=p_;s.minX=0,s.minY=0,s.maxX=i.width/r|0,s.maxY=i.height/r|0;let o=wt.getOptimalTexture(s.width,s.height,r,false);return o.source.uploadMethodId="image",o.source.resource=i,o.source.alphaMode="premultiply-alpha-on-upload",o.frame.width=t/r,o.frame.height=e/r,o.source.emit("update",o.source),o.updateUvs(),o}var p_,Ka=p(()=>{tr();$t();p_=new ot;});var Za,se,Pi=p(()=>{Xt();Hr();Za=class{constructor(t){this._canvasPool=Object.create(null),this.canvasOptions=t||{},this.enableFullScreen=false;}_createCanvasAndContext(t,e){let r=nt.get().createCanvas();r.width=t,r.height=e;let s=r.getContext("2d");return {canvas:r,context:s}}getOptimalCanvasAndContext(t,e,r=1){t=Math.ceil(t*r-1e-6),e=Math.ceil(e*r-1e-6),t=le(t),e=le(e);let s=(t<<17)+(e<<1);this._canvasPool[s]||(this._canvasPool[s]=[]);let o=this._canvasPool[s].pop();return o||(o=this._createCanvasAndContext(t,e)),o}returnCanvasAndContext(t){let e=t.canvas,{width:r,height:s}=e,o=(r<<17)+(s<<1);t.context.resetTransform(),t.context.clearRect(0,0,r,s),this._canvasPool[o].push(t);}clear(){this._canvasPool={};}},se=new Za;});function m_(i,t){Ne||(Ne=nt.get().createCanvas(256,128),me=Ne.getContext("2d",{willReadFrequently:true}),me.globalCompositeOperation="copy",me.globalAlpha=1),(Ne.width<i||Ne.height<t)&&(Ne.width=le(i),Ne.height=le(t));}function mp(i,t,e){for(let r=0,s=4*e*t;r<t;++r,s+=4)if(i[s+3]!==0)return false;return true}function gp(i,t,e,r,s){let o=4*t;for(let n=r,a=r*o+4*e;n<=s;++n,a+=o)if(i[a+3]!==0)return false;return true}function xp(...i){let t=i[0];t.canvas||(t={canvas:i[0],resolution:i[1]});let{canvas:e}=t,r=Math.min(t.resolution??1,1),s=t.width??e.width,o=t.height??e.height,n=t.output;if(m_(s,o),!me)throw new TypeError("Failed to get canvas 2D context");me.drawImage(e,0,0,s,o,0,0,s*r,o*r);let l=me.getImageData(0,0,s,o).data,h=0,u=0,c=s-1,f=o-1;for(;u<o&&mp(l,s,u);)++u;if(u===o)return j.EMPTY;for(;mp(l,s,f);)--f;for(;gp(l,s,h,u,f);)++h;for(;gp(l,s,c,u,f);)--c;return ++c,++f,me.globalCompositeOperation="source-over",me.strokeRect(h,u,c-h,f-u),me.globalCompositeOperation="copy",n??(n=new j),n.set(h/r,u/r,(c-h)/r,(f-u)/r),n}var Ne,me,_p=p(()=>{Xt();Hr();Bt();Ne=null,me=null;});function $e(i){let t=typeof i.fontSize=="number"?`${i.fontSize}px`:i.fontSize,e=i.fontFamily;Array.isArray(i.fontFamily)||(e=i.fontFamily.split(","));for(let r=e.length-1;r>=0;r--){let s=e[r].trim();!/([\"\'])[^\'\"]+\1/.test(s)&&!g_.includes(s)&&(s=`"${s}"`),e[r]=s;}return `${i.fontStyle} ${i.fontVariant} ${i.fontWeight} ${t} ${e.join(",")}`}var g_,yo=p(()=>{g_=["serif","sans-serif","monospace","cursive","fantasy","system-ui"];});var Qa,oe,It,Mi=p(()=>{Xt();yo();Qa={willReadFrequently:true},oe=class G{static get experimentalLetterSpacingSupported(){let t=G._experimentalLetterSpacingSupported;if(t===void 0){let e=nt.get().getCanvasRenderingContext2D().prototype;t=G._experimentalLetterSpacingSupported="letterSpacing"in e||"textLetterSpacing"in e;}return t}constructor(t,e,r,s,o,n,a,l,h){this.text=t,this.style=e,this.width=r,this.height=s,this.lines=o,this.lineWidths=n,this.lineHeight=a,this.maxLineWidth=l,this.fontProperties=h;}static measureText(t=" ",e,r=G._canvas,s=e.wordWrap){let o=$e(e),n=G.measureFont(o);n.fontSize===0&&(n.fontSize=e.fontSize,n.ascent=e.fontSize);let a=G.__context;a.font=o;let h=(s?G._wordWrap(t,e,r):t).split(/(?:\r\n|\r|\n)/),u=new Array(h.length),c=0;for(let _=0;_<h.length;_++){let y=G._measureText(h[_],e.letterSpacing,a);u[_]=y,c=Math.max(c,y);}let f=e._stroke?.width||0,d=c+f;e.dropShadow&&(d+=e.dropShadow.distance);let g=e.lineHeight||n.fontSize,x=Math.max(g,n.fontSize+f)+(h.length-1)*(g+e.leading);return e.dropShadow&&(x+=e.dropShadow.distance),new G(t,e,d,x,h,u,g+e.leading,c,n)}static _measureText(t,e,r){let s=false;G.experimentalLetterSpacingSupported&&(G.experimentalLetterSpacing?(r.letterSpacing=`${e}px`,r.textLetterSpacing=`${e}px`,s=true):(r.letterSpacing="0px",r.textLetterSpacing="0px"));let o=r.measureText(t),n=o.width,a=-o.actualBoundingBoxLeft,h=o.actualBoundingBoxRight-a;if(n>0)if(s)n-=e,h-=e;else {let u=(G.graphemeSegmenter(t).length-1)*e;n+=u,h+=u;}return Math.max(n,h)}static _wordWrap(t,e,r=G._canvas){let s=r.getContext("2d",Qa),o=0,n="",a="",l=Object.create(null),{letterSpacing:h,whiteSpace:u}=e,c=G._collapseSpaces(u),f=G._collapseNewlines(u),d=!c,g=e.wordWrapWidth+h,x=G._tokenize(t);for(let m=0;m<x.length;m++){let _=x[m];if(G._isNewline(_)){if(!f){a+=G._addLine(n),d=!c,n="",o=0;continue}_=" ";}if(c){let b=G.isBreakingSpace(_),v=G.isBreakingSpace(n[n.length-1]);if(b&&v)continue}let y=G._getFromCache(_,h,l,s);if(y>g)if(n!==""&&(a+=G._addLine(n),n="",o=0),G.canBreakWords(_,e.breakWords)){let b=G.wordWrapSplit(_);for(let v=0;v<b.length;v++){let A=b[v],T=A,w=1;for(;b[v+w];){let M=b[v+w];if(!G.canBreakChars(T,M,_,v,e.breakWords))A+=M;else break;T=M,w++;}v+=w-1;let U=G._getFromCache(A,h,l,s);U+o>g&&(a+=G._addLine(n),d=false,n="",o=0),n+=A,o+=U;}}else {n.length>0&&(a+=G._addLine(n),n="",o=0);let b=m===x.length-1;a+=G._addLine(_,!b),d=false,n="",o=0;}else y+o>g&&(d=false,a+=G._addLine(n),n="",o=0),(n.length>0||!G.isBreakingSpace(_)||d)&&(n+=_,o+=y);}return a+=G._addLine(n,false),a}static _addLine(t,e=true){return t=G._trimRight(t),t=e?`${t}
368
+ `:t,t}static _getFromCache(t,e,r,s){let o=r[t];return typeof o!="number"&&(o=G._measureText(t,e,s)+e,r[t]=o),o}static _collapseSpaces(t){return t==="normal"||t==="pre-line"}static _collapseNewlines(t){return t==="normal"}static _trimRight(t){if(typeof t!="string")return "";for(let e=t.length-1;e>=0;e--){let r=t[e];if(!G.isBreakingSpace(r))break;t=t.slice(0,-1);}return t}static _isNewline(t){return typeof t!="string"?false:G._newlines.includes(t.charCodeAt(0))}static isBreakingSpace(t,e){return typeof t!="string"?false:G._breakingSpaces.includes(t.charCodeAt(0))}static _tokenize(t){let e=[],r="";if(typeof t!="string")return e;for(let s=0;s<t.length;s++){let o=t[s],n=t[s+1];if(G.isBreakingSpace(o,n)||G._isNewline(o)){r!==""&&(e.push(r),r=""),o==="\r"&&n===`
369
+ `?(e.push(`\r
370
+ `),s++):e.push(o);continue}r+=o;}return r!==""&&e.push(r),e}static canBreakWords(t,e){return e}static canBreakChars(t,e,r,s,o){return true}static wordWrapSplit(t){return G.graphemeSegmenter(t)}static measureFont(t){if(G._fonts[t])return G._fonts[t];let e=G._context;e.font=t;let r=e.measureText(G.METRICS_STRING+G.BASELINE_SYMBOL),s={ascent:r.actualBoundingBoxAscent,descent:r.actualBoundingBoxDescent,fontSize:r.actualBoundingBoxAscent+r.actualBoundingBoxDescent};return G._fonts[t]=s,s}static clearMetrics(t=""){t?delete G._fonts[t]:G._fonts={};}static get _canvas(){if(!G.__canvas){let t;try{let e=new OffscreenCanvas(0,0);if(e.getContext("2d",Qa)?.measureText)return G.__canvas=e,e;t=nt.get().createCanvas();}catch{t=nt.get().createCanvas();}t.width=t.height=10,G.__canvas=t;}return G.__canvas}static get _context(){return G.__context||(G.__context=G._canvas.getContext("2d",Qa)),G.__context}};oe.METRICS_STRING="|\xC9q\xC5";oe.BASELINE_SYMBOL="M";oe.BASELINE_MULTIPLIER=1.4;oe.HEIGHT_MULTIPLIER=2;oe.graphemeSegmenter=(()=>{if(typeof Intl?.Segmenter=="function"){let i=new Intl.Segmenter;return t=>{let e=i.segment(t),r=[],s=0;for(let o of e)r[s++]=o.segment;return r}}return i=>[...i]})();oe.experimentalLetterSpacing=false;oe._fonts={};oe._newlines=[10,13];oe._breakingSpaces=[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288];It=oe;});function Mr(i,t,e,r=0){if(i.texture===B.WHITE&&!i.fill)return H.shared.setValue(i.color).setAlpha(i.alpha??1).toHexa();if(i.fill){if(i.fill instanceof fe){let s=i.fill,o=t.createPattern(s.texture.source.resource,"repeat"),n=s.transform.copyTo(P.shared);return n.scale(s.texture.frame.width,s.texture.frame.height),o.setTransform(n),o}else if(i.fill instanceof Gt){let s=i.fill,o=s.type==="linear",n=s.textureSpace==="local",a=1,l=1;n&&e&&(a=e.width+r,l=e.height+r);let h,u=false;if(o){let{start:c,end:f}=s;h=t.createLinearGradient(c.x*a,c.y*l,f.x*a,f.y*l),u=Math.abs(f.x-c.x)<Math.abs((f.y-c.y)*.1);}else {let{center:c,innerRadius:f,outerCenter:d,outerRadius:g}=s;h=t.createRadialGradient(c.x*a,c.y*l,f*a,d.x*a,d.y*l,g*a);}if(u&&n&&e){let c=e.lineHeight/l;for(let f=0;f<e.lines.length;f++){let d=(f*e.lineHeight+r/2)/l;s.colorStops.forEach(g=>{let x=d+g.offset*c;h.addColorStop(Math.floor(x*yp)/yp,H.shared.setValue(g.color).toHex());});}}else s.colorStops.forEach(c=>{h.addColorStop(c.offset,H.shared.setValue(c.color).toHex());});return h}}else {let s=t.createPattern(i.texture.source.resource,"repeat"),o=i.matrix.copyTo(P.shared);return o.scale(i.texture.frame.width,i.texture.frame.height),s.setTransform(o),s}return z("FillStyle not recognised",i),"red"}var yp,Ja=p(()=>{Ft();tt();bt();Tt();_r();lo();yp=1e5;});var bp,tl,bo,vp=p(()=>{Ft();Bt();Pi();_p();Mi();yo();Ja();bp=new j,tl=class{getCanvasAndContext(t){let{text:e,style:r,resolution:s=1}=t,o=r._getFinalPadding(),n=It.measureText(e||" ",r),a=Math.ceil(Math.ceil(Math.max(1,n.width)+o*2)*s),l=Math.ceil(Math.ceil(Math.max(1,n.height)+o*2)*s),h=se.getOptimalCanvasAndContext(a,l);this._renderTextToCanvas(e,r,o,s,h);let u=r.trim?xp({canvas:h.canvas,width:a,height:l,resolution:1,output:bp}):bp.set(0,0,a,l);return {canvasAndContext:h,frame:u}}returnCanvasAndContext(t){se.returnCanvasAndContext(t);}_renderTextToCanvas(t,e,r,s,o){let{canvas:n,context:a}=o,l=$e(e),h=It.measureText(t||" ",e),u=h.lines,c=h.lineHeight,f=h.lineWidths,d=h.maxLineWidth,g=h.fontProperties,x=n.height;if(a.resetTransform(),a.scale(s,s),a.textBaseline=e.textBaseline,e._stroke?.width){let b=e._stroke;a.lineWidth=b.width,a.miterLimit=b.miterLimit,a.lineJoin=b.join,a.lineCap=b.cap;}a.font=l;let m,_,y=e.dropShadow?2:1;for(let b=0;b<y;++b){let v=e.dropShadow&&b===0,A=v?Math.ceil(Math.max(1,x)+r*2):0,T=A*s;if(v){a.fillStyle="black",a.strokeStyle="black";let M=e.dropShadow,E=M.color,C=M.alpha;a.shadowColor=H.shared.setValue(E).setAlpha(C).toRgbaString();let O=M.blur*s,q=M.distance*s;a.shadowBlur=O,a.shadowOffsetX=Math.cos(M.angle)*q,a.shadowOffsetY=Math.sin(M.angle)*q+T;}else {if(a.fillStyle=e._fill?Mr(e._fill,a,h):null,e._stroke?.width){let M=e._stroke.width*e._stroke.alignment;a.strokeStyle=Mr(e._stroke,a,h,M);}a.shadowColor="black";}let w=(c-g.fontSize)/2;c-g.fontSize<0&&(w=0);let U=e._stroke?.width??0;for(let M=0;M<u.length;M++)m=U/2,_=U/2+M*c+g.ascent+w,e.align==="right"?m+=d-f[M]:e.align==="center"&&(m+=(d-f[M])/2),e._stroke?.width&&this._drawLetterSpacing(u[M],e,o,m+r,_+r-A,true),e._fill!==void 0&&this._drawLetterSpacing(u[M],e,o,m+r,_+r-A);}}_drawLetterSpacing(t,e,r,s,o,n=false){let{context:a}=r,l=e.letterSpacing,h=false;if(It.experimentalLetterSpacingSupported&&(It.experimentalLetterSpacing?(a.letterSpacing=`${l}px`,a.textLetterSpacing=`${l}px`,h=true):(a.letterSpacing="0px",a.textLetterSpacing="0px")),l===0||h){n?a.strokeText(t,s,o):a.fillText(t,s,o);return}let u=s,c=It.graphemeSegmenter(t),f=a.measureText(t).width,d=0;for(let g=0;g<c.length;++g){let x=c[g];n?a.strokeText(x,u,o):a.fillText(x,u,o);let m="";for(let _=g+1;_<c.length;++_)m+=c[_];d=a.measureText(m).width,u+=f-d+l,f=d;}}},bo=new tl;});var Ai,Sp=p(()=>{k();tr();Je();lt();wi();Ka();vp();Ai=class{constructor(t){this._renderer=t;}getTexture(t,e,r,s){typeof t=="string"&&(F("8.0.0","CanvasTextSystem.getTexture: Use object TextOptions instead of separate arguments"),t={text:t,style:r,resolution:e}),t.style instanceof Ht||(t.style=new Ht(t.style)),t.textureStyle instanceof Wt||(t.textureStyle=new Wt(t.textureStyle)),typeof t.text!="string"&&(t.text=t.text.toString());let{text:o,style:n,textureStyle:a}=t,l=t.resolution??this._renderer.resolution,{frame:h,canvasAndContext:u}=bo.getCanvasAndContext({text:o,style:n,resolution:l}),c=_o(u.canvas,h.width,h.height,l);if(a&&(c.source.style=a),n.trim&&(h.pad(n.padding),c.frame.copyFrom(h),c.updateUvs()),n.filters){let f=this._applyFilters(c,n.filters);return this.returnTexture(c),bo.returnCanvasAndContext(u),f}return this._renderer.texture.initSource(c._source),bo.returnCanvasAndContext(u),c}returnTexture(t){let e=t.source;e.resource=null,e.uploadMethodId="unknown",e.alphaMode="no-premultiply-alpha",wt.returnTexture(t,true);}renderTextToCanvas(){F("8.10.0","CanvasTextSystem.renderTextToCanvas: no longer supported, use CanvasTextSystem.getTexture instead");}_applyFilters(t,e){let r=this._renderer.renderTarget.renderTarget,s=this._renderer.filter.generateFilteredTexture({texture:t,filters:e});return this._renderer.renderTarget.bind(r,false),s}destroy(){this._renderer=null;}};Ai.extension={type:[S.WebGLSystem,S.WebGPUSystem,S.CanvasSystem],name:"canvasText"};});var el=p(()=>{k();Mf();Sp();I.add(Ai);I.add(vi);});var vo,Tp=p(()=>{lt();Pn();ja();vo=class i extends ir{constructor(t){t instanceof Lt&&(t={context:t});let{context:e,roundPixels:r,...s}=t||{};super({label:"Graphics",...s}),this.renderPipeId="graphics",e?this._context=e:this._context=this._ownedContext=new Lt,this._context.on("update",this.onViewUpdate,this),this.didViewUpdate=true,this.allowChildren=false,this.roundPixels=r??false;}set context(t){t!==this._context&&(this._context.off("update",this.onViewUpdate,this),this._context=t,this._context.on("update",this.onViewUpdate,this),this.onViewUpdate());}get context(){return this._context}get bounds(){return this._context.bounds}updateBounds(){}containsPoint(t){return this._context.containsPoint(t)}destroy(t){this._ownedContext&&!t?this._ownedContext.destroy(t):(t===true||t?.context===true)&&this._context.destroy(t),this._ownedContext=null,this._context=null,super.destroy(t);}_callContextMethod(t,e){return this.context[t](...e),this}setFillStyle(...t){return this._callContextMethod("setFillStyle",t)}setStrokeStyle(...t){return this._callContextMethod("setStrokeStyle",t)}fill(...t){return this._callContextMethod("fill",t)}stroke(...t){return this._callContextMethod("stroke",t)}texture(...t){return this._callContextMethod("texture",t)}beginPath(){return this._callContextMethod("beginPath",[])}cut(){return this._callContextMethod("cut",[])}arc(...t){return this._callContextMethod("arc",t)}arcTo(...t){return this._callContextMethod("arcTo",t)}arcToSvg(...t){return this._callContextMethod("arcToSvg",t)}bezierCurveTo(...t){return this._callContextMethod("bezierCurveTo",t)}closePath(){return this._callContextMethod("closePath",[])}ellipse(...t){return this._callContextMethod("ellipse",t)}circle(...t){return this._callContextMethod("circle",t)}path(...t){return this._callContextMethod("path",t)}lineTo(...t){return this._callContextMethod("lineTo",t)}moveTo(...t){return this._callContextMethod("moveTo",t)}quadraticCurveTo(...t){return this._callContextMethod("quadraticCurveTo",t)}rect(...t){return this._callContextMethod("rect",t)}roundRect(...t){return this._callContextMethod("roundRect",t)}poly(...t){return this._callContextMethod("poly",t)}regularPoly(...t){return this._callContextMethod("regularPoly",t)}roundPoly(...t){return this._callContextMethod("roundPoly",t)}roundShape(...t){return this._callContextMethod("roundShape",t)}filletRect(...t){return this._callContextMethod("filletRect",t)}chamferRect(...t){return this._callContextMethod("chamferRect",t)}star(...t){return this._callContextMethod("star",t)}svg(...t){return this._callContextMethod("svg",t)}restore(...t){return this._callContextMethod("restore",t)}save(){return this._callContextMethod("save",[])}getTransform(){return this.context.getTransform()}resetTransform(){return this._callContextMethod("resetTransform",[])}rotateTransform(...t){return this._callContextMethod("rotate",t)}scaleTransform(...t){return this._callContextMethod("scale",t)}setTransform(...t){return this._callContextMethod("setTransform",t)}transform(...t){return this._callContextMethod("transform",t)}translateTransform(...t){return this._callContextMethod("translate",t)}clear(){return this._callContextMethod("clear",[])}get fillStyle(){return this._context.fillStyle}set fillStyle(t){this._context.fillStyle=t;}get strokeStyle(){return this._context.strokeStyle}set strokeStyle(t){this._context.strokeStyle=t;}clone(t=false){return t?new i(this._context.clone()):(this._ownedContext=null,new i(this._context))}lineStyle(t,e,r){F(V,"Graphics#lineStyle is no longer needed. Use Graphics#setStrokeStyle to set the stroke style.");let s={};return t&&(s.width=t),e&&(s.color=e),r&&(s.alpha=r),this.context.strokeStyle=s,this}beginFill(t,e){F(V,"Graphics#beginFill is no longer needed. Use Graphics#fill to fill the shape with the desired style.");let r={};return t!==void 0&&(r.color=t),e!==void 0&&(r.alpha=e),this.context.fillStyle=r,this}endFill(){F(V,"Graphics#endFill is no longer needed. Use Graphics#fill to fill the shape with the desired style."),this.context.fill();let t=this.context.strokeStyle;return (t.width!==Lt.defaultStrokeStyle.width||t.color!==Lt.defaultStrokeStyle.color||t.alpha!==Lt.defaultStrokeStyle.alpha)&&this.context.stroke(),this}drawCircle(...t){return F(V,"Graphics#drawCircle has been renamed to Graphics#circle"),this._callContextMethod("circle",t)}drawEllipse(...t){return F(V,"Graphics#drawEllipse has been renamed to Graphics#ellipse"),this._callContextMethod("ellipse",t)}drawPolygon(...t){return F(V,"Graphics#drawPolygon has been renamed to Graphics#poly"),this._callContextMethod("poly",t)}drawRect(...t){return F(V,"Graphics#drawRect has been renamed to Graphics#rect"),this._callContextMethod("rect",t)}drawRoundedRect(...t){return F(V,"Graphics#drawRoundedRect has been renamed to Graphics#roundRect"),this._callContextMethod("roundRect",t)}drawStar(...t){return F(V,"Graphics#drawStar has been renamed to Graphics#star"),this._callContextMethod("star",t)}};});var wp,Pp,Mp=p(()=>{wp={name:"local-uniform-msdf-bit",vertex:{header:`
369
371
  struct LocalUniforms {
370
372
  uColor:vec4<f32>,
371
373
  uTransformMatrix:mat3x3<f32>,
@@ -392,7 +394,7 @@ fn mainFragment(
392
394
  @group(2) @binding(0) var<uniform> localUniforms : LocalUniforms;
393
395
  `,main:`
394
396
  outColor = vec4<f32>(calculateMSDFAlpha(outColor, localUniforms.uColor, localUniforms.uDistance));
395
- `}},wp={name:"local-uniform-msdf-bit",vertex:{header:`
397
+ `}},Pp={name:"local-uniform-msdf-bit",vertex:{header:`
396
398
  uniform mat3 uTransformMatrix;
397
399
  uniform vec4 uColor;
398
400
  uniform float uRound;
@@ -408,7 +410,7 @@ fn mainFragment(
408
410
  uniform float uDistance;
409
411
  `,main:`
410
412
  outColor = vec4(calculateMSDFAlpha(outColor, vColor, uDistance));
411
- `}};});var Mp,Ap,Cp=p(()=>{Mp={name:"msdf-bit",fragment:{header:`
413
+ `}};});var Ap,Cp,Ep=p(()=>{Ap={name:"msdf-bit",fragment:{header:`
412
414
  fn calculateMSDFAlpha(msdfColor:vec4<f32>, shapeColor:vec4<f32>, distance:f32) -> f32 {
413
415
 
414
416
  // MSDF
@@ -435,7 +437,7 @@ fn mainFragment(
435
437
  return coverage;
436
438
 
437
439
  }
438
- `}},Ap={name:"msdf-bit",fragment:{header:`
440
+ `}},Cp={name:"msdf-bit",fragment:{header:`
439
441
  float calculateMSDFAlpha(vec4 msdfColor, vec4 shapeColor, float distance) {
440
442
 
441
443
  // MSDF
@@ -462,16 +464,16 @@ fn mainFragment(
462
464
 
463
465
  return coverage;
464
466
  }
465
- `}};});var el,rl,bo,Ep=p(()=>{tt();Ls();Jn();ra();Hs();sa();ui();Se();Pp();Cp();bo=class extends re{constructor(t){let e=new Ct({uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uTransformMatrix:{value:new M,type:"mat3x3<f32>"},uDistance:{value:4,type:"f32"},uRound:{value:0,type:"f32"}});el??(el=dr({name:"sdf-shader",bits:[Os,Ws(t),Tp,Mp,pr]})),rl??(rl=fr({name:"sdf-shader",bits:[zs,Vs(t),wp,Ap,mr]})),super({glProgram:rl,gpuProgram:el,resources:{localUniforms:e,batchSamplers:Ns(t)}});}};});var vo,Fp=p(()=>{Et();ht();vo=class extends N{constructor(){super(...arguments),this.chars=Object.create(null),this.lineHeight=0,this.fontFamily="",this.fontMetrics={fontSize:0,ascent:0,descent:0},this.baseLineOffset=0,this.distanceField={type:"none",range:0},this.pages=[],this.applyFillAsTint=true,this.baseMeasurementFontSize=100,this.baseRenderedFontSize=100;}get font(){return G(W,"BitmapFont.font is deprecated, please use BitmapFont.fontFamily instead."),this.fontFamily}get pageTextures(){return G(W,"BitmapFont.pageTextures is deprecated, please use BitmapFont.pages instead."),this.pages}get size(){return G(W,"BitmapFont.size is deprecated, please use BitmapFont.fontMetrics.fontSize instead."),this.fontMetrics.fontSize}get distanceFieldRange(){return G(W,"BitmapFont.distanceFieldRange is deprecated, please use BitmapFont.distanceField.range instead."),this.distanceField.range}get distanceFieldType(){return G(W,"BitmapFont.distanceFieldType is deprecated, please use BitmapFont.distanceField.type instead."),this.distanceField.type}destroy(t=false){this.emit("destroy",this),this.removeAllListeners();for(let e in this.chars)this.chars[e].texture?.destroy();this.chars=null,t&&(this.pages.forEach(e=>e.texture.destroy(true)),this.pages=null);}};});var Bp,il,Gp=p(()=>{Ft();Bt();Pi();Ps();yt();Je();ht();Mi();go();Qa();wi();Fp();Bp=class kp extends vo{constructor(t){super(),this.resolution=1,this.pages=[],this._padding=0,this._measureCache=Object.create(null),this._currentChars=[],this._currentX=0,this._currentY=0,this._currentMaxCharHeight=0,this._currentPageIndex=-1,this._skipKerning=false;let e={...kp.defaultOptions,...t};this._textureSize=e.textureSize,this._mipmap=e.mipmap;let r=e.style.clone();e.overrideFill&&(r._fill.color=16777215,r._fill.alpha=1,r._fill.texture=F.WHITE,r._fill.fill=null),this.applyFillAsTint=e.overrideFill;let s=r.fontSize;r.fontSize=this.baseMeasurementFontSize;let o=$e(r);e.overrideSize?r._stroke&&(r._stroke.width*=this.baseRenderedFontSize/s):r.fontSize=this.baseRenderedFontSize=s,this._style=r,this._skipKerning=e.skipKerning??false,this.resolution=e.resolution??1,this._padding=e.padding??4,e.textureStyle&&(this._textureStyle=e.textureStyle instanceof Wt?e.textureStyle:new Wt(e.textureStyle)),this.fontMetrics=It.measureFont(o),this.lineHeight=r.lineHeight||this.fontMetrics.fontSize||r.fontSize;}ensureCharacters(t){let e=It.graphemeSegmenter(t).filter(x=>!this._currentChars.includes(x)).filter((x,_,y)=>y.indexOf(x)===_);if(!e.length)return;this._currentChars=[...this._currentChars,...e];let r;this._currentPageIndex===-1?r=this._nextPage():r=this.pages[this._currentPageIndex];let{canvas:s,context:o}=r.canvasAndContext,n=r.texture.source,a=this._style,l=this._currentX,h=this._currentY,u=this._currentMaxCharHeight,c=this.baseRenderedFontSize/this.baseMeasurementFontSize,f=this._padding*c,d=false,m=s.width/this.resolution,g=s.height/this.resolution;for(let x=0;x<e.length;x++){let _=e[x],y=It.measureText(_,a,s,false);y.lineHeight=y.height;let b=y.width*c,v=Math.ceil((a.fontStyle==="italic"?2:1)*b),P=y.height*c,T=v+f*2,w=P+f*2;if(d=false,_!==`
466
- `&&_!=="\r"&&_!==" "&&_!==" "&&(d=true,u=Math.ceil(Math.max(w,u))),l+T>m&&(h+=u,u=w,l=0,h+u>g)){n.update();let A=this._nextPage();s=A.canvasAndContext.canvas,o=A.canvasAndContext.context,n=A.texture.source,l=0,h=0,u=0;}let O=b/c-(a.dropShadow?.distance??0)-(a._stroke?.width??0);if(this.chars[_]={id:_.codePointAt(0),xOffset:-this._padding,yOffset:-this._padding,xAdvance:O,kerning:{}},d){this._drawGlyph(o,y,l+f,h+f,c,a);let A=n.width*c,E=n.height*c,C=new j(l/A*n.width,h/E*n.height,T/A*n.width,w/E*n.height);this.chars[_].texture=new F({source:n,frame:C}),l+=Math.ceil(T);}}n.update(),this._currentX=l,this._currentY=h,this._currentMaxCharHeight=u,this._skipKerning&&this._applyKerning(e,o);}get pageTextures(){return G(W,"BitmapFont.pageTextures is deprecated, please use BitmapFont.pages instead."),this.pages}_applyKerning(t,e){let r=this._measureCache;for(let s=0;s<t.length;s++){let o=t[s];for(let n=0;n<this._currentChars.length;n++){let a=this._currentChars[n],l=r[o];l||(l=r[o]=e.measureText(o).width);let h=r[a];h||(h=r[a]=e.measureText(a).width);let u=e.measureText(o+a).width,c=u-(l+h);c&&(this.chars[o].kerning[a]=c),u=e.measureText(o+a).width,c=u-(l+h),c&&(this.chars[a].kerning[o]=c);}}}_nextPage(){this._currentPageIndex++;let t=this.resolution,e=se.getOptimalCanvasAndContext(this._textureSize,this._textureSize,t);this._setupContext(e.context,this._style,t);let r=t*(this.baseRenderedFontSize/this.baseMeasurementFontSize),s=new F({source:new Qt({resource:e.canvas,resolution:r,alphaMode:"premultiply-alpha-on-upload",autoGenerateMipmaps:this._mipmap})});this._textureStyle&&(s.source.style=this._textureStyle);let o={canvasAndContext:e,texture:s};return this.pages[this._currentPageIndex]=o,o}_setupContext(t,e,r){e.fontSize=this.baseRenderedFontSize,t.scale(r,r),t.font=$e(e),e.fontSize=this.baseMeasurementFontSize,t.textBaseline=e.textBaseline;let s=e._stroke,o=s?.width??0;if(s&&(t.lineWidth=o,t.lineJoin=s.join,t.miterLimit=s.miterLimit,t.strokeStyle=Mr(s,t)),e._fill&&(t.fillStyle=Mr(e._fill,t)),e.dropShadow){let n=e.dropShadow,a=H.shared.setValue(n.color).toArray(),l=n.blur*r,h=n.distance*r;t.shadowColor=`rgba(${a[0]*255},${a[1]*255},${a[2]*255},${n.alpha})`,t.shadowBlur=l,t.shadowOffsetX=Math.cos(n.angle)*h,t.shadowOffsetY=Math.sin(n.angle)*h;}else t.shadowColor="black",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0;}_drawGlyph(t,e,r,s,o,n){let a=e.text,l=e.fontProperties,u=(n._stroke?.width??0)*o,c=r+u/2,f=s-u/2,d=l.descent*o,m=e.lineHeight*o;n.stroke&&u&&t.strokeText(a,c,f+m-d),n._fill&&t.fillText(a,c,f+m-d);}destroy(){super.destroy();for(let t=0;t<this.pages.length;t++){let{canvasAndContext:e,texture:r}=this.pages[t];se.returnCanvasAndContext(e),r.destroy(true);}this.pages=null;}};Bp.defaultOptions={textureSize:512,style:new Ht,mipmap:true};il=Bp;});function So(i,t,e,r){let s={width:0,height:0,offsetY:0,scale:t.fontSize/e.baseMeasurementFontSize,lines:[{width:0,charPositions:[],spaceWidth:0,spacesIndex:[],chars:[]}]};s.offsetY=e.baseLineOffset;let o=s.lines[0],n=null,a=true,l={width:0,start:0,index:0,positions:[],chars:[]},h=m=>{let g=o.width;for(let x=0;x<l.index;x++){let _=m.positions[x];o.chars.push(m.chars[x]),o.charPositions.push(_+g);}o.width+=m.width,a=false,l.width=0,l.index=0,l.chars.length=0;},u=()=>{let m=o.chars.length-1;if(r){let g=o.chars[m];for(;g===" ";)o.width-=e.chars[g].xAdvance,g=o.chars[--m];}s.width=Math.max(s.width,o.width),o={width:0,charPositions:[],chars:[],spaceWidth:0,spacesIndex:[]},a=true,s.lines.push(o),s.height+=e.lineHeight;},c=e.baseMeasurementFontSize/t.fontSize,f=t.letterSpacing*c,d=t.wordWrapWidth*c;for(let m=0;m<i.length+1;m++){let g,x=m===i.length;x||(g=i[m]);let _=e.chars[g]||e.chars[" "];if(/(?:\s)/.test(g)||g==="\r"||g===`
467
- `||x){if(!a&&t.wordWrap&&o.width+l.width-f>d?(u(),h(l),x||o.charPositions.push(0)):(l.start=o.width,h(l),x||o.charPositions.push(0)),g==="\r"||g===`
468
- `)o.width!==0&&u();else if(!x){let P=_.xAdvance+(_.kerning[n]||0)+f;o.width+=P,o.spaceWidth=P,o.spacesIndex.push(o.charPositions.length),o.chars.push(g);}}else {let v=_.kerning[n]||0,P=_.xAdvance+v+f;l.positions[l.index++]=l.width+v,l.chars.push(g),l.width+=P;}n=g;}return u(),t.align==="center"?x_(s):t.align==="right"?g_(s):t.align==="justify"&&__(s),s}function x_(i){for(let t=0;t<i.lines.length;t++){let e=i.lines[t],r=i.width/2-e.width/2;for(let s=0;s<e.charPositions.length;s++)e.charPositions[s]+=r;}}function g_(i){for(let t=0;t<i.lines.length;t++){let e=i.lines[t],r=i.width-e.width;for(let s=0;s<e.charPositions.length;s++)e.charPositions[s]+=r;}}function __(i){let t=i.width;for(let e=0;e<i.lines.length;e++){let r=i.lines[e],s=0,o=r.spacesIndex[s++],n=0,a=r.spacesIndex.length,h=(t-r.width)/a;for(let u=0;u<r.charPositions.length;u++)u===o&&(o=r.spacesIndex[s++],n+=h),r.charPositions[u]+=n;}}var sl=p(()=>{});function Ip(i){if(i==="")return [];typeof i=="string"&&(i=[i]);let t=[];for(let e=0,r=i.length;e<r;e++){let s=i[e];if(Array.isArray(s)){if(s.length!==2)throw new Error(`[BitmapFont]: Invalid character range length, expecting 2 got ${s.length}.`);if(s[0].length===0||s[1].length===0)throw new Error("[BitmapFont]: Invalid character delimiter.");let o=s[0].charCodeAt(0),n=s[1].charCodeAt(0);if(n<o)throw new Error("[BitmapFont]: Invalid character range.");for(let a=o,l=n;a<=l;a++)t.push(String.fromCharCode(a));}else t.push(...Array.from(s));}if(t.length===0)throw new Error("[BitmapFont]: Empty set when resolving characters.");return t}var Rp=p(()=>{});var To,ol,Dp,Up=p(()=>{si();ht();Mt();Mi();wi();Gp();sl();Rp();To=0,ol=class{constructor(){this.ALPHA=[["a","z"],["A","Z"]," "],this.NUMERIC=[["0","9"]],this.ALPHANUMERIC=[["a","z"],["A","Z"],["0","9"]," "],this.ASCII=[[" ","~"]],this.defaultOptions={chars:this.ALPHANUMERIC,resolution:1,padding:4,skipKerning:false,textureStyle:null};}getFont(t,e){let r=`${e.fontFamily}-bitmap`,s=true;if(e._fill.fill&&!e._stroke)r+=e._fill.fill.styleKey,s=false;else if(e._stroke||e.dropShadow){let n=e.styleKey;n=n.substring(0,n.lastIndexOf("-")),r=`${n}-bitmap`,s=false;}if(!ct.has(r)){let n=new il({style:e,overrideFill:s,overrideSize:true,...this.defaultOptions});To++,To>50&&V("BitmapText",`You have dynamically created ${To} bitmap fonts, this can be inefficient. Try pre installing your font styles using \`BitmapFont.install({name:"style1", style})\``),n.once("destroy",()=>{To--,ct.remove(r);}),ct.set(r,n);}let o=ct.get(r);return o.ensureCharacters?.(t),o}getLayout(t,e,r=true){let s=this.getFont(t,e),o=It.graphemeSegmenter(t);return So(o,e,s,r)}measureText(t,e,r=true){return this.getLayout(t,e,r)}install(...t){let e=t[0];typeof e=="string"&&(e={name:e,style:t[1],chars:t[2]?.chars,resolution:t[2]?.resolution,padding:t[2]?.padding,skipKerning:t[2]?.skipKerning},G(W,"BitmapFontManager.install(name, style, options) is deprecated, use BitmapFontManager.install({name, style, ...options})"));let r=e?.name;if(!r)throw new Error("[BitmapFontManager] Property `name` is required.");e={...this.defaultOptions,...e};let s=e.style,o=s instanceof Ht?s:new Ht(s),n=o._fill.fill!==null&&o._fill.fill!==void 0,a=new il({style:o,overrideFill:n,skipKerning:e.skipKerning,padding:e.padding,resolution:e.resolution,overrideSize:false,textureStyle:e.textureStyle}),l=Ip(e.chars);return a.ensureCharacters(l.join("")),ct.set(`${r}-bitmap`,a),a.once("destroy",()=>ct.remove(`${r}-bitmap`)),a}uninstall(t){let e=`${t}-bitmap`,r=ct.get(e);r&&r.destroy();}},Dp=new ol;});function Lp(i,t){t.groupTransform=i.groupTransform,t.groupColorAlpha=i.groupColorAlpha,t.groupColor=i.groupColor,t.groupBlendMode=i.groupBlendMode,t.globalDisplayStatus=i.globalDisplayStatus,t.groupTransform=i.groupTransform,t.localDisplayStatus=i.localDisplayStatus,t.groupAlpha=i.groupAlpha,t._roundPixels=i._roundPixels;}var nl,Ci,Op=p(()=>{si();B();Sp();Mi();Ep();Up();sl();nl=class extends yo{destroy(){this.context.customShader&&this.context.customShader.destroy(),super.destroy();}},Ci=class{constructor(t){this._renderer=t,this._renderer.renderableGC.addManagedHash(this,"_gpuBitmapText");}validateRenderable(t){let e=this._getGpuBitmapText(t);return t._didTextUpdate&&(t._didTextUpdate=false,this._updateContext(t,e)),this._renderer.renderPipes.graphics.validateRenderable(e)}addRenderable(t,e){let r=this._getGpuBitmapText(t);Lp(t,r),t._didTextUpdate&&(t._didTextUpdate=false,this._updateContext(t,r)),this._renderer.renderPipes.graphics.addRenderable(r,e),r.context.customShader&&this._updateDistanceField(t);}updateRenderable(t){let e=this._getGpuBitmapText(t);Lp(t,e),this._renderer.renderPipes.graphics.updateRenderable(e),e.context.customShader&&this._updateDistanceField(t);}_updateContext(t,e){let{context:r}=e,s=Dp.getFont(t.text,t._style);r.clear(),s.distanceField.type!=="none"&&(r.customShader||(r.customShader=new bo(this._renderer.limits.maxBatchableTextures)));let o=It.graphemeSegmenter(t.text),n=t._style,a=s.baseLineOffset,l=So(o,n,s,true),h=0,u=n.padding,c=l.scale,f=l.width,d=l.height+l.offsetY;n._stroke&&(f+=n._stroke.width/c,d+=n._stroke.width/c),r.translate(-t._anchor._x*f-u,-t._anchor._y*d-u).scale(c,c);let m=s.applyFillAsTint?n._fill.color:16777215;for(let g=0;g<l.lines.length;g++){let x=l.lines[g];for(let _=0;_<x.charPositions.length;_++){let y=o[h++],b=s.chars[y];b?.texture&&r.texture(b.texture,m||"black",Math.round(x.charPositions[_]+b.xOffset),Math.round(a+b.yOffset));}a+=s.lineHeight;}}_getGpuBitmapText(t){return t._gpuData[this._renderer.uid]||this.initGpuText(t)}initGpuText(t){let e=new nl;return t._gpuData[this._renderer.uid]=e,this._updateContext(t,e),e}_updateDistanceField(t){let e=this._getGpuBitmapText(t).context,r=t._style.fontFamily,s=ct.get(`${r}-bitmap`),{a:o,b:n,c:a,d:l}=t.groupTransform,h=Math.sqrt(o*o+n*n),u=Math.sqrt(a*a+l*l),c=(Math.abs(h)+Math.abs(u))/2,f=s.baseRenderedFontSize/t._style.fontSize,d=c*s.distanceField.range*(1/f);e.customShader.resources.localUniforms.uniforms.uDistance=d;}destroy(){this._renderer=null;}};Ci.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"bitmapText"};});var al=p(()=>{B();Op();I.add(Ci);});var wo,zp=p(()=>{ka();wo=class extends vr{constructor(t){super(),this.generatingTexture=false,this._renderer=t,t.runners.resolutionChange.add(this);}resolutionChange(){let t=this.renderable;t._autoResolution&&t.onViewUpdate();}destroy(){this._renderer.htmlText.returnTexturePromise(this.texturePromise),this.texturePromise=null,this._renderer=null;}};});var Ei,Wp=p(()=>{B();yt();Ba();zp();Ei=class{constructor(t){this._renderer=t;}validateRenderable(t){return t._didTextUpdate}addRenderable(t,e){let r=this._getGpuText(t);t._didTextUpdate&&(this._updateGpuText(t).catch(s=>{console.error(s);}),t._didTextUpdate=false,bi(r,t)),this._renderer.renderPipes.batch.addToBatch(r,e);}updateRenderable(t){let e=this._getGpuText(t);e._batcher.updateElement(e);}async _updateGpuText(t){t._didTextUpdate=false;let e=this._getGpuText(t);if(e.generatingTexture)return;e.texturePromise&&(this._renderer.htmlText.returnTexturePromise(e.texturePromise),e.texturePromise=null),e.generatingTexture=true,t._resolution=t._autoResolution?this._renderer.resolution:t.resolution;let r=this._renderer.htmlText.getTexturePromise(t);e.texturePromise=r,e.texture=await r;let s=t.renderGroup||t.parentRenderGroup;s&&(s.structureDidChange=true),e.generatingTexture=false,bi(e,t);}_getGpuText(t){return t._gpuData[this._renderer.uid]||this.initGpuText(t)}initGpuText(t){let e=new wo(this._renderer);return e.renderable=t,e.transform=t.groupTransform,e.texture=F.EMPTY,e.bounds={minX:0,maxX:1,minY:0,maxY:0},e.roundPixels=this._renderer._roundPixels|t._roundPixels,t._resolution=t._autoResolution?this._renderer.resolution:t.resolution,t._gpuData[this._renderer.uid]=e,e}destroy(){this._renderer=null;}};Ei.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"htmlText"};});function Vp(){let{userAgent:i}=nt.get().getNavigator();return /^((?!chrome|android).)*safari/i.test(i)}var Hp=p(()=>{Xt();});var Np,$p,Ar,ll=p(()=>{Np="http://www.w3.org/2000/svg",$p="http://www.w3.org/1999/xhtml",Ar=class{constructor(){this.svgRoot=document.createElementNS(Np,"svg"),this.foreignObject=document.createElementNS(Np,"foreignObject"),this.domElement=document.createElementNS($p,"div"),this.styleElement=document.createElementNS($p,"style"),this.image=new Image;let{foreignObject:t,svgRoot:e,styleElement:r,domElement:s}=this;t.setAttribute("width","10000"),t.setAttribute("height","10000"),t.style.overflow="hidden",e.appendChild(t),t.appendChild(r),t.appendChild(s);}};});function jp(i){let t=i._stroke,e=i._fill,s=[`div { ${[`color: ${H.shared.setValue(e.color).toHex()}`,`font-size: ${i.fontSize}px`,`font-family: ${i.fontFamily}`,`font-weight: ${i.fontWeight}`,`font-style: ${i.fontStyle}`,`font-variant: ${i.fontVariant}`,`letter-spacing: ${i.letterSpacing}px`,`text-align: ${i.align}`,`padding: ${i.padding}px`,`white-space: ${i.whiteSpace==="pre"&&i.wordWrap?"pre-wrap":i.whiteSpace}`,...i.lineHeight?[`line-height: ${i.lineHeight}px`]:[],...i.wordWrap?[`word-wrap: ${i.breakWords?"break-all":"break-word"}`,`max-width: ${i.wordWrapWidth}px`]:[],...t?[Kp(t)]:[],...i.dropShadow?[qp(i.dropShadow)]:[],...i.cssOverrides].join(";")} }`];return y_(i.tagStyles,s),s.join(" ")}function qp(i){let t=H.shared.setValue(i.color).setAlpha(i.alpha).toHexa(),e=Math.round(Math.cos(i.angle)*i.distance),r=Math.round(Math.sin(i.angle)*i.distance),s=`${e}px ${r}px`;return i.blur>0?`text-shadow: ${s} ${i.blur}px ${t}`:`text-shadow: ${s} ${t}`}function Kp(i){return [`-webkit-text-stroke-width: ${i.width}px`,`-webkit-text-stroke-color: ${H.shared.setValue(i.color).toHex()}`,`text-stroke-width: ${i.width}px`,`text-stroke-color: ${H.shared.setValue(i.color).toHex()}`,"paint-order: stroke"].join(";")}function y_(i,t){for(let e in i){let r=i[e],s=[];for(let o in r)Xp[o]?s.push(Xp[o](r[o])):Yp[o]&&s.push(Yp[o].replace("{{VALUE}}",r[o]));t.push(`${e} { ${s.join(";")} }`);}}var Yp,Xp,Zp=p(()=>{Ft();Yp={fontSize:"font-size: {{VALUE}}px",fontFamily:"font-family: {{VALUE}}",fontWeight:"font-weight: {{VALUE}}",fontStyle:"font-style: {{VALUE}}",fontVariant:"font-variant: {{VALUE}}",letterSpacing:"letter-spacing: {{VALUE}}px",align:"text-align: {{VALUE}}",padding:"padding: {{VALUE}}px",whiteSpace:"white-space: {{VALUE}}",lineHeight:"line-height: {{VALUE}}px",wordWrapWidth:"max-width: {{VALUE}}px"},Xp={fill:i=>`color: ${H.shared.setValue(i).toHex()}`,breakWords:i=>`word-wrap: ${i?"break-all":"break-word"}`,stroke:Kp,dropShadow:qp};});var Po,Qp=p(()=>{Mt();wi();Zp();Po=class i extends Ht{constructor(t={}){super(t),this._cssOverrides=[],this.cssOverrides=t.cssOverrides??[],this.tagStyles=t.tagStyles??{};}set cssOverrides(t){this._cssOverrides=t instanceof Array?t:[t],this.update();}get cssOverrides(){return this._cssOverrides}update(){this._cssStyle=null,super.update();}clone(){return new i({align:this.align,breakWords:this.breakWords,dropShadow:this.dropShadow?{...this.dropShadow}:null,fill:this._fill,fontFamily:this.fontFamily,fontSize:this.fontSize,fontStyle:this.fontStyle,fontVariant:this.fontVariant,fontWeight:this.fontWeight,letterSpacing:this.letterSpacing,lineHeight:this.lineHeight,padding:this.padding,stroke:this._stroke,whiteSpace:this.whiteSpace,wordWrap:this.wordWrap,wordWrapWidth:this.wordWrapWidth,cssOverrides:this.cssOverrides,tagStyles:{...this.tagStyles}})}get cssStyle(){return this._cssStyle||(this._cssStyle=jp(this)),this._cssStyle}addOverride(...t){let e=t.filter(r=>!this.cssOverrides.includes(r));e.length>0&&(this.cssOverrides.push(...e),this.update());}removeOverride(...t){let e=t.filter(r=>this.cssOverrides.includes(r));e.length>0&&(this.cssOverrides=this.cssOverrides.filter(r=>!e.includes(r)),this.update());}set fill(t){typeof t!="string"&&typeof t!="number"&&V("[HTMLTextStyle] only color fill is not supported by HTMLText"),super.fill=t;}set stroke(t){t&&typeof t!="string"&&typeof t!="number"&&V("[HTMLTextStyle] only color stroke is not supported by HTMLText"),super.stroke=t;}};});function Jp(i,t){let e=t.fontFamily,r=[],s={},o=/font-family:([^;"\s]+)/g,n=i.match(o);function a(l){s[l]||(r.push(l),s[l]=true);}if(Array.isArray(e))for(let l=0;l<e.length;l++)a(e[l]);else a(e);n&&n.forEach(l=>{let h=l.split(":")[1].trim();a(h);});for(let l in t.tagStyles){let h=t.tagStyles[l].fontFamily;a(h);}return r}var tm=p(()=>{});async function em(i){let e=await(await nt.get().fetch(i)).blob(),r=new FileReader;return await new Promise((o,n)=>{r.onloadend=()=>o(r.result),r.onerror=n,r.readAsDataURL(e);})}var rm=p(()=>{Xt();});async function hl(i,t){let e=await em(t);return `@font-face {
467
+ `}};});var rl,il,So,Fp=p(()=>{tt();zs();ta();ia();$s();oa();ui();Se();Mp();Ep();So=class extends re{constructor(t){let e=new Ct({uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uTransformMatrix:{value:new P,type:"mat3x3<f32>"},uDistance:{value:4,type:"f32"},uRound:{value:0,type:"f32"}});rl??(rl=dr({name:"sdf-shader",bits:[Ws,Hs(t),wp,Ap,pr]})),il??(il=fr({name:"sdf-shader",bits:[Vs,Ns(t),Pp,Cp,mr]})),super({glProgram:il,gpuProgram:rl,resources:{localUniforms:e,batchSamplers:Ys(t)}});}};});var To,Bp=p(()=>{Et();lt();To=class extends N{constructor(){super(...arguments),this.chars=Object.create(null),this.lineHeight=0,this.fontFamily="",this.fontMetrics={fontSize:0,ascent:0,descent:0},this.baseLineOffset=0,this.distanceField={type:"none",range:0},this.pages=[],this.applyFillAsTint=true,this.baseMeasurementFontSize=100,this.baseRenderedFontSize=100;}get font(){return F(V,"BitmapFont.font is deprecated, please use BitmapFont.fontFamily instead."),this.fontFamily}get pageTextures(){return F(V,"BitmapFont.pageTextures is deprecated, please use BitmapFont.pages instead."),this.pages}get size(){return F(V,"BitmapFont.size is deprecated, please use BitmapFont.fontMetrics.fontSize instead."),this.fontMetrics.fontSize}get distanceFieldRange(){return F(V,"BitmapFont.distanceFieldRange is deprecated, please use BitmapFont.distanceField.range instead."),this.distanceField.range}get distanceFieldType(){return F(V,"BitmapFont.distanceFieldType is deprecated, please use BitmapFont.distanceField.type instead."),this.distanceField.type}destroy(t=false){this.emit("destroy",this),this.removeAllListeners();for(let e in this.chars)this.chars[e].texture?.destroy();this.chars=null,t&&(this.pages.forEach(e=>e.texture.destroy(true)),this.pages=null);}};});var kp,sl,Ip=p(()=>{Ft();Bt();Pi();As();bt();Je();lt();Mi();yo();Ja();wi();Bp();kp=class Gp extends To{constructor(t){super(),this.resolution=1,this.pages=[],this._padding=0,this._measureCache=Object.create(null),this._currentChars=[],this._currentX=0,this._currentY=0,this._currentMaxCharHeight=0,this._currentPageIndex=-1,this._skipKerning=false;let e={...Gp.defaultOptions,...t};this._textureSize=e.textureSize,this._mipmap=e.mipmap;let r=e.style.clone();e.overrideFill&&(r._fill.color=16777215,r._fill.alpha=1,r._fill.texture=B.WHITE,r._fill.fill=null),this.applyFillAsTint=e.overrideFill;let s=r.fontSize;r.fontSize=this.baseMeasurementFontSize;let o=$e(r);e.overrideSize?r._stroke&&(r._stroke.width*=this.baseRenderedFontSize/s):r.fontSize=this.baseRenderedFontSize=s,this._style=r,this._skipKerning=e.skipKerning??false,this.resolution=e.resolution??1,this._padding=e.padding??4,e.textureStyle&&(this._textureStyle=e.textureStyle instanceof Wt?e.textureStyle:new Wt(e.textureStyle)),this.fontMetrics=It.measureFont(o),this.lineHeight=r.lineHeight||this.fontMetrics.fontSize||r.fontSize;}ensureCharacters(t){let e=It.graphemeSegmenter(t).filter(m=>!this._currentChars.includes(m)).filter((m,_,y)=>y.indexOf(m)===_);if(!e.length)return;this._currentChars=[...this._currentChars,...e];let r;this._currentPageIndex===-1?r=this._nextPage():r=this.pages[this._currentPageIndex];let{canvas:s,context:o}=r.canvasAndContext,n=r.texture.source,a=this._style,l=this._currentX,h=this._currentY,u=this._currentMaxCharHeight,c=this.baseRenderedFontSize/this.baseMeasurementFontSize,f=this._padding*c,d=false,g=s.width/this.resolution,x=s.height/this.resolution;for(let m=0;m<e.length;m++){let _=e[m],y=It.measureText(_,a,s,false);y.lineHeight=y.height;let b=y.width*c,v=Math.ceil((a.fontStyle==="italic"?2:1)*b),A=y.height*c,T=v+f*2,w=A+f*2;if(d=false,_!==`
468
+ `&&_!=="\r"&&_!==" "&&_!==" "&&(d=true,u=Math.ceil(Math.max(w,u))),l+T>g&&(h+=u,u=w,l=0,h+u>x)){n.update();let M=this._nextPage();s=M.canvasAndContext.canvas,o=M.canvasAndContext.context,n=M.texture.source,l=0,h=0,u=0;}let U=b/c-(a.dropShadow?.distance??0)-(a._stroke?.width??0);if(this.chars[_]={id:_.codePointAt(0),xOffset:-this._padding,yOffset:-this._padding,xAdvance:U,kerning:{}},d){this._drawGlyph(o,y,l+f,h+f,c,a);let M=n.width*c,E=n.height*c,C=new j(l/M*n.width,h/E*n.height,T/M*n.width,w/E*n.height);this.chars[_].texture=new B({source:n,frame:C}),l+=Math.ceil(T);}}n.update(),this._currentX=l,this._currentY=h,this._currentMaxCharHeight=u,this._skipKerning&&this._applyKerning(e,o);}get pageTextures(){return F(V,"BitmapFont.pageTextures is deprecated, please use BitmapFont.pages instead."),this.pages}_applyKerning(t,e){let r=this._measureCache;for(let s=0;s<t.length;s++){let o=t[s];for(let n=0;n<this._currentChars.length;n++){let a=this._currentChars[n],l=r[o];l||(l=r[o]=e.measureText(o).width);let h=r[a];h||(h=r[a]=e.measureText(a).width);let u=e.measureText(o+a).width,c=u-(l+h);c&&(this.chars[o].kerning[a]=c),u=e.measureText(o+a).width,c=u-(l+h),c&&(this.chars[a].kerning[o]=c);}}}_nextPage(){this._currentPageIndex++;let t=this.resolution,e=se.getOptimalCanvasAndContext(this._textureSize,this._textureSize,t);this._setupContext(e.context,this._style,t);let r=t*(this.baseRenderedFontSize/this.baseMeasurementFontSize),s=new B({source:new Qt({resource:e.canvas,resolution:r,alphaMode:"premultiply-alpha-on-upload",autoGenerateMipmaps:this._mipmap})});this._textureStyle&&(s.source.style=this._textureStyle);let o={canvasAndContext:e,texture:s};return this.pages[this._currentPageIndex]=o,o}_setupContext(t,e,r){e.fontSize=this.baseRenderedFontSize,t.scale(r,r),t.font=$e(e),e.fontSize=this.baseMeasurementFontSize,t.textBaseline=e.textBaseline;let s=e._stroke,o=s?.width??0;if(s&&(t.lineWidth=o,t.lineJoin=s.join,t.miterLimit=s.miterLimit,t.strokeStyle=Mr(s,t)),e._fill&&(t.fillStyle=Mr(e._fill,t)),e.dropShadow){let n=e.dropShadow,a=H.shared.setValue(n.color).toArray(),l=n.blur*r,h=n.distance*r;t.shadowColor=`rgba(${a[0]*255},${a[1]*255},${a[2]*255},${n.alpha})`,t.shadowBlur=l,t.shadowOffsetX=Math.cos(n.angle)*h,t.shadowOffsetY=Math.sin(n.angle)*h;}else t.shadowColor="black",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0;}_drawGlyph(t,e,r,s,o,n){let a=e.text,l=e.fontProperties,u=(n._stroke?.width??0)*o,c=r+u/2,f=s-u/2,d=l.descent*o,g=e.lineHeight*o,x=false;n.stroke&&u&&(x=true,t.strokeText(a,c,f+g-d));let{shadowBlur:m,shadowOffsetX:_,shadowOffsetY:y}=t;n._fill&&(x&&(t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0),t.fillText(a,c,f+g-d)),x&&(t.shadowBlur=m,t.shadowOffsetX=_,t.shadowOffsetY=y);}destroy(){super.destroy();for(let t=0;t<this.pages.length;t++){let{canvasAndContext:e,texture:r}=this.pages[t];se.returnCanvasAndContext(e),r.destroy(true);}this.pages=null;}};kp.defaultOptions={textureSize:512,style:new Ht,mipmap:true};sl=kp;});function wo(i,t,e,r){let s={width:0,height:0,offsetY:0,scale:t.fontSize/e.baseMeasurementFontSize,lines:[{width:0,charPositions:[],spaceWidth:0,spacesIndex:[],chars:[]}]};s.offsetY=e.baseLineOffset;let o=s.lines[0],n=null,a=true,l={width:0,start:0,index:0,positions:[],chars:[]},h=m=>{let _=o.width;for(let y=0;y<l.index;y++){let b=m.positions[y];o.chars.push(m.chars[y]),o.charPositions.push(b+_);}o.width+=m.width,a=false,l.width=0,l.index=0,l.chars.length=0;},u=()=>{let m=o.chars.length-1;if(r){let _=o.chars[m];for(;_===" ";)o.width-=e.chars[_].xAdvance,_=o.chars[--m];}s.width=Math.max(s.width,o.width),o={width:0,charPositions:[],chars:[],spaceWidth:0,spacesIndex:[]},a=true,s.lines.push(o),s.height+=e.lineHeight;},c=e.baseMeasurementFontSize/t.fontSize,f=t.letterSpacing*c,d=t.wordWrapWidth*c,g=t.wordWrap&&t.breakWords,x=m=>m-f>d;for(let m=0;m<i.length+1;m++){let _,y=m===i.length;y||(_=i[m]);let b=e.chars[_]||e.chars[" "];if(/(?:\s)/.test(_)||_==="\r"||_===`
469
+ `||y){if(!a&&t.wordWrap&&x(o.width+l.width)?(u(),h(l),y||o.charPositions.push(0)):(l.start=o.width,h(l),y||o.charPositions.push(0)),_==="\r"||_===`
470
+ `)o.width!==0&&u();else if(!y){let w=b.xAdvance+(b.kerning[n]||0)+f;o.width+=w,o.spaceWidth=w,o.spacesIndex.push(o.charPositions.length),o.chars.push(_);}}else {let T=b.kerning[n]||0,w=b.xAdvance+T+f;g&&x(o.width+l.width+w)&&(h(l),u()),l.positions[l.index++]=l.width+T,l.chars.push(_),l.width+=w;}n=_;}return u(),t.align==="center"?x_(s):t.align==="right"?__(s):t.align==="justify"&&y_(s),s}function x_(i){for(let t=0;t<i.lines.length;t++){let e=i.lines[t],r=i.width/2-e.width/2;for(let s=0;s<e.charPositions.length;s++)e.charPositions[s]+=r;}}function __(i){for(let t=0;t<i.lines.length;t++){let e=i.lines[t],r=i.width-e.width;for(let s=0;s<e.charPositions.length;s++)e.charPositions[s]+=r;}}function y_(i){let t=i.width;for(let e=0;e<i.lines.length;e++){let r=i.lines[e],s=0,o=r.spacesIndex[s++],n=0,a=r.spacesIndex.length,h=(t-r.width)/a;for(let u=0;u<r.charPositions.length;u++)u===o&&(o=r.spacesIndex[s++],n+=h),r.charPositions[u]+=n;}}var ol=p(()=>{});function Rp(i){if(i==="")return [];typeof i=="string"&&(i=[i]);let t=[];for(let e=0,r=i.length;e<r;e++){let s=i[e];if(Array.isArray(s)){if(s.length!==2)throw new Error(`[BitmapFont]: Invalid character range length, expecting 2 got ${s.length}.`);if(s[0].length===0||s[1].length===0)throw new Error("[BitmapFont]: Invalid character delimiter.");let o=s[0].charCodeAt(0),n=s[1].charCodeAt(0);if(n<o)throw new Error("[BitmapFont]: Invalid character range.");for(let a=o,l=n;a<=l;a++)t.push(String.fromCharCode(a));}else t.push(...Array.from(s));}if(t.length===0)throw new Error("[BitmapFont]: Empty set when resolving characters.");return t}var Dp=p(()=>{});var Po,nl,Lp,Up=p(()=>{si();lt();Tt();Mi();wi();Ip();ol();Dp();Po=0,nl=class{constructor(){this.ALPHA=[["a","z"],["A","Z"]," "],this.NUMERIC=[["0","9"]],this.ALPHANUMERIC=[["a","z"],["A","Z"],["0","9"]," "],this.ASCII=[[" ","~"]],this.defaultOptions={chars:this.ALPHANUMERIC,resolution:1,padding:4,skipKerning:false,textureStyle:null};}getFont(t,e){let r=`${e.fontFamily}-bitmap`,s=true;if(e._fill.fill&&!e._stroke)r+=e._fill.fill.styleKey,s=false;else if(e._stroke||e.dropShadow){let n=e.styleKey;n=n.substring(0,n.lastIndexOf("-")),r=`${n}-bitmap`,s=false;}if(!ct.has(r)){let n=new sl({style:e,overrideFill:s,overrideSize:true,...this.defaultOptions});Po++,Po>50&&z("BitmapText",`You have dynamically created ${Po} bitmap fonts, this can be inefficient. Try pre installing your font styles using \`BitmapFont.install({name:"style1", style})\``),n.once("destroy",()=>{Po--,ct.remove(r);}),ct.set(r,n);}let o=ct.get(r);return o.ensureCharacters?.(t),o}getLayout(t,e,r=true){let s=this.getFont(t,e),o=It.graphemeSegmenter(t);return wo(o,e,s,r)}measureText(t,e,r=true){return this.getLayout(t,e,r)}install(...t){let e=t[0];typeof e=="string"&&(e={name:e,style:t[1],chars:t[2]?.chars,resolution:t[2]?.resolution,padding:t[2]?.padding,skipKerning:t[2]?.skipKerning},F(V,"BitmapFontManager.install(name, style, options) is deprecated, use BitmapFontManager.install({name, style, ...options})"));let r=e?.name;if(!r)throw new Error("[BitmapFontManager] Property `name` is required.");e={...this.defaultOptions,...e};let s=e.style,o=s instanceof Ht?s:new Ht(s),n=o._fill.fill!==null&&o._fill.fill!==void 0,a=new sl({style:o,overrideFill:n,skipKerning:e.skipKerning,padding:e.padding,resolution:e.resolution,overrideSize:false,textureStyle:e.textureStyle}),l=Rp(e.chars);return a.ensureCharacters(l.join("")),ct.set(`${r}-bitmap`,a),a.once("destroy",()=>ct.remove(`${r}-bitmap`)),a}uninstall(t){let e=`${t}-bitmap`,r=ct.get(e);r&&r.destroy();}},Lp=new nl;});function Op(i,t){t.groupTransform=i.groupTransform,t.groupColorAlpha=i.groupColorAlpha,t.groupColor=i.groupColor,t.groupBlendMode=i.groupBlendMode,t.globalDisplayStatus=i.globalDisplayStatus,t.groupTransform=i.groupTransform,t.localDisplayStatus=i.localDisplayStatus,t.groupAlpha=i.groupAlpha,t._roundPixels=i._roundPixels;}var al,Ci,zp=p(()=>{si();k();Tp();Mi();Fp();Up();ol();al=class extends vo{destroy(){this.context.customShader&&this.context.customShader.destroy(),super.destroy();}},Ci=class{constructor(t){this._renderer=t,this._renderer.renderableGC.addManagedHash(this,"_gpuBitmapText");}validateRenderable(t){let e=this._getGpuBitmapText(t);return t._didTextUpdate&&(t._didTextUpdate=false,this._updateContext(t,e)),this._renderer.renderPipes.graphics.validateRenderable(e)}addRenderable(t,e){let r=this._getGpuBitmapText(t);Op(t,r),t._didTextUpdate&&(t._didTextUpdate=false,this._updateContext(t,r)),this._renderer.renderPipes.graphics.addRenderable(r,e),r.context.customShader&&this._updateDistanceField(t);}updateRenderable(t){let e=this._getGpuBitmapText(t);Op(t,e),this._renderer.renderPipes.graphics.updateRenderable(e),e.context.customShader&&this._updateDistanceField(t);}_updateContext(t,e){let{context:r}=e,s=Lp.getFont(t.text,t._style);r.clear(),s.distanceField.type!=="none"&&(r.customShader||(r.customShader=new So(this._renderer.limits.maxBatchableTextures)));let o=It.graphemeSegmenter(t.text),n=t._style,a=s.baseLineOffset,l=wo(o,n,s,true),h=n.padding,u=l.scale,c=l.width,f=l.height+l.offsetY;n._stroke&&(c+=n._stroke.width/u,f+=n._stroke.width/u),r.translate(-t._anchor._x*c-h,-t._anchor._y*f-h).scale(u,u);let d=s.applyFillAsTint?n._fill.color:16777215;for(let g=0;g<l.lines.length;g++){let x=l.lines[g];for(let m=0;m<x.charPositions.length;m++){let _=x.chars[m],y=s.chars[_];y?.texture&&r.texture(y.texture,d||"black",Math.round(x.charPositions[m]+y.xOffset),Math.round(a+y.yOffset));}a+=s.lineHeight;}}_getGpuBitmapText(t){return t._gpuData[this._renderer.uid]||this.initGpuText(t)}initGpuText(t){let e=new al;return t._gpuData[this._renderer.uid]=e,this._updateContext(t,e),e}_updateDistanceField(t){let e=this._getGpuBitmapText(t).context,r=t._style.fontFamily,s=ct.get(`${r}-bitmap`),{a:o,b:n,c:a,d:l}=t.groupTransform,h=Math.sqrt(o*o+n*n),u=Math.sqrt(a*a+l*l),c=(Math.abs(h)+Math.abs(u))/2,f=s.baseRenderedFontSize/t._style.fontSize,d=c*s.distanceField.range*(1/f);e.customShader.resources.localUniforms.uniforms.uDistance=d;}destroy(){this._renderer=null;}};Ci.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"bitmapText"};});var ll=p(()=>{k();zp();I.add(Ci);});var Mo,Wp=p(()=>{Ga();Mo=class extends vr{constructor(t){super(),this.generatingTexture=false,this._renderer=t,t.runners.resolutionChange.add(this);}resolutionChange(){let t=this.renderable;t._autoResolution&&t.onViewUpdate();}destroy(){this._renderer.htmlText.returnTexturePromise(this.texturePromise),this.texturePromise=null,this._renderer=null;}};});var Ei,Vp=p(()=>{k();bt();ka();Wp();Ei=class{constructor(t){this._renderer=t;}validateRenderable(t){return t._didTextUpdate}addRenderable(t,e){let r=this._getGpuText(t);t._didTextUpdate&&(this._updateGpuText(t).catch(s=>{console.error(s);}),t._didTextUpdate=false,bi(r,t)),this._renderer.renderPipes.batch.addToBatch(r,e);}updateRenderable(t){let e=this._getGpuText(t);e._batcher.updateElement(e);}async _updateGpuText(t){t._didTextUpdate=false;let e=this._getGpuText(t);if(e.generatingTexture)return;e.texturePromise&&(this._renderer.htmlText.returnTexturePromise(e.texturePromise),e.texturePromise=null),e.generatingTexture=true,t._resolution=t._autoResolution?this._renderer.resolution:t.resolution;let r=this._renderer.htmlText.getTexturePromise(t);e.texturePromise=r,e.texture=await r;let s=t.renderGroup||t.parentRenderGroup;s&&(s.structureDidChange=true),e.generatingTexture=false,bi(e,t);}_getGpuText(t){return t._gpuData[this._renderer.uid]||this.initGpuText(t)}initGpuText(t){let e=new Mo(this._renderer);return e.renderable=t,e.transform=t.groupTransform,e.texture=B.EMPTY,e.bounds={minX:0,maxX:1,minY:0,maxY:0},e.roundPixels=this._renderer._roundPixels|t._roundPixels,t._resolution=t._autoResolution?this._renderer.resolution:t.resolution,t._gpuData[this._renderer.uid]=e,e}destroy(){this._renderer=null;}};Ei.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"htmlText"};});function Hp(){let{userAgent:i}=nt.get().getNavigator();return /^((?!chrome|android).)*safari/i.test(i)}var Np=p(()=>{Xt();});var $p,Yp,Ar,hl=p(()=>{$p="http://www.w3.org/2000/svg",Yp="http://www.w3.org/1999/xhtml",Ar=class{constructor(){this.svgRoot=document.createElementNS($p,"svg"),this.foreignObject=document.createElementNS($p,"foreignObject"),this.domElement=document.createElementNS(Yp,"div"),this.styleElement=document.createElementNS(Yp,"style"),this.image=new Image;let{foreignObject:t,svgRoot:e,styleElement:r,domElement:s}=this;t.setAttribute("width","10000"),t.setAttribute("height","10000"),t.style.overflow="hidden",e.appendChild(t),t.appendChild(r),t.appendChild(s);}};});function qp(i){let t=i._stroke,e=i._fill,s=[`div { ${[`color: ${H.shared.setValue(e.color).toHex()}`,`font-size: ${i.fontSize}px`,`font-family: ${i.fontFamily}`,`font-weight: ${i.fontWeight}`,`font-style: ${i.fontStyle}`,`font-variant: ${i.fontVariant}`,`letter-spacing: ${i.letterSpacing}px`,`text-align: ${i.align}`,`padding: ${i.padding}px`,`white-space: ${i.whiteSpace==="pre"&&i.wordWrap?"pre-wrap":i.whiteSpace}`,...i.lineHeight?[`line-height: ${i.lineHeight}px`]:[],...i.wordWrap?[`word-wrap: ${i.breakWords?"break-all":"break-word"}`,`max-width: ${i.wordWrapWidth}px`]:[],...t?[Zp(t)]:[],...i.dropShadow?[Kp(i.dropShadow)]:[],...i.cssOverrides].join(";")} }`];return b_(i.tagStyles,s),s.join(" ")}function Kp(i){let t=H.shared.setValue(i.color).setAlpha(i.alpha).toHexa(),e=Math.round(Math.cos(i.angle)*i.distance),r=Math.round(Math.sin(i.angle)*i.distance),s=`${e}px ${r}px`;return i.blur>0?`text-shadow: ${s} ${i.blur}px ${t}`:`text-shadow: ${s} ${t}`}function Zp(i){return [`-webkit-text-stroke-width: ${i.width}px`,`-webkit-text-stroke-color: ${H.shared.setValue(i.color).toHex()}`,`text-stroke-width: ${i.width}px`,`text-stroke-color: ${H.shared.setValue(i.color).toHex()}`,"paint-order: stroke"].join(";")}function b_(i,t){for(let e in i){let r=i[e],s=[];for(let o in r)jp[o]?s.push(jp[o](r[o])):Xp[o]&&s.push(Xp[o].replace("{{VALUE}}",r[o]));t.push(`${e} { ${s.join(";")} }`);}}var Xp,jp,Qp=p(()=>{Ft();Xp={fontSize:"font-size: {{VALUE}}px",fontFamily:"font-family: {{VALUE}}",fontWeight:"font-weight: {{VALUE}}",fontStyle:"font-style: {{VALUE}}",fontVariant:"font-variant: {{VALUE}}",letterSpacing:"letter-spacing: {{VALUE}}px",align:"text-align: {{VALUE}}",padding:"padding: {{VALUE}}px",whiteSpace:"white-space: {{VALUE}}",lineHeight:"line-height: {{VALUE}}px",wordWrapWidth:"max-width: {{VALUE}}px"},jp={fill:i=>`color: ${H.shared.setValue(i).toHex()}`,breakWords:i=>`word-wrap: ${i?"break-all":"break-word"}`,stroke:Zp,dropShadow:Kp};});var Ao,Jp=p(()=>{Tt();wi();Qp();Ao=class i extends Ht{constructor(t={}){super(t),this._cssOverrides=[],this.cssOverrides=t.cssOverrides??[],this.tagStyles=t.tagStyles??{};}set cssOverrides(t){this._cssOverrides=t instanceof Array?t:[t],this.update();}get cssOverrides(){return this._cssOverrides}update(){this._cssStyle=null,super.update();}clone(){return new i({align:this.align,breakWords:this.breakWords,dropShadow:this.dropShadow?{...this.dropShadow}:null,fill:this._fill,fontFamily:this.fontFamily,fontSize:this.fontSize,fontStyle:this.fontStyle,fontVariant:this.fontVariant,fontWeight:this.fontWeight,letterSpacing:this.letterSpacing,lineHeight:this.lineHeight,padding:this.padding,stroke:this._stroke,whiteSpace:this.whiteSpace,wordWrap:this.wordWrap,wordWrapWidth:this.wordWrapWidth,cssOverrides:this.cssOverrides,tagStyles:{...this.tagStyles}})}get cssStyle(){return this._cssStyle||(this._cssStyle=qp(this)),this._cssStyle}addOverride(...t){let e=t.filter(r=>!this.cssOverrides.includes(r));e.length>0&&(this.cssOverrides.push(...e),this.update());}removeOverride(...t){let e=t.filter(r=>this.cssOverrides.includes(r));e.length>0&&(this.cssOverrides=this.cssOverrides.filter(r=>!e.includes(r)),this.update());}set fill(t){typeof t!="string"&&typeof t!="number"&&z("[HTMLTextStyle] only color fill is not supported by HTMLText"),super.fill=t;}set stroke(t){t&&typeof t!="string"&&typeof t!="number"&&z("[HTMLTextStyle] only color stroke is not supported by HTMLText"),super.stroke=t;}};});function tm(i,t){let e=t.fontFamily,r=[],s={},o=/font-family:([^;"\s]+)/g,n=i.match(o);function a(l){s[l]||(r.push(l),s[l]=true);}if(Array.isArray(e))for(let l=0;l<e.length;l++)a(e[l]);else a(e);n&&n.forEach(l=>{let h=l.split(":")[1].trim();a(h);});for(let l in t.tagStyles){let h=t.tagStyles[l].fontFamily;a(h);}return r}var em=p(()=>{});async function rm(i){let e=await(await nt.get().fetch(i)).blob(),r=new FileReader;return await new Promise((o,n)=>{r.onloadend=()=>o(r.result),r.onerror=n,r.readAsDataURL(e);})}var im=p(()=>{Xt();});async function ul(i,t){let e=await rm(t);return `@font-face {
469
471
  font-family: "${i.fontFamily}";
470
472
  src: url('${e}');
471
473
  font-weight: ${i.fontWeight};
472
474
  font-style: ${i.fontStyle};
473
- }`}var im=p(()=>{rm();});async function sm(i,t,e){let r=i.filter(s=>ct.has(`${s}-and-url`)).map((s,o)=>{if(!Mo.has(s)){let{url:n}=ct.get(`${s}-and-url`);o===0?Mo.set(s,hl({fontWeight:t.fontWeight,fontStyle:t.fontStyle,fontFamily:s},n)):Mo.set(s,hl({fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontFamily:s},n));}return Mo.get(s)});return (await Promise.all(r)).join(`
474
- `)}var Mo,om=p(()=>{si();im();Mo=new Map;});function nm(i,t,e,r,s){let{domElement:o,styleElement:n,svgRoot:a}=s;o.innerHTML=`<style>${t.cssStyle}</style><div style='padding:0;'>${i}</div>`,o.setAttribute("style",`transform: scale(${e});transform-origin: top left; display: inline-block`),n.textContent=r;let{width:l,height:h}=s.image;return a.setAttribute("width",l.toString()),a.setAttribute("height",h.toString()),new XMLSerializer().serializeToString(a)}var am=p(()=>{});function lm(i,t){let e=se.getOptimalCanvasAndContext(i.width,i.height,t),{context:r}=e;return r.clearRect(0,0,i.width,i.height),r.drawImage(i,0,0),e}var hm=p(()=>{Pi();});function um(i,t,e){return new Promise(async r=>{e&&await new Promise(s=>setTimeout(s,100)),i.onload=()=>{r();},i.src=`data:image/svg+xml;charset=utf8,${encodeURIComponent(t)}`,i.crossOrigin="anonymous";})}var cm=p(()=>{});function fm(i,t,e,r){r||(r=dm||(dm=new Ar));let{domElement:s,styleElement:o,svgRoot:n}=r;s.innerHTML=`<style>${t.cssStyle};</style><div style='padding:0'>${i}</div>`,s.setAttribute("style","transform-origin: top left; display: inline-block"),e&&(o.textContent=e),document.body.appendChild(n);let a=s.getBoundingClientRect();n.remove();let l=t.padding*2;return {width:a.width-l,height:a.height-l}}var dm,pm=p(()=>{ll();});var Fi,mm=p(()=>{B();Pi();tr();hi();Hp();Mt();Be();qa();ll();Qp();tm();om();am();hm();cm();pm();Fi=class{constructor(t){this._renderer=t,this._createCanvas=t.type===ee.WEBGPU;}getTexture(t){return this.getTexturePromise(t)}getTexturePromise(t){return this._buildTexturePromise(t)}async _buildTexturePromise(t){let{text:e,style:r,resolution:s,textureStyle:o}=t,n=pt.get(Ar),a=Jp(e,r),l=await sm(a,r,Po.defaultTextStyle),h=fm(e,r,l,n),u=Math.ceil(Math.ceil(Math.max(1,h.width)+r.padding*2)*s),c=Math.ceil(Math.ceil(Math.max(1,h.height)+r.padding*2)*s),f=n.image,d=2;f.width=(u|0)+d,f.height=(c|0)+d;let m=nm(e,r,s,l,n);await um(f,m,Vp()&&a.length>0);let g=f,x;this._createCanvas&&(x=lm(f,s));let _=xo(x?x.canvas:g,f.width-d,f.height-d,s);return o&&(_.source.style=o),this._createCanvas&&(this._renderer.texture.initSource(_.source),se.returnCanvasAndContext(x)),pt.return(n),_}returnTexturePromise(t){t.then(e=>{this._cleanUp(e);}).catch(()=>{V("HTMLTextSystem: Failed to clean texture");});}_cleanUp(t){St.returnTexture(t,true),t.source.resource=null,t.source.uploadMethodId="unknown";}destroy(){this._renderer=null;}};Fi.extension={type:[S.WebGLSystem,S.WebGPUSystem,S.CanvasSystem],name:"htmlText"};});var ul=p(()=>{B();Wp();mm();I.add(Fi);I.add(Ei);});var xm,Cr,Ao=p(()=>{lr();ar();li();ht();xm=class gm extends te{constructor(...t){let e=t[0]??{};e instanceof Float32Array&&(G(W,"use new MeshGeometry({ positions, uvs, indices }) instead"),e={positions:e,uvs:t[1],indices:t[2]}),e={...gm.defaultOptions,...e};let r=e.positions||new Float32Array([0,0,1,0,1,1,0,1]),s=e.uvs;s||(e.positions?s=new Float32Array(r.length):s=new Float32Array([0,0,1,0,1,1,0,1]));let o=e.indices||new Uint32Array([0,1,2,0,2,3]),n=e.shrinkBuffersToFit,a=new bt({data:r,label:"attribute-mesh-positions",shrinkToFit:n,usage:Q.VERTEX|Q.COPY_DST}),l=new bt({data:s,label:"attribute-mesh-uvs",shrinkToFit:n,usage:Q.VERTEX|Q.COPY_DST}),h=new bt({data:o,label:"index-mesh-buffer",shrinkToFit:n,usage:Q.INDEX|Q.COPY_DST});super({attributes:{aPosition:{buffer:a,format:"float32x2",stride:2*4,offset:0},aUV:{buffer:l,format:"float32x2",stride:2*4,offset:0}},indexBuffer:h,topology:e.topology}),this.batchMode="auto";}get positions(){return this.attributes.aPosition.buffer.data}set positions(t){this.attributes.aPosition.buffer.data=t;}get uvs(){return this.attributes.aUV.buffer.data}set uvs(t){this.attributes.aUV.buffer.data=t;}get indices(){return this.indexBuffer.data}set indices(t){this.indexBuffer.data=t;}};xm.defaultOptions={topology:"triangle-list",shrinkBuffersToFit:false};Cr=xm;});var Bi,_m,ym=p(()=>{Bi={name:"local-uniform-bit",vertex:{header:`
475
+ }`}var sm=p(()=>{im();});async function om(i,t,e){let r=i.filter(s=>ct.has(`${s}-and-url`)).map((s,o)=>{if(!Co.has(s)){let{url:n}=ct.get(`${s}-and-url`);o===0?Co.set(s,ul({fontWeight:t.fontWeight,fontStyle:t.fontStyle,fontFamily:s},n)):Co.set(s,ul({fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontFamily:s},n));}return Co.get(s)});return (await Promise.all(r)).join(`
476
+ `)}var Co,nm=p(()=>{si();sm();Co=new Map;});function am(i,t,e,r,s){let{domElement:o,styleElement:n,svgRoot:a}=s;o.innerHTML=`<style>${t.cssStyle}</style><div style='padding:0;'>${i}</div>`,o.setAttribute("style",`transform: scale(${e});transform-origin: top left; display: inline-block`),n.textContent=r;let{width:l,height:h}=s.image;return a.setAttribute("width",l.toString()),a.setAttribute("height",h.toString()),new XMLSerializer().serializeToString(a)}var lm=p(()=>{});function hm(i,t){let e=se.getOptimalCanvasAndContext(i.width,i.height,t),{context:r}=e;return r.clearRect(0,0,i.width,i.height),r.drawImage(i,0,0),e}var um=p(()=>{Pi();});function cm(i,t,e){return new Promise(async r=>{e&&await new Promise(s=>setTimeout(s,100)),i.onload=()=>{r();},i.src=`data:image/svg+xml;charset=utf8,${encodeURIComponent(t)}`,i.crossOrigin="anonymous";})}var dm=p(()=>{});function pm(i,t,e,r){r||(r=fm||(fm=new Ar));let{domElement:s,styleElement:o,svgRoot:n}=r;s.innerHTML=`<style>${t.cssStyle};</style><div style='padding:0'>${i}</div>`,s.setAttribute("style","transform-origin: top left; display: inline-block"),e&&(o.textContent=e),document.body.appendChild(n);let a=s.getBoundingClientRect();n.remove();let l=t.padding*2;return {width:a.width-l,height:a.height-l}}var fm,mm=p(()=>{hl();});var Fi,gm=p(()=>{k();Pi();tr();hi();Np();Tt();Be();Ka();hl();Jp();em();nm();lm();um();dm();mm();Fi=class{constructor(t){this._renderer=t,this._createCanvas=t.type===ee.WEBGPU;}getTexture(t){return this.getTexturePromise(t)}getTexturePromise(t){return this._buildTexturePromise(t)}async _buildTexturePromise(t){let{text:e,style:r,resolution:s,textureStyle:o}=t,n=pt.get(Ar),a=tm(e,r),l=await om(a,r,Ao.defaultTextStyle),h=pm(e,r,l,n),u=Math.ceil(Math.ceil(Math.max(1,h.width)+r.padding*2)*s),c=Math.ceil(Math.ceil(Math.max(1,h.height)+r.padding*2)*s),f=n.image,d=2;f.width=(u|0)+d,f.height=(c|0)+d;let g=am(e,r,s,l,n);await cm(f,g,Hp()&&a.length>0);let x=f,m;this._createCanvas&&(m=hm(f,s));let _=_o(m?m.canvas:x,f.width-d,f.height-d,s);return o&&(_.source.style=o),this._createCanvas&&(this._renderer.texture.initSource(_.source),se.returnCanvasAndContext(m)),pt.return(n),_}returnTexturePromise(t){t.then(e=>{this._cleanUp(e);}).catch(()=>{z("HTMLTextSystem: Failed to clean texture");});}_cleanUp(t){wt.returnTexture(t,true),t.source.resource=null,t.source.uploadMethodId="unknown";}destroy(){this._renderer=null;}};Fi.extension={type:[S.WebGLSystem,S.WebGPUSystem,S.CanvasSystem],name:"htmlText"};});var cl=p(()=>{k();Vp();gm();I.add(Fi);I.add(Ei);});var xm,Cr,Eo=p(()=>{lr();ar();li();lt();xm=class _m extends te{constructor(...t){let e=t[0]??{};e instanceof Float32Array&&(F(V,"use new MeshGeometry({ positions, uvs, indices }) instead"),e={positions:e,uvs:t[1],indices:t[2]}),e={..._m.defaultOptions,...e};let r=e.positions||new Float32Array([0,0,1,0,1,1,0,1]),s=e.uvs;s||(e.positions?s=new Float32Array(r.length):s=new Float32Array([0,0,1,0,1,1,0,1]));let o=e.indices||new Uint32Array([0,1,2,0,2,3]),n=e.shrinkBuffersToFit,a=new vt({data:r,label:"attribute-mesh-positions",shrinkToFit:n,usage:Q.VERTEX|Q.COPY_DST}),l=new vt({data:s,label:"attribute-mesh-uvs",shrinkToFit:n,usage:Q.VERTEX|Q.COPY_DST}),h=new vt({data:o,label:"index-mesh-buffer",shrinkToFit:n,usage:Q.INDEX|Q.COPY_DST});super({attributes:{aPosition:{buffer:a,format:"float32x2",stride:2*4,offset:0},aUV:{buffer:l,format:"float32x2",stride:2*4,offset:0}},indexBuffer:h,topology:e.topology}),this.batchMode="auto";}get positions(){return this.attributes.aPosition.buffer.data}set positions(t){this.attributes.aPosition.buffer.data=t;}get uvs(){return this.attributes.aUV.buffer.data}set uvs(t){this.attributes.aUV.buffer.data=t;}get indices(){return this.indexBuffer.data}set indices(t){this.indexBuffer.data=t;}};xm.defaultOptions={topology:"triangle-list",shrinkBuffersToFit:false};Cr=xm;});var Bi,ym,bm=p(()=>{Bi={name:"local-uniform-bit",vertex:{header:`
475
477
 
476
478
  struct LocalUniforms {
477
479
  uTransformMatrix:mat3x3<f32>,
@@ -488,7 +490,7 @@ fn mainFragment(
488
490
  {
489
491
  vPosition = vec4(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw);
490
492
  }
491
- `}},{...Bi,vertex:{...Bi.vertex,header:Bi.vertex.header.replace("group(1)","group(2)")}},_m={name:"local-uniform-bit",vertex:{header:`
493
+ `}},{...Bi,vertex:{...Bi.vertex,header:Bi.vertex.header.replace("group(1)","group(2)")}},ym={name:"local-uniform-bit",vertex:{header:`
492
494
 
493
495
  uniform mat3 uTransformMatrix;
494
496
  uniform vec4 uColor;
@@ -501,7 +503,7 @@ fn mainFragment(
501
503
  {
502
504
  gl_Position.xy = roundPixels(gl_Position.xy, uResolution);
503
505
  }
504
- `}};});var bm,vm,Sm=p(()=>{bm={name:"tiling-bit",vertex:{header:`
506
+ `}};});var vm,Sm,Tm=p(()=>{vm={name:"tiling-bit",vertex:{header:`
505
507
  struct TilingUniforms {
506
508
  uMapCoord:mat3x3<f32>,
507
509
  uClampFrame:vec4<f32>,
@@ -544,7 +546,7 @@ fn mainFragment(
544
546
  }
545
547
 
546
548
  outColor = textureSampleBias(uTexture, uSampler, coord, bias);
547
- `}},vm={name:"tiling-bit",vertex:{header:`
549
+ `}},Sm={name:"tiling-bit",vertex:{header:`
548
550
  uniform mat3 uTextureTransform;
549
551
  uniform vec4 uSizeAnchor;
550
552
 
@@ -566,4 +568,4 @@ fn mainFragment(
566
568
 
567
569
  outColor = texture(uTexture, coord, unclamped == coord ? 0.0 : -32.0);// lod-bias very negative to force lod 0
568
570
 
569
- `}};});var cl,dl,Co,Tm=p(()=>{tt();Ls();ym();Hs();ui();Se();yt();Sm();Co=class extends re{constructor(){cl??(cl=dr({name:"tiling-sprite-shader",bits:[Bi,bm,pr]})),dl??(dl=fr({name:"tiling-sprite-shader",bits:[_m,vm,mr]}));let t=new Ct({uMapCoord:{value:new M,type:"mat3x3<f32>"},uClampFrame:{value:new Float32Array([0,0,1,1]),type:"vec4<f32>"},uClampOffset:{value:new Float32Array([0,0]),type:"vec2<f32>"},uTextureTransform:{value:new M,type:"mat3x3<f32>"},uSizeAnchor:{value:new Float32Array([100,100,.5,.5]),type:"vec4<f32>"}});super({glProgram:dl,gpuProgram:cl,resources:{localUniforms:new Ct({uTransformMatrix:{value:new M,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),tilingUniforms:t,uTexture:F.EMPTY.source,uSampler:F.EMPTY.source.style}});}updateUniforms(t,e,r,s,o,n){let a=this.resources.tilingUniforms,l=n.width,h=n.height,u=n.textureMatrix,c=a.uniforms.uTextureTransform;c.set(r.a*l/t,r.b*l/e,r.c*h/t,r.d*h/e,r.tx/t,r.ty/e),c.invert(),a.uniforms.uMapCoord=u.mapCoord,a.uniforms.uClampFrame=u.uClampFrame,a.uniforms.uClampOffset=u.uClampOffset,a.uniforms.uTextureTransform=c,a.uniforms.uSizeAnchor[0]=t,a.uniforms.uSizeAnchor[1]=e,a.uniforms.uSizeAnchor[2]=s,a.uniforms.uSizeAnchor[3]=o,n&&(this.resources.uTexture=n.source,this.resources.uSampler=n.source.style);}};});var Eo,wm=p(()=>{Ao();Eo=class extends Cr{constructor(){super({positions:new Float32Array([0,0,1,0,1,1,0,1]),uvs:new Float32Array([0,0,1,0,1,1,0,1]),indices:new Uint32Array([0,1,2,0,2,3])});}};});function Pm(i,t){let e=i.anchor.x,r=i.anchor.y;t[0]=-e*i.width,t[1]=-r*i.height,t[2]=(1-e)*i.width,t[3]=-r*i.height,t[4]=(1-e)*i.width,t[5]=(1-r)*i.height,t[6]=-e*i.width,t[7]=(1-r)*i.height;}var Mm=p(()=>{});function Am(i,t,e,r){let s=0,o=i.length/(t),n=r.a,a=r.b,l=r.c,h=r.d,u=r.tx,c=r.ty;for(e*=t;s<o;){let f=i[e],d=i[e+1];i[e]=n*f+l*d+u,i[e+1]=a*f+h*d+c,e+=t,s++;}}var Cm=p(()=>{});function Em(i,t){let e=i.texture,r=e.frame.width,s=e.frame.height,o=0,n=0;i.applyAnchorToTexture&&(o=i.anchor.x,n=i.anchor.y),t[0]=t[6]=-o,t[2]=t[4]=1-o,t[1]=t[3]=-n,t[5]=t[7]=1-n;let a=M.shared;a.copyFrom(i._tileTransform.matrix),a.tx/=i.width,a.ty/=i.height,a.invert(),a.scale(i.width/r,i.height/s),Am(t,2,0,a);}var Fm=p(()=>{tt();Cm();});var Fo,fl,ki,Bm=p(()=>{B();ni();Qs();hi();mi();Js();Ao();Tm();wm();Mm();Fm();Fo=new Eo,fl=class{constructor(){this.canBatch=true,this.geometry=new Cr({indices:Fo.indices.slice(),positions:Fo.positions.slice(),uvs:Fo.uvs.slice()});}destroy(){this.geometry.destroy(),this.shader?.destroy();}},ki=class{constructor(t){this._state=Ve.default2d,this._renderer=t;}validateRenderable(t){let e=this._getTilingSpriteData(t),r=e.canBatch;this._updateCanBatch(t);let s=e.canBatch;if(s&&s===r){let{batchableMesh:o}=e;return !o._batcher.checkAndUpdateTexture(o,t.texture)}return r!==s}addRenderable(t,e){let r=this._renderer.renderPipes.batch;this._updateCanBatch(t);let s=this._getTilingSpriteData(t),{geometry:o,canBatch:n}=s;if(n){s.batchableMesh||(s.batchableMesh=new we);let a=s.batchableMesh;t.didViewUpdate&&(this._updateBatchableMesh(t),a.geometry=o,a.renderable=t,a.transform=t.groupTransform,a.setTexture(t._texture)),a.roundPixels=this._renderer._roundPixels|t._roundPixels,r.addToBatch(a,e);}else r.break(e),s.shader||(s.shader=new Co),this.updateRenderable(t),e.add(t);}execute(t){let{shader:e}=this._getTilingSpriteData(t);e.groups[0]=this._renderer.globalUniforms.bindGroup;let r=e.resources.localUniforms.uniforms;r.uTransformMatrix=t.groupTransform,r.uRound=this._renderer._roundPixels|t._roundPixels,Te(t.groupColorAlpha,r.uColor,0),this._state.blendMode=de(t.groupBlendMode,t.texture._source),this._renderer.encoder.draw({geometry:Fo,shader:e,state:this._state});}updateRenderable(t){let e=this._getTilingSpriteData(t),{canBatch:r}=e;if(r){let{batchableMesh:s}=e;t.didViewUpdate&&this._updateBatchableMesh(t),s._batcher.updateElement(s);}else if(t.didViewUpdate){let{shader:s}=e;s.updateUniforms(t.width,t.height,t._tileTransform.matrix,t.anchor.x,t.anchor.y,t.texture);}}_getTilingSpriteData(t){return t._gpuData[this._renderer.uid]||this._initTilingSpriteData(t)}_initTilingSpriteData(t){let e=new fl;return e.renderable=t,t._gpuData[this._renderer.uid]=e,e}_updateBatchableMesh(t){let e=this._getTilingSpriteData(t),{geometry:r}=e,s=t.texture.source.style;s.addressMode!=="repeat"&&(s.addressMode="repeat",s.update()),Em(t,r.uvs),Pm(t,r.positions);}destroy(){this._renderer=null;}_updateCanBatch(t){let e=this._getTilingSpriteData(t),r=t.texture,s=true;return this._renderer.type===ee.WEBGL&&(s=this._renderer.context.supports.nonPowOf2wrapping),e.canBatch=r.textureMatrix.isSimple&&(s||r.source.isPowerOfTwo),e.canBatch}};ki.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"tilingSprite"};});var pl=p(()=>{B();Bm();I.add(ki);});var km,Im,Rm=p(()=>{ht();Ao();km=class Gm extends Cr{constructor(...t){super({});let e=t[0]??{};typeof e=="number"&&(G(W,"PlaneGeometry constructor changed please use { width, height, verticesX, verticesY } instead"),e={width:e,height:t[1],verticesX:t[2],verticesY:t[3]}),this.build(e);}build(t){t={...Gm.defaultOptions,...t},this.verticesX=this.verticesX??t.verticesX,this.verticesY=this.verticesY??t.verticesY,this.width=this.width??t.width,this.height=this.height??t.height;let e=this.verticesX*this.verticesY,r=[],s=[],o=[],n=this.verticesX-1,a=this.verticesY-1,l=this.width/n,h=this.height/a;for(let c=0;c<e;c++){let f=c%this.verticesX,d=c/this.verticesX|0;r.push(f*l,d*h),s.push(f/n,d/a);}let u=n*a;for(let c=0;c<u;c++){let f=c%n,d=c/n|0,m=d*this.verticesX+f,g=d*this.verticesX+f+1,x=(d+1)*this.verticesX+f,_=(d+1)*this.verticesX+f+1;o.push(m,g,x,g,_,x);}this.buffers[0].data=new Float32Array(r),this.buffers[1].data=new Float32Array(s),this.indexBuffer.data=new Uint32Array(o),this.buffers[0].update(),this.buffers[1].update(),this.indexBuffer.update();}};km.defaultOptions={width:100,height:100,verticesX:10,verticesY:10};Im=km;});var Dm,Lm,Om=p(()=>{Rm();Dm=class Um extends Im{constructor(t={}){t={...Um.defaultOptions,...t},super({width:t.width,height:t.height,verticesX:4,verticesY:4}),this.update(t);}update(t){this.width=t.width??this.width,this.height=t.height??this.height,this._originalWidth=t.originalWidth??this._originalWidth,this._originalHeight=t.originalHeight??this._originalHeight,this._leftWidth=t.leftWidth??this._leftWidth,this._rightWidth=t.rightWidth??this._rightWidth,this._topHeight=t.topHeight??this._topHeight,this._bottomHeight=t.bottomHeight??this._bottomHeight,this._anchorX=t.anchor?.x,this._anchorY=t.anchor?.y,this.updateUvs(),this.updatePositions();}updatePositions(){let t=this.positions,{width:e,height:r,_leftWidth:s,_rightWidth:o,_topHeight:n,_bottomHeight:a,_anchorX:l,_anchorY:h}=this,u=s+o,c=e>u?1:e/u,f=n+a,d=r>f?1:r/f,m=Math.min(c,d),g=l*e,x=h*r;t[0]=t[8]=t[16]=t[24]=-g,t[2]=t[10]=t[18]=t[26]=s*m-g,t[4]=t[12]=t[20]=t[28]=e-o*m-g,t[6]=t[14]=t[22]=t[30]=e-g,t[1]=t[3]=t[5]=t[7]=-x,t[9]=t[11]=t[13]=t[15]=n*m-x,t[17]=t[19]=t[21]=t[23]=r-a*m-x,t[25]=t[27]=t[29]=t[31]=r-x,this.getBuffer("aPosition").update();}updateUvs(){let t=this.uvs;t[0]=t[8]=t[16]=t[24]=0,t[1]=t[3]=t[5]=t[7]=0,t[6]=t[14]=t[22]=t[30]=1,t[25]=t[27]=t[29]=t[31]=1;let e=1/this._originalWidth,r=1/this._originalHeight;t[2]=t[10]=t[18]=t[26]=e*this._leftWidth,t[9]=t[11]=t[13]=t[15]=r*this._topHeight,t[4]=t[12]=t[20]=t[28]=1-e*this._rightWidth,t[17]=t[19]=t[21]=t[23]=1-r*this._bottomHeight,this.getBuffer("aUV").update();}};Dm.defaultOptions={width:100,height:100,leftWidth:10,topHeight:10,rightWidth:10,bottomHeight:10,originalWidth:100,originalHeight:100};Lm=Dm;});var ml,Gi,zm=p(()=>{B();Js();Om();ml=class extends we{constructor(){super(),this.geometry=new Lm;}destroy(){this.geometry.destroy();}},Gi=class{constructor(t){this._renderer=t;}addRenderable(t,e){let r=this._getGpuSprite(t);t.didViewUpdate&&this._updateBatchableSprite(t,r),this._renderer.renderPipes.batch.addToBatch(r,e);}updateRenderable(t){let e=this._getGpuSprite(t);t.didViewUpdate&&this._updateBatchableSprite(t,e),e._batcher.updateElement(e);}validateRenderable(t){let e=this._getGpuSprite(t);return !e._batcher.checkAndUpdateTexture(e,t._texture)}_updateBatchableSprite(t,e){e.geometry.update(t),e.setTexture(t._texture);}_getGpuSprite(t){return t._gpuData[this._renderer.uid]||this._initGPUSprite(t)}_initGPUSprite(t){let e=t._gpuData[this._renderer.uid]=new ml,r=e;return r.renderable=t,r.transform=t.groupTransform,r.texture=t._texture,r.roundPixels=this._renderer._roundPixels|t._roundPixels,t.didViewUpdate||this._updateBatchableSprite(t,r),e}destroy(){this._renderer=null;}};Gi.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"nineSliceSprite"};});var xl=p(()=>{B();zm();I.add(Gi);});var Ii,Wm=p(()=>{B();Ii=class{constructor(t){this._renderer=t;}push(t,e,r){this._renderer.renderPipes.batch.break(r),r.add({renderPipeId:"filter",canBundle:false,action:"pushFilter",container:e,filterEffect:t});}pop(t,e,r){this._renderer.renderPipes.batch.break(r),r.add({renderPipeId:"filter",action:"popFilter",canBundle:false});}execute(t){t.action==="pushFilter"?this._renderer.filter.push(t):t.action==="popFilter"&&this._renderer.filter.pop();}destroy(){this._renderer=null;}};Ii.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"filter"};});function Vm(i,t){t.clear();let e=t.matrix;for(let r=0;r<i.length;r++){let s=i[r];s.globalDisplayStatus<7||(t.matrix=s.worldTransform,t.addBounds(s.bounds));}return t.matrix=e,t}var Hm=p(()=>{});var b_,gl,Ri,Nm=p(()=>{B();tt();oi();li();Se();yt();tr();hi();$t();Hm();Mt();b_=new te({attributes:{aPosition:{buffer:new Float32Array([0,0,1,0,1,1,0,1]),format:"float32x2",stride:2*4,offset:0}},indexBuffer:new Uint32Array([0,1,2,0,2,3])}),gl=class{constructor(){this.skip=false,this.inputTexture=null,this.backTexture=null,this.filters=null,this.bounds=new ot,this.container=null,this.blendRequired=false,this.outputRenderSurface=null,this.globalFrame={x:0,y:0,width:0,height:0};}},Ri=class{constructor(t){this._filterStackIndex=0,this._filterStack=[],this._filterGlobalUniforms=new Ct({uInputSize:{value:new Float32Array(4),type:"vec4<f32>"},uInputPixel:{value:new Float32Array(4),type:"vec4<f32>"},uInputClamp:{value:new Float32Array(4),type:"vec4<f32>"},uOutputFrame:{value:new Float32Array(4),type:"vec4<f32>"},uGlobalFrame:{value:new Float32Array(4),type:"vec4<f32>"},uOutputTexture:{value:new Float32Array(4),type:"vec4<f32>"}}),this._globalFilterBindGroup=new Vt({}),this.renderer=t;}get activeBackTexture(){return this._activeFilterData?.backTexture}push(t){let e=this.renderer,r=t.filterEffect.filters,s=this._pushFilterData();s.skip=false,s.filters=r,s.container=t.container,s.outputRenderSurface=e.renderTarget.renderSurface;let o=e.renderTarget.renderTarget.colorTexture.source,n=o.resolution,a=o.antialias;if(r.length===0){s.skip=true;return}let l=s.bounds;if(this._calculateFilterArea(t,l),this._calculateFilterBounds(s,e.renderTarget.rootViewPort,a,n,1),s.skip)return;let h=this._getPreviousFilterData(),u=this._findFilterResolution(n),c=0,f=0;h&&(c=h.bounds.minX,f=h.bounds.minY),this._calculateGlobalFrame(s,c,f,u,o.width,o.height),this._setupFilterTextures(s,l,e,h);}generateFilteredTexture({texture:t,filters:e}){let r=this._pushFilterData();this._activeFilterData=r,r.skip=false,r.filters=e;let s=t.source,o=s.resolution,n=s.antialias;if(e.length===0)return r.skip=true,t;let a=r.bounds;if(a.addRect(t.frame),this._calculateFilterBounds(r,a.rectangle,n,o,0),r.skip)return t;let l=o;this._calculateGlobalFrame(r,0,0,l,s.width,s.height),r.outputRenderSurface=St.getOptimalTexture(a.width,a.height,r.resolution,r.antialias),r.backTexture=F.EMPTY,r.inputTexture=t,this.renderer.renderTarget.finishRenderPass(),this._applyFiltersToTexture(r,true);let f=r.outputRenderSurface;return f.source.alphaMode="premultiplied-alpha",f}pop(){let t=this.renderer,e=this._popFilterData();e.skip||(t.globalUniforms.pop(),t.renderTarget.finishRenderPass(),this._activeFilterData=e,this._applyFiltersToTexture(e,false),e.blendRequired&&St.returnTexture(e.backTexture),St.returnTexture(e.inputTexture));}getBackTexture(t,e,r){let s=t.colorTexture.source._resolution,o=St.getOptimalTexture(e.width,e.height,s,false),n=e.minX,a=e.minY;r&&(n-=r.minX,a-=r.minY),n=Math.floor(n*s),a=Math.floor(a*s);let l=Math.ceil(e.width*s),h=Math.ceil(e.height*s);return this.renderer.renderTarget.copyToTexture(t,o,{x:n,y:a},{width:l,height:h},{x:0,y:0}),o}applyFilter(t,e,r,s){let o=this.renderer,n=this._activeFilterData,l=n.outputRenderSurface===r,h=o.renderTarget.rootRenderTarget.colorTexture.source._resolution,u=this._findFilterResolution(h),c=0,f=0;if(l){let d=this._findPreviousFilterOffset();c=d.x,f=d.y;}this._updateFilterUniforms(e,r,n,c,f,u,l,s),this._setupBindGroupsAndRender(t,e,o);}calculateSpriteMatrix(t,e){let r=this._activeFilterData,s=t.set(r.inputTexture._source.width,0,0,r.inputTexture._source.height,r.bounds.minX,r.bounds.minY),o=e.worldTransform.copyTo(M.shared),n=e.renderGroup||e.parentRenderGroup;return n&&n.cacheToLocalTransform&&o.prepend(n.cacheToLocalTransform),o.invert(),s.prepend(o),s.scale(1/e.texture.frame.width,1/e.texture.frame.height),s.translate(e.anchor.x,e.anchor.y),s}destroy(){}_setupBindGroupsAndRender(t,e,r){if(r.renderPipes.uniformBatch){let s=r.renderPipes.uniformBatch.getUboResource(this._filterGlobalUniforms);this._globalFilterBindGroup.setResource(s,0);}else this._globalFilterBindGroup.setResource(this._filterGlobalUniforms,0);this._globalFilterBindGroup.setResource(e.source,1),this._globalFilterBindGroup.setResource(e.source.style,2),t.groups[0]=this._globalFilterBindGroup,r.encoder.draw({geometry:b_,shader:t,state:t._state,topology:"triangle-list"}),r.type===ee.WEBGL&&r.renderTarget.finishRenderPass();}_setupFilterTextures(t,e,r,s){if(t.backTexture=F.EMPTY,t.blendRequired){r.renderTarget.finishRenderPass();let o=r.renderTarget.getRenderTarget(t.outputRenderSurface);t.backTexture=this.getBackTexture(o,e,s?.bounds);}t.inputTexture=St.getOptimalTexture(e.width,e.height,t.resolution,t.antialias),r.renderTarget.bind(t.inputTexture,true),r.globalUniforms.push({offset:e});}_calculateGlobalFrame(t,e,r,s,o,n){let a=t.globalFrame;a.x=e*s,a.y=r*s,a.width=o*s,a.height=n*s;}_updateFilterUniforms(t,e,r,s,o,n,a,l){let h=this._filterGlobalUniforms.uniforms,u=h.uOutputFrame,c=h.uInputSize,f=h.uInputPixel,d=h.uInputClamp,m=h.uGlobalFrame,g=h.uOutputTexture;a?(u[0]=r.bounds.minX-s,u[1]=r.bounds.minY-o):(u[0]=0,u[1]=0),u[2]=t.frame.width,u[3]=t.frame.height,c[0]=t.source.width,c[1]=t.source.height,c[2]=1/c[0],c[3]=1/c[1],f[0]=t.source.pixelWidth,f[1]=t.source.pixelHeight,f[2]=1/f[0],f[3]=1/f[1],d[0]=.5*f[2],d[1]=.5*f[3],d[2]=t.frame.width*c[2]-.5*f[2],d[3]=t.frame.height*c[3]-.5*f[3];let x=this.renderer.renderTarget.rootRenderTarget.colorTexture;m[0]=s*n,m[1]=o*n,m[2]=x.source.width*n,m[3]=x.source.height*n,e instanceof F&&(e.source.resource=null);let _=this.renderer.renderTarget.getRenderTarget(e);this.renderer.renderTarget.bind(e,!!l),e instanceof F?(g[0]=e.frame.width,g[1]=e.frame.height):(g[0]=_.width,g[1]=_.height),g[2]=_.isRoot?-1:1,this._filterGlobalUniforms.update();}_findFilterResolution(t){let e=this._filterStackIndex-1;for(;e>0&&this._filterStack[e].skip;)--e;return e>0&&this._filterStack[e].inputTexture?this._filterStack[e].inputTexture.source._resolution:t}_findPreviousFilterOffset(){let t=0,e=0,r=this._filterStackIndex;for(;r>0;){r--;let s=this._filterStack[r];if(!s.skip){t=s.bounds.minX,e=s.bounds.minY;break}}return {x:t,y:e}}_calculateFilterArea(t,e){if(t.renderables?Vm(t.renderables,e):t.filterEffect.filterArea?(e.clear(),e.addRect(t.filterEffect.filterArea),e.applyMatrix(t.container.worldTransform)):t.container.getFastGlobalBounds(true,e),t.container){let s=(t.container.renderGroup||t.container.parentRenderGroup).cacheToLocalTransform;s&&e.applyMatrix(s);}}_applyFiltersToTexture(t,e){let r=t.inputTexture,s=t.bounds,o=t.filters;if(this._globalFilterBindGroup.setResource(r.source.style,2),this._globalFilterBindGroup.setResource(t.backTexture.source,3),o.length===1)o[0].apply(this,r,t.outputRenderSurface,e);else {let n=t.inputTexture,a=St.getOptimalTexture(s.width,s.height,n.source._resolution,false),l=a,h=0;for(h=0;h<o.length-1;++h){o[h].apply(this,n,l,true);let c=n;n=l,l=c;}o[h].apply(this,n,t.outputRenderSurface,e),St.returnTexture(a);}}_calculateFilterBounds(t,e,r,s,o){let n=this.renderer,a=t.bounds,l=t.filters,h=1/0,u=0,c=true,f=false,d=false,m=true;for(let g=0;g<l.length;g++){let x=l[g];if(h=Math.min(h,x.resolution==="inherit"?s:x.resolution),u+=x.padding,x.antialias==="off"?c=false:x.antialias==="inherit"&&c&&(c=r),x.clipToViewport||(m=false),!!!(x.compatibleRenderers&n.type)){d=false;break}if(x.blendRequired&&!(n.backBuffer?.useBackBuffer??true)){V("Blend filter requires backBuffer on WebGL renderer to be enabled. Set `useBackBuffer: true` in the renderer options."),d=false;break}d=x.enabled||d,f||(f=x.blendRequired);}if(!d){t.skip=true;return}if(m&&a.fitBounds(0,e.width/s,0,e.height/s),a.scale(h).ceil().scale(1/h).pad((u|0)*o),!a.isPositive){t.skip=true;return}t.antialias=c,t.resolution=h,t.blendRequired=f;}_popFilterData(){return this._filterStackIndex--,this._filterStack[this._filterStackIndex]}_getPreviousFilterData(){let t,e=this._filterStackIndex-1;for(;e>1&&(e--,t=this._filterStack[e],!!t.skip););return t}_pushFilterData(){let t=this._filterStack[this._filterStackIndex];return t||(t=this._filterStack[this._filterStackIndex]=new gl),this._filterStackIndex++,t}};Ri.extension={type:[S.WebGLSystem,S.WebGPUSystem],name:"filter"};});var _l=p(()=>{B();Wm();Nm();I.add(Ri);I.add(Ii);});var v_={};var $m=p(()=>{cu();mn();bu();Su();vs();As();Pa();Ma();Fa();tl();al();ul();pl();xl();_l();});var S_={};var Xm=p(()=>{mn();vs();As();Pa();Ma();Fa();tl();al();ul();pl();xl();_l();});var ft={};lx(ft,{DistortionFilter:()=>Xi,EqualizerFilter:()=>Ot,Filter:()=>dt,MonoFilter:()=>ji,ReverbFilter:()=>qi,StereoFilter:()=>Ki,StreamFilter:()=>Zi,TelephoneFilter:()=>Qi});var Cl;function El(i){return Cl=i,i}function K(){return Cl}var dt=class{constructor(t,e){this.init(t,e);}init(t,e){this.destination=t,this.source=e||t;}connect(t){this.source?.connect(t);}disconnect(){this.source?.disconnect();}destroy(){this.disconnect(),this.destination=null,this.source=null;}};var Xi=class extends dt{constructor(t=0){let e;if(!K().useLegacy){let{audioContext:r}=K().context;e=r.createWaveShaper();}super(e),this._distortion=e,this.amount=t;}set amount(t){if(this._amount=t,K().useLegacy)return;let e=t*1e3,r=44100,s=new Float32Array(r),o=Math.PI/180,n=0,a;for(;n<r;++n)a=n*2/r-1,s[n]=(3+e)*a*20*o/(Math.PI+e*Math.abs(a));this._distortion.curve=s,this._distortion.oversample="4x";}get amount(){return this._amount}destroy(){this._distortion=null,super.destroy();}};var lt=class{static setParamValue(t,e){if(t.setValueAtTime){let r=K().context;t.setValueAtTime(e,r.audioContext.currentTime);}else t.value=e;return e}};var Z=class extends dt{constructor(i=0,t=0,e=0,r=0,s=0,o=0,n=0,a=0,l=0,h=0){let u=[],c=[{f:Z.F32,type:"lowshelf",gain:i},{f:Z.F64,type:"peaking",gain:t},{f:Z.F125,type:"peaking",gain:e},{f:Z.F250,type:"peaking",gain:r},{f:Z.F500,type:"peaking",gain:s},{f:Z.F1K,type:"peaking",gain:o},{f:Z.F2K,type:"peaking",gain:n},{f:Z.F4K,type:"peaking",gain:a},{f:Z.F8K,type:"peaking",gain:l},{f:Z.F16K,type:"highshelf",gain:h}];K().useLegacy||(u=c.map(f=>{let d=K().context.audioContext.createBiquadFilter();return d.type=f.type,lt.setParamValue(d.Q,1),d.frequency.value=f.f,lt.setParamValue(d.gain,f.gain),d})),super(u[0],u[u.length-1]),this.bands=u,this.bandsMap={};for(let f=0;f<this.bands.length;f++){let d=this.bands[f];f>0&&this.bands[f-1].connect(d),this.bandsMap[d.frequency.value]=d;}}setGain(i,t=0){if(!this.bandsMap[i])throw new Error(`No band found for frequency ${i}`);lt.setParamValue(this.bandsMap[i].gain,t);}getGain(i){if(!this.bandsMap[i])throw new Error(`No band found for frequency ${i}`);return this.bandsMap[i].gain.value}set f32(i){this.setGain(Z.F32,i);}get f32(){return this.getGain(Z.F32)}set f64(i){this.setGain(Z.F64,i);}get f64(){return this.getGain(Z.F64)}set f125(i){this.setGain(Z.F125,i);}get f125(){return this.getGain(Z.F125)}set f250(i){this.setGain(Z.F250,i);}get f250(){return this.getGain(Z.F250)}set f500(i){this.setGain(Z.F500,i);}get f500(){return this.getGain(Z.F500)}set f1k(i){this.setGain(Z.F1K,i);}get f1k(){return this.getGain(Z.F1K)}set f2k(i){this.setGain(Z.F2K,i);}get f2k(){return this.getGain(Z.F2K)}set f4k(i){this.setGain(Z.F4K,i);}get f4k(){return this.getGain(Z.F4K)}set f8k(i){this.setGain(Z.F8K,i);}get f8k(){return this.getGain(Z.F8K)}set f16k(i){this.setGain(Z.F16K,i);}get f16k(){return this.getGain(Z.F16K)}reset(){this.bands.forEach(i=>{lt.setParamValue(i.gain,0);});}destroy(){this.bands.forEach(i=>{i.disconnect();}),this.bands=null,this.bandsMap=null;}},Ot=Z;Ot.F32=32;Ot.F64=64;Ot.F125=125;Ot.F250=250;Ot.F500=500;Ot.F1K=1e3;Ot.F2K=2e3;Ot.F4K=4e3;Ot.F8K=8e3;Ot.F16K=16e3;var ji=class extends dt{constructor(){let t,e;if(!K().useLegacy){let{audioContext:r}=K().context;e=r.createChannelSplitter(),t=r.createChannelMerger(),t.connect(e);}super(t,e),this._merger=t;}destroy(){this._merger?.disconnect(),this._merger=null,super.destroy();}};var qi=class extends dt{constructor(t=3,e=2,r=false){super(null),this._seconds=this._clamp(t,1,50),this._decay=this._clamp(e,0,100),this._reverse=r,this._rebuild();}_clamp(t,e,r){return Math.min(r,Math.max(e,t))}get seconds(){return this._seconds}set seconds(t){this._seconds=this._clamp(t,1,50),this._rebuild();}get decay(){return this._decay}set decay(t){this._decay=this._clamp(t,0,100),this._rebuild();}get reverse(){return this._reverse}set reverse(t){this._reverse=t,this._rebuild();}_rebuild(){if(K().useLegacy)return;let{audioContext:t}=K().context,e=t.sampleRate,r=e*this._seconds,s=t.createBuffer(2,r,e),o=s.getChannelData(0),n=s.getChannelData(1),a;for(let h=0;h<r;h++)a=this._reverse?r-h:h,o[h]=(Math.random()*2-1)*Math.pow(1-a/r,this._decay),n[h]=(Math.random()*2-1)*Math.pow(1-a/r,this._decay);let l=t.createConvolver();l.buffer=s,this.init(l);}};var Ki=class extends dt{constructor(t=0){let e,r,s;if(!K().useLegacy){let{audioContext:o}=K().context;o.createStereoPanner?(e=o.createStereoPanner(),s=e):(r=o.createPanner(),r.panningModel="equalpower",s=r);}super(s),this._stereo=e,this._panner=r,this.pan=t;}set pan(t){this._pan=t,this._stereo?lt.setParamValue(this._stereo.pan,t):this._panner&&this._panner.setPosition(t,0,1-Math.abs(t));}get pan(){return this._pan}destroy(){super.destroy(),this._stereo=null,this._panner=null;}};var Zi=class extends dt{constructor(){let t,e;if(!K().useLegacy){let{audioContext:r}=K().context;t=r.createMediaStreamDestination(),e=r.createMediaStreamSource(t.stream);}super(t,e),this._stream=t?.stream;}get stream(){return this._stream}destroy(){this._stream=null,super.destroy();}};var Qi=class extends dt{constructor(){let t,e;if(!K().useLegacy){let{audioContext:r}=K().context,s=r.createBiquadFilter(),o=r.createBiquadFilter(),n=r.createBiquadFilter(),a=r.createBiquadFilter();s.type="lowpass",lt.setParamValue(s.frequency,2e3),o.type="lowpass",lt.setParamValue(o.frequency,2e3),n.type="highpass",lt.setParamValue(n.frequency,500),a.type="highpass",lt.setParamValue(a.frequency,500),s.connect(o),o.connect(n),n.connect(a),t=s,e=a;}super(t,e);}};B();var Ym={extension:{type:S.Environment,name:"browser",priority:-1},test:()=>true,load:async()=>{await Promise.resolve().then(()=>($m(),v_));}};B();var jm={extension:{type:S.Environment,name:"webworker",priority:0},test:()=>typeof self<"u"&&self.WorkerGlobalScope!==void 0,load:async()=>{await Promise.resolve().then(()=>(Xm(),S_));}};B();B();As();vs();Pn();Xt();Dn();Xr();Et();bs();I.add(Ym,jm);var Di=class extends N{constructor(){super(...arguments),this.speed=1,this.muted=false,this.volume=1,this.paused=false;}refresh(){this.emit("refresh");}refreshPaused(){this.emit("refreshPaused");}get filters(){return console.warn("HTML Audio does not support filters"),null}set filters(t){console.warn("HTML Audio does not support filters");}get audioContext(){return console.warn("HTML Audio does not support audioContext"),null}toggleMute(){return this.muted=!this.muted,this.refresh(),this.muted}togglePause(){return this.paused=!this.paused,this.refreshPaused(),this.paused}destroy(){this.removeAllListeners();}};var T_=0,yl=class extends N{constructor(i){super(),this.id=T_++,this.init(i);}set(i,t){if(this[i]===void 0)throw new Error(`Property with name ${i} does not exist.`);switch(i){case "speed":this.speed=t;break;case "volume":this.volume=t;break;case "paused":this.paused=t;break;case "loop":this.loop=t;break;case "muted":this.muted=t;break}return this}get progress(){let{currentTime:i}=this._source;return i/this._duration}get paused(){return this._paused}set paused(i){this._paused=i,this.refreshPaused();}_onPlay(){this._playing=true;}_onPause(){this._playing=false;}init(i){this._playing=false,this._duration=i.source.duration;let t=this._source=i.source.cloneNode(false);t.src=i.parent.url,t.onplay=this._onPlay.bind(this),t.onpause=this._onPause.bind(this),i.context.on("refresh",this.refresh,this),i.context.on("refreshPaused",this.refreshPaused,this),this._media=i;}_internalStop(){this._source&&this._playing&&(this._source.onended=null,this._source.pause());}stop(){this._internalStop(),this._source&&this.emit("stop");}get speed(){return this._speed}set speed(i){this._speed=i,this.refresh();}get volume(){return this._volume}set volume(i){this._volume=i,this.refresh();}get loop(){return this._loop}set loop(i){this._loop=i,this.refresh();}get muted(){return this._muted}set muted(i){this._muted=i,this.refresh();}get filters(){return console.warn("HTML Audio does not support filters"),null}set filters(i){console.warn("HTML Audio does not support filters");}refresh(){let i=this._media.context,t=this._media.parent;this._source.loop=this._loop||t.loop;let e=i.volume*(i.muted?0:1),r=t.volume*(t.muted?0:1),s=this._volume*(this._muted?0:1);this._source.volume=s*e*r,this._source.playbackRate=this._speed*i.speed*t.speed;}refreshPaused(){let i=this._media.context,t=this._media.parent,e=this._paused||t.paused||i.paused;e!==this._pausedReal&&(this._pausedReal=e,e?(this._internalStop(),this.emit("paused")):(this.emit("resumed"),this.play({start:this._source.currentTime,end:this._end,volume:this._volume,speed:this._speed,loop:this._loop})),this.emit("pause",e));}play(i){let{start:t,end:e,speed:r,loop:s,volume:o,muted:n}=i;e&&console.assert(e>t,"End time is before start time"),this._speed=r,this._volume=o,this._loop=!!s,this._muted=n,this.refresh(),this.loop&&e!==null&&(console.warn('Looping not support when specifying an "end" time'),this.loop=false),this._start=t,this._end=e||this._duration,this._start=Math.max(0,this._start-yl.PADDING),this._end=Math.min(this._end+yl.PADDING,this._duration),this._source.onloadedmetadata=()=>{this._source&&(this._source.currentTime=t,this._source.onloadedmetadata=null,this.emit("progress",t/this._duration,this._duration),xt.shared.add(this._onUpdate,this));},this._source.onended=this._onComplete.bind(this),this._source.play(),this.emit("start");}_onUpdate(){this.emit("progress",this.progress,this._duration),this._source.currentTime>=this._end&&!this._source.loop&&this._onComplete();}_onComplete(){xt.shared.remove(this._onUpdate,this),this._internalStop(),this.emit("progress",1,this._duration),this.emit("end",this);}destroy(){xt.shared.remove(this._onUpdate,this),this.removeAllListeners();let i=this._source;i&&(i.onended=null,i.onplay=null,i.onpause=null,this._internalStop()),this._source=null,this._speed=1,this._volume=1,this._loop=false,this._end=null,this._start=0,this._duration=0,this._playing=false,this._pausedReal=false,this._paused=false,this._muted=false,this._media&&(this._media.context.off("refresh",this.refresh,this),this._media.context.off("refreshPaused",this.refreshPaused,this),this._media=null);}toString(){return `[HTMLAudioInstance id=${this.id}]`}},Bo=yl;Bo.PADDING=.1;var Ui=class extends N{init(t){this.parent=t,this._source=t.options.source||new Audio,t.url&&(this._source.src=t.url);}create(){return new Bo(this)}get isPlayable(){return !!this._source&&this._source.readyState===4}get duration(){return this._source.duration}get context(){return this.parent.context}get filters(){return null}set filters(t){console.warn("HTML Audio does not support filters");}destroy(){this.removeAllListeners(),this.parent=null,this._source&&(this._source.src="",this._source.load(),this._source=null);}get source(){return this._source}load(t){let e=this._source,r=this.parent;if(e.readyState===4){r.isLoaded=true;let l=r.autoPlayStart();t&&setTimeout(()=>{t(null,r,l);},0);return}if(!r.url){t(new Error("sound.url or sound.source must be set"));return}e.src=r.url;let s=()=>{a(),r.isLoaded=true;let l=r.autoPlayStart();t&&t(null,r,l);},o=()=>{a(),t&&t(new Error("Sound loading has been aborted"));},n=()=>{a();let l=`Failed to load audio element (code: ${e.error.code})`;t?t(new Error(l)):console.error(l);},a=()=>{e.removeEventListener("canplaythrough",s),e.removeEventListener("load",s),e.removeEventListener("abort",o),e.removeEventListener("error",n);};e.addEventListener("canplaythrough",s,false),e.addEventListener("load",s,false),e.addEventListener("abort",o,false),e.addEventListener("error",n,false),e.load();}};var Li=class{constructor(t,e){this.parent=t,Object.assign(this,e),this.duration=this.end-this.start,console.assert(this.duration>0,"End time must be after start time");}play(t){return this.parent.play({complete:t,speed:this.speed||this.parent.speed,end:this.end,start:this.start,loop:this.loop})}destroy(){this.parent=null;}};var Ye=["ogg","oga","opus","m4a","mp3","mpeg","wav","aiff","wma","mid","caf"],bl=["audio/mpeg","audio/ogg"],Xe={};function qm(i){let t={m4a:"audio/mp4",oga:"audio/ogg",opus:'audio/ogg; codecs="opus"',caf:'audio/x-caf; codecs="opus"',...{}},e=document.createElement("audio"),r={},s=/^no$/;Ye.forEach(o=>{let n=e.canPlayType(`audio/${o}`).replace(s,""),a=t[o]?e.canPlayType(t[o]).replace(s,""):"";r[o]=!!n||!!a;}),Object.assign(Xe,r);}qm();var P_=0,Oi=class extends N{constructor(t){super(),this.id=P_++,this._media=null,this._paused=false,this._muted=false,this._elapsed=0,this.init(t);}set(t,e){if(this[t]===void 0)throw new Error(`Property with name ${t} does not exist.`);switch(t){case "speed":this.speed=e;break;case "volume":this.volume=e;break;case "muted":this.muted=e;break;case "loop":this.loop=e;break;case "paused":this.paused=e;break}return this}stop(){this._source&&(this._internalStop(),this.emit("stop"));}get speed(){return this._speed}set speed(t){this._speed=t,this.refresh(),this._update(true);}get volume(){return this._volume}set volume(t){this._volume=t,this.refresh();}get muted(){return this._muted}set muted(t){this._muted=t,this.refresh();}get loop(){return this._loop}set loop(t){this._loop=t,this.refresh();}get filters(){return this._filters}set filters(t){this._filters&&(this._filters?.filter(e=>e).forEach(e=>e.disconnect()),this._filters=null,this._source.connect(this._gain)),this._filters=t?.length?t.slice(0):null,this.refresh();}refresh(){if(!this._source)return;let t=this._media.context,e=this._media.parent;this._source.loop=this._loop||e.loop;let r=t.volume*(t.muted?0:1),s=e.volume*(e.muted?0:1),o=this._volume*(this._muted?0:1);lt.setParamValue(this._gain.gain,o*s*r),lt.setParamValue(this._source.playbackRate,this._speed*e.speed*t.speed),this.applyFilters();}applyFilters(){if(this._filters?.length){this._source.disconnect();let t=this._source;this._filters.forEach(e=>{t.connect(e.destination),t=e;}),t.connect(this._gain);}}refreshPaused(){let t=this._media.context,e=this._media.parent,r=this._paused||e.paused||t.paused;r!==this._pausedReal&&(this._pausedReal=r,r?(this._internalStop(),this.emit("paused")):(this.emit("resumed"),this.play({start:this._elapsed%this._duration,end:this._end,speed:this._speed,loop:this._loop,volume:this._volume})),this.emit("pause",r));}play(t){let{start:e,end:r,speed:s,loop:o,volume:n,muted:a,filters:l}=t;r&&console.assert(r>e,"End time is before start time"),this._paused=false;let{source:h,gain:u}=this._media.nodes.cloneBufferSource();this._source=h,this._gain=u,this._speed=s,this._volume=n,this._loop=!!o,this._muted=a,this._filters=l,this.refresh();let c=this._source.buffer.duration;this._duration=c,this._end=r,this._lastUpdate=this._now(),this._elapsed=e,this._source.onended=this._onComplete.bind(this),this._loop?(this._source.loopEnd=r,this._source.loopStart=e,this._source.start(0,e)):r?this._source.start(0,e,r-e):this._source.start(0,e),this.emit("start"),this._update(true),this.enableTicker(true);}enableTicker(t){xt.shared.remove(this._updateListener,this),t&&xt.shared.add(this._updateListener,this);}get progress(){return this._progress}get paused(){return this._paused}set paused(t){this._paused=t,this.refreshPaused();}destroy(){this.removeAllListeners(),this._internalStop(),this._gain&&(this._gain.disconnect(),this._gain=null),this._media&&(this._media.context.events.off("refresh",this.refresh,this),this._media.context.events.off("refreshPaused",this.refreshPaused,this),this._media=null),this._filters?.forEach(t=>t.disconnect()),this._filters=null,this._end=null,this._speed=1,this._volume=1,this._loop=false,this._elapsed=0,this._duration=0,this._paused=false,this._muted=false,this._pausedReal=false;}toString(){return `[WebAudioInstance id=${this.id}]`}_now(){return this._media.context.audioContext.currentTime}_updateListener(){this._update();}_update(t=false){if(this._source){let e=this._now(),r=e-this._lastUpdate;if(r>0||t){let s=this._source.playbackRate.value;this._elapsed+=r*s,this._lastUpdate=e;let o=this._duration,n;if(this._source.loopStart){let a=this._source.loopEnd-this._source.loopStart;n=(this._source.loopStart+this._elapsed%a)/o;}else n=this._elapsed%o/o;this._progress=n,this.emit("progress",this._progress,o);}}}init(t){this._media=t,t.context.events.on("refresh",this.refresh,this),t.context.events.on("refreshPaused",this.refreshPaused,this);}_internalStop(){if(this._source){this.enableTicker(false),this._source.onended=null,this._source.stop(0),this._source.disconnect();try{this._source.buffer=null;}catch(t){console.warn("Failed to set AudioBufferSourceNode.buffer to null:",t);}this._source=null;}}_onComplete(){if(this._source){this.enableTicker(false),this._source.onended=null,this._source.disconnect();try{this._source.buffer=null;}catch(t){console.warn("Failed to set AudioBufferSourceNode.buffer to null:",t);}}this._source=null,this._progress=1,this.emit("progress",1,this._duration),this.emit("end",this);}};var je=class{constructor(t,e){this._output=e,this._input=t;}get destination(){return this._input}get filters(){return this._filters}set filters(t){if(this._filters&&(this._filters.forEach(e=>{e&&e.disconnect();}),this._filters=null,this._input.connect(this._output)),t&&t.length){this._filters=t.slice(0),this._input.disconnect();let e=null;t.forEach(r=>{e===null?this._input.connect(r.destination):e.connect(r.destination),e=r;}),e.connect(this._output);}}destroy(){this.filters=null,this._input=null,this._output=null;}};var Km=class extends je{constructor(i){let t=i.audioContext,e=t.createBufferSource(),r=t.createGain(),s=t.createAnalyser();e.connect(s),s.connect(r),r.connect(i.destination),super(s,r),this.context=i,this.bufferSource=e,this.gain=r,this.analyser=s;}get script(){return this._script||(this._script=this.context.audioContext.createScriptProcessor(Km.BUFFER_SIZE),this._script.connect(this.context.destination)),this._script}destroy(){super.destroy(),this.bufferSource.disconnect(),this._script&&this._script.disconnect(),this.gain.disconnect(),this.analyser.disconnect(),this.bufferSource=null,this._script=null,this.gain=null,this.analyser=null,this.context=null;}cloneBufferSource(){let i=this.bufferSource,t=this.context.audioContext.createBufferSource();t.buffer=i.buffer,lt.setParamValue(t.playbackRate,i.playbackRate.value),t.loop=i.loop;let e=this.context.audioContext.createGain();return t.connect(e),e.connect(this.destination),{source:t,gain:e}}get bufferSize(){return this.script.bufferSize}},ko=Km;ko.BUFFER_SIZE=0;var qe=class{init(t){this.parent=t,this._nodes=new ko(this.context),this._source=this._nodes.bufferSource,this.source=t.options.source;}destroy(){this.parent=null,this._nodes.destroy(),this._nodes=null;try{this._source.buffer=null;}catch(t){console.warn("Failed to set AudioBufferSourceNode.buffer to null:",t);}this._source=null,this.source=null;}create(){return new Oi(this)}get context(){return this.parent.context}get isPlayable(){return !!this._source&&!!this._source.buffer}get filters(){return this._nodes.filters}set filters(t){this._nodes.filters=t;}get duration(){return console.assert(this.isPlayable,"Sound not yet playable, no duration"),this._source.buffer.duration}get buffer(){return this._source.buffer}set buffer(t){this._source.buffer=t;}get nodes(){return this._nodes}load(t){this.source?this._decode(this.source,t):this.parent.url?this._loadUrl(t):t?t(new Error("sound.url or sound.source must be set")):console.error("sound.url or sound.source must be set");}async _loadUrl(t){let e=this.parent.url,r=await nt.get().fetch(e);this._decode(await r.arrayBuffer(),t);}_decode(t,e){let r=(s,o)=>{if(s)e&&e(s);else {this.parent.isLoaded=true,this.buffer=o;let n=this.parent.autoPlayStart();e&&e(null,this.parent,n);}};t instanceof AudioBuffer?r(null,t):this.parent.context.decode(t,r);}};var Er=class{static from(i){let t={};typeof i=="string"?t.url=i:i instanceof ArrayBuffer||i instanceof AudioBuffer||i instanceof HTMLAudioElement?t.source=i:Array.isArray(i)?t.url=i:t=i,t={autoPlay:false,singleInstance:false,url:null,source:null,preload:false,volume:1,speed:1,complete:null,loaded:null,loop:false,...t},Object.freeze(t);let e=K().useLegacy?new Ui:new qe;return new Er(e,t)}constructor(i,t){this.media=i,this.options=t,this._instances=[],this._sprites={},this.media.init(this);let e=t.complete;this._autoPlayOptions=e?{complete:e}:null,this.isLoaded=false,this._preloadQueue=null,this.isPlaying=false,this.autoPlay=t.autoPlay,this.singleInstance=t.singleInstance,this.preload=t.preload||this.autoPlay,this.url=Array.isArray(t.url)?this.preferUrl(t.url):t.url,this.speed=t.speed,this.volume=t.volume,this.loop=t.loop,t.sprites&&this.addSprites(t.sprites),this.preload&&this._preload(t.loaded);}preferUrl(i){let[t]=i.map(e=>({url:e,ext:kt.extname(e).slice(1)})).filter(({ext:e})=>Xe[e]).sort((e,r)=>Ye.indexOf(e.ext)-Ye.indexOf(r.ext));if(!t)throw new Error("No supported file type found");return t.url}get context(){return K().context}pause(){return this.isPlaying=false,this.paused=true,this}resume(){return this.isPlaying=this._instances.length>0,this.paused=false,this}get paused(){return this._paused}set paused(i){this._paused=i,this.refreshPaused();}get speed(){return this._speed}set speed(i){this._speed=i,this.refresh();}get filters(){return this.media.filters}set filters(i){this.media.filters=i;}addSprites(i,t){if(typeof i=="object"){let r={};for(let s in i)r[s]=this.addSprites(s,i[s]);return r}console.assert(!this._sprites[i],`Alias ${i} is already taken`);let e=new Li(this,t);return this._sprites[i]=e,e}destroy(){this._removeInstances(),this.removeSprites(),this.media.destroy(),this.media=null,this._sprites=null,this._instances=null;}removeSprites(i){if(i){let t=this._sprites[i];t!==void 0&&(t.destroy(),delete this._sprites[i]);}else for(let t in this._sprites)this.removeSprites(t);return this}get isPlayable(){return this.isLoaded&&this.media&&this.media.isPlayable}stop(){if(!this.isPlayable)return this.autoPlay=false,this._autoPlayOptions=null,this;this.isPlaying=false;for(let i=this._instances.length-1;i>=0;i--)this._instances[i].stop();return this}play(i,t){let e;if(typeof i=="string"?e={sprite:i,loop:this.loop,complete:t}:typeof i=="function"?(e={},e.complete=i):e=i,e={complete:null,loaded:null,sprite:null,end:null,start:0,volume:1,speed:1,muted:false,loop:false,...e||{}},e.sprite){let s=e.sprite;console.assert(!!this._sprites[s],`Alias ${s} is not available`);let o=this._sprites[s];e.start=o.start+(e.start||0),e.end=o.end,e.speed=o.speed||1,e.loop=o.loop||e.loop,delete e.sprite;}if(e.offset&&(e.start=e.offset),!this.isLoaded)return this._preloadQueue?new Promise(s=>{this._preloadQueue.push(()=>{s(this.play(e));});}):(this._preloadQueue=[],this.autoPlay=true,this._autoPlayOptions=e,new Promise((s,o)=>{this._preload((n,a,l)=>{this._preloadQueue.forEach(h=>h()),this._preloadQueue=null,n?o(n):(e.loaded&&e.loaded(n,a,l),s(l));});}));(this.singleInstance||e.singleInstance)&&this._removeInstances();let r=this._createInstance();return this._instances.push(r),this.isPlaying=true,r.once("end",()=>{e.complete&&e.complete(this),this._onComplete(r);}),r.once("stop",()=>{this._onComplete(r);}),r.play(e),r}refresh(){let i=this._instances.length;for(let t=0;t<i;t++)this._instances[t].refresh();}refreshPaused(){let i=this._instances.length;for(let t=0;t<i;t++)this._instances[t].refreshPaused();}get volume(){return this._volume}set volume(i){this._volume=i,this.refresh();}get muted(){return this._muted}set muted(i){this._muted=i,this.refresh();}get loop(){return this._loop}set loop(i){this._loop=i,this.refresh();}_preload(i){this.media.load(i);}get instances(){return this._instances}get sprites(){return this._sprites}get duration(){return this.media.duration}autoPlayStart(){let i;return this.autoPlay&&(i=this.play(this._autoPlayOptions)),i}_removeInstances(){for(let i=this._instances.length-1;i>=0;i--)this._poolInstance(this._instances[i]);this._instances.length=0;}_onComplete(i){if(this._instances){let t=this._instances.indexOf(i);t>-1&&this._instances.splice(t,1),this.isPlaying=this._instances.length>0;}this._poolInstance(i);}_createInstance(){if(Er._pool.length>0){let i=Er._pool.pop();return i.init(this.media),i}return this.media.create()}_poolInstance(i){i.destroy(),Er._pool.indexOf(i)<0&&Er._pool.push(i);}},Lt=Er;Lt._pool=[];var Fr=class i extends je{constructor(){let t=window,e=new i.AudioContext,r=e.createDynamicsCompressor(),s=e.createAnalyser();s.connect(r),r.connect(e.destination),super(s,r),this.autoPause=true,this._ctx=e,this._offlineCtx=new i.OfflineAudioContext(1,2,t.OfflineAudioContext?Math.max(8e3,Math.min(96e3,e.sampleRate)):44100),this.compressor=r,this.analyser=s,this.events=new N,this.volume=1,this.speed=1,this.muted=false,this.paused=false,this._locked=e.state==="suspended"&&("ontouchstart"in globalThis||"onclick"in globalThis),this._locked&&(this._unlock(),this._unlock=this._unlock.bind(this),document.addEventListener("mousedown",this._unlock,true),document.addEventListener("touchstart",this._unlock,true),document.addEventListener("touchend",this._unlock,true)),this.onFocus=this.onFocus.bind(this),this.onBlur=this.onBlur.bind(this),globalThis.addEventListener("focus",this.onFocus),globalThis.addEventListener("blur",this.onBlur);}onFocus(){if(!this.autoPause)return;let t=this._ctx.state;(t==="suspended"||t==="interrupted"||!this._locked)&&(this.paused=this._pausedOnBlur,this.refreshPaused());}onBlur(){this.autoPause&&(this._locked||(this._pausedOnBlur=this._paused,this.paused=true,this.refreshPaused()));}_unlock(){this._locked&&(this.playEmptySound(),this._ctx.state==="running"&&(document.removeEventListener("mousedown",this._unlock,true),document.removeEventListener("touchend",this._unlock,true),document.removeEventListener("touchstart",this._unlock,true),this._locked=false));}playEmptySound(){let t=this._ctx.createBufferSource();t.buffer=this._ctx.createBuffer(1,1,22050),t.connect(this._ctx.destination),t.start(0,0,0),t.context.state==="suspended"&&t.context.resume();}static get AudioContext(){let t=window;return t.AudioContext||t.webkitAudioContext||null}static get OfflineAudioContext(){let t=window;return t.OfflineAudioContext||t.webkitOfflineAudioContext||null}destroy(){super.destroy();let t=this._ctx;typeof t.close<"u"&&t.close(),globalThis.removeEventListener("focus",this.onFocus),globalThis.removeEventListener("blur",this.onBlur),this.events.removeAllListeners(),this.analyser.disconnect(),this.compressor.disconnect(),this.analyser=null,this.compressor=null,this.events=null,this._offlineCtx=null,this._ctx=null;}get audioContext(){return this._ctx}get offlineContext(){return this._offlineCtx}set paused(t){t&&this._ctx.state==="running"?this._ctx.suspend():!t&&this._ctx.state==="suspended"&&this._ctx.resume(),this._paused=t;}get paused(){return this._paused}refresh(){this.events.emit("refresh");}refreshPaused(){this.events.emit("refreshPaused");}toggleMute(){return this.muted=!this.muted,this.refresh(),this.muted}togglePause(){return this.paused=!this.paused,this.refreshPaused(),this._paused}decode(t,e){let r=o=>{e(new Error(o?.message||"Unable to decode file"));},s=this._offlineCtx.decodeAudioData(t,o=>{e(null,o);},r);s&&s.catch(r);}};var Br=class{constructor(){this.init();}init(){return this.supported&&(this._webAudioContext=new Fr),this._htmlAudioContext=new Di,this._sounds={},this.useLegacy=!this.supported,this}get context(){return this._context}get filtersAll(){return this.useLegacy?[]:this._context.filters}set filtersAll(t){this.useLegacy||(this._context.filters=t);}get supported(){return Fr.AudioContext!==null}add(t,e){if(typeof t=="object"){let o={};for(let n in t){let a=this._getOptions(t[n],e);o[n]=this.add(n,a);}return o}if(console.assert(!this._sounds[t],`Sound with alias ${t} already exists.`),e instanceof Lt)return this._sounds[t]=e,e;let r=this._getOptions(e),s=Lt.from(r);return this._sounds[t]=s,s}_getOptions(t,e){let r;return typeof t=="string"?r={url:t}:Array.isArray(t)?r={url:t}:t instanceof ArrayBuffer||t instanceof AudioBuffer||t instanceof HTMLAudioElement?r={source:t}:r=t,r={...r,...e||{}},r}get useLegacy(){return this._useLegacy}set useLegacy(t){this._useLegacy=t,this._context=!t&&this.supported?this._webAudioContext:this._htmlAudioContext;}get disableAutoPause(){return !this._webAudioContext.autoPause}set disableAutoPause(t){this._webAudioContext.autoPause=!t;}remove(t){return this.exists(t,true),this._sounds[t].destroy(),delete this._sounds[t],this}get volumeAll(){return this._context.volume}set volumeAll(t){this._context.volume=t,this._context.refresh();}get speedAll(){return this._context.speed}set speedAll(t){this._context.speed=t,this._context.refresh();}togglePauseAll(){return this._context.togglePause()}pauseAll(){return this._context.paused=true,this._context.refreshPaused(),this}resumeAll(){return this._context.paused=false,this._context.refreshPaused(),this}toggleMuteAll(){return this._context.toggleMute()}muteAll(){return this._context.muted=true,this._context.refresh(),this}unmuteAll(){return this._context.muted=false,this._context.refresh(),this}removeAll(){for(let t in this._sounds)this._sounds[t].destroy(),delete this._sounds[t];return this}stopAll(){for(let t in this._sounds)this._sounds[t].stop();return this}exists(t,e=false){let r=!!this._sounds[t];return e&&console.assert(r,`No sound matching alias '${t}'.`),r}isPlaying(){for(let t in this._sounds)if(this._sounds[t].isPlaying)return true;return false}find(t){return this.exists(t,true),this._sounds[t]}play(t,e){return this.find(t).play(e)}stop(t){return this.find(t).stop()}pause(t){return this.find(t).pause()}resume(t){return this.find(t).resume()}volume(t,e){let r=this.find(t);return e!==void 0&&(r.volume=e),r.volume}speed(t,e){let r=this.find(t);return e!==void 0&&(r.speed=e),r.speed}duration(t){return this.find(t).duration}close(){return this.removeAll(),this._sounds=null,this._webAudioContext&&(this._webAudioContext.destroy(),this._webAudioContext=null),this._htmlAudioContext&&(this._htmlAudioContext.destroy(),this._htmlAudioContext=null),this._context=null,this}};var Zm=i=>{let t=i.src,e=i?.alias?.[0];return (!e||i.src===e)&&(e=kt.basename(t,kt.extname(t))),e},Qm={extension:S.Asset,detection:{test:async()=>true,add:async i=>[...i,...Ye.filter(t=>Xe[t])],remove:async i=>i.filter(t=>i.includes(t))},loader:{name:"sound",extension:{type:[S.LoadParser],priority:sr.High},test(i){let t=kt.extname(i).slice(1);return !!Xe[t]||bl.some(e=>i.startsWith(`data:${e}`))},async load(i,t){let e=await new Promise((r,s)=>Lt.from({...t.data,url:i,preload:true,loaded(o,n){o?s(o):r(n),t.data?.loaded?.(o,n);}}));return K().add(Zm(t),e),e},async unload(i,t){K().remove(Zm(t));}}};I.add(Qm);var X=El(new Br);var et;(s=>(s.log=(o,...n)=>console.log(`[Pixi\u2019VN] ${o}`,...n),s.warn=(o,...n)=>console.warn(`[Pixi\u2019VN] ${o}`,...n),s.error=(o,...n)=>console.error(`[Pixi\u2019VN] ${o}`,...n),s.info=(o,...n)=>console.info(`[Pixi\u2019VN] ${o}`,...n)))(et||(et={}));var R=class R{static init(t){R._getStepCounter=t.getStepCounter,R._setStepCounter=t.setStepCounter,R._getCurrentGameStepState=t.getCurrentGameStepState,R._restoreGameStepState=t.restoreGameStepState,R._getOpenedLabels=t.getOpenedLabels,t.onGoNextEnd&&(R._onGoNextEnd=t.onGoNextEnd),R._getVariable=t.getVariable,R._setVariable=t.setVariable,R._removeVariable=t.removeVariable,R._getFlag=t.getFlag,R._setFlag=t.setFlag,t.onLabelClosing&&(R._onLabelClosing=t.onLabelClosing),R._addHistoryItem=t.addHistoryItem,R._getCurrentStepsRunningNumber=t.getCurrentStepsRunningNumber,R._getCharacter=t.getCharacter;}static get stepCounter(){return R._getStepCounter()}static set stepCounter(t){R._setStepCounter(t);}static get currentGameStepState(){return R._getCurrentGameStepState()}static get restoreGameStepState(){return R._restoreGameStepState}static get openedLabels(){return R._getOpenedLabels()}static get onGoNextEnd(){return R._onGoNextEnd}static get getVariable(){return R._getVariable}static get setVariable(){return R._setVariable}static get removeVariable(){return R._removeVariable}static get getFlag(){return R._getFlag}static get setFlag(){return R._setFlag}static get onLabelClosing(){return R._onLabelClosing}static get addHistoryItem(){return R._addHistoryItem}static get currentStepsRunningNumber(){return R._getCurrentStepsRunningNumber()}static get getCharacter(){return R._getCharacter}};rt(R,"_getStepCounter",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_setStepCounter",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_getCurrentGameStepState",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_restoreGameStepState",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_getOpenedLabels",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_onGoNextEnd",async()=>{}),rt(R,"_getVariable",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_setVariable",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_removeVariable",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_getFlag",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_setFlag",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_onLabelClosing",()=>{}),rt(R,"_addHistoryItem",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_getCurrentStepsRunningNumber",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_getCharacter",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented.")}),rt(R,"onEnd"),rt(R,"onError");var ne=R;function zi(i){try{if(typeof i>"u")return i;let t=JSON.stringify(i);return JSON.parse(t)}catch(t){throw et.error("Error creating exportable element",i,t),new Error("[Pixi\u2019VN] Error creating exportable element")}}var D=class{constructor(){}};rt(D,"soundAliasesOrder",[]),rt(D,"soundsPlaying",{}),rt(D,"sounds",{});var Ke=class i extends Lt{constructor(){super(...arguments);rt(this,"alias");}pause(){if(!this.alias)throw new Error("[Pixi\u2019VN] The alias is not defined.");let e=D.soundsPlaying[this.alias];if(!e)throw new Error("[Pixi\u2019VN] The alias is not found in the playInStepIndex.");return D.soundsPlaying[this.alias]={...e,paused:true},super.pause()}resume(){if(!this.alias)throw new Error("[Pixi\u2019VN] The alias is not defined.");let e=D.soundsPlaying[this.alias];if(!e)throw new Error("[Pixi\u2019VN] The alias is not found in the playInStepIndex.");return D.soundsPlaying[this.alias]={options:e.options,stepIndex:ne.stepCounter,paused:false},super.resume()}destroy(){return this.alias&&delete D.soundsPlaying[this.alias],super.destroy()}stop(){if(!this.alias)throw new Error("[Pixi\u2019VN] The alias is not defined.");return delete D.soundsPlaying[this.alias],super.stop()}play(e){if(typeof e=="string"&&(this.alias=e),!this.alias)throw new Error("[Pixi\u2019VN] The alias is not defined.");return D.soundsPlaying[this.alias]={stepIndex:ne.stepCounter,options:e,paused:false},super.play(e)}static from(e){let r=Lt.from(e);return new i(r.media,r.options)}};function Wi(i){let t=[];for(let e of i)e.type==="TelephoneFilter"?t.push(new ft.TelephoneFilter):e.type==="StreamFilter"?t.push(new ft.StreamFilter):e.type==="StereoFilter"?t.push(new ft.StereoFilter(e.pan)):e.type==="ReverbFilter"?t.push(new ft.ReverbFilter(e.seconds,e.decay,e.reverse)):e.type==="MonoFilter"?t.push(new ft.MonoFilter):e.type==="EqualizerFilter"?t.push(new ft.EqualizerFilter(e.f32,e.f64,e.f125,e.f250,e.f500,e.f1k,e.f2k,e.f4k,e.f8k,e.f16k)):e.type==="DistortionFilter"?t.push(new ft.DistortionFilter(e.amount)):et.error("Unknown sound filter type");return t}function vl(i){if(!i)return;let t=[];for(let e of i)e instanceof ft.TelephoneFilter?t.push({type:"TelephoneFilter"}):e instanceof ft.StreamFilter?t.push({type:"StreamFilter"}):e instanceof ft.StereoFilter?t.push({type:"StereoFilter",pan:e.pan}):e instanceof ft.ReverbFilter?t.push({type:"ReverbFilter",seconds:e.seconds,decay:e.decay,reverse:e.reverse}):e instanceof ft.MonoFilter?t.push({type:"MonoFilter"}):e instanceof ft.EqualizerFilter?t.push({type:"EqualizerFilter",f32:e.f32,f64:e.f64,f125:e.f125,f250:e.f250,f500:e.f500,f1k:e.f1k,f2k:e.f2k,f4k:e.f4k,f8k:e.f8k,f16k:e.f16k}):e instanceof ft.DistortionFilter?t.push({type:"DistortionFilter",amount:e.amount}):et.error("Unknown sound filter type");return t}var Vi=class extends Br{constructor(){super();}get context(){return X.context}get filtersAll(){return X.filtersAll}set filtersAll(t){X.filtersAll=t.filter(e=>!(e instanceof ft.Filter));}get supported(){return X.supported}getOptions(t,e){let r;return typeof t=="string"?r={url:t}:Array.isArray(t)?r={url:t}:t instanceof ArrayBuffer||t instanceof AudioBuffer||t instanceof HTMLAudioElement?r={source:t}:r=t,r={...r,...e||{}},r}add(t,e){if(typeof t=="object")throw new Error("[Pixi\u2019VN] The method add(map: SoundSourceMap, globalOptions?: Options) is deprecated. Use add(alias: string, options: Options | string | ArrayBuffer | AudioBuffer | HTMLAudioElement | Sound): Sound; instead.");this.exists(t)&&this.remove(t),e instanceof Lt&&(e=e.options);let r;if(e instanceof Ke)r=e;else {let s=this.getOptions(e||{});r=Ke.from(s);}return r.alias=t,!D.soundAliasesOrder.includes(t)&&D.soundAliasesOrder.push(t),D.sounds[t]=r,X.add(t,r),r}get useLegacy(){return X.useLegacy}set useLegacy(t){X.useLegacy=t;}get disableAutoPause(){return X.disableAutoPause}set disableAutoPause(t){X.disableAutoPause=t;}remove(t){return D.soundAliasesOrder=D.soundAliasesOrder.filter(e=>e!==t),delete D.soundsPlaying[t],delete D.sounds[t],X.remove(t)}get volumeAll(){return X.volumeAll}set volumeAll(t){X.volumeAll=t;}get speedAll(){return X.speedAll}set speedAll(t){X.speedAll=t;}togglePauseAll(){return X.togglePauseAll()}pauseAll(){return X.pauseAll()}resumeAll(){return X.resumeAll()}toggleMuteAll(){return X.toggleMuteAll()}muteAll(){return X.muteAll()}unmuteAll(){return X.unmuteAll()}removeAll(){return D.soundAliasesOrder=[],D.soundsPlaying={},D.sounds={},X.removeAll()}stopAll(){for(let t in D.sounds)D.sounds[t].stop();return D.soundsPlaying={},X.stopAll()}exists(t,e){return X.exists(t,e)||t in D.sounds}isPlaying(){return X.isPlaying()}find(t){let e=D.sounds[t];return e||(e=X.find(t),e&&(D.sounds[t]=e),e)}play(t,e){if(!this.exists(t))throw new Error("[Pixi\u2019VN] The alias is not found in the sound library.");return D.soundsPlaying[t]={stepIndex:ne.stepCounter,options:e,paused:false},X.play(t,e)}stop(t){return delete D.soundsPlaying[t],X.stop(t)}pause(t){let e=D.soundsPlaying[t];if(!e)throw new Error("[Pixi\u2019VN] The alias is not found in the playInStepIndex.");return D.soundsPlaying[t]={...e,paused:true},X.pause(t)}resume(t){let e=D.soundsPlaying[t];if(!e)throw new Error("[Pixi\u2019VN] The alias is not found in the playInStepIndex.");return D.soundsPlaying[t]={options:e.options,stepIndex:ne.stepCounter,paused:false},X.resume(t)}volume(t,e){return X.volume(t,e)}speed(t,e){return X.speed(t,e)}duration(t){return X.duration(t)}close(){return X.close()}clear(){this.stopAll();}export(){let t={};for(let e in D.soundsPlaying){let r=D.soundsPlaying[e],s=this.find(e);s&&(t[e]={...r,sound:{options:{...s.options,autoPlay:s.autoPlay,loop:s.loop,preload:s.preload,singleInstance:s.singleInstance,url:s.options.url,volume:s.options.volume},filters:vl(s.media.filters)}});}return {soundsPlaying:zi(t),soundAliasesOrder:zi(D.soundAliasesOrder),filters:zi(vl(this.filtersAll))}}removeOldSoundAndExport(){return this.export()}restore(t){let e=ne.stepCounter-1;this.clear();try{if(t.hasOwnProperty("soundAliasesOrder"))D.soundAliasesOrder=t.soundAliasesOrder;else {et.error("The data does not have the properties soundAliasesOrder");return}if(t.hasOwnProperty("filters")){let r=t.filters;r&&(this.filtersAll=Wi(r));}if(t.hasOwnProperty("playInStepIndex")){let r=t.playInStepIndex;r&&(D.soundsPlaying=r);}if(t.hasOwnProperty("sounds")){let r=t.sounds;for(let s in r){let o=r[s],n=!1,a=this.add(s,{...o.options,autoPlay:!1});if(s in D.soundsPlaying){let l=D.soundsPlaying[s];(o.options.loop||l.options&&typeof l.options=="object"&&l.options.loop||l.stepIndex===e)&&(n=!0),o.filters&&(a.filters=Wi(o.filters)),n&&a.play();}}}if(t.hasOwnProperty("soundsPlaying")){let r=t.soundsPlaying;for(let s in r){let o=r[s];D.soundsPlaying[s]={paused:o.paused,stepIndex:o.stepIndex,options:o.options};let n=r[s].sound,a=!1,l;if(this.exists(s)?(l=this.find(s),n.options.url=l.options.url,n.options.volume=l.options.volume,l.options=n.options,l.autoPlay=!1,l.filters=n.filters?Wi(n.filters):[]):l=this.add(s,{...n.options,autoPlay:!1}),s in D.soundsPlaying){let h=D.soundsPlaying[s];(n.options.loop||h.options&&typeof h.options=="object"&&h.options.loop||h.stepIndex===e)&&(a=!0),n.filters&&(l.filters=Wi(n.filters)),a&&l.play();}}}else {et.error("The data does not have the properties soundsPlaying");return}}catch(r){et.error("Error importing data",r);}}};var nR=new Vi;export{Ke as Sound,D as SoundManagerStatic,nR as sound};
571
+ `}};});var dl,fl,Fo,wm=p(()=>{tt();zs();bm();$s();ui();Se();bt();Tm();Fo=class extends re{constructor(){dl??(dl=dr({name:"tiling-sprite-shader",bits:[Bi,vm,pr]})),fl??(fl=fr({name:"tiling-sprite-shader",bits:[ym,Sm,mr]}));let t=new Ct({uMapCoord:{value:new P,type:"mat3x3<f32>"},uClampFrame:{value:new Float32Array([0,0,1,1]),type:"vec4<f32>"},uClampOffset:{value:new Float32Array([0,0]),type:"vec2<f32>"},uTextureTransform:{value:new P,type:"mat3x3<f32>"},uSizeAnchor:{value:new Float32Array([100,100,.5,.5]),type:"vec4<f32>"}});super({glProgram:fl,gpuProgram:dl,resources:{localUniforms:new Ct({uTransformMatrix:{value:new P,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),tilingUniforms:t,uTexture:B.EMPTY.source,uSampler:B.EMPTY.source.style}});}updateUniforms(t,e,r,s,o,n){let a=this.resources.tilingUniforms,l=n.width,h=n.height,u=n.textureMatrix,c=a.uniforms.uTextureTransform;c.set(r.a*l/t,r.b*l/e,r.c*h/t,r.d*h/e,r.tx/t,r.ty/e),c.invert(),a.uniforms.uMapCoord=u.mapCoord,a.uniforms.uClampFrame=u.uClampFrame,a.uniforms.uClampOffset=u.uClampOffset,a.uniforms.uTextureTransform=c,a.uniforms.uSizeAnchor[0]=t,a.uniforms.uSizeAnchor[1]=e,a.uniforms.uSizeAnchor[2]=s,a.uniforms.uSizeAnchor[3]=o,n&&(this.resources.uTexture=n.source,this.resources.uSampler=n.source.style);}};});var Bo,Pm=p(()=>{Eo();Bo=class extends Cr{constructor(){super({positions:new Float32Array([0,0,1,0,1,1,0,1]),uvs:new Float32Array([0,0,1,0,1,1,0,1]),indices:new Uint32Array([0,1,2,0,2,3])});}};});function Mm(i,t){let e=i.anchor.x,r=i.anchor.y;t[0]=-e*i.width,t[1]=-r*i.height,t[2]=(1-e)*i.width,t[3]=-r*i.height,t[4]=(1-e)*i.width,t[5]=(1-r)*i.height,t[6]=-e*i.width,t[7]=(1-r)*i.height;}var Am=p(()=>{});function Cm(i,t,e,r){let s=0,o=i.length/(t),n=r.a,a=r.b,l=r.c,h=r.d,u=r.tx,c=r.ty;for(e*=t;s<o;){let f=i[e],d=i[e+1];i[e]=n*f+l*d+u,i[e+1]=a*f+h*d+c,e+=t,s++;}}var Em=p(()=>{});function Fm(i,t){let e=i.texture,r=e.frame.width,s=e.frame.height,o=0,n=0;i.applyAnchorToTexture&&(o=i.anchor.x,n=i.anchor.y),t[0]=t[6]=-o,t[2]=t[4]=1-o,t[1]=t[3]=-n,t[5]=t[7]=1-n;let a=P.shared;a.copyFrom(i._tileTransform.matrix),a.tx/=i.width,a.ty/=i.height,a.invert(),a.scale(i.width/r,i.height/s),Cm(t,2,0,a);}var Bm=p(()=>{tt();Em();});var ko,pl,ki,km=p(()=>{k();ni();to();hi();mi();eo();Eo();wm();Pm();Am();Bm();ko=new Bo,pl=class{constructor(){this.canBatch=true,this.geometry=new Cr({indices:ko.indices.slice(),positions:ko.positions.slice(),uvs:ko.uvs.slice()});}destroy(){this.geometry.destroy(),this.shader?.destroy();}},ki=class{constructor(t){this._state=Ve.default2d,this._renderer=t;}validateRenderable(t){let e=this._getTilingSpriteData(t),r=e.canBatch;this._updateCanBatch(t);let s=e.canBatch;if(s&&s===r){let{batchableMesh:o}=e;return !o._batcher.checkAndUpdateTexture(o,t.texture)}return r!==s}addRenderable(t,e){let r=this._renderer.renderPipes.batch;this._updateCanBatch(t);let s=this._getTilingSpriteData(t),{geometry:o,canBatch:n}=s;if(n){s.batchableMesh||(s.batchableMesh=new we);let a=s.batchableMesh;t.didViewUpdate&&(this._updateBatchableMesh(t),a.geometry=o,a.renderable=t,a.transform=t.groupTransform,a.setTexture(t._texture)),a.roundPixels=this._renderer._roundPixels|t._roundPixels,r.addToBatch(a,e);}else r.break(e),s.shader||(s.shader=new Fo),this.updateRenderable(t),e.add(t);}execute(t){let{shader:e}=this._getTilingSpriteData(t);e.groups[0]=this._renderer.globalUniforms.bindGroup;let r=e.resources.localUniforms.uniforms;r.uTransformMatrix=t.groupTransform,r.uRound=this._renderer._roundPixels|t._roundPixels,Te(t.groupColorAlpha,r.uColor,0),this._state.blendMode=de(t.groupBlendMode,t.texture._source),this._renderer.encoder.draw({geometry:ko,shader:e,state:this._state});}updateRenderable(t){let e=this._getTilingSpriteData(t),{canBatch:r}=e;if(r){let{batchableMesh:s}=e;t.didViewUpdate&&this._updateBatchableMesh(t),s._batcher.updateElement(s);}else if(t.didViewUpdate){let{shader:s}=e;s.updateUniforms(t.width,t.height,t._tileTransform.matrix,t.anchor.x,t.anchor.y,t.texture);}}_getTilingSpriteData(t){return t._gpuData[this._renderer.uid]||this._initTilingSpriteData(t)}_initTilingSpriteData(t){let e=new pl;return e.renderable=t,t._gpuData[this._renderer.uid]=e,e}_updateBatchableMesh(t){let e=this._getTilingSpriteData(t),{geometry:r}=e,s=t.texture.source.style;s.addressMode!=="repeat"&&(s.addressMode="repeat",s.update()),Fm(t,r.uvs),Mm(t,r.positions);}destroy(){this._renderer=null;}_updateCanBatch(t){let e=this._getTilingSpriteData(t),r=t.texture,s=true;return this._renderer.type===ee.WEBGL&&(s=this._renderer.context.supports.nonPowOf2wrapping),e.canBatch=r.textureMatrix.isSimple&&(s||r.source.isPowerOfTwo),e.canBatch}};ki.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"tilingSprite"};});var ml=p(()=>{k();km();I.add(ki);});var Gm,Rm,Dm=p(()=>{lt();Eo();Gm=class Im extends Cr{constructor(...t){super({});let e=t[0]??{};typeof e=="number"&&(F(V,"PlaneGeometry constructor changed please use { width, height, verticesX, verticesY } instead"),e={width:e,height:t[1],verticesX:t[2],verticesY:t[3]}),this.build(e);}build(t){t={...Im.defaultOptions,...t},this.verticesX=this.verticesX??t.verticesX,this.verticesY=this.verticesY??t.verticesY,this.width=this.width??t.width,this.height=this.height??t.height;let e=this.verticesX*this.verticesY,r=[],s=[],o=[],n=this.verticesX-1,a=this.verticesY-1,l=this.width/n,h=this.height/a;for(let c=0;c<e;c++){let f=c%this.verticesX,d=c/this.verticesX|0;r.push(f*l,d*h),s.push(f/n,d/a);}let u=n*a;for(let c=0;c<u;c++){let f=c%n,d=c/n|0,g=d*this.verticesX+f,x=d*this.verticesX+f+1,m=(d+1)*this.verticesX+f,_=(d+1)*this.verticesX+f+1;o.push(g,x,m,x,_,m);}this.buffers[0].data=new Float32Array(r),this.buffers[1].data=new Float32Array(s),this.indexBuffer.data=new Uint32Array(o),this.buffers[0].update(),this.buffers[1].update(),this.indexBuffer.update();}};Gm.defaultOptions={width:100,height:100,verticesX:10,verticesY:10};Rm=Gm;});var Lm,Om,zm=p(()=>{Dm();Lm=class Um extends Rm{constructor(t={}){t={...Um.defaultOptions,...t},super({width:t.width,height:t.height,verticesX:4,verticesY:4}),this.update(t);}update(t){this.width=t.width??this.width,this.height=t.height??this.height,this._originalWidth=t.originalWidth??this._originalWidth,this._originalHeight=t.originalHeight??this._originalHeight,this._leftWidth=t.leftWidth??this._leftWidth,this._rightWidth=t.rightWidth??this._rightWidth,this._topHeight=t.topHeight??this._topHeight,this._bottomHeight=t.bottomHeight??this._bottomHeight,this._anchorX=t.anchor?.x,this._anchorY=t.anchor?.y,this.updateUvs(),this.updatePositions();}updatePositions(){let t=this.positions,{width:e,height:r,_leftWidth:s,_rightWidth:o,_topHeight:n,_bottomHeight:a,_anchorX:l,_anchorY:h}=this,u=s+o,c=e>u?1:e/u,f=n+a,d=r>f?1:r/f,g=Math.min(c,d),x=l*e,m=h*r;t[0]=t[8]=t[16]=t[24]=-x,t[2]=t[10]=t[18]=t[26]=s*g-x,t[4]=t[12]=t[20]=t[28]=e-o*g-x,t[6]=t[14]=t[22]=t[30]=e-x,t[1]=t[3]=t[5]=t[7]=-m,t[9]=t[11]=t[13]=t[15]=n*g-m,t[17]=t[19]=t[21]=t[23]=r-a*g-m,t[25]=t[27]=t[29]=t[31]=r-m,this.getBuffer("aPosition").update();}updateUvs(){let t=this.uvs;t[0]=t[8]=t[16]=t[24]=0,t[1]=t[3]=t[5]=t[7]=0,t[6]=t[14]=t[22]=t[30]=1,t[25]=t[27]=t[29]=t[31]=1;let e=1/this._originalWidth,r=1/this._originalHeight;t[2]=t[10]=t[18]=t[26]=e*this._leftWidth,t[9]=t[11]=t[13]=t[15]=r*this._topHeight,t[4]=t[12]=t[20]=t[28]=1-e*this._rightWidth,t[17]=t[19]=t[21]=t[23]=1-r*this._bottomHeight,this.getBuffer("aUV").update();}};Lm.defaultOptions={width:100,height:100,leftWidth:10,topHeight:10,rightWidth:10,bottomHeight:10,originalWidth:100,originalHeight:100};Om=Lm;});var gl,Gi,Wm=p(()=>{k();eo();zm();gl=class extends we{constructor(){super(),this.geometry=new Om;}destroy(){this.geometry.destroy();}},Gi=class{constructor(t){this._renderer=t;}addRenderable(t,e){let r=this._getGpuSprite(t);t.didViewUpdate&&this._updateBatchableSprite(t,r),this._renderer.renderPipes.batch.addToBatch(r,e);}updateRenderable(t){let e=this._getGpuSprite(t);t.didViewUpdate&&this._updateBatchableSprite(t,e),e._batcher.updateElement(e);}validateRenderable(t){let e=this._getGpuSprite(t);return !e._batcher.checkAndUpdateTexture(e,t._texture)}_updateBatchableSprite(t,e){e.geometry.update(t),e.setTexture(t._texture);}_getGpuSprite(t){return t._gpuData[this._renderer.uid]||this._initGPUSprite(t)}_initGPUSprite(t){let e=t._gpuData[this._renderer.uid]=new gl,r=e;return r.renderable=t,r.transform=t.groupTransform,r.texture=t._texture,r.roundPixels=this._renderer._roundPixels|t._roundPixels,t.didViewUpdate||this._updateBatchableSprite(t,r),e}destroy(){this._renderer=null;}};Gi.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"nineSliceSprite"};});var xl=p(()=>{k();Wm();I.add(Gi);});var Ii,Vm=p(()=>{k();Ii=class{constructor(t){this._renderer=t;}push(t,e,r){this._renderer.renderPipes.batch.break(r),r.add({renderPipeId:"filter",canBundle:false,action:"pushFilter",container:e,filterEffect:t});}pop(t,e,r){this._renderer.renderPipes.batch.break(r),r.add({renderPipeId:"filter",action:"popFilter",canBundle:false});}execute(t){t.action==="pushFilter"?this._renderer.filter.push(t):t.action==="popFilter"&&this._renderer.filter.pop();}destroy(){this._renderer=null;}};Ii.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"filter"};});function Hm(i,t){t.clear();let e=t.matrix;for(let r=0;r<i.length;r++){let s=i[r];s.globalDisplayStatus<7||(t.matrix=s.worldTransform,t.addBounds(s.bounds));}return t.matrix=e,t}var Nm=p(()=>{});var v_,_l,Ri,$m=p(()=>{k();tt();oi();li();Se();bt();tr();hi();$t();Nm();Tt();v_=new te({attributes:{aPosition:{buffer:new Float32Array([0,0,1,0,1,1,0,1]),format:"float32x2",stride:2*4,offset:0}},indexBuffer:new Uint32Array([0,1,2,0,2,3])}),_l=class{constructor(){this.skip=false,this.inputTexture=null,this.backTexture=null,this.filters=null,this.bounds=new ot,this.container=null,this.blendRequired=false,this.outputRenderSurface=null,this.globalFrame={x:0,y:0,width:0,height:0};}},Ri=class{constructor(t){this._filterStackIndex=0,this._filterStack=[],this._filterGlobalUniforms=new Ct({uInputSize:{value:new Float32Array(4),type:"vec4<f32>"},uInputPixel:{value:new Float32Array(4),type:"vec4<f32>"},uInputClamp:{value:new Float32Array(4),type:"vec4<f32>"},uOutputFrame:{value:new Float32Array(4),type:"vec4<f32>"},uGlobalFrame:{value:new Float32Array(4),type:"vec4<f32>"},uOutputTexture:{value:new Float32Array(4),type:"vec4<f32>"}}),this._globalFilterBindGroup=new Vt({}),this.renderer=t;}get activeBackTexture(){return this._activeFilterData?.backTexture}push(t){let e=this.renderer,r=t.filterEffect.filters,s=this._pushFilterData();s.skip=false,s.filters=r,s.container=t.container,s.outputRenderSurface=e.renderTarget.renderSurface;let o=e.renderTarget.renderTarget.colorTexture.source,n=o.resolution,a=o.antialias;if(r.length===0){s.skip=true;return}let l=s.bounds;if(this._calculateFilterArea(t,l),this._calculateFilterBounds(s,e.renderTarget.rootViewPort,a,n,1),s.skip)return;let h=this._getPreviousFilterData(),u=this._findFilterResolution(n),c=0,f=0;h&&(c=h.bounds.minX,f=h.bounds.minY),this._calculateGlobalFrame(s,c,f,u,o.width,o.height),this._setupFilterTextures(s,l,e,h);}generateFilteredTexture({texture:t,filters:e}){let r=this._pushFilterData();this._activeFilterData=r,r.skip=false,r.filters=e;let s=t.source,o=s.resolution,n=s.antialias;if(e.length===0)return r.skip=true,t;let a=r.bounds;if(a.addRect(t.frame),this._calculateFilterBounds(r,a.rectangle,n,o,0),r.skip)return t;let l=o;this._calculateGlobalFrame(r,0,0,l,s.width,s.height),r.outputRenderSurface=wt.getOptimalTexture(a.width,a.height,r.resolution,r.antialias),r.backTexture=B.EMPTY,r.inputTexture=t,this.renderer.renderTarget.finishRenderPass(),this._applyFiltersToTexture(r,true);let f=r.outputRenderSurface;return f.source.alphaMode="premultiplied-alpha",f}pop(){let t=this.renderer,e=this._popFilterData();e.skip||(t.globalUniforms.pop(),t.renderTarget.finishRenderPass(),this._activeFilterData=e,this._applyFiltersToTexture(e,false),e.blendRequired&&wt.returnTexture(e.backTexture),wt.returnTexture(e.inputTexture));}getBackTexture(t,e,r){let s=t.colorTexture.source._resolution,o=wt.getOptimalTexture(e.width,e.height,s,false),n=e.minX,a=e.minY;r&&(n-=r.minX,a-=r.minY),n=Math.floor(n*s),a=Math.floor(a*s);let l=Math.ceil(e.width*s),h=Math.ceil(e.height*s);return this.renderer.renderTarget.copyToTexture(t,o,{x:n,y:a},{width:l,height:h},{x:0,y:0}),o}applyFilter(t,e,r,s){let o=this.renderer,n=this._activeFilterData,l=n.outputRenderSurface===r,h=o.renderTarget.rootRenderTarget.colorTexture.source._resolution,u=this._findFilterResolution(h),c=0,f=0;if(l){let d=this._findPreviousFilterOffset();c=d.x,f=d.y;}this._updateFilterUniforms(e,r,n,c,f,u,l,s),this._setupBindGroupsAndRender(t,e,o);}calculateSpriteMatrix(t,e){let r=this._activeFilterData,s=t.set(r.inputTexture._source.width,0,0,r.inputTexture._source.height,r.bounds.minX,r.bounds.minY),o=e.worldTransform.copyTo(P.shared),n=e.renderGroup||e.parentRenderGroup;return n&&n.cacheToLocalTransform&&o.prepend(n.cacheToLocalTransform),o.invert(),s.prepend(o),s.scale(1/e.texture.frame.width,1/e.texture.frame.height),s.translate(e.anchor.x,e.anchor.y),s}destroy(){}_setupBindGroupsAndRender(t,e,r){if(r.renderPipes.uniformBatch){let s=r.renderPipes.uniformBatch.getUboResource(this._filterGlobalUniforms);this._globalFilterBindGroup.setResource(s,0);}else this._globalFilterBindGroup.setResource(this._filterGlobalUniforms,0);this._globalFilterBindGroup.setResource(e.source,1),this._globalFilterBindGroup.setResource(e.source.style,2),t.groups[0]=this._globalFilterBindGroup,r.encoder.draw({geometry:v_,shader:t,state:t._state,topology:"triangle-list"}),r.type===ee.WEBGL&&r.renderTarget.finishRenderPass();}_setupFilterTextures(t,e,r,s){if(t.backTexture=B.EMPTY,t.blendRequired){r.renderTarget.finishRenderPass();let o=r.renderTarget.getRenderTarget(t.outputRenderSurface);t.backTexture=this.getBackTexture(o,e,s?.bounds);}t.inputTexture=wt.getOptimalTexture(e.width,e.height,t.resolution,t.antialias),r.renderTarget.bind(t.inputTexture,true),r.globalUniforms.push({offset:e});}_calculateGlobalFrame(t,e,r,s,o,n){let a=t.globalFrame;a.x=e*s,a.y=r*s,a.width=o*s,a.height=n*s;}_updateFilterUniforms(t,e,r,s,o,n,a,l){let h=this._filterGlobalUniforms.uniforms,u=h.uOutputFrame,c=h.uInputSize,f=h.uInputPixel,d=h.uInputClamp,g=h.uGlobalFrame,x=h.uOutputTexture;a?(u[0]=r.bounds.minX-s,u[1]=r.bounds.minY-o):(u[0]=0,u[1]=0),u[2]=t.frame.width,u[3]=t.frame.height,c[0]=t.source.width,c[1]=t.source.height,c[2]=1/c[0],c[3]=1/c[1],f[0]=t.source.pixelWidth,f[1]=t.source.pixelHeight,f[2]=1/f[0],f[3]=1/f[1],d[0]=.5*f[2],d[1]=.5*f[3],d[2]=t.frame.width*c[2]-.5*f[2],d[3]=t.frame.height*c[3]-.5*f[3];let m=this.renderer.renderTarget.rootRenderTarget.colorTexture;g[0]=s*n,g[1]=o*n,g[2]=m.source.width*n,g[3]=m.source.height*n,e instanceof B&&(e.source.resource=null);let _=this.renderer.renderTarget.getRenderTarget(e);this.renderer.renderTarget.bind(e,!!l),e instanceof B?(x[0]=e.frame.width,x[1]=e.frame.height):(x[0]=_.width,x[1]=_.height),x[2]=_.isRoot?-1:1,this._filterGlobalUniforms.update();}_findFilterResolution(t){let e=this._filterStackIndex-1;for(;e>0&&this._filterStack[e].skip;)--e;return e>0&&this._filterStack[e].inputTexture?this._filterStack[e].inputTexture.source._resolution:t}_findPreviousFilterOffset(){let t=0,e=0,r=this._filterStackIndex;for(;r>0;){r--;let s=this._filterStack[r];if(!s.skip){t=s.bounds.minX,e=s.bounds.minY;break}}return {x:t,y:e}}_calculateFilterArea(t,e){if(t.renderables?Hm(t.renderables,e):t.filterEffect.filterArea?(e.clear(),e.addRect(t.filterEffect.filterArea),e.applyMatrix(t.container.worldTransform)):t.container.getFastGlobalBounds(true,e),t.container){let s=(t.container.renderGroup||t.container.parentRenderGroup).cacheToLocalTransform;s&&e.applyMatrix(s);}}_applyFiltersToTexture(t,e){let r=t.inputTexture,s=t.bounds,o=t.filters;if(this._globalFilterBindGroup.setResource(r.source.style,2),this._globalFilterBindGroup.setResource(t.backTexture.source,3),o.length===1)o[0].apply(this,r,t.outputRenderSurface,e);else {let n=t.inputTexture,a=wt.getOptimalTexture(s.width,s.height,n.source._resolution,false),l=a,h=0;for(h=0;h<o.length-1;++h){o[h].apply(this,n,l,true);let c=n;n=l,l=c;}o[h].apply(this,n,t.outputRenderSurface,e),wt.returnTexture(a);}}_calculateFilterBounds(t,e,r,s,o){let n=this.renderer,a=t.bounds,l=t.filters,h=1/0,u=0,c=true,f=false,d=false,g=true;for(let x=0;x<l.length;x++){let m=l[x];if(h=Math.min(h,m.resolution==="inherit"?s:m.resolution),u+=m.padding,m.antialias==="off"?c=false:m.antialias==="inherit"&&c&&(c=r),m.clipToViewport||(g=false),!!!(m.compatibleRenderers&n.type)){d=false;break}if(m.blendRequired&&!(n.backBuffer?.useBackBuffer??true)){z("Blend filter requires backBuffer on WebGL renderer to be enabled. Set `useBackBuffer: true` in the renderer options."),d=false;break}d=m.enabled||d,f||(f=m.blendRequired);}if(!d){t.skip=true;return}if(g&&a.fitBounds(0,e.width/s,0,e.height/s),a.scale(h).ceil().scale(1/h).pad((u|0)*o),!a.isPositive){t.skip=true;return}t.antialias=c,t.resolution=h,t.blendRequired=f;}_popFilterData(){return this._filterStackIndex--,this._filterStack[this._filterStackIndex]}_getPreviousFilterData(){let t,e=this._filterStackIndex-1;for(;e>1&&(e--,t=this._filterStack[e],!!t.skip););return t}_pushFilterData(){let t=this._filterStack[this._filterStackIndex];return t||(t=this._filterStack[this._filterStackIndex]=new _l),this._filterStackIndex++,t}};Ri.extension={type:[S.WebGLSystem,S.WebGPUSystem],name:"filter"};});var yl=p(()=>{k();Vm();$m();I.add(Ri);I.add(Ii);});var S_={};var Ym=p(()=>{fu();xn();vu();Tu();Ts();Es();Ma();Aa();Ba();el();ll();cl();ml();xl();yl();});var T_={};var jm=p(()=>{xn();Ts();Es();Ma();Aa();Ba();el();ll();cl();ml();xl();yl();});var ft={};hg(ft,{DistortionFilter:()=>Xi,EqualizerFilter:()=>Ot,Filter:()=>dt,MonoFilter:()=>ji,ReverbFilter:()=>qi,StereoFilter:()=>Ki,StreamFilter:()=>Zi,TelephoneFilter:()=>Qi});var El;function Fl(i){return El=i,i}function K(){return El}var dt=class{constructor(t,e){this.init(t,e);}init(t,e){this.destination=t,this.source=e||t;}connect(t){this.source?.connect(t);}disconnect(){this.source?.disconnect();}destroy(){this.disconnect(),this.destination=null,this.source=null;}};var Xi=class extends dt{constructor(t=0){let e;if(!K().useLegacy){let{audioContext:r}=K().context;e=r.createWaveShaper();}super(e),this._distortion=e,this.amount=t;}set amount(t){if(this._amount=t,K().useLegacy)return;let e=t*1e3,r=44100,s=new Float32Array(r),o=Math.PI/180,n=0,a;for(;n<r;++n)a=n*2/r-1,s[n]=(3+e)*a*20*o/(Math.PI+e*Math.abs(a));this._distortion.curve=s,this._distortion.oversample="4x";}get amount(){return this._amount}destroy(){this._distortion=null,super.destroy();}};var ht=class{static setParamValue(t,e){if(t.setValueAtTime){let r=K().context;t.setValueAtTime(e,r.audioContext.currentTime);}else t.value=e;return e}};var Z=class extends dt{constructor(i=0,t=0,e=0,r=0,s=0,o=0,n=0,a=0,l=0,h=0){let u=[],c=[{f:Z.F32,type:"lowshelf",gain:i},{f:Z.F64,type:"peaking",gain:t},{f:Z.F125,type:"peaking",gain:e},{f:Z.F250,type:"peaking",gain:r},{f:Z.F500,type:"peaking",gain:s},{f:Z.F1K,type:"peaking",gain:o},{f:Z.F2K,type:"peaking",gain:n},{f:Z.F4K,type:"peaking",gain:a},{f:Z.F8K,type:"peaking",gain:l},{f:Z.F16K,type:"highshelf",gain:h}];K().useLegacy||(u=c.map(f=>{let d=K().context.audioContext.createBiquadFilter();return d.type=f.type,ht.setParamValue(d.Q,1),d.frequency.value=f.f,ht.setParamValue(d.gain,f.gain),d})),super(u[0],u[u.length-1]),this.bands=u,this.bandsMap={};for(let f=0;f<this.bands.length;f++){let d=this.bands[f];f>0&&this.bands[f-1].connect(d),this.bandsMap[d.frequency.value]=d;}}setGain(i,t=0){if(!this.bandsMap[i])throw new Error(`No band found for frequency ${i}`);ht.setParamValue(this.bandsMap[i].gain,t);}getGain(i){if(!this.bandsMap[i])throw new Error(`No band found for frequency ${i}`);return this.bandsMap[i].gain.value}set f32(i){this.setGain(Z.F32,i);}get f32(){return this.getGain(Z.F32)}set f64(i){this.setGain(Z.F64,i);}get f64(){return this.getGain(Z.F64)}set f125(i){this.setGain(Z.F125,i);}get f125(){return this.getGain(Z.F125)}set f250(i){this.setGain(Z.F250,i);}get f250(){return this.getGain(Z.F250)}set f500(i){this.setGain(Z.F500,i);}get f500(){return this.getGain(Z.F500)}set f1k(i){this.setGain(Z.F1K,i);}get f1k(){return this.getGain(Z.F1K)}set f2k(i){this.setGain(Z.F2K,i);}get f2k(){return this.getGain(Z.F2K)}set f4k(i){this.setGain(Z.F4K,i);}get f4k(){return this.getGain(Z.F4K)}set f8k(i){this.setGain(Z.F8K,i);}get f8k(){return this.getGain(Z.F8K)}set f16k(i){this.setGain(Z.F16K,i);}get f16k(){return this.getGain(Z.F16K)}reset(){this.bands.forEach(i=>{ht.setParamValue(i.gain,0);});}destroy(){this.bands.forEach(i=>{i.disconnect();}),this.bands=null,this.bandsMap=null;}},Ot=Z;Ot.F32=32;Ot.F64=64;Ot.F125=125;Ot.F250=250;Ot.F500=500;Ot.F1K=1e3;Ot.F2K=2e3;Ot.F4K=4e3;Ot.F8K=8e3;Ot.F16K=16e3;var ji=class extends dt{constructor(){let t,e;if(!K().useLegacy){let{audioContext:r}=K().context;e=r.createChannelSplitter(),t=r.createChannelMerger(),t.connect(e);}super(t,e),this._merger=t;}destroy(){this._merger?.disconnect(),this._merger=null,super.destroy();}};var qi=class extends dt{constructor(t=3,e=2,r=false){super(null),this._seconds=this._clamp(t,1,50),this._decay=this._clamp(e,0,100),this._reverse=r,this._rebuild();}_clamp(t,e,r){return Math.min(r,Math.max(e,t))}get seconds(){return this._seconds}set seconds(t){this._seconds=this._clamp(t,1,50),this._rebuild();}get decay(){return this._decay}set decay(t){this._decay=this._clamp(t,0,100),this._rebuild();}get reverse(){return this._reverse}set reverse(t){this._reverse=t,this._rebuild();}_rebuild(){if(K().useLegacy)return;let{audioContext:t}=K().context,e=t.sampleRate,r=e*this._seconds,s=t.createBuffer(2,r,e),o=s.getChannelData(0),n=s.getChannelData(1),a;for(let h=0;h<r;h++)a=this._reverse?r-h:h,o[h]=(Math.random()*2-1)*Math.pow(1-a/r,this._decay),n[h]=(Math.random()*2-1)*Math.pow(1-a/r,this._decay);let l=t.createConvolver();l.buffer=s,this.init(l);}};var Ki=class extends dt{constructor(t=0){let e,r,s;if(!K().useLegacy){let{audioContext:o}=K().context;o.createStereoPanner?(e=o.createStereoPanner(),s=e):(r=o.createPanner(),r.panningModel="equalpower",s=r);}super(s),this._stereo=e,this._panner=r,this.pan=t;}set pan(t){this._pan=t,this._stereo?ht.setParamValue(this._stereo.pan,t):this._panner&&this._panner.setPosition(t,0,1-Math.abs(t));}get pan(){return this._pan}destroy(){super.destroy(),this._stereo=null,this._panner=null;}};var Zi=class extends dt{constructor(){let t,e;if(!K().useLegacy){let{audioContext:r}=K().context;t=r.createMediaStreamDestination(),e=r.createMediaStreamSource(t.stream);}super(t,e),this._stream=t?.stream;}get stream(){return this._stream}destroy(){this._stream=null,super.destroy();}};var Qi=class extends dt{constructor(){let t,e;if(!K().useLegacy){let{audioContext:r}=K().context,s=r.createBiquadFilter(),o=r.createBiquadFilter(),n=r.createBiquadFilter(),a=r.createBiquadFilter();s.type="lowpass",ht.setParamValue(s.frequency,2e3),o.type="lowpass",ht.setParamValue(o.frequency,2e3),n.type="highpass",ht.setParamValue(n.frequency,500),a.type="highpass",ht.setParamValue(a.frequency,500),s.connect(o),o.connect(n),n.connect(a),t=s,e=a;}super(t,e);}};k();var Xm={extension:{type:S.Environment,name:"browser",priority:-1},test:()=>true,load:async()=>{await Promise.resolve().then(()=>(Ym(),S_));}};k();var qm={extension:{type:S.Environment,name:"webworker",priority:0},test:()=>typeof self<"u"&&self.WorkerGlobalScope!==void 0,load:async()=>{await Promise.resolve().then(()=>(jm(),T_));}};k();k();Es();Ts();Mn();Xt();Ln();Xr();Et();Ss();I.add(Xm,qm);var Di=class extends N{constructor(){super(...arguments),this.speed=1,this.muted=false,this.volume=1,this.paused=false;}refresh(){this.emit("refresh");}refreshPaused(){this.emit("refreshPaused");}get filters(){return console.warn("HTML Audio does not support filters"),null}set filters(t){console.warn("HTML Audio does not support filters");}get audioContext(){return console.warn("HTML Audio does not support audioContext"),null}toggleMute(){return this.muted=!this.muted,this.refresh(),this.muted}togglePause(){return this.paused=!this.paused,this.refreshPaused(),this.paused}destroy(){this.removeAllListeners();}};var w_=0,bl=class extends N{constructor(i){super(),this.id=w_++,this.init(i);}set(i,t){if(this[i]===void 0)throw new Error(`Property with name ${i} does not exist.`);switch(i){case "speed":this.speed=t;break;case "volume":this.volume=t;break;case "paused":this.paused=t;break;case "loop":this.loop=t;break;case "muted":this.muted=t;break}return this}get progress(){let{currentTime:i}=this._source;return i/this._duration}get paused(){return this._paused}set paused(i){this._paused=i,this.refreshPaused();}_onPlay(){this._playing=true;}_onPause(){this._playing=false;}init(i){this._playing=false,this._duration=i.source.duration;let t=this._source=i.source.cloneNode(false);t.src=i.parent.url,t.onplay=this._onPlay.bind(this),t.onpause=this._onPause.bind(this),i.context.on("refresh",this.refresh,this),i.context.on("refreshPaused",this.refreshPaused,this),this._media=i;}_internalStop(){this._source&&this._playing&&(this._source.onended=null,this._source.pause());}stop(){this._internalStop(),this._source&&this.emit("stop");}get speed(){return this._speed}set speed(i){this._speed=i,this.refresh();}get volume(){return this._volume}set volume(i){this._volume=i,this.refresh();}get loop(){return this._loop}set loop(i){this._loop=i,this.refresh();}get muted(){return this._muted}set muted(i){this._muted=i,this.refresh();}get filters(){return console.warn("HTML Audio does not support filters"),null}set filters(i){console.warn("HTML Audio does not support filters");}refresh(){let i=this._media.context,t=this._media.parent;this._source.loop=this._loop||t.loop;let e=i.volume*(i.muted?0:1),r=t.volume*(t.muted?0:1),s=this._volume*(this._muted?0:1);this._source.volume=s*e*r,this._source.playbackRate=this._speed*i.speed*t.speed;}refreshPaused(){let i=this._media.context,t=this._media.parent,e=this._paused||t.paused||i.paused;e!==this._pausedReal&&(this._pausedReal=e,e?(this._internalStop(),this.emit("paused")):(this.emit("resumed"),this.play({start:this._source.currentTime,end:this._end,volume:this._volume,speed:this._speed,loop:this._loop})),this.emit("pause",e));}play(i){let{start:t,end:e,speed:r,loop:s,volume:o,muted:n}=i;e&&console.assert(e>t,"End time is before start time"),this._speed=r,this._volume=o,this._loop=!!s,this._muted=n,this.refresh(),this.loop&&e!==null&&(console.warn('Looping not support when specifying an "end" time'),this.loop=false),this._start=t,this._end=e||this._duration,this._start=Math.max(0,this._start-bl.PADDING),this._end=Math.min(this._end+bl.PADDING,this._duration),this._source.onloadedmetadata=()=>{this._source&&(this._source.currentTime=t,this._source.onloadedmetadata=null,this.emit("progress",t/this._duration,this._duration),gt.shared.add(this._onUpdate,this));},this._source.onended=this._onComplete.bind(this),this._source.play(),this.emit("start");}_onUpdate(){this.emit("progress",this.progress,this._duration),this._source.currentTime>=this._end&&!this._source.loop&&this._onComplete();}_onComplete(){gt.shared.remove(this._onUpdate,this),this._internalStop(),this.emit("progress",1,this._duration),this.emit("end",this);}destroy(){gt.shared.remove(this._onUpdate,this),this.removeAllListeners();let i=this._source;i&&(i.onended=null,i.onplay=null,i.onpause=null,this._internalStop()),this._source=null,this._speed=1,this._volume=1,this._loop=false,this._end=null,this._start=0,this._duration=0,this._playing=false,this._pausedReal=false,this._paused=false,this._muted=false,this._media&&(this._media.context.off("refresh",this.refresh,this),this._media.context.off("refreshPaused",this.refreshPaused,this),this._media=null);}toString(){return `[HTMLAudioInstance id=${this.id}]`}},Go=bl;Go.PADDING=.1;var Li=class extends N{init(t){this.parent=t,this._source=t.options.source||new Audio,t.url&&(this._source.src=t.url);}create(){return new Go(this)}get isPlayable(){return !!this._source&&this._source.readyState===4}get duration(){return this._source.duration}get context(){return this.parent.context}get filters(){return null}set filters(t){console.warn("HTML Audio does not support filters");}destroy(){this.removeAllListeners(),this.parent=null,this._source&&(this._source.src="",this._source.load(),this._source=null);}get source(){return this._source}load(t){let e=this._source,r=this.parent;if(e.readyState===4){r.isLoaded=true;let l=r.autoPlayStart();t&&setTimeout(()=>{t(null,r,l);},0);return}if(!r.url){t(new Error("sound.url or sound.source must be set"));return}e.src=r.url;let s=()=>{a(),r.isLoaded=true;let l=r.autoPlayStart();t&&t(null,r,l);},o=()=>{a(),t&&t(new Error("Sound loading has been aborted"));},n=()=>{a();let l=`Failed to load audio element (code: ${e.error.code})`;t?t(new Error(l)):console.error(l);},a=()=>{e.removeEventListener("canplaythrough",s),e.removeEventListener("load",s),e.removeEventListener("abort",o),e.removeEventListener("error",n);};e.addEventListener("canplaythrough",s,false),e.addEventListener("load",s,false),e.addEventListener("abort",o,false),e.addEventListener("error",n,false),e.load();}};var Ui=class{constructor(t,e){this.parent=t,Object.assign(this,e),this.duration=this.end-this.start,console.assert(this.duration>0,"End time must be after start time");}play(t){return this.parent.play({complete:t,speed:this.speed||this.parent.speed,end:this.end,start:this.start,loop:this.loop})}destroy(){this.parent=null;}};var Ye=["ogg","oga","opus","m4a","mp3","mpeg","wav","aiff","wma","mid","caf"],vl=["audio/mpeg","audio/ogg"],Xe={};function Km(i){let t={m4a:"audio/mp4",oga:"audio/ogg",opus:'audio/ogg; codecs="opus"',caf:'audio/x-caf; codecs="opus"',...{}},e=document.createElement("audio"),r={},s=/^no$/;Ye.forEach(o=>{let n=e.canPlayType(`audio/${o}`).replace(s,""),a=t[o]?e.canPlayType(t[o]).replace(s,""):"";r[o]=!!n||!!a;}),Object.assign(Xe,r);}Km();var M_=0,Oi=class extends N{constructor(t){super(),this.id=M_++,this._media=null,this._paused=false,this._muted=false,this._elapsed=0,this.init(t);}set(t,e){if(this[t]===void 0)throw new Error(`Property with name ${t} does not exist.`);switch(t){case "speed":this.speed=e;break;case "volume":this.volume=e;break;case "muted":this.muted=e;break;case "loop":this.loop=e;break;case "paused":this.paused=e;break}return this}stop(){this._source&&(this._internalStop(),this.emit("stop"));}get speed(){return this._speed}set speed(t){this._speed=t,this.refresh(),this._update(true);}get volume(){return this._volume}set volume(t){this._volume=t,this.refresh();}get muted(){return this._muted}set muted(t){this._muted=t,this.refresh();}get loop(){return this._loop}set loop(t){this._loop=t,this.refresh();}get filters(){return this._filters}set filters(t){this._filters&&(this._filters?.filter(e=>e).forEach(e=>e.disconnect()),this._filters=null,this._source.connect(this._gain)),this._filters=t?.length?t.slice(0):null,this.refresh();}refresh(){if(!this._source)return;let t=this._media.context,e=this._media.parent;this._source.loop=this._loop||e.loop;let r=t.volume*(t.muted?0:1),s=e.volume*(e.muted?0:1),o=this._volume*(this._muted?0:1);ht.setParamValue(this._gain.gain,o*s*r),ht.setParamValue(this._source.playbackRate,this._speed*e.speed*t.speed),this.applyFilters();}applyFilters(){if(this._filters?.length){this._source.disconnect();let t=this._source;this._filters.forEach(e=>{t.connect(e.destination),t=e;}),t.connect(this._gain);}}refreshPaused(){let t=this._media.context,e=this._media.parent,r=this._paused||e.paused||t.paused;r!==this._pausedReal&&(this._pausedReal=r,r?(this._internalStop(),this.emit("paused")):(this.emit("resumed"),this.play({start:this._elapsed%this._duration,end:this._end,speed:this._speed,loop:this._loop,volume:this._volume})),this.emit("pause",r));}play(t){let{start:e,end:r,speed:s,loop:o,volume:n,muted:a,filters:l}=t;r&&console.assert(r>e,"End time is before start time"),this._paused=false;let{source:h,gain:u}=this._media.nodes.cloneBufferSource();this._source=h,this._gain=u,this._speed=s,this._volume=n,this._loop=!!o,this._muted=a,this._filters=l,this.refresh();let c=this._source.buffer.duration;this._duration=c,this._end=r,this._lastUpdate=this._now(),this._elapsed=e,this._source.onended=this._onComplete.bind(this),this._loop?(this._source.loopEnd=r,this._source.loopStart=e,this._source.start(0,e)):r?this._source.start(0,e,r-e):this._source.start(0,e),this.emit("start"),this._update(true),this.enableTicker(true);}enableTicker(t){gt.shared.remove(this._updateListener,this),t&&gt.shared.add(this._updateListener,this);}get progress(){return this._progress}get paused(){return this._paused}set paused(t){this._paused=t,this.refreshPaused();}destroy(){this.removeAllListeners(),this._internalStop(),this._gain&&(this._gain.disconnect(),this._gain=null),this._media&&(this._media.context.events.off("refresh",this.refresh,this),this._media.context.events.off("refreshPaused",this.refreshPaused,this),this._media=null),this._filters?.forEach(t=>t.disconnect()),this._filters=null,this._end=null,this._speed=1,this._volume=1,this._loop=false,this._elapsed=0,this._duration=0,this._paused=false,this._muted=false,this._pausedReal=false;}toString(){return `[WebAudioInstance id=${this.id}]`}_now(){return this._media.context.audioContext.currentTime}_updateListener(){this._update();}_update(t=false){if(this._source){let e=this._now(),r=e-this._lastUpdate;if(r>0||t){let s=this._source.playbackRate.value;this._elapsed+=r*s,this._lastUpdate=e;let o=this._duration,n;if(this._source.loopStart){let a=this._source.loopEnd-this._source.loopStart;n=(this._source.loopStart+this._elapsed%a)/o;}else n=this._elapsed%o/o;this._progress=n,this.emit("progress",this._progress,o);}}}init(t){this._media=t,t.context.events.on("refresh",this.refresh,this),t.context.events.on("refreshPaused",this.refreshPaused,this);}_internalStop(){if(this._source){this.enableTicker(false),this._source.onended=null,this._source.stop(0),this._source.disconnect();try{this._source.buffer=null;}catch(t){console.warn("Failed to set AudioBufferSourceNode.buffer to null:",t);}this._source=null;}}_onComplete(){if(this._source){this.enableTicker(false),this._source.onended=null,this._source.disconnect();try{this._source.buffer=null;}catch(t){console.warn("Failed to set AudioBufferSourceNode.buffer to null:",t);}}this._source=null,this._progress=1,this.emit("progress",1,this._duration),this.emit("end",this);}};var je=class{constructor(t,e){this._output=e,this._input=t;}get destination(){return this._input}get filters(){return this._filters}set filters(t){if(this._filters&&(this._filters.forEach(e=>{e&&e.disconnect();}),this._filters=null,this._input.connect(this._output)),t&&t.length){this._filters=t.slice(0),this._input.disconnect();let e=null;t.forEach(r=>{e===null?this._input.connect(r.destination):e.connect(r.destination),e=r;}),e.connect(this._output);}}destroy(){this.filters=null,this._input=null,this._output=null;}};var Zm=class extends je{constructor(i){let t=i.audioContext,e=t.createBufferSource(),r=t.createGain(),s=t.createAnalyser();e.connect(s),s.connect(r),r.connect(i.destination),super(s,r),this.context=i,this.bufferSource=e,this.gain=r,this.analyser=s;}get script(){return this._script||(this._script=this.context.audioContext.createScriptProcessor(Zm.BUFFER_SIZE),this._script.connect(this.context.destination)),this._script}destroy(){super.destroy(),this.bufferSource.disconnect(),this._script&&this._script.disconnect(),this.gain.disconnect(),this.analyser.disconnect(),this.bufferSource=null,this._script=null,this.gain=null,this.analyser=null,this.context=null;}cloneBufferSource(){let i=this.bufferSource,t=this.context.audioContext.createBufferSource();t.buffer=i.buffer,ht.setParamValue(t.playbackRate,i.playbackRate.value),t.loop=i.loop;let e=this.context.audioContext.createGain();return t.connect(e),e.connect(this.destination),{source:t,gain:e}}get bufferSize(){return this.script.bufferSize}},Io=Zm;Io.BUFFER_SIZE=0;var qe=class{init(t){this.parent=t,this._nodes=new Io(this.context),this._source=this._nodes.bufferSource,this.source=t.options.source;}destroy(){this.parent=null,this._nodes.destroy(),this._nodes=null;try{this._source.buffer=null;}catch(t){console.warn("Failed to set AudioBufferSourceNode.buffer to null:",t);}this._source=null,this.source=null;}create(){return new Oi(this)}get context(){return this.parent.context}get isPlayable(){return !!this._source&&!!this._source.buffer}get filters(){return this._nodes.filters}set filters(t){this._nodes.filters=t;}get duration(){return console.assert(this.isPlayable,"Sound not yet playable, no duration"),this._source.buffer.duration}get buffer(){return this._source.buffer}set buffer(t){this._source.buffer=t;}get nodes(){return this._nodes}load(t){this.source?this._decode(this.source,t):this.parent.url?this._loadUrl(t):t?t(new Error("sound.url or sound.source must be set")):console.error("sound.url or sound.source must be set");}async _loadUrl(t){let e=this.parent.url,r=await nt.get().fetch(e);this._decode(await r.arrayBuffer(),t);}_decode(t,e){let r=(s,o)=>{if(s)e&&e(s);else {this.parent.isLoaded=true,this.buffer=o;let n=this.parent.autoPlayStart();e&&e(null,this.parent,n);}};t instanceof AudioBuffer?r(null,t):this.parent.context.decode(t,r);}};var Er=class{static from(i){let t={};typeof i=="string"?t.url=i:i instanceof ArrayBuffer||i instanceof AudioBuffer||i instanceof HTMLAudioElement?t.source=i:Array.isArray(i)?t.url=i:t=i,t={autoPlay:false,singleInstance:false,url:null,source:null,preload:false,volume:1,speed:1,complete:null,loaded:null,loop:false,...t},Object.freeze(t);let e=K().useLegacy?new Li:new qe;return new Er(e,t)}constructor(i,t){this.media=i,this.options=t,this._instances=[],this._sprites={},this.media.init(this);let e=t.complete;this._autoPlayOptions=e?{complete:e}:null,this.isLoaded=false,this._preloadQueue=null,this.isPlaying=false,this.autoPlay=t.autoPlay,this.singleInstance=t.singleInstance,this.preload=t.preload||this.autoPlay,this.url=Array.isArray(t.url)?this.preferUrl(t.url):t.url,this.speed=t.speed,this.volume=t.volume,this.loop=t.loop,t.sprites&&this.addSprites(t.sprites),this.preload&&this._preload(t.loaded);}preferUrl(i){let[t]=i.map(e=>({url:e,ext:kt.extname(e).slice(1)})).filter(({ext:e})=>Xe[e]).sort((e,r)=>Ye.indexOf(e.ext)-Ye.indexOf(r.ext));if(!t)throw new Error("No supported file type found");return t.url}get context(){return K().context}pause(){return this.isPlaying=false,this.paused=true,this}resume(){return this.isPlaying=this._instances.length>0,this.paused=false,this}get paused(){return this._paused}set paused(i){this._paused=i,this.refreshPaused();}get speed(){return this._speed}set speed(i){this._speed=i,this.refresh();}get filters(){return this.media.filters}set filters(i){this.media.filters=i;}addSprites(i,t){if(typeof i=="object"){let r={};for(let s in i)r[s]=this.addSprites(s,i[s]);return r}console.assert(!this._sprites[i],`Alias ${i} is already taken`);let e=new Ui(this,t);return this._sprites[i]=e,e}destroy(){this._removeInstances(),this.removeSprites(),this.media.destroy(),this.media=null,this._sprites=null,this._instances=null;}removeSprites(i){if(i){let t=this._sprites[i];t!==void 0&&(t.destroy(),delete this._sprites[i]);}else for(let t in this._sprites)this.removeSprites(t);return this}get isPlayable(){return this.isLoaded&&this.media&&this.media.isPlayable}stop(){if(!this.isPlayable)return this.autoPlay=false,this._autoPlayOptions=null,this;this.isPlaying=false;for(let i=this._instances.length-1;i>=0;i--)this._instances[i].stop();return this}play(i,t){let e;if(typeof i=="string"?e={sprite:i,loop:this.loop,complete:t}:typeof i=="function"?(e={},e.complete=i):e=i,e={complete:null,loaded:null,sprite:null,end:null,start:0,volume:1,speed:1,muted:false,loop:false,...e||{}},e.sprite){let s=e.sprite;console.assert(!!this._sprites[s],`Alias ${s} is not available`);let o=this._sprites[s];e.start=o.start+(e.start||0),e.end=o.end,e.speed=o.speed||1,e.loop=o.loop||e.loop,delete e.sprite;}if(e.offset&&(e.start=e.offset),!this.isLoaded)return this._preloadQueue?new Promise(s=>{this._preloadQueue.push(()=>{s(this.play(e));});}):(this._preloadQueue=[],this.autoPlay=true,this._autoPlayOptions=e,new Promise((s,o)=>{this._preload((n,a,l)=>{this._preloadQueue.forEach(h=>h()),this._preloadQueue=null,n?o(n):(e.loaded&&e.loaded(n,a,l),s(l));});}));(this.singleInstance||e.singleInstance)&&this._removeInstances();let r=this._createInstance();return this._instances.push(r),this.isPlaying=true,r.once("end",()=>{e.complete&&e.complete(this),this._onComplete(r);}),r.once("stop",()=>{this._onComplete(r);}),r.play(e),r}refresh(){let i=this._instances.length;for(let t=0;t<i;t++)this._instances[t].refresh();}refreshPaused(){let i=this._instances.length;for(let t=0;t<i;t++)this._instances[t].refreshPaused();}get volume(){return this._volume}set volume(i){this._volume=i,this.refresh();}get muted(){return this._muted}set muted(i){this._muted=i,this.refresh();}get loop(){return this._loop}set loop(i){this._loop=i,this.refresh();}_preload(i){this.media.load(i);}get instances(){return this._instances}get sprites(){return this._sprites}get duration(){return this.media.duration}autoPlayStart(){let i;return this.autoPlay&&(i=this.play(this._autoPlayOptions)),i}_removeInstances(){for(let i=this._instances.length-1;i>=0;i--)this._poolInstance(this._instances[i]);this._instances.length=0;}_onComplete(i){if(this._instances){let t=this._instances.indexOf(i);t>-1&&this._instances.splice(t,1),this.isPlaying=this._instances.length>0;}this._poolInstance(i);}_createInstance(){if(Er._pool.length>0){let i=Er._pool.pop();return i.init(this.media),i}return this.media.create()}_poolInstance(i){i.destroy(),Er._pool.indexOf(i)<0&&Er._pool.push(i);}},Ut=Er;Ut._pool=[];var Fr=class i extends je{constructor(){let t=window,e=new i.AudioContext,r=e.createDynamicsCompressor(),s=e.createAnalyser();s.connect(r),r.connect(e.destination),super(s,r),this.autoPause=true,this._ctx=e,this._offlineCtx=new i.OfflineAudioContext(1,2,t.OfflineAudioContext?Math.max(8e3,Math.min(96e3,e.sampleRate)):44100),this.compressor=r,this.analyser=s,this.events=new N,this.volume=1,this.speed=1,this.muted=false,this.paused=false,this._locked=e.state==="suspended"&&("ontouchstart"in globalThis||"onclick"in globalThis),this._locked&&(this._unlock(),this._unlock=this._unlock.bind(this),document.addEventListener("mousedown",this._unlock,true),document.addEventListener("touchstart",this._unlock,true),document.addEventListener("touchend",this._unlock,true)),this.onFocus=this.onFocus.bind(this),this.onBlur=this.onBlur.bind(this),globalThis.addEventListener("focus",this.onFocus),globalThis.addEventListener("blur",this.onBlur);}onFocus(){if(!this.autoPause)return;let t=this._ctx.state;(t==="suspended"||t==="interrupted"||!this._locked)&&(this.paused=this._pausedOnBlur,this.refreshPaused());}onBlur(){this.autoPause&&(this._locked||(this._pausedOnBlur=this._paused,this.paused=true,this.refreshPaused()));}_unlock(){this._locked&&(this.playEmptySound(),this._ctx.state==="running"&&(document.removeEventListener("mousedown",this._unlock,true),document.removeEventListener("touchend",this._unlock,true),document.removeEventListener("touchstart",this._unlock,true),this._locked=false));}playEmptySound(){let t=this._ctx.createBufferSource();t.buffer=this._ctx.createBuffer(1,1,22050),t.connect(this._ctx.destination),t.start(0,0,0),t.context.state==="suspended"&&t.context.resume();}static get AudioContext(){let t=window;return t.AudioContext||t.webkitAudioContext||null}static get OfflineAudioContext(){let t=window;return t.OfflineAudioContext||t.webkitOfflineAudioContext||null}destroy(){super.destroy();let t=this._ctx;typeof t.close<"u"&&t.close(),globalThis.removeEventListener("focus",this.onFocus),globalThis.removeEventListener("blur",this.onBlur),this.events.removeAllListeners(),this.analyser.disconnect(),this.compressor.disconnect(),this.analyser=null,this.compressor=null,this.events=null,this._offlineCtx=null,this._ctx=null;}get audioContext(){return this._ctx}get offlineContext(){return this._offlineCtx}set paused(t){t&&this._ctx.state==="running"?this._ctx.suspend():!t&&this._ctx.state==="suspended"&&this._ctx.resume(),this._paused=t;}get paused(){return this._paused}refresh(){this.events.emit("refresh");}refreshPaused(){this.events.emit("refreshPaused");}toggleMute(){return this.muted=!this.muted,this.refresh(),this.muted}togglePause(){return this.paused=!this.paused,this.refreshPaused(),this._paused}decode(t,e){let r=o=>{e(new Error(o?.message||"Unable to decode file"));},s=this._offlineCtx.decodeAudioData(t,o=>{e(null,o);},r);s&&s.catch(r);}};var Br=class{constructor(){this.init();}init(){return this.supported&&(this._webAudioContext=new Fr),this._htmlAudioContext=new Di,this._sounds={},this.useLegacy=!this.supported,this}get context(){return this._context}get filtersAll(){return this.useLegacy?[]:this._context.filters}set filtersAll(t){this.useLegacy||(this._context.filters=t);}get supported(){return Fr.AudioContext!==null}add(t,e){if(typeof t=="object"){let o={};for(let n in t){let a=this._getOptions(t[n],e);o[n]=this.add(n,a);}return o}if(console.assert(!this._sounds[t],`Sound with alias ${t} already exists.`),e instanceof Ut)return this._sounds[t]=e,e;let r=this._getOptions(e),s=Ut.from(r);return this._sounds[t]=s,s}_getOptions(t,e){let r;return typeof t=="string"?r={url:t}:Array.isArray(t)?r={url:t}:t instanceof ArrayBuffer||t instanceof AudioBuffer||t instanceof HTMLAudioElement?r={source:t}:r=t,r={...r,...e||{}},r}get useLegacy(){return this._useLegacy}set useLegacy(t){this._useLegacy=t,this._context=!t&&this.supported?this._webAudioContext:this._htmlAudioContext;}get disableAutoPause(){return !this._webAudioContext.autoPause}set disableAutoPause(t){this._webAudioContext.autoPause=!t;}remove(t){return this.exists(t,true),this._sounds[t].destroy(),delete this._sounds[t],this}get volumeAll(){return this._context.volume}set volumeAll(t){this._context.volume=t,this._context.refresh();}get speedAll(){return this._context.speed}set speedAll(t){this._context.speed=t,this._context.refresh();}togglePauseAll(){return this._context.togglePause()}pauseAll(){return this._context.paused=true,this._context.refreshPaused(),this}resumeAll(){return this._context.paused=false,this._context.refreshPaused(),this}toggleMuteAll(){return this._context.toggleMute()}muteAll(){return this._context.muted=true,this._context.refresh(),this}unmuteAll(){return this._context.muted=false,this._context.refresh(),this}removeAll(){for(let t in this._sounds)this._sounds[t].destroy(),delete this._sounds[t];return this}stopAll(){for(let t in this._sounds)this._sounds[t].stop();return this}exists(t,e=false){let r=!!this._sounds[t];return e&&console.assert(r,`No sound matching alias '${t}'.`),r}isPlaying(){for(let t in this._sounds)if(this._sounds[t].isPlaying)return true;return false}find(t){return this.exists(t,true),this._sounds[t]}play(t,e){return this.find(t).play(e)}stop(t){return this.find(t).stop()}pause(t){return this.find(t).pause()}resume(t){return this.find(t).resume()}volume(t,e){let r=this.find(t);return e!==void 0&&(r.volume=e),r.volume}speed(t,e){let r=this.find(t);return e!==void 0&&(r.speed=e),r.speed}duration(t){return this.find(t).duration}close(){return this.removeAll(),this._sounds=null,this._webAudioContext&&(this._webAudioContext.destroy(),this._webAudioContext=null),this._htmlAudioContext&&(this._htmlAudioContext.destroy(),this._htmlAudioContext=null),this._context=null,this}};var Qm=i=>{let t=i.src,e=i?.alias?.[0];return (!e||i.src===e)&&(e=kt.basename(t,kt.extname(t))),e},Jm={extension:S.Asset,detection:{test:async()=>true,add:async i=>[...i,...Ye.filter(t=>Xe[t])],remove:async i=>i.filter(t=>i.includes(t))},loader:{name:"sound",extension:{type:[S.LoadParser],priority:sr.High},test(i){let t=kt.extname(i).slice(1);return !!Xe[t]||vl.some(e=>i.startsWith(`data:${e}`))},async load(i,t){let e=await new Promise((r,s)=>Ut.from({...t.data,url:i,preload:true,loaded(o,n){o?s(o):r(n),t.data?.loaded?.(o,n);}}));return K().add(Qm(t),e),e},async unload(i,t){K().remove(Qm(t));}}};I.add(Jm);var X=Fl(new Br);var et;(s=>(s.log=(o,...n)=>console.log(`[Pixi\u2019VN] ${o}`,...n),s.warn=(o,...n)=>console.warn(`[Pixi\u2019VN] ${o}`,...n),s.error=(o,...n)=>console.error(`[Pixi\u2019VN] ${o}`,...n),s.info=(o,...n)=>console.info(`[Pixi\u2019VN] ${o}`,...n)))(et||(et={}));var R=class R{static init(t){R._getStepCounter=t.getStepCounter,R._setStepCounter=t.setStepCounter,R._getCurrentGameStepState=t.getCurrentGameStepState,R._restoreGameStepState=t.restoreGameStepState,R._getOpenedLabels=t.getOpenedLabels,t.onGoNextEnd&&(R._onGoNextEnd=t.onGoNextEnd),R._getVariable=t.getVariable,R._setVariable=t.setVariable,R._removeVariable=t.removeVariable,R._getFlag=t.getFlag,R._setFlag=t.setFlag,t.onLabelClosing&&(R._onLabelClosing=t.onLabelClosing),R._addHistoryItem=t.addHistoryItem,R._getCurrentStepsRunningNumber=t.getCurrentStepsRunningNumber,R._getCharacter=t.getCharacter;}static get stepCounter(){return R._getStepCounter()}static set stepCounter(t){R._setStepCounter(t);}static get currentGameStepState(){return R._getCurrentGameStepState()}static get restoreGameStepState(){return R._restoreGameStepState}static get openedLabels(){return R._getOpenedLabels()}static get onGoNextEnd(){return R._onGoNextEnd}static get getVariable(){return R._getVariable}static get setVariable(){return R._setVariable}static get removeVariable(){return R._removeVariable}static get getFlag(){return R._getFlag}static get setFlag(){return R._setFlag}static get onLabelClosing(){return R._onLabelClosing}static get addHistoryItem(){return R._addHistoryItem}static get currentStepsRunningNumber(){return R._getCurrentStepsRunningNumber()}static get getCharacter(){return R._getCharacter}};rt(R,"_getStepCounter",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_setStepCounter",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_getCurrentGameStepState",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_restoreGameStepState",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_getOpenedLabels",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_onGoNextEnd",async()=>{}),rt(R,"_getVariable",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_setVariable",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_removeVariable",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_getFlag",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_setFlag",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_onLabelClosing",()=>{}),rt(R,"_addHistoryItem",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_getCurrentStepsRunningNumber",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),rt(R,"_getCharacter",()=>{throw et.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented.")}),rt(R,"onEnd"),rt(R,"onError");var ne=R;function zi(i){try{if(typeof i>"u")return i;let t=JSON.stringify(i);return JSON.parse(t)}catch(t){throw et.error("Error creating exportable element",i,t),new Error("[Pixi\u2019VN] Error creating exportable element")}}var D=class{constructor(){}};rt(D,"soundAliasesOrder",[]),rt(D,"soundsPlaying",{}),rt(D,"sounds",{});var Ke=class i extends Ut{constructor(){super(...arguments);rt(this,"alias");}pause(){if(!this.alias)throw new Error("[Pixi\u2019VN] The alias is not defined.");let e=D.soundsPlaying[this.alias];if(!e)throw new Error("[Pixi\u2019VN] The alias is not found in the playInStepIndex.");return D.soundsPlaying[this.alias]={...e,paused:true},super.pause()}resume(){if(!this.alias)throw new Error("[Pixi\u2019VN] The alias is not defined.");let e=D.soundsPlaying[this.alias];if(!e)throw new Error("[Pixi\u2019VN] The alias is not found in the playInStepIndex.");return D.soundsPlaying[this.alias]={options:e.options,stepIndex:ne.stepCounter,paused:false},super.resume()}destroy(){return this.alias&&delete D.soundsPlaying[this.alias],super.destroy()}stop(){if(!this.alias)throw new Error("[Pixi\u2019VN] The alias is not defined.");return delete D.soundsPlaying[this.alias],super.stop()}play(e){if(typeof e=="string"&&(this.alias=e),!this.alias)throw new Error("[Pixi\u2019VN] The alias is not defined.");return D.soundsPlaying[this.alias]={stepIndex:ne.stepCounter,options:e,paused:false},super.play(e)}static from(e){let r=Ut.from(e);return new i(r.media,r.options)}};function Wi(i){let t=[];for(let e of i)e.type==="TelephoneFilter"?t.push(new ft.TelephoneFilter):e.type==="StreamFilter"?t.push(new ft.StreamFilter):e.type==="StereoFilter"?t.push(new ft.StereoFilter(e.pan)):e.type==="ReverbFilter"?t.push(new ft.ReverbFilter(e.seconds,e.decay,e.reverse)):e.type==="MonoFilter"?t.push(new ft.MonoFilter):e.type==="EqualizerFilter"?t.push(new ft.EqualizerFilter(e.f32,e.f64,e.f125,e.f250,e.f500,e.f1k,e.f2k,e.f4k,e.f8k,e.f16k)):e.type==="DistortionFilter"?t.push(new ft.DistortionFilter(e.amount)):et.error("Unknown sound filter type");return t}function Sl(i){if(!i)return;let t=[];for(let e of i)e instanceof ft.TelephoneFilter?t.push({type:"TelephoneFilter"}):e instanceof ft.StreamFilter?t.push({type:"StreamFilter"}):e instanceof ft.StereoFilter?t.push({type:"StereoFilter",pan:e.pan}):e instanceof ft.ReverbFilter?t.push({type:"ReverbFilter",seconds:e.seconds,decay:e.decay,reverse:e.reverse}):e instanceof ft.MonoFilter?t.push({type:"MonoFilter"}):e instanceof ft.EqualizerFilter?t.push({type:"EqualizerFilter",f32:e.f32,f64:e.f64,f125:e.f125,f250:e.f250,f500:e.f500,f1k:e.f1k,f2k:e.f2k,f4k:e.f4k,f8k:e.f8k,f16k:e.f16k}):e instanceof ft.DistortionFilter?t.push({type:"DistortionFilter",amount:e.amount}):et.error("Unknown sound filter type");return t}var Vi=class extends Br{constructor(){super();}get context(){return X.context}get filtersAll(){return X.filtersAll}set filtersAll(t){X.filtersAll=t.filter(e=>!(e instanceof ft.Filter));}get supported(){return X.supported}getOptions(t,e){let r;return typeof t=="string"?r={url:t}:Array.isArray(t)?r={url:t}:t instanceof ArrayBuffer||t instanceof AudioBuffer||t instanceof HTMLAudioElement?r={source:t}:r=t,r={...r,...e||{}},r}add(t,e){if(typeof t=="object")throw new Error("[Pixi\u2019VN] The method add(map: SoundSourceMap, globalOptions?: Options) is deprecated. Use add(alias: string, options: Options | string | ArrayBuffer | AudioBuffer | HTMLAudioElement | Sound): Sound; instead.");this.exists(t)&&this.remove(t),e instanceof Ut&&(e=e.options);let r;if(e instanceof Ke)r=e;else {let s=this.getOptions(e||{});r=Ke.from(s);}return r.alias=t,!D.soundAliasesOrder.includes(t)&&D.soundAliasesOrder.push(t),D.sounds[t]=r,X.add(t,r),r}get useLegacy(){return X.useLegacy}set useLegacy(t){X.useLegacy=t;}get disableAutoPause(){return X.disableAutoPause}set disableAutoPause(t){X.disableAutoPause=t;}remove(t){return D.soundAliasesOrder=D.soundAliasesOrder.filter(e=>e!==t),delete D.soundsPlaying[t],delete D.sounds[t],X.remove(t)}get volumeAll(){return X.volumeAll}set volumeAll(t){X.volumeAll=t;}get speedAll(){return X.speedAll}set speedAll(t){X.speedAll=t;}togglePauseAll(){return X.togglePauseAll()}pauseAll(){return X.pauseAll()}resumeAll(){return X.resumeAll()}toggleMuteAll(){return X.toggleMuteAll()}muteAll(){return X.muteAll()}unmuteAll(){return X.unmuteAll()}removeAll(){return D.soundAliasesOrder=[],D.soundsPlaying={},D.sounds={},X.removeAll()}stopAll(){for(let t in D.sounds)D.sounds[t].stop();return D.soundsPlaying={},X.stopAll()}exists(t,e){return X.exists(t,e)||t in D.sounds}isPlaying(){return X.isPlaying()}find(t){let e=D.sounds[t];return e||(e=X.find(t),e&&(D.sounds[t]=e),e)}play(t,e){if(!this.exists(t))throw new Error("[Pixi\u2019VN] The alias is not found in the sound library.");return D.soundsPlaying[t]={stepIndex:ne.stepCounter,options:e,paused:false},X.play(t,e)}stop(t){return delete D.soundsPlaying[t],X.stop(t)}pause(t){let e=D.soundsPlaying[t];if(!e)throw new Error("[Pixi\u2019VN] The alias is not found in the playInStepIndex.");return D.soundsPlaying[t]={...e,paused:true},X.pause(t)}resume(t){let e=D.soundsPlaying[t];if(!e)throw new Error("[Pixi\u2019VN] The alias is not found in the playInStepIndex.");return D.soundsPlaying[t]={options:e.options,stepIndex:ne.stepCounter,paused:false},X.resume(t)}volume(t,e){return X.volume(t,e)}speed(t,e){return X.speed(t,e)}duration(t){return X.duration(t)}close(){return X.close()}clear(){this.stopAll();}export(){let t={};for(let e in D.soundsPlaying){let r=D.soundsPlaying[e],s=this.find(e);s&&(t[e]={...r,sound:{options:{...s.options,autoPlay:s.autoPlay,loop:s.loop,preload:s.preload,singleInstance:s.singleInstance,url:s.options.url,volume:s.options.volume},filters:Sl(s.media.filters)}});}return {soundsPlaying:zi(t),soundAliasesOrder:zi(D.soundAliasesOrder),filters:zi(Sl(this.filtersAll))}}removeOldSoundAndExport(){return this.export()}restore(t){let e=ne.stepCounter-1;this.clear();try{if(t.hasOwnProperty("soundAliasesOrder"))D.soundAliasesOrder=t.soundAliasesOrder;else {et.error("The data does not have the properties soundAliasesOrder");return}if(t.hasOwnProperty("filters")){let r=t.filters;r&&(this.filtersAll=Wi(r));}if(t.hasOwnProperty("playInStepIndex")){let r=t.playInStepIndex;r&&(D.soundsPlaying=r);}if(t.hasOwnProperty("sounds")){let r=t.sounds;for(let s in r){let o=r[s],n=!1,a=this.add(s,{...o.options,autoPlay:!1});if(s in D.soundsPlaying){let l=D.soundsPlaying[s];(o.options.loop||l.options&&typeof l.options=="object"&&l.options.loop||l.stepIndex===e)&&(n=!0),o.filters&&(a.filters=Wi(o.filters)),n&&a.play();}}}if(t.hasOwnProperty("soundsPlaying")){let r=t.soundsPlaying;for(let s in r){let o=r[s];D.soundsPlaying[s]={paused:o.paused,stepIndex:o.stepIndex,options:o.options};let n=r[s].sound,a=!1,l;if(this.exists(s)?(l=this.find(s),n.options.url=l.options.url,n.options.volume=l.options.volume,l.options=n.options,l.autoPlay=!1,l.filters=n.filters?Wi(n.filters):[]):l=this.add(s,{...n.options,autoPlay:!1}),s in D.soundsPlaying){let h=D.soundsPlaying[s];(n.options.loop||h.options&&typeof h.options=="object"&&h.options.loop||h.stepIndex===e)&&(a=!0),n.filters&&(l.filters=Wi(n.filters)),a&&l.play();}}}else {et.error("The data does not have the properties soundsPlaying");return}}catch(r){et.error("Error importing data",r);}}};var hR=new Vi;export{Ke as Sound,D as SoundManagerStatic,hR as sound};